Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
aea68b8
Added new files for gpu-partition guide
im-AbhiP Apr 9, 2025
bbe1d1b
corrected comment format
im-AbhiP Apr 9, 2025
bd76fc7
Fixed linting errors.
im-AbhiP Apr 9, 2025
abdb500
Fixed linting errors.
im-AbhiP Apr 9, 2025
cc78fe0
Fixed linting errors.
im-AbhiP Apr 9, 2025
75a0fe6
Added the tutorial section to host the gpu partition guide page
im-AbhiP Apr 9, 2025
89b976f
Reformatted the index file.
im-AbhiP Apr 9, 2025
ff930be
Added tutorial on the side bar index
im-AbhiP Apr 9, 2025
b6b5e87
GPU partition guide review version
im-AbhiP Apr 16, 2025
0844ab9
Elaborated CPX use case.
im-AbhiP Apr 16, 2025
e2bdf41
updated word list
im-AbhiP Apr 16, 2025
7069f3f
Deleted old versions of the partition guide files
im-AbhiP Apr 16, 2025
21616cc
Added some descriptive contents to each sections of the previous guid…
im-AbhiP Apr 17, 2025
b7f40ca
updated words for spellcheck
im-AbhiP Apr 17, 2025
824a3a5
Moved the compatibility matrix to the index page.
im-AbhiP Apr 17, 2025
854380b
Added images for MI300A partitioning modes.
im-AbhiP Apr 17, 2025
f07ba0b
Added some description to mi300x index page.
im-AbhiP Apr 17, 2025
d5b86ba
Added words from spellcheck
im-AbhiP Apr 17, 2025
b851f51
Removed the $ sign from the code blocks.
im-AbhiP Apr 17, 2025
dc63bd9
Added words to wordlist from spellcheck
im-AbhiP Apr 17, 2025
c28f5f3
Incorporated Farshad's suggestion from github PR comments.
im-AbhiP Apr 17, 2025
418c61f
Corrected a spelling mistake.
im-AbhiP Apr 17, 2025
acbe6f6
removed a comment which was not tested for amd-smi output.
im-AbhiP Apr 17, 2025
988e508
Added a tip section about auto upgrade to CPX when NPS4 is set.
im-AbhiP Apr 17, 2025
991dca7
Rephrased the tip section. Added the 64th gpu output in amd-smi verif…
im-AbhiP Apr 17, 2025
20bcda9
updated wordlist file to resolve merge conflicts
im-AbhiP Apr 17, 2025
f086ac3
Merge branch 'main' into mi300x-partitioning-guide
im-AbhiP Apr 17, 2025
d29aaec
updated steps for running vllm
im-AbhiP Apr 18, 2025
5457489
Merge branch 'mi300x-partitioning-guide' of github.com:im-AbhiP/amdgp…
im-AbhiP Apr 18, 2025
c8ebdb6
Modified compatibility matrix based on Rodney's comments. Adding the …
im-AbhiP Apr 18, 2025
4be74b1
updated wordlist based on spellcheck. Updated mi300x partitioning ben…
im-AbhiP Apr 18, 2025
fe837e9
updates based on spellcheck error.
im-AbhiP Apr 18, 2025
8636ec8
Corrected duplicate title line.
im-AbhiP Apr 18, 2025
e13c573
Corrected duplicate title line
im-AbhiP Apr 18, 2025
367d764
Added reference to partitioning modes overview before the compatibili…
im-AbhiP May 6, 2025
77ad1b6
Merge branch 'main' into mi300x-partitioning-guide
im-AbhiP May 6, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions .wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -885,3 +885,26 @@ logfile
mnt
ps
verboseness
AMDSMI
AST
IOD
IODs
amd
amdsmi
celerator
chiplets
vllm
misconfigurations
integrators
hyperscaler
lifecycle
prem
ASPEED
LLC
SVM
TPX
addressability
datacenter
programmability
uptime
TPX
Binary file added docs/gpu-partitioning/images/mi300a_CPX.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/gpu-partitioning/images/mi300a_NPS1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/gpu-partitioning/images/mi300a_SPX.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/gpu-partitioning/images/mi300a_TPX.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/gpu-partitioning/images/mi300x_CPX.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/gpu-partitioning/images/mi300x_NPS1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/gpu-partitioning/images/mi300x_NPS4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/gpu-partitioning/images/mi300x_SPX.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
64 changes: 64 additions & 0 deletions docs/gpu-partitioning/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
.. meta::
:description: Learn how to partition AMD GPUs/APUs.
:keywords: AMD, GPU, APU, partitioning, ROCm, MI300X, MI300A

**************************
AMD GPU/APU Partitioning
**************************

Partitioning Overview
^^^^^^^^^^^^^^^^^^^^^^

Modern large-scale AI and HPC workloads demand fine-grained control over GPU resource allocation, memory isolation, and multi-tenant scheduling. AMD's Instinct™ MI300 series accelerators — including the MI300X GPU and MI300A APU — support flexible partitioning schemes that allow users to logically subdivide a single device into multiple independent partitions optimized for different workloads.

This documentation portal serves as a centralized index for navigating the complete GPU partitioning workflow on AMD platforms. It links to detailed technical guides for each supported accelerator, including:

