<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>LLM Inference on Council of Elrond</title><link>https://songkou.github.io/tags/llm-inference/</link><description>Recent content in LLM Inference on Council of Elrond</description><generator>Hugo</generator><language>en</language><lastBuildDate>Tue, 25 Aug 2026 12:00:00 +0800</lastBuildDate><atom:link href="https://songkou.github.io/tags/llm-inference/index.xml" rel="self" type="application/rss+xml"/><item><title>TP, PP, DP: How Large Models Actually Use Multiple GPUs</title><link>https://songkou.github.io/posts/tp-pp-dp-llm-parallelism/</link><pubDate>Tue, 25 Aug 2026 12:00:00 +0800</pubDate><guid>https://songkou.github.io/posts/tp-pp-dp-llm-parallelism/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; this post started from several explainers found via web search, was cross-checked against the Megatron-LM paper and the vLLM documentation, and adds the memory math, communication costs, and decision rules those explainers leave out. It is the deployment-side companion to the &lt;a href="https://songkou.github.io/posts/nvlink-nccl-scaleup-scaleout/"&gt;NCCL and NVLink notes&lt;/a&gt;, which cover what actually moves on the wire underneath these strategies.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;When you deploy a large model, you keep seeing configurations like &amp;ldquo;Qwen-72B, 8 GPUs&amp;rdquo; or &amp;ldquo;Qwen-32B, 2× L20&amp;rdquo; — and the natural question is: how is one model split across several cards, and how do the cards cooperate? Multi-GPU is &lt;strong&gt;not&lt;/strong&gt; &amp;ldquo;the VRAM adds up.&amp;rdquo; The GPUs have to be organized, and there are three basic ways to organize them — Tensor Parallelism (TP), Pipeline Parallelism (PP), and Data Parallelism (DP) — each solving a different problem.&lt;/p&gt;</description></item></channel></rss>