{
  "schemaVersion": 1,
  "id": "atlas-lesson-gpu-chiplet-locality",
  "title": "GPU chiplets and memory locality",
  "category": "learning",
  "format": "Atlas lesson",
  "description": "Partitions compute and I/O physically while presenting a programmable accelerator.",
  "canonicalUrl": "https://semiaifoundry.com/learn/atlas/gpu-chiplet-locality/",
  "publishedDate": null,
  "revisionDate": "2026-10-07",
  "author": null,
  "topic": "Processing architectures",
  "series": null,
  "license": null,
  "rightsUrl": "https://semiaifoundry.com/ai-atlas/licenses.html",
  "version": "1.3.0",
  "status": "Published educational lesson",
  "evidenceScope": "The MI300 family is a disclosed historical specimen. Public topology is sufficient for the mechanism; undocumented routing policy and measured locality penalties remain unknown.",
  "contentCoverage": "published-lesson",
  "artifactUrl": "https://semiaifoundry.com/ai-atlas/lesson-data/gpu-chiplet-locality-19bb68acbe4aa11e.json",
  "interactiveUrl": "https://semiaifoundry.com/ai-atlas/#gpu-chiplet-locality",
  "related": [],
  "supersedes": [],
  "supersededBy": [],
  "contentHash": "ffeff3431aaf3ebc4dd76695b1e71f348e00d4dacd35d226c7cd25e1abe25afa",
  "contentLength": 4816,
  "jsonUrl": "https://semiaifoundry.com/agents/publications/atlas-lesson-gpu-chiplet-locality.json",
  "markdownUrl": "https://semiaifoundry.com/agents/publications/atlas-lesson-gpu-chiplet-locality.md",
  "sections": [
    {
      "id": "section-1",
      "title": "GPU chiplets and memory locality",
      "start": 41,
      "end": 387
    },
    {
      "id": "section-2",
      "title": "The mechanism",
      "start": 387,
      "end": 1626
    },
    {
      "id": "section-3",
      "title": "Science and assumptions",
      "start": 1626,
      "end": 1654
    },
    {
      "id": "section-4",
      "title": "Cut bandwidth bound",
      "start": 1654,
      "end": 2267
    },
    {
      "id": "section-5",
      "title": "Engineering example",
      "start": 2267,
      "end": 2482
    },
    {
      "id": "section-6",
      "title": "Distinctions and tradeoffs",
      "start": 2482,
      "end": 2936
    },
    {
      "id": "section-7",
      "title": "Specifications and interfaces",
      "start": 2936,
      "end": 3191
    },
    {
      "id": "section-8",
      "title": "Interfaces",
      "start": 3191,
      "end": 3335
    },
    {
      "id": "section-9",
      "title": "Check your understanding",
      "start": 3335,
      "end": 3364
    },
    {
      "id": "section-10",
      "title": "Why can two kernels with equal HBM traffic differ on a chiplet accelerator?",
      "start": 3364,
      "end": 3815
    },
    {
      "id": "section-11",
      "title": "Evidence and scope",
      "start": 3815,
      "end": 4170
    },
    {
      "id": "section-12",
      "title": "Sources",
      "start": 4170,
      "end": 4499
    },
    {
      "id": "section-13",
      "title": "Continue exploring",
      "start": 4499,
      "end": 4522
    },
    {
      "id": "section-14",
      "title": "Foundations",
      "start": 4522,
      "end": 4699
    },
    {
      "id": "section-15",
      "title": "Related lessons",
      "start": 4699,
      "end": 4816
    }
  ],
  "citations": [
    {
      "title": "Explore in Atlas",
      "url": "https://semiaifoundry.com/ai-atlas/#gpu-chiplet-locality"
    },
    {
      "title": "AMD Instinct MI300 Series microarchitecture",
      "url": "https://rocm.docs.amd.com/en/latest/reference/gpu-arch/mi300.html"
    },
    {
      "title": "Published lesson data",
      "url": "https://semiaifoundry.com/ai-atlas/lesson-data/gpu-chiplet-locality-19bb68acbe4aa11e.json"
    },
    {
      "title": "Atlas releases and licensing",
      "url": "https://semiaifoundry.com/ai-atlas/licenses.html"
    },
    {
      "title": "GPU logic dies",
      "url": "https://semiaifoundry.com/learn/atlas/gpu-die/"
    },
    {
      "title": "On-chip interconnect fabric",
      "url": "https://semiaifoundry.com/learn/atlas/on-chip-network/"
    },
    {
      "title": "Custom-chip volume economics",
      "url": "https://semiaifoundry.com/learn/atlas/chip-volume-economics/"
    }
  ],
  "recordHash": "dc358463feffe13969d4777d09aed9d212fd81904424b36d9fa67d6b50d90962",
  "contentFormat": "text/markdown",
  "content": "Processing architectures · Atlas v1.3.0\n\n# GPU chiplets and memory locality\n\nPartitions compute and I/O physically while presenting a programmable accelerator.\n\n[Explore in Atlas](https://semiaifoundry.com/ai-atlas/#gpu-chiplet-locality)GPU execution group to package; schematic topology\n\nLearning objectiveRead physical chiplet boundaries independently from the software device model.\n\n## The mechanism\n\nBreaking an accelerator into chiplets changes where data must travel. In AMD’s MI300 family, compute chiplets connect through I/O dies and a package-level fabric to memory. MI300X is a GPU accelerator, whereas MI300A combines CPU and GPU compute with shared HBM in an APU package. A software-visible address space can hide the physical route without making its bandwidth or contention disappear. Chiplets can place different circuit functions on suitable processes and reuse design blocks, but introduce additional interfaces, test requirements and package assembly dependencies. A package diagram therefore needs both physical boundaries and logical memory connections.\n\n1.  Distinguish a logical accelerator device from the separate compute, I/O and memory dies inside its package.\n2.  Map a tensor partition onto compute resources and identify the cache and memory path it will use.\n3.  Account for data reused locally versus data repeatedly crossing the package fabric.\n4.  Compare CPU/GPU shared-memory access in an APU with explicit host/device placement in a discrete accelerator system.\n5.  Validate the mapping with target-specific tools rather than assuming that a shared address makes every route equivalent.\n\n## Science and assumptions\n\n### Cut bandwidth bound\n\n$$\nT\\ge\\frac{Q_{\\mathrm{cut}}}{B_{\\mathrm{cut}}}\n$$\n\nTransfer demand across a chiplet topology cut takes at least crossing bytes divided by usable cut bandwidth.\n\nSymbols and units\n\nT\n\nMinimum time demanded by the selected topology cut\n\ns\n\nQ\\_cut\n\nPayload crossing that cut\n\nbytes\n\nB\\_cut\n\nSustainable directional capacity usable across it\n\nbytes/s\n\nQcut is bytes crossing a chosen internal topology cut and Bcut is sustainable bytes/s across that cut; T is seconds.\n\nAssumptions Traffic is measured for that boundary; do not sum link nameplate rates that cannot all serve the same cut.\n\n## Engineering example\n\nSynthetic mapping: 12 GB crossing a 3 TB/s internal cut has a 4 ms transfer lower bound. Local reuse that halves crossing traffic halves this bound, even if arithmetic count stays constant.\n\n## Distinctions and tradeoffs\n\nA chiplet package is not automatically a cluster of independent GPUs, and unified memory does not imply uniform physical access costs.\n\nSmaller dies can improve reuse and manufacturing flexibility; the additional links, packaging and distributed caches require careful bandwidth and energy budgets.\n\nAn operator placement decision can increase traffic across internal fabrics before any inter-server communication occurs.\n\n## Specifications and interfaces\n\nComparison boundary\n\nOne package\n\nAn accelerator package may contain multiple logic dies and memory stacks.\n\nLocality\n\nCompute-to-cache-to-memory path\n\nPhysical routes remain relevant even under a unified address model.\n\n### Interfaces\n\nCompute chiplet Input\n\nCache misses and fabric requests\n\nI/O die and HBM Output\n\nData responses and inter-chiplet transactions\n\n## Check your understanding\n\n### Why can two kernels with equal HBM traffic differ on a chiplet accelerator?\n\n1.  They may create different internal-fabric traffic and locality\n2.  HBM traffic uniquely determines runtime\n3.  Every chiplet has an isolated programming language\n\nAnswer and reasoning\n\nThey may create different internal-fabric traffic and locality\n\nInternal placement, cache behavior and fabric contention can differ even when total off-package memory bytes match.\n\n## Evidence and scope\n\nThe MI300 family is a disclosed historical specimen. Public topology is sufficient for the mechanism; undocumented routing policy and measured locality penalties remain unknown.\n\nUse the execution investigation for the shared tensor-to-memory-to-result thread; no current standalone calculator models this lesson’s full mechanism.\n\n## Sources\n\n-   [AMD Instinct MI300 Series microarchitecture](https://rocm.docs.amd.com/en/latest/reference/gpu-arch/mi300.html)\n\n[Published lesson data](https://semiaifoundry.com/ai-atlas/lesson-data/gpu-chiplet-locality-19bb68acbe4aa11e.json) · [Atlas releases and licensing](https://semiaifoundry.com/ai-atlas/licenses.html)\n\n## Continue exploring\n\n### Foundations\n\n-   [GPU logic dies](https://semiaifoundry.com/learn/atlas/gpu-die/)\n-   [On-chip interconnect fabric](https://semiaifoundry.com/learn/atlas/on-chip-network/)\n\n### Related lessons\n\n-   [Custom-chip volume economics](https://semiaifoundry.com/learn/atlas/chip-volume-economics/)"
}