- **Architecture deep dives** to understand partitioning capabilities.
- **Quick start instructions** to apply compute and memory partition modes using `amd-smi`.
- **Guide to run vLLM workload** for inference benchmarking.
- **Troubleshooting resources** for resolving partitioning issues in production environments.

Compatibility Matrix
^^^^^^^^^^^^^^^^^^^^^^

To streamline deployment planning and reduce configuration friction, we include below a **GPU Partitioning Schemes Compatibility Matrix**. This matrix outlines which combinations of **Compute Partitioning Modes** (e.g., SPX, CPX) and **Memory Partitioning Modes** (e.g., NPS1, NPS4) are validated for each supported device. It also notes any **minimum ROCm driver version requirements** necessary to enable specific configurations.

.. important::
**New to partitioning modes?** Before using the compatibility matrix, it's essential to understand the core concepts of **Compute Partitioning Modes** (SPX, CPX, TPX) and **Memory Partitioning Modes** (NPS1, NPS4). These modes determine how compute and memory resources are logically divided across a single device.

See our detailed overview here:
- :ref:`MI300X Compute Partitioning <mi300x_compute-partitioning>` / :ref:`MI300A Compute Partitioning <mi300a_compute-partitioning>`
- :ref:`MI300X Memory Partitioning <mi300x_memory-partitioning>` / :ref:`MI300A Memory Partitioning <mi300a_memory-partitioning>`

By consolidating this matrix on the index page, users can quickly evaluate platform capabilities and navigate to device-specific documentation with full awareness of what is supported on their hardware and software stack.

.. list-table:: GPU Partitioning Schemes Compatibility Matrix
:header-rows: 1
:widths: 20 20 20 20 20

* - Instinct GPUs
- SPX + NPS1
- TPX + NPS1
- CPX + NPS1
- CPX + NPS4
* - MI300X
- ✅
- NA
-
- ✅ (ROCm 6.4)
* - MI300A
- ✅
- ✅ (ROCm 6.3)
- ✅ (ROCm 6.4)
- NA

.. note::
The compatibility matrix is a living document and will be updated as new ROCm releases and device capabilities are validated. Users are encouraged to check back frequently for the latest information.

Device Documentation
^^^^^^^^^^^^^^^^^^^^^

- :doc:`AMD Instinct MI300X GPU <mi300x/index>` — Includes guidance for MI300X GPU-specific partitioning, architecture, System compatibility, and running vLLM inference.
- :doc:`AMD Instinct MI300A APU <mi300a/index>` — Includes guidance for APU-specific partitioning, architecture, System compatibility, and running vLLM inference.

We recommend users start with this index page to assess compatibility, then follow device-specific documentation to implement and validate GPU partitioning configurations in their own clusters or platforms.
28 changes: 28 additions & 0 deletions docs/gpu-partitioning/mi300a/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
.. meta::
:description: AMD Instinct MI300A APU
:keywords: AMD, MI300A, APU, CPU-GPU, Instinct, Overview

*******************************************
AMD Instinct MI300A APU
*******************************************

The AMD Instinct™ MI300A APU (Accelerated Processing Unit) is a groundbreaking compute platform that fuses AMD EPYC™ CPU cores with CDNA™ 3 GPU architecture into a single, unified package. Purpose-built for data-intensive AI, HPC, and scientific computing workloads, the MI300A offers unprecedented levels of memory bandwidth, compute density, and energy efficiency — all through a cohesive CPU-GPU heterogeneous system.

As the world’s first data center APU based on **advanced chiplet packaging**, MI300A breaks traditional boundaries by enabling shared memory between the CPU and GPU, reducing latency and eliminating redundant data transfers. This guide provides an in-depth reference for developers, system architects, and platform integrators working with MI300A systems — from configuration and partitioning to memory access models and workload deployment.

Key technical highlights of the MI300A platform include:

- **24 Zen 4 CPU cores** integrated with **228 CDNA 3 CUs**, all sharing a unified addressable HBM memory pool.
- Up to **128 GB of unified HBM3 memory**, accessible by both CPU and GPU without the need for explicit memory copies.
- **Advanced GPU partitioning** support (SPX, CPX, TPX) enabling workload isolation, fine-grained scheduling, and resource optimization.
- Hardware-accelerated **coherent shared memory**, enabling low-latency CPU-GPU communication for tightly coupled compute models.
- Full compatibility with the **ROCm 6.x software stack**, including HIP, OpenMP offload, and leading AI/ML libraries.

This guide is structured to help users get the most out of MI300A across a wide range of applications:

- :doc:`Overview <overview>` — Deep dive into MI300A architecture, APU topology, and compute/memory partitioning models.
- :doc:`Requirements <requirements>` — Platform setup, BIOS/kernel configuration, ROCm compatibility matrix, and supported distros.
- :doc:`Quick Start Guide <quick-start-guide>` — Walkthrough for bringing up MI300A systems and configuring partitions using `amd-smi`.
- :doc:`Troubleshooting <troubleshooting>` — Diagnosing common errors, partition conflicts, and optimizing workload placement.

Whether you are deploying the MI300A in an exascale supercomputer or using it to accelerate simulation, AI, or analytics workloads, this documentation serves as your go-to reference for maximizing performance, interoperability, and development agility.
Loading