Compare commits

..
Author SHA1 Message Date
Hanzo Dev 001fa7c0ce chore: OSS attribution — AMD ROCm (MIT) LICENSE + NOTICE 2026-07-02 12:44:34 -07:00
z 582cacea47 docs(brand): add hero banner 2026-06-28 20:15:26 -07:00
z 5209dccdb2 chore(brand): dynamic hero banner 2026-06-28 20:15:25 -07:00
peterjunparkandGitHub 876343e53b Update vLLM and SGLang + MoRI distributed inference docs (#6329) 2026-06-03 16:23:58 -04:00
peterjunparkandGitHub 9f0ec581e2 Remove extra CODEOWNERS (#6310) 2026-06-02 20:21:17 -04:00
peterjunparkandGitHub 6a6dc9136f docs: rm sglang DI w/ mooncake doc (#6320) 2026-06-01 22:09:40 -04:00
54788f54d2 docs: add mi350 workload tuning specific and consolidate with mi300x (#6318)
* add mi350 workload tuning specific and consolidate with mi300x

* update content and keep old content as much as possible

* Remove TunableOp + max-autotune note.

* Update Inductor compiler url.

* Mention hipBLASLt.

* Update Inductor tuning knobs.

* Lint

* More changes to Inductor section.

* add gluon perf section

* update and cleanup

* address feedback

* add words to `.wordlist.txt` to satisfy linter

* Update docs/how-to/rocm-for-ai/inference-optimization/workload.rst

Co-authored-by: peterjunpark <peter.park@amd.com>

* Update docs/how-to/rocm-for-ai/inference-optimization/workload.rst

Co-authored-by: peterjunpark <peter.park@amd.com>

* Update docs/how-to/rocm-for-ai/inference-optimization/workload.rst

Co-authored-by: peterjunpark <peter.park@amd.com>

* address feedback and add gluon tutorial public link

---------

Co-authored-by: Hongxia Yang <hongxiay.yang@amd.com>
Co-authored-by: Nichols A. Romero <nick.romero@amd.com>
Co-authored-by: Hongxia Yang <hongxia.yang@amd.com>
Co-authored-by: Hongxia Yang <62075498+hongxiayang@users.noreply.github.com>
2026-06-01 15:36:10 -04:00
alexxu-amdandGitHub 60761656b4 Merge pull request #6316 from ROCm/sync-develop-from-internal
Sync develop from internal for 7.2.4 GA
2026-05-29 12:30:57 -04:00
alexxu-amdandGitHub cff95485e7 Merge pull request #791 from ROCm/sync-develop-from-external
Sync develop from external for 7.2.4 GA
2026-05-29 12:00:27 -04:00
Alex Xu 81b0abda82 add OOM to wordlist to fix linting 2026-05-29 11:55:50 -04:00
alexxu-amdandGitHub c3369f0349 Merge branch 'develop' into sync-develop-from-external 2026-05-29 11:46:46 -04:00
80ca7e03d3 Update vLLM optimization docs with latest AITER attention backends (#713)
---------

Co-authored-by: Tan Pin Siang <tanpinsiang@gmail.com>
Co-authored-by: Hongxia Yang <62075498+hongxiayang@users.noreply.github.com>
2026-05-29 11:05:12 -04:00
Alex Xu b8c0e2d6f6 Merge remote-tracking branch 'external/develop' into sync-develop-from-external 2026-05-29 10:59:09 -04:00
Alex Xu 98d6b45cb7 add version for 7.2.4 2026-05-29 09:32:05 -04:00
Pratik BasyalandGitHub e765da5fdd 724 PRE GA link and date reset (#789)
* 7.2.4 PRE GA version and link reset

* Date updated
2026-05-28 19:29:04 -04:00
Pratik BasyalandGitHub f51ee1af20 AMDGPU Driver version updated (#6311) 2026-05-28 17:55:58 -04:00
Pratik BasyalandGitHub f404b68678 Release highlights review feedback added (#788) 2026-05-27 13:00:15 -04:00
b721f63b32 7.2.4 Highlights updated (#787)
* Highlights updated

* Update RELEASE.md

Co-authored-by: anisha-amd <anisha.sankar@amd.com>

---------

Co-authored-by: anisha-amd <anisha.sankar@amd.com>
2026-05-26 16:03:39 -04:00
e84490952f 7.2.4 highlights updated (#786)
* 7.2.4 highlights updated

* Compatibility matrix updated

* Compatibility changes

* Highlight improved

* Release highlights updated

* Review feedback added

* Update RELEASE.md

minor fixes

---------

Co-authored-by: pmoutsias-amd <peter.moutsias@amd.com>
2026-05-26 13:19:23 -04:00
0fafbb95ae updated the contributing doc for the rock (#777)
* updated the contributing doc for the rock

* making the linter happy

* updated based on review feedback

* removing a whitespace for liting purposes

* small change

* Update docs/contribute/contributing.md

Co-authored-by: anisha-amd <anisha.sankar@amd.com>

* Update docs/contribute/contributing.md

Co-authored-by: anisha-amd <anisha.sankar@amd.com>

---------

Co-authored-by: anisha-amd <anisha.sankar@amd.com>
2026-05-25 11:48:22 -04:00
Peter Parkandpeterjunpark 89321ae826 Update preview release link in README 2026-05-25 09:23:40 -04:00
peterjunparkandGitHub 3cd1d85020 docs: Primus 26.3 (#6300)
* Archive previous version - 26.2

* Update Megatron data and template

ver

hist page

fix gpt

fix

* Update torch data and template

hist page

clean up

* Remove legacy (non-Primus) from TOC

add :no-search:

* Update Primus commit hashes

* Update multi-node examples

update

* fix anchors
2026-05-25 09:23:03 -04:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ee5be73d4b Bump idna from 3.11 to 3.15 in /docs/sphinx (#6280)
Bumps [idna](https://github.com/kjd/idna) from 3.11 to 3.15.
- [Release notes](https://github.com/kjd/idna/releases)
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.md)
- [Commits](https://github.com/kjd/idna/compare/v3.11...v3.15)

---
updated-dependencies:
- dependency-name: idna
  dependency-version: '3.15'
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-20 08:56:43 -04:00
peterjunparkandGitHub f5c11d16a5 Update docs for JAX MaxText training 26.3 (#6276)
* archive previous version

* update for 26.3

* update col width

* add profiling sections

* update .wordlist.txt
2026-05-19 13:29:17 -04:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
29b98078bd Bump urllib3 from 2.6.3 to 2.7.0 in /docs/sphinx (#6226)
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.6.3 to 2.7.0.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.6.3...2.7.0)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-version: 2.7.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-12 14:53:59 -04:00
0cc148b308 Update xDiT diffusion inference page for 26.5 release (#6224)
* archive previous version

* Update components version

* Update run settings for a few models

* Update hf download and pull tag

* ROCm bump and what's new

* Fix double (preview) (preview) text

* update

---------

Co-authored-by: Kristoffer Torp <kristoffer.torp@amd.com>
2026-05-12 14:53:37 -04:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
26e3e80466 Bump gitpython from 3.1.47 to 3.1.50 in /docs/sphinx (#6207)
Bumps [gitpython](https://github.com/gitpython-developers/GitPython) from 3.1.47 to 3.1.50.
- [Release notes](https://github.com/gitpython-developers/GitPython/releases)
- [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/CHANGES)
- [Commits](https://github.com/gitpython-developers/GitPython/compare/3.1.47...3.1.50)

---
updated-dependencies:
- dependency-name: gitpython
  dependency-version: 3.1.50
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-11 10:01:41 -04:00
Pratik BasyalandGitHub bf5c3f768d Ubuntu support version updated (#6199) 2026-05-05 11:37:57 -04:00
Pratik BasyalandGitHub 414f499ae8 7.2.3 OS table updated (#6197)
* OS table updated

* Minor change
2026-05-04 16:04:15 -04:00
alexxu-amdandGitHub a7fea177e1 Merge pull request #6196 from ROCm/sync-develop-from-internal
Sync develop from internal for 7.2.3 release
2026-05-04 14:30:02 -04:00
420 changed files with 11581 additions and 20030 deletions
+4 -4
View File
@@ -1,8 +1,8 @@
* @amd-aakash @jlgreathouse @samjwu @yhuiYH @ROCm/rocm-documentation
* @ROCm/rocm-documentation
# Documentation files
docs/ @amd-aakash @jlgreathouse @samjwu @yhuiYH @ROCm/rocm-documentation
*.md @amd-aakash @jlgreathouse @samjwu @yhuiYH @ROCm/rocm-documentation
*.rst @amd-aakash @jlgreathouse @samjwu @yhuiYH @ROCm/rocm-documentation
docs/ @ROCm/rocm-documentation
*.md @ROCm/rocm-documentation
*.rst @ROCm/rocm-documentation
# External CI
/.azuredevops/ @ROCm/external-ci
tools/rocm-build/ @ROCm/rocm-devops
+9
View File
@@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1280" height="640" viewBox="0 0 1280 640" role="img" aria-label="ROCm">
<rect width="1280" height="640" fill="#0A0A0A"/>
<svg x="96" y="215" width="210" height="210" viewBox="0 0 67 67"><path d="M22.21 67V44.6369H0V67H22.21Z" fill="#fff"/><path d="M66.7038 22.3184H22.2534L0.0878906 44.6367H44.4634L66.7038 22.3184Z" fill="#fff"/><path d="M22.21 0H0V22.3184H22.21V0Z" fill="#fff"/><path d="M66.7198 0H44.5098V22.3184H66.7198V0Z" fill="#fff"/><path d="M66.7198 67V44.6369H44.5098V67H66.7198Z" fill="#fff"/></svg>
<text x="378" y="276" font-family="Inter,system-ui,-apple-system,sans-serif" font-size="78" font-weight="800" letter-spacing="-2" fill="#ffffff">ROCm</text>
<text x="378" y="322" font-family="Inter,system-ui,sans-serif" font-size="30" fill="#ffffff" opacity=".66">AMD ROCm™ Software - GitHub Home</text>
<rect x="378" y="338" width="806" height="3" rx="1.5" fill="#ffffff" opacity=".9"/>
<text x="378" y="390" font-family="Inter,system-ui,sans-serif" font-size="24" font-weight="600" fill="#ffffff" opacity=".5">github.com/hanzoai</text>
<text x="1184" y="390" text-anchor="end" font-family="Inter,system-ui,sans-serif" font-size="24" font-weight="600" fill="#ffffff" opacity=".5">hanzo.ai</text>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

+1
View File
@@ -17,5 +17,6 @@ __pycache__/
# avoid duplicating contributing.md due to conf.py
docs/contribute/index.md
docs/about/release-notes.md
docs/release/changelog.md
.claude/settings.local.json
+12 -10
View File
@@ -4,21 +4,23 @@
version: 2
sphinx:
configuration: docs/conf.py
configuration: docs/conf.py
formats: []
formats: [htmlzip]
python:
install:
- requirements: docs/sphinx/requirements.txt
install:
- requirements: docs/sphinx/requirements.txt
build:
os: ubuntu-24.04
tools:
python: "3.10"
os: ubuntu-22.04
tools:
python: "3.10"
apt_packages:
- "doxygen"
- "gfortran" # For pre-processing fortran sources
- "graphviz" # For dot graphs in doxygen
search:
ignore:
- "**/archive/**"
- "**/include/**"
- "**/redirect/**"
- "**/previous-versions/**"
+54 -189
View File
@@ -1,9 +1,16 @@
AAC
ABI
ACE
ACEs
ACS
AITER
ALU
AllReduce
AllToAll
AGPR
AGPRs
AITER
ALU
AMD
AMDGPU
AMDGPUs
@@ -24,7 +31,6 @@ ASICs
ASan
ASm
ATI
ATT
AccVGPR
AccVGPRs
AddressSanitizer
@@ -35,13 +41,10 @@ Arb
Async
Autocast
BARs
BDF
BKC
BLAS
BLASLt
BMC
BRCM
BSR
BNXT
BabelStream
Backported
BatchNorm
@@ -65,15 +68,11 @@ CMakeLists
CMakePackage
CNP
CP
CPACK
CPC
CPF
CPP
CPU
CPUs
CPX
CPack
CQ
CSC
CSDATA
CSE
@@ -92,13 +91,11 @@ ChatGPT
Cholesky
CoRR
Codespaces
ComfyUI
Commitizen
CommonMark
Concretized
Conda
ConnectX
Conv
CountOnes
Cron
CuPy
@@ -113,14 +110,13 @@ DIMM
DKMS
DL
DMA
DMC
DNN
DNNL
DOCA
DOMContentLoaded
DPM
DPX
DRI
DSA
DSCP
DW
DWORD
@@ -141,16 +137,13 @@ Disaggregated
Dockerfile
Dockerized
Doxygen
Dyninst
ELMo
ENDPGM
EP
EPYC
ESMI
ESXi
EoS
FBGEMM
FFN
FFT
FFTs
FFmpeg
@@ -158,10 +151,9 @@ FHS
FIFOs
FIXME
FMA
FMHA
FNUZ
FP
FX
FetchContent
FiLM
Filesystem
FindDb
@@ -169,7 +161,6 @@ Flang
FlashAttention
FlashInfer
FlashInfers
Flatmm
FluxBenchmark
Fortran
Fuyu
@@ -182,15 +173,12 @@ GCD
GCDs
GCN
GCNN
GDA
GDB
GDDR
GDR
GDS
GEMM
GEMMs
GETRS
GETRS
GFLOPS
GFXIP
GFortran
@@ -198,12 +186,15 @@ GGUF
GID
GIM
GL
Glibc
GLM
GIM
GL
GLXT
GMI
GNN
GNNs
GPG
GPGPU
GPR
GPT
GPU
@@ -213,7 +204,6 @@ GPUVM
GPUs
GRBM
GRE
GSU
GTT
Gbps
Gemma
@@ -224,18 +214,15 @@ GitHub
Gitpod
Glibc
Gloo
GraphAPI
Gluon
GraphBolt
GraphSage
Graphbolt
HBM
HCA
HEVC
HGX
HIPCC
HIPExtension
HIPIFY
HIPOCProgram
HIPification
HIPify
HLO
@@ -247,30 +234,27 @@ HSA
HW
HWE
HWS
HX
Haswell
Higgs
Huggingface
Hunyuan
HunyuanVideo
HybridEngine
Hyperparameters
IB
IC
ICD
InternVL
ICT
ICV
IDE
IDEs
IFWI
ILP
ILU
IMDb
IOMMU
IOP
IOPM
IOPS
IOV
IPC
IPU
IPs
IRQ
ISA
@@ -287,7 +271,7 @@ Intersphinx
Intra
Ioffe
JAX's
JPG
JAXLIB
JSON
Jinja
Jupyter
@@ -297,21 +281,23 @@ KMD
KV
KVM
Karpathy's
Kimi
KiB
Kineto
Keras
Khronos
KiB
Kineto
LAPACK
LASYF
LCLK
LDS
LLM
LLMs
LLVM
LLaMA
LM
LPDDR
LRU
LSE
LSAN
LSTMs
LSan
@@ -331,7 +317,6 @@ MIOpenGEMM
MIVisionX
MLA
MLM
MLX
MMA
MMIO
MMIOH
@@ -339,16 +324,14 @@ MMU
MNIST
MPI
MPT
MSI
MSVC
MTP
MTU
MVAPICH
MVFFR
MX
MXFP
Makefile
Makefiles
ManyLinux
Matplotlib
Matrox
MaxText
@@ -359,7 +342,6 @@ Mellanox
Mellanox's
Meta's
MiB
Microscaling
Miniconda
MirroredStrategy
Mixtral
@@ -369,6 +351,9 @@ Mooncake
MosaicML
Mpops
Multicore
Multimodal
multimodal
multihost
Multithreaded
MyEnvironment
MyST
@@ -377,7 +362,6 @@ NBIO
NBIOs
NCCL
NCF
NCHW
NCS
NFS
NIC
@@ -388,8 +372,6 @@ NN
NOP
NPKit
NPS
NPVT
NSIS
NSP
NUMA
NVCC
@@ -397,6 +379,7 @@ NVIDIA
NVLink
NVPTX
NaN
NaNs
Nano
Navi
NoReturn
@@ -414,17 +397,16 @@ OMPI
OMPT
OMPX
ONNX
OOM
OSL
OSS
OSU
OTF
OOM
OpenCL
OpenCV
OpenFabrics
OpenGL
OpenMP
OpenMPI
OpenSHMEM
OpenSSL
OpenVX
OpenXLA
@@ -435,15 +417,11 @@ PCI
PCIe
PEFT
PEQT
PEs
PID
PIL
PILImage
PJRT
PLDM
POR
POSIX
POTF
POTRF
PRNG
PRs
PSID
@@ -457,10 +435,12 @@ Pensando
PerfDb
Perfetto
PipelineParallel
Pipelining
PnP
Pollara
PowerEdge
PowerShell
Preshuffled
Pretrained
Pretraining
Primus
@@ -468,15 +448,12 @@ Profiler's
PyPi
PyTorch
Pytest
QMCPACK
QPS
QPX
Qcycles
QoS
Qwen
RAII
RAS
RBT
RCCL
RDC
RDC's
@@ -501,14 +478,10 @@ ROCm
ROCmCC
ROCmSoftwarePlatform
ROCmValidationSuite
ROCprof
ROCprofiler
ROCr
ROCtx
RPP
RST
RTC
RTC
RW
Radeon
Radix
@@ -522,10 +495,10 @@ RoCE
Runfile
Ryzen
SALU
safetensors
SBIOS
SCA
SDK
SDKs
SDMA
SDPA
SDRAM
@@ -546,35 +519,24 @@ SMEM
SMFMA
SMI
SMT
SPARSELt
SPI
SPIR
SPX
SQTT
SQs
SRAM
SRAMECC
SVD
SVM
SWE
SYTF
SYTRF
SYTRS
SageAttention
ScaledGEMM
SerDes
Shardy
ShareGPT
Shlens
SiLU
Skylake
Slurm
Softmax
Spack
SplitK
StreamingLLM
Strix
Supermicro
SwiGLU
Szegedy
TCA
TCC
@@ -585,23 +547,16 @@ TCP
TCR
TF
TFLOPS
TGZ
THREADGROUPS
TP
TPS
TPU
TPUs
TPX
TSME
TT
TTM
TTY
TUI
TVM
TagRAM
Tagram
Taichi
Taichi's
TensileLite
TensorBoard
TensorFloat
@@ -620,12 +575,11 @@ TorchVision
TransferBench
TrapStatus
UAC
UBB
UC
UCC
UCX
UE
UEK
UI
UIF
UMC
USM
@@ -634,7 +588,6 @@ UTCL
UTCL
UTIL
UTIL
UUID
UX
UltraChat
Uncached
@@ -649,25 +602,20 @@ VM
VMEM
VMID
VMIDs
VMM
VMWare
VMs
VMware
VRAM
VSIX
VSkipped
Vanhoucke
Vulkan
WDAG
WGP
WGPs
WR
WX
WikiText
Winograd
Wojna
Workgroups
WrW
Writebacks
XCD
XCDs
@@ -686,7 +634,6 @@ YML
YModel
ZeRO
ZenDNN
abquant
accuracies
activations
addEventListener
@@ -697,15 +644,8 @@ alloc
allocatable
allocator
allocators
alltoall
alltoallv
amd
amdclang
amdgpu
amdrocm
amdsmi
api
aqlprofile
async
aten
atmi
@@ -714,12 +654,12 @@ atomics
autogenerated
autograd
autotune
autotuning
avx
awk
az
backend
backends
batchnorm
bb
benchmarked
benchmarking
@@ -728,13 +668,11 @@ bilinear
bitcode
bitsandbytes
bitwise
blas
blit
blockscale
bootloader
bootup
boson
bosons
bottlenecked
br
btn
buildable
@@ -743,31 +681,25 @@ bzip
cTDP
cacheable
carveout
ccl
cd
centos
centric
cgroups
changelog
changelogs
checkpointing
chiplet
cholesky
classList
cmake
cmd
coalescable
codecs
codename
codenamed
collater
comfyui
comgr
compat
completers
composable
composablekernel
concretization
cond
config
configs
conformant
@@ -777,10 +709,7 @@ convolutional
convolves
copyable
cpp
cron
csn
csv
ctypes
cuBLAS
cuDNN
cuFFT
@@ -792,10 +721,10 @@ cuda
cudnn
customizable
customizations
cxx
dGPU
dGPUs
da
dataflows
dataset
datasets
dataspace
@@ -813,14 +742,12 @@ denoise
denoised
denoises
denormalize
depthwise
dequantization
dequantized
dequantizes
deserializers
detections
dev
devel
devicelibs
devsel
dgl
@@ -829,13 +756,9 @@ disagg
disaggregated
disaggregation
disambiguates
discoverability
distro
distros
dkms
dll
dnf
dnn
dropless
dtype
eb
@@ -856,22 +779,17 @@ eth
ethernet
exascale
executables
factorizations
fam
fam
fas
ffmpeg
fft
filesystem
flang
fmha
flashinfer
forEach
foreach
fortran
fp
framebuffer
gRPC
galb
gb
gcc
gdb
gemm
@@ -882,27 +800,21 @@ githooks
github
globals
gnupg
gpt
gpu
granularities
grayscale
gre
gtest
gx
gz
gzip
hardcoded
heterogenous
hipBLAS
hipBLASLt
hipBLASLt's
hipCUB
hipDNN
hipDataType
hipFFT
hipFFTW
hipFORT
hipLIB
hipMemGetAddressRange
hipModules
hipRAND
hipSOLVER
hipSPARSE
@@ -917,11 +829,8 @@ hipfft
hipfort
hipification
hipify
hipinfo
hiprand
hipsolver
hipsparse
hipsparselt
hlist
hostname
hotspotting
@@ -930,7 +839,6 @@ hpp
href
hsa
hsakmt
hx
hyperparameter
hyperparameters
iDRAC
@@ -954,7 +862,6 @@ invariants
invocating
ipo
jax
jpeg
js
json
kdb
@@ -963,13 +870,9 @@ kv
lang
latencies
len
libVA
libdrm
libelf
libfabric
libjpeg
libs
libva
linalg
linearized
linter
@@ -982,20 +885,15 @@ logits
logsumexp
loopback
lossy
lp
lstsq
mW
macOS
matchers
maxtext
megablocks
megatron
microarchitecture
microscaling
migraphx
migratable
milliwatt
milliwatts
miopen
miopengemm
mivisionx
@@ -1006,26 +904,24 @@ mlirmiopen
mtypes
mul
multihost
multimodal
mutex
mvffr
mx
namespace
namespaces
nanoGPT
netplan
noncontiguous
num
numa
numref
ocl
ol
openai
opencl
opencv
openmp
openssl
optimizers
os
oss
oversubscription
pageable
pallas
@@ -1035,16 +931,15 @@ param
parameterization
params
passthrough
pc
pb
pe
perf
perfcounter
performant
perl
piecewise
pkgman
pmc
ppt
pipelined
pipelining
pragma
pre
prebuild
@@ -1082,7 +977,6 @@ querySelectorAll
queueing
qwen
radeon
radix
rc
rccl
rdc
@@ -1091,12 +985,10 @@ reStructuredText
reachability
recommender
recommenders
redhat
redirections
refactorization
reformats
reinforcememt
relocations
repo
repos
representativeness
@@ -1120,7 +1012,6 @@ rocMLIR
rocPRIM
rocPyDecode
rocRAND
rocSHMEM
rocSOLVER
rocSPARSE
rocThrust
@@ -1128,38 +1019,26 @@ rocWMMA
rocalution
rocblas
rocclr
rocdecode
rocfft
rocgdb
rocjpeg
rocm
rocminfo
rocpd
rocprim
rocprof
rocprofiler
rocprofv
rocr
rocrand
rocshmem
rocsolver
rocsparse
rocthrust
roctracer
rocwmma
roofline
rst
runfile
runtime
runtimes
rx
ryzen
sL
scalability
scalable
scipy
sdk
seccomp
seealso
selectattr
selectedTag
@@ -1192,15 +1071,11 @@ submatrix
submodule
submodules
subnet
subnets
supercomputing
suse
symlink
symlinks
sys
syscall
syscalls
sysdeps
sysfs
tabindex
targetContainer
td
@@ -1208,7 +1083,6 @@ tensorfloat
tf
th
threadgroups
toc
tokenization
tokenize
tokenized
@@ -1216,7 +1090,6 @@ tokenizer
tokenizes
toolchain
toolchains
toolkits
toolset
toolsets
topk
@@ -1229,14 +1102,9 @@ torchvision
tp
tqdm
tracebacks
tridiagonal
txt
typedef
uarch
ubuntu
uclk
ud
udev
uncacheable
uncached
uncorrectable
@@ -1244,13 +1112,12 @@ underoptimized
unfused
unhandled
uninstallation
unmap
unmapped
unprefixed
unpadded
unsqueeze
unstacking
unswitching
untar
unswizzled
untrusted
untuned
unwindowed
@@ -1265,7 +1132,6 @@ vectorize
vectorized
vectorizer
vectorizes
ver
verl
verl's
virtualize
@@ -1275,6 +1141,7 @@ vllm
voxel
walkthrough
walkthroughs
warmup
watchpoints
wavefront
wavefronts
@@ -1292,9 +1159,7 @@ xPacked
xargs
xcc
xdit
xe
xt
xtx
xplane
xz
yaml
ysvmadyb
+1 -1
View File
@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2023 - 2026 Advanced Micro Devices, Inc. All rights reserved.
Copyright (c) 2023 - 2025 Advanced Micro Devices, Inc. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
+18
View File
@@ -0,0 +1,18 @@
Hanzo ROCm
Copyright (c) 2026 Hanzo AI, Inc.
This product includes software from AMD ROCm (https://github.com/ROCm/ROCm),
licensed under the MIT License:
Copyright (c) 2023 - 2025 Advanced Micro Devices, Inc. All rights reserved.
This repository is the AMD ROCm meta/manifest repository: documentation, build
tooling, and the repo manifest (default.xml). This meta-repository is MIT-licensed
and its upstream MIT license is retained in LICENSE.
The individual ROCm components referenced by the manifest and built by the tooling
carry their own upstream licenses, including the MIT License, the Apache License 2.0,
and the University of Illinois/NCSA Open Source License. Note that the ROCgdb
component (AMD's fork of GNU GDB, packaged by tools/rocm-build/build_rocm-gdb.sh) is
licensed under the GNU General Public License (GPL) — a copyleft license. Each
component is governed by its own license; consult that component's repository.
+2
View File
@@ -1,3 +1,5 @@
<p align="center"><img src=".github/hero.svg" alt="ROCm" width="880"></p>
<div align="center">
<img src="docs/data/amd-rocm-logo.png" width="200px" alt="ROCm logo">
+754
View File
@@ -0,0 +1,754 @@
<!-- Do not edit this file! -->
<!-- This file is autogenerated with -->
<!-- tools/autotag/tag_script.py -->
<!-- Disable lints since this is an auto-generated file. -->
<!-- markdownlint-disable blanks-around-headers -->
<!-- markdownlint-disable no-duplicate-header -->
<!-- markdownlint-disable no-blanks-blockquote -->
<!-- markdownlint-disable ul-indent -->
<!-- markdownlint-disable no-trailing-spaces -->
<!-- markdownlint-disable reference-links-images -->
<!-- markdownlint-disable no-missing-space-atx -->
<!-- spellcheck-disable -->
# ROCm 7.2.4 release notes
ROCm 7.2.4 is a quality release focused on performance and stability fixes for AI inference workloads on AMD Instinct GPUs.
## Release highlights
The following are the notable changes in ROCm 7.2.4.
### Reduced hipGraphLaunch latency for multi-list graphs
The HIP runtime's graph dispatch mechanism has been optimized, reducing launch latency for workloads using `hipGraphLaunch` with multi-list graph topologies.
### Fixed H2D memory copy latency regression in CPX mode
HIP runtime synchronization behavior has been corrected on AMD Instinct MI300 Series GPUs in CPX mode, restoring latency to previous levels for inference workloads that run multiple HIP streams with concurrent memory copies.
### Reduced ROCprofiler-SDK profiling overhead
Profiling stability has been improved for vLLM workloads traced with PyTorch `torch.profiler` using the ROCprofiler-SDK backend. The large, sporadic idle gaps that previously appeared between GPU kernels in the trace have been substantially reduced in common configurations, and the traces now more accurately reflect actual runtime behavior. Coverage may vary depending on model and parallelism settings.
### Reduced copy overhead in MIGraphX concat operations
MIGraphX now recognizes ONNX models that concatenate the same tensor multiple times and avoids redundant device-side copies, improving inference throughput at small batch sizes for the affected model class on AMD Instinct MI300X GPUs.
### User space, driver, and firmware dependent changes
The software for AMD Data Center GPU products requires maintaining a hardware
and software stack with interdependencies among the GPU and baseboard
firmware, AMD GPU drivers, and the ROCm user space software. While AMD publishes drivers and ROCm user space components, your server or infrastructure provider publishes the GPU and baseboard firmware by bundling AMDs firmware releases via the AMD Platform Level Data Model (PLDM) bundle, which includes the Integrated Firmware Image (IFWI).
GPU and baseboard firmware versioning might differ across GPU families.
<div class="pst-scrollable-table-container">
<table class="table table--middle-left">
<thead>
<tr>
<th class="head">
<p>ROCm Version</p>
</th>
<th class="head">
<p>GPU</p>
</th>
<th class="head">
<p>PLDM Bundle (Firmware)</p>
</th>
<th class="head">
<p>AMD GPU Driver (amdgpu)</p>
</th>
<th class="head">
<p>AMD GPU <br>
Virtualization Driver (GIM)</p>
</th>
</tr>
</thead>
<style>
tbody#virtualization-support-instinct tr:last-child {
border-bottom: 2px solid var(--pst-color-primary);
}
</style>
<tr>
<td rowspan="9" style="vertical-align: middle;">ROCm 7.2.4</td>
<td>MI355X</td>
<td>
01.26.00.02<br>
01.25.17.07<br>
01.25.16.03
</td>
<td>
30.30.x where x (0-4)<br>
30.20.x where x (0-1)<br>
30.10.x where x (0-2)
</td>
<td rowspan="3" style="vertical-align: middle;">8.7.1.K</td>
</tr>
<tr>
<td>MI350X</td>
<td>
01.26.00.02<br>
01.25.17.07<br>
01.25.16.03
</td>
<td>
30.30.x where x (0-4)<br>
30.20.x where x (0-1)<br>
30.10.x where x (0-2)
</td>
</tr>
<tr>
<td>MI325X<a href="#footnote1"><sup>[1]</sup></a></td>
<td>
01.25.06.08<br>
01.25.04.02
</td>
<td>30.30.x where x (0-4)<br>
30.20.x where x (0-1)<a href="#footnote1"><sup>[1]</sup></a><br>
30.10.x where x (0-2)<br>
6.4.z where z (0-3)<br>
6.3.3
</td>
</tr>
<tr>
<td>MI300X<a href="#footnote2"><sup>[2]</sup></a></td>
<td>01.25.06.04<br>
01.25.03.12<br>
01.25.02.04</td>
<td rowspan="6" style="vertical-align: middle;">
30.30.x where x (0-4)<br>
30.20.x where x (0-1)<br>
30.10.x where x (0-2)<br>
6.4.z where z (03)<br>
6.3.3
</td>
<td>8.7.1.K</td>
</tr>
<tr>
<td>MI300A</td>
<td>BKC 26.1</td>
<td rowspan="3" style="vertical-align: middle;">Not Applicable</td>
</tr>
<tr>
<td>MI250X</td>
<td>IFWI 47 (or later)</td>
</tr>
<tr>
<td>MI250</td>
<td>MU5 w/ IFWI 75 (or later)</td>
</tr>
<tr>
<td>MI210</td>
<td>MU5 w/ IFWI 75 (or later)</td>
<td>8.7.1.K</td>
</tr>
<tr>
<td>MI100</td>
<td>VBIOS D3430401-037</td>
<td>Not Applicable</td>
</tr>
</table>
</div>
<p id="footnote1">[1]: For AMD Instinct MI325X KVM SR-IOV users, don't use AMD GPU driver (amdgpu) 30.20.0.</p>
<p id="footnote2">[2]: AMD Instinct MI300X KVM SR-IOV with Multi-VF (8 VF) support requires a compatible firmware BKC bundle, which will be released in the coming months.</p>
```{note}
ROCm 7.2.4 doesn't include any other significant changes or feature additions. For comprehensive changes, new features, and enhancements in ROCm 7.2.3, refer to the [ROCm 7.2.3 release notes](#rocm-7-2-3-release-notes) below.
```
## ROCm 7.2.3 release notes
The release notes provide a summary of notable changes since the previous ROCm release.
- [Release highlights](#id1)
- [Supported hardware, operating system, and virtualization changes](#supported-hardware-operating-system-and-virtualization-changes)
- [User space, driver, and firmware dependent changes](#user-space-driver-and-firmware-dependent-changes)
- [ROCm components versioning](#rocm-components)
- [Detailed component changes](#detailed-component-changes)
- [ROCm known issues](#rocm-known-issues)
- [ROCm upcoming changes](#rocm-upcoming-changes)
```{note}
If youre using AMD Radeon™ GPUs or Ryzen™ for graphics workloads, see the [Use ROCm on Radeon and Ryzen](https://rocm.docs.amd.com/projects/radeon-ryzen/en/latest/index.html) documentation to verify compatibility and system requirements.
```
### Release highlights
The following are notable new features and improvements in ROCm 7.2.3. For changes to individual components, see
[Detailed component changes](#detailed-component-changes).
#### Supported hardware, operating system, and virtualization changes
Hardware, operating system, and virtualization support remains unchanged in this release.
For more information about:
* AMD hardware, see [Supported GPUs (Linux)](https://rocm.docs.amd.com/projects/install-on-linux/en/docs-7.2.3/reference/system-requirements.html#supported-gpus).
* Operating systems, see [Supported operating systems](https://rocm.docs.amd.com/projects/install-on-linux/en/docs-7.2.3/reference/system-requirements.html#supported-operating-systems) and [ROCm installation for Linux](https://rocm.docs.amd.com/projects/install-on-linux/en/docs-7.2.3/).
* Virtualization support, see [Virtualization support](https://rocm.docs.amd.com/projects/install-on-linux/en/docs-7.2.3/reference/system-requirements.html#virtualization-support).
#### User space, driver, and firmware dependent changes
The software for AMD Data Center GPU products requires maintaining a hardware
and software stack with interdependencies among the GPU and baseboard
firmware, AMD GPU drivers, and the ROCm user space software. While AMD publishes drivers and ROCm user space components, your server or infrastructure provider publishes the GPU and baseboard firmware by bundling AMDs firmware releases via the AMD Platform Level Data Model (PLDM) bundle, which includes the Integrated Firmware Image (IFWI).
GPU and baseboard firmware versioning might differ across GPU families.
<div class="pst-scrollable-table-container">
<table class="table table--middle-left">
<thead>
<tr>
<th class="head">
<p>ROCm Version</p>
</th>
<th class="head">
<p>GPU</p>
</th>
<th class="head">
<p>PLDM Bundle (Firmware)</p>
</th>
<th class="head">
<p>AMD GPU Driver (amdgpu)</p>
</th>
<th class="head">
<p>AMD GPU <br>
Virtualization Driver (GIM)</p>
</th>
</tr>
</thead>
<style>
tbody#virtualization-support-instinct tr:last-child {
border-bottom: 2px solid var(--pst-color-primary);
}
</style>
<tr>
<td rowspan="9" style="vertical-align: middle;">ROCm 7.2.3</td>
<td>MI355X</td>
<td>
01.26.00.02<br>
01.25.17.07<br>
01.25.16.03
</td>
<td>
30.30.x where x (0-3)<br>
30.20.x where x (0-1)<br>
30.10.x where x (0-2)
</td>
<td rowspan="3" style="vertical-align: middle;">8.7.1.K</td>
</tr>
<tr>
<td>MI350X</td>
<td>
01.26.00.02<br>
01.25.17.07<br>
01.25.16.03
</td>
<td>
30.30.x where x (0-3)<br>
30.20.x where x (0-1)<br>
30.10.x where x (0-2)
</td>
</tr>
<tr>
<td>MI325X<a href="#footnote1"><sup>[1]</sup></a></td>
<td>
01.25.06.08<br>
01.25.04.02
</td>
<td>30.30.x where x (0-3)<br>
30.20.x where x (0-1)<a href="#footnote1"><sup>[1]</sup></a><br>
30.10.x where x (0-2)<br>
6.4.z where z (0-3)<br>
6.3.3
</td>
</tr>
<tr>
<td>MI300X<a href="#footnote2"><sup>[2]</sup></a></td>
<td>01.25.06.04<br>
01.25.03.12<br>
01.25.02.04</td>
<td rowspan="6" style="vertical-align: middle;">
30.30.x where x (0-3)<br>
30.20.x where x (0-1)<br>
30.10.x where x (0-2)<br>
6.4.z where z (03)<br>
6.3.3
</td>
<td>8.7.1.K</td>
</tr>
<tr>
<td>MI300A</td>
<td>BKC 26.1</td>
<td rowspan="3" style="vertical-align: middle;">Not Applicable</td>
</tr>
<tr>
<td>MI250X</td>
<td>IFWI 47 (or later)</td>
</tr>
<tr>
<td>MI250</td>
<td>MU5 w/ IFWI 75 (or later)</td>
</tr>
<tr>
<td>MI210</td>
<td>MU5 w/ IFWI 75 (or later)</td>
<td>8.7.1.K</td>
</tr>
<tr>
<td>MI100</td>
<td>VBIOS D3430401-037</td>
<td>Not Applicable</td>
</tr>
</table>
</div>
<p id="footnote1">[1]: For AMD Instinct MI325X KVM SR-IOV users, don't use AMD GPU driver (amdgpu) 30.20.0.</p>
<p id="footnote2">[2]: AMD Instinct MI300X KVM SR-IOV with Multi-VF (8 VF) support requires a compatible firmware BKC bundle, which will be released in the coming months.</p>
#### Improved profiling accuracy for vLLM workloads
ROCm 7.2.3 improves profiling stability for vLLM workloads traced with PyTorch `torch.profiler`. The large, sporadic idle gaps that previously appeared between GPU kernels in the trace have been substantially reduced in common configurations, and the traces now more accurately reflect actual runtime behavior. Coverage may vary depending on model and parallelism settings; additional improvements are in progress.
#### MIGraphX update
[MIGraphX](https://rocm.docs.amd.com/projects/AMDMIGraphX/en/docs-7.2.3/index.html) has the following enhancements:
##### Improved performance of the Gather operator
Performance for embeddingheavy inference workloads is improved by merging multiple independent gather operations from similar embedding tables into a single batched operation. Multigather workloads now run more efficiently with fewer kernel launches and reduced memory traffic by adding horizontal fusion for cross-embedding gather operators. These gather operators have been updated to use `transpose`/`reshape`/`broadcast`/`slice`, enabling better optimization across different backends and data layouts.
##### ONNX Runtime reliability improvement
ONNX Runtime workloads accelerated with MIGraphX now provide a more reliable experience through external stream support in the MIGraphX Execution Provider, with improved memory allocation and deallocation for multi-stream inference.
#### ROCm documentation updates
ROCm documentation has been updated with ROCm XIO documentation. ROCm XIO provides an API for Accelerator-Initiated IO (XIO) for an AMD GPU `__device__` code. It enables AMD GPUs to perform direct IO operations to hardware devices without CPU intervention. ROCm XIO was initially released in April 2026 as an early-access software technology preview. Running production workloads is not recommended.
For more information, see the [ROCm XIO documentation](https://rocm.docs.amd.com/projects/rocm-xio/en/beta-0.1.0/index.html) and {fab}`github` [ROCm/rocm-xio](https://github.com/ROCm/rocm-xio) GitHub repository.
### ROCm components
The following table lists the versions of ROCm components for ROCm 7.2.3, including any version
changes from 7.2.2/7.2.1 to 7.2.3. Click the component's updated version to go to a list of its changes.
Click {fab}`github` to go to the component's source code on GitHub.
<div class="pst-scrollable-table-container">
<table id="rocm-rn-components" class="table">
<thead>
<tr>
<th>Category</th>
<th>Group</th>
<th>Name</th>
<th>Version</th>
<th></th>
</tr>
</thead>
<colgroup>
<col span="1">
<col span="1">
</colgroup>
<tbody class="rocm-components-libs rocm-components-ml">
<tr>
<th rowspan="9">Libraries</th>
<th rowspan="9">Machine learning and computer vision</th>
<td><a href="https://rocm.docs.amd.com/projects/composable_kernel/en/docs-7.2.3/index.html">Composable Kernel</a></td>
<td>1.2.0</a></td>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/develop/projects/composablekernel"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/AMDMIGraphX/en/docs-7.2.3/index.html">MIGraphX</a></td>
<td>2.15.0&nbsp;&Rightarrow;&nbsp;<a href="#migraphx-2-15-0">2.15.0</a></td>
<td><a href="https://github.com/ROCm/AMDMIGraphX"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/MIOpen/en/docs-7.2.3/index.html">MIOpen</a></td>
<td>3.5.1</a></td>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/develop/projects/miopen"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/MIVisionX/en/docs-7.2.3/index.html">MIVisionX</a></td>
<td>3.5.0</a></td>
<td><a href="https://github.com/ROCm/MIVisionX"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocAL/en/docs-7.2.3/index.html">rocAL</a></td>
<td>2.5.0</a></td>
<td><a href="https://github.com/ROCm/rocAL"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocDecode/en/docs-7.2.3/index.html">rocDecode</a></td>
<td>1.7.0</a></td>
<td><a href="https://github.com/ROCm/rocDecode"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocJPEG/en/docs-7.2.3/index.html">rocJPEG</a></td>
<td>1.4.0</a></td>
<td><a href="https://github.com/ROCm/rocJPEG"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocPyDecode/en/docs-7.2.3/index.html">rocPyDecode</a></td>
<td>0.8.0</a></td>
<td><a href="https://github.com/ROCm/rocPyDecode"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rpp/en/docs-7.2.3/index.html">RPP</a></td>
<td>2.2.1</a></td>
<td><a href="https://github.com/ROCm/rpp"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
</tbody>
<tbody class="rocm-components-libs rocm-components-communication tbody-reverse-zebra">
<tr>
<th rowspan="2"></th>
<th rowspan="2">Communication</th>
<td><a href="https://rocm.docs.amd.com/projects/rccl/en/docs-7.2.3/index.html">RCCL</a></td>
<td>2.27.7</a></td>
<td><a href="https://github.com/ROCm/rccl"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocSHMEM/en/docs-7.1.0/index.html">rocSHMEM</a></td>
<td>3.2.0</a></td>
<td><a href="https://github.com/ROCm/rocSHMEM"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
</tbody>
<tbody class="rocm-components-libs rocm-components-math tbody-reverse-zebra">
<tr>
<th rowspan="16"></th>
<th rowspan="16">Math</th>
<td><a href="https://rocm.docs.amd.com/projects/hipBLAS/en/docs-7.2.3/index.html">hipBLAS</a></td>
<td>3.2.0</a></td>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/develop/projects/hipblas"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/hipBLASLt/en/docs-7.2.3/index.html">hipBLASLt</a></td>
<td>1.2.2</a></td>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/develop/projects/hipblaslt"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/hipFFT/en/docs-7.2.3/index.html">hipFFT</a></td>
<td>1.0.22</a></td>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/develop/projects/hipfft"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/hipfort/en/docs-7.2.3/index.html">hipfort</a></td>
<td>0.7.1</a></td>
<td><a href="https://github.com/ROCm/hipfort"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/hipRAND/en/docs-7.2.3/index.html">hipRAND</a></td>
<td>3.1.0</a></td>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/develop/projects/hiprand"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/hipSOLVER/en/docs-7.2.3/index.html">hipSOLVER</a></td>
<td>3.2.0</a></td>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/develop/projects/hipsolver"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/hipSPARSE/en/docs-7.2.3/index.html">hipSPARSE</a></td>
<td>4.2.0</a></td>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/develop/projects/hipsparse"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/hipSPARSELt/en/docs-7.2.3/index.html">hipSPARSELt</a></td>
<td>0.2.6</a></td>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/develop/projects/hipsparselt"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocALUTION/en/docs-7.2.3/index.html">rocALUTION</a></td>
<td>4.1.0</a></td>
<td><a href="https://github.com/ROCm/rocALUTION"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocBLAS/en/docs-7.2.3/index.html">rocBLAS</a></td>
<td>5.2.0</a></td>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/develop/projects/rocblas"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocFFT/en/docs-7.2.3/index.html">rocFFT</a></td>
<td>1.0.36</a></td>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/develop/projects/rocfft"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocRAND/en/docs-7.2.3/index.html">rocRAND</a></td>
<td>4.2.0</a></td>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/develop/projects/rocrand"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocSOLVER/en/docs-7.2.3/index.html">rocSOLVER</a></td>
<td>3.32.0</a></td>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/develop/projects/rocsolver"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocSPARSE/en/docs-7.2.3/index.html">rocSPARSE</a></td>
<td>4.2.0</a></td>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/develop/projects/rocsparse"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocWMMA/en/docs-7.2.3/index.html">rocWMMA</a></td>
<td>2.2.0</a></td>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/develop/projects/rocwmma"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/Tensile/en/docs-7.2.3/src/index.html">Tensile</a></td>
<td>4.45.0</td>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/develop/shared/tensile"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
</tbody>
<tbody class="rocm-components-libs rocm-components-primitives tbody-reverse-zebra">
<tr>
<th rowspan="4"></th>
<th rowspan="4">Primitives</th>
<td><a href="https://rocm.docs.amd.com/projects/hipCUB/en/docs-7.2.3/index.html">hipCUB</a></td>
<td>4.2.0</a></td>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/develop/projects/hipcub"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/hipTensor/en/docs-7.2.3/index.html">hipTensor</a></td>
<td>2.2.0</td>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/develop/projects/hiptensor"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocPRIM/en/docs-7.2.3/index.html">rocPRIM</a></td>
<td>4.2.0</td>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/develop/projects/rocprim"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocThrust/en/docs-7.2.3/index.html">rocThrust</a></td>
<td>4.2.0</a></td>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/develop/projects/rocthrust"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
</tbody>
<tbody class="rocm-components-tools rocm-components-system tbody-reverse-zebra">
<tr>
<th rowspan="7">Tools</th>
<th rowspan="7">System management</th>
<td><a href="https://rocm.docs.amd.com/projects/amdsmi/en/docs-7.2.3/index.html">AMD SMI</a></td>
<td>26.2.2</a></td>
<td><a href="https://github.com/ROCm/rocm-systems/tree/develop/projects/amdsmi"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rdc/en/docs-7.2.3/index.html">ROCm Data Center Tool</a></td>
<td>1.2.0</a></td>
<td><a href="https://github.com/ROCm/rocm-systems/tree/develop/projects/rdc/"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocminfo/en/docs-7.2.3/index.html">rocminfo</a></td>
<td>1.0.0</td>
<td><a href="https://github.com/ROCm/rocm-systems/tree/develop/projects/rocminfo/"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocm_smi_lib/en/docs-7.2.3/index.html">ROCm SMI</a></td>
<td>7.8.0</td>
<td><a href="https://github.com/ROCm/rocm-systems/tree/develop/projects/rocm-smi-lib/"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/ROCmValidationSuite/en/docs-7.2.3/index.html">ROCm Validation Suite</a></td>
<td>1.3.0</a></td>
<td><a href="https://github.com/ROCm/ROCmValidationSuite"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
</tbody>
<tbody class="rocm-components-tools rocm-components-perf">
<tr>
<th rowspan="6"></th>
<th rowspan="6">Performance</th>
<td><a href="https://rocm.docs.amd.com/projects/rocm_bandwidth_test/en/docs-7.2.3/index.html">ROCm Bandwidth
Test</a></td>
<td>2.6.0</a></td>
<td><a href="https://github.com/ROCm/rocm_bandwidth_test/"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocprofiler-compute/en/docs-7.2.3/index.html">ROCm Compute Profiler</a></td>
<td>3.4.0</a></td>
<td><a href="https://github.com/ROCm/rocm-systems/tree/develop/projects/rocprofiler-compute"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocprofiler-systems/en/docs-7.2.3/index.html">ROCm Systems Profiler</a></td>
<td>1.3.0</a></td>
<td><a href="https://github.com/ROCm/rocm-systems/tree/develop/projects/rocprofiler-systems/"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocprofiler/en/docs-7.2.3/index.html">ROCProfiler</a></td>
<td>2.0.0</a></td>
<td><a href="https://github.com/ROCm/rocm-systems/tree/develop/projects/rocprofiler/"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocprofiler-sdk/en/docs-7.2.3/index.html">ROCprofiler-SDK</a></td>
<td>1.1.0</a></td>
<td><a href="https://github.com/ROCm/rocm-systems/tree/develop/projects/rocprofiler-sdk/"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr >
<td><a href="https://rocm.docs.amd.com/projects/roctracer/en/docs-7.2.3/index.html">ROCTracer</a></td>
<td>4.1.0</td>
<td><a href="https://github.com/ROCm/rocm-systems/tree/develop/projects/roctracer/"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
</tbody>
<tbody class="rocm-components-tools rocm-components-dev">
<tr>
<th rowspan="5"></th>
<th rowspan="5">Development</th>
<td><a href="https://rocm.docs.amd.com/projects/HIPIFY/en/docs-7.2.3/index.html">HIPIFY</a></td>
<td>22.0.0</td>
<td><a href="https://github.com/ROCm/HIPIFY/"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/ROCdbgapi/en/docs-7.2.3/index.html">ROCdbgapi</a></td>
<td>0.77.4</a></td>
<td><a href="https://github.com/ROCm/ROCdbgapi/"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/ROCmCMakeBuildTools/en/docs-7.2.3/index.html">ROCm CMake</a></td>
<td>0.14.0</td>
<td><a href="https://github.com/ROCm/rocm-cmake/"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/ROCgdb/en/docs-7.2.3/index.html">ROCm Debugger (ROCgdb)</a>
</td>
<td>16.3</a></td>
<td><a href="https://github.com/ROCm/ROCgdb/"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocr_debug_agent/en/docs-7.2.3/index.html">ROCr Debug Agent</a>
</td>
<td>2.1.0</td>
<td><a href="https://github.com/ROCm/rocr_debug_agent/"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
</tbody>
<tbody class="rocm-components-compilers tbody-reverse-zebra">
<tr>
<th rowspan="2" colspan="2">Compilers</th>
<td><a href="https://rocm.docs.amd.com/projects/HIPCC/en/docs-7.2.3/index.html">HIPCC</a></td>
<td>1.1.1</td>
<td><a href="https://github.com/ROCm/llvm-project/tree/amd-staging/amd/hipcc"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/llvm-project/en/docs-7.2.3/index.html">llvm-project</a></td>
<td>22.0.0</a></td>
<td><a href="https://github.com/ROCm/llvm-project/"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
</tbody>
<tbody class="rocm-components-runtimes tbody-reverse-zebra">
<tr>
<th rowspan="2" colspan="2">Runtimes</th>
<td><a href="https://rocm.docs.amd.com/projects/HIP/en/docs-7.2.3/index.html">HIP</a></td>
<td>7.2.1</a></td>
<td><a href="https://github.com/ROCm/rocm-systems/tree/develop/projects/hip"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/ROCR-Runtime/en/docs-7.2.3/index.html">ROCr Runtime</a></td>
<td>1.18.0</td>
<td><a href="https://github.com/ROCm/rocm-systems/tree/develop/projects/rocr-runtime"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
</tbody>
</table>
</div>
### Detailed component changes
The following sections describe key changes to ROCm components.
```{note}
For a historical overview of ROCm component updates, see the {doc}`ROCm consolidated changelog </release/changelog>`.
```
#### **MIGraphX** (2.15.0)
##### Added
* External stream support to the MIGraphX context, allowing external HIP streams to be used during execution.
* Ability to return a vector for output alias, supporting operators like `make_tuple`.
##### Changed
* Refactored `move_output_instructions_after` into the module class.
* Updated rocMLIR to fix `bert_squad` and `bert_tf` regressions.
##### Optimized
* Rewrote the `gather` operator to use `transpose`/`reshape`/`broadcast`/`slice` for improved performance.
* Horizontally fuse cross-embedding `gather` operators.
* Improved tuning for Split-K.
* Removed extra assignments and inserts in `find_nop_reshapes` to reduce overhead.
##### Resolved issues
The following issues have been fixed:
* `int` to `bf16`/`fp16` conversion errors.
* Comparison logic in `find_concat_op` to match the correct I/O.
* `shape_transform_descriptor::rebase` when flattening a broadcasted dimension.
* An error with `rewrite_reshapes`.
* A gather rewrite crash by validating the strided view element count.
* A bug in gather rewrite with NHWC shapes.
* A crash in rocMLIR with Inception v3 on RDNA3 architecture-based Radeon GPUs.
* Filter zero-argument operators during ONNX parsing to prevent errors.
* Conflict for missing `no_broadcast` parameter on ROCm 7.2.x.
### ROCm known issues
ROCm known issues are noted on {fab}`github` [GitHub](https://github.com/ROCm/ROCm/labels/Verified%20Issue). For known
issues related to individual components, review the [Detailed component changes](#detailed-component-changes).
#### Minor performance regression for MIGraphX with int8-quantized models
You might observe a slight performance regression when running int8-quantized models with MIGraphX. This impact is generally minimal and does not affect correctness. However, workloads sensitive to peak throughput might have reduced performance when compared to non-quantized or alternative execution paths. This issue is currently under investigation and will be fixed in a future ROCm release. See [GitHub issue #6195](https://github.com/ROCm/ROCm/issues/6195).
### ROCm upcoming changes
The following changes to the ROCm software stack are anticipated for future releases.
#### ROCTracer, ROCProfiler, rocprof, and rocprofv2 deprecation
ROCTracer, ROCProfiler, `rocprof`, and `rocprofv2` are deprecated. It's strongly recommended to upgrade to the latest version of the [ROCprofiler-SDK](https://rocm.docs.amd.com/projects/rocprofiler-sdk/en/latest/) library and the (`rocprofv3`) tool to ensure continued support and access to new features.
To learn about key feature improvements and benefits of ROCprofiler-SDK over the deprecated ROCProfiler and ROCTracer, see [Comparing ROCprofiler-SDK to legacy ROCm profiling tools](https://rocm.docs.amd.com/projects/rocprofiler-sdk/en/latest/conceptual/comparing-with-legacy-tools.html).
It's anticipated that ROCTracer, ROCProfiler, `rocprof`, and `rocprofv2` will reach end of support (EoS) by the end of 2026 Q2.
#### ROCm SMI deprecation
[ROCm SMI](https://github.com/ROCm/rocm_smi_lib) will be phased out in an
upcoming ROCm release and will enter maintenance mode. After this transition,
only critical bug fixes will be addressed and no further feature development
will take place.
It's strongly recommended to transition your projects to [AMD
SMI](https://github.com/ROCm/rocm-systems/tree/develop/projects/amdsmi), the successor to ROCm SMI. AMD SMI
includes all the features of the ROCm SMI and will continue to receive regular
updates, new functionality, and ongoing support. For more information on AMD
SMI, see the [AMD SMI documentation](https://rocm.docs.amd.com/projects/amdsmi/en/latest/).
#### Changes to ROCm Object Tooling
ROCm Object Tooling tools ``roc-obj-ls``, ``roc-obj-extract``, and ``roc-obj`` were
deprecated in ROCm 6.4, and will be removed in a future release. Functionality
has been added to the ``llvm-objdump --offloading`` tool option to extract all
clang-offload-bundles into individual code objects found within the objects
or executables passed as input. The ``llvm-objdump --offloading`` tool option also
supports the ``--arch-name`` option, and only extracts code objects found with
the specified target architecture. See [llvm-objdump](https://llvm.org/docs/CommandGuide/llvm-objdump.html)
for more information.
-15
View File
@@ -1,15 +0,0 @@
root = true
[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true
[*.rst]
indent_size = 3
[*.{html,md,yaml}]
indent_size = 2
@@ -1,71 +0,0 @@
<table class="rocm-docs-table table">
<thead>
<tr>
<th class="head">
<p>Framework</p>
</th>
<th class="head">
<p>Supported versions</p>
</th>
<th class="head">
<p>Supported OS</p>
</th>
<th class="head">
<p>Supported Python versions</p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="2" style="vertical-align: middle;">
<p>PyTorch</p>
</td>
<td style="vertical-align: middle;">
<p>2.11.0, 2.10.0, 2.9.1</p>
</td>
<td>
<p>Linux</p>
</td>
<td rowspan="2">
<p>3.14, 3.13, 3.12, 3.11</p>
</td>
</tr>
<tr>
<td style="vertical-align: middle;">
<p>2.11.0</p>
</td>
<td style="vertical-align: middle;">
<p>Windows</p>
</td>
</tr>
<tr>
<td style="vertical-align: middle;">
<p>JAX</p>
</td>
<td style="vertical-align: middle;">
<p>0.9.1, 0.8.2</p>
</td>
<td>
<p>Linux</p>
</td>
<td>
<p>3.14, 3.13, 3.12, 3.11</p>
</td>
</tr>
<tr>
<td style="vertical-align: middle;">
<p>vLLM<br>(<a href="#release-supported-hw">gfx950, gfx942, gfx1200,<br>gfx1201, gfx1100,
gfx1101,<br>gfx1102, gfx1151 GPUs only</a>)</p>
</td>
<td>
<p>0.19.1<br>(requires PyTorch 2.10.0)</p>
</td>
<td>
<p>Linux</p>
</td>
<td>
<p>3.13</p>
</td>
</tr>
</tbody>
<table>
@@ -1,778 +0,0 @@
#### **AMD SMI (BM)** (26.4.0)
##### Added
* **Added APU metrics support (table versions 2.4 and 3.0)**.
* New `amdsmi_apu_metrics_t` struct accessible via `amdsmi_gpu_metrics_t.apu_metrics` pointer (non-null when APU-specific metrics are available).
* **v2.4 metrics**:
* `temperature_gfx`, `temperature_soc`, `temperature_core[8]`, `temperature_l3[2]`
* `average_gfx_activity`, `average_mm_activity`
* `average_socket_power`, `average_cpu_power`, `average_soc_power`, `average_gfx_power`, `average_core_power[8]`
* Average clocks: `gfxclk`, `socclk`, `uclk`, `fclk`, `vclk`, `dclk`
* Current clocks: `gfxclk`, `socclk`, `uclk`, `fclk`, `vclk`, `dclk`, `coreclk[8]`, `l3clk[2]`
* `average_temperature_gfx`, `average_temperature_soc`, `average_temperature_core[8]`, `average_temperature_l3[2]`
* `average_cpu_voltage`, `average_soc_voltage`, `average_gfx_voltage`, `average_cpu_current`, `average_soc_current`, `average_gfx_current`
* `throttle_status`, `indep_throttle_status`
* `fan_pwm`
* **v3.0 metrics**:
* `temperature_core[16]`, `temperature_skin`
* `average_vcn_activity`, `average_ipu_activity[8]`, `average_core_c0_activity[16]`
* `average_dram_reads`, `average_dram_writes`, `average_ipu_reads`, `average_ipu_writes`
* `average_apu_power`, `average_dgpu_power`, `average_all_core_power`, `average_ipu_power`, `average_sys_power`
* `stapm_power_limit`, `current_stapm_power_limit`
* `average_core_power[16]`, `current_coreclk[16]`
* `current_core_maxfreq`, `current_gfx_maxfreq`
* `average_vpeclk_frequency`, `average_ipuclk_frequency`, `average_mpipu_frequency`
* `throttle_residency_prochot`, `throttle_residency_spl`, `throttle_residency_fppt`, `throttle_residency_sppt`, `throttle_residency_thm_core`, `throttle_residency_thm_gfx`, `throttle_residency_thm_soc`
* `time_filter_alphavalue`
* Fields not applicable to the current version are set to sentinel values: `0xFFFF` for `uint16_t`, `0xFFFFFFFF` for `uint32_t`, and `UINT64_MAX` for `uint64_t` fields.
* Python bindings updated with `AmdSmiApuMetrics` ctypes structure.
* **Added `oam_id` to `amdsmi_enumeration_info_t`**.
* `amd-smi list -e` now displays `OAM_ID` (Physical XGMI ID / OAM ID).
* Added `--enumeration` as a long-form alias for `-e` in `amd-smi list`.
* **Added support for GPU metrics v1.9 new fields**.
* Added new temperature fields to `amdsmi_gpu_metrics_t`:
* `temperature_hbm_stacks` — per-stack HBM temperatures (°C)
* `temperature_mid` — per-MID temperatures (°C)
* `temperature_aid` — per-AID temperatures (°C)
* `temperature_xcd` — per-XCC compute die temperatures (°C)
* Added new per-die clock fields to `amdsmi_gpu_metrics_t`:
* `current_uclk_aid` — per-AID uclk (MHz)
* `current_socclks_mid` — per-MID SOC clock (MHz)
* Added new constants:
* `AMDSMI_MAX_NUM_HBM_STACKS` (12)
* `AMDSMI_MAX_NUM_AID` (2)
* `AMDSMI_MAX_NUM_MID` (2)
* `AMDSMI_MAX_NUM_CLKS_PER_AID` (2)
* `AMDSMI_MAX_NUM_CLKS_PER_MID` (2)
* **Added VRAM and GTT tuning interface**.
* New `amd-smi static --mem-carveout` to view VRAM carveout options.
* New `amd-smi set --mem-carveout` to change the VRAM carveout (APU).
* New `amd-smi set --gtt` and `amd-smi reset --gtt` for system-wide GTT size tuning.
* New APIs: `amdsmi_get_gpu_uma_carveout_info()`, `amdsmi_set_gpu_uma_carveout()`, `amdsmi_get_ttm_info()`, `amdsmi_set_ttm_pages_limit()`, `amdsmi_reset_ttm_pages_limit()`.
* **Added UBB power and power_limit fields to `amdsmi_power_info_t` and `amdsmi_npm_info_t`**.
* `amd-smi metric --power` now displays `ubb_power` when available.
* `amd-smi node -p` now displays UBB power threshold when available.
* **Added CPU support for family 1A Models 50h-57h**.
* New APIs: `amdsmi_get_cpu_xgmi_pstate_range()`, `amdsmi_get_cpu_core_ccd_power()`, `amdsmi_get_cpu_tdelta()`, `amdsmi_get_cpu_dimm_sb_reg()`, `amdsmi_get_cpu_svi3_vr_controller_temp()`, `amdsmi_get_cpu_pc6_enable()`, `amdsmi_get_cpu_cc6_enable()`, `amdsmi_get_cpu_sdps_limit()`, `amdsmi_get_cpu_core_floor_freq_limit()`, `amdsmi_get_cpu_core_eff_floor_freq_limit()`, and corresponding set APIs.
* **Note**: `amdsmi_get_dfc_ctrl()` renamed to `amdsmi_get_cpu_dfc_ctrl()` and `amdsmi_set_dfc_ctrl()` renamed to `amdsmi_set_cpu_dfc_ctrl()` for naming consistency.
* **Updated memory API documentation**
Added note that the sum of per-process memory usage is not expected to equal total usage.
##### Changed
* **Renamed `processor_type_t` enum typedef to `amdsmi_processor_type_t`**.
* The unprefixed typedef name did not follow the `amdsmi_*_t` convention used throughout `amdsmi.h` and was easy to collide with identifiers defined by other system-management libraries. New code should use `amdsmi_processor_type_t`. The old name is preserved as a backward-compatibility typedef alias, so existing callers continue to compile unchanged.
* **Package install no longer modifies the system-wide `logrotate` timer or cron schedule**.
* Previously, installing `amd-smi-lib` overwrote `/lib/systemd/system/logrotate.timer` (or moved `/etc/cron.daily/logrotate` to `/etc/cron.hourly/`) to force hourly rotation, which affected every other package using `logrotate`.
* The package now only ships `/etc/logrotate.d/amd_smi.conf`, which sets its own `hourly` + `size 1M` cadence. AMD-SMI logs still rotate at the same frequency; system-wide settings stay as the distribution configured them.
##### Optimized
* **Optimized `rsmi_dev_device_identifiers_get()` in the ROCm-SMI device layer**.
* Removed unnecessary iteration by directly indexing the device list.
* Added bounds checking for `device_id`, with clearer error handling/logging.
* Improves performance for device identifier queries.
##### Resolved issues
* **Fixed `amd-smi metric` crashing with `TypeError` on MI300A when no CPU flags are specified**.
* When no CPU arguments are passed, `metric_cpu()` sets all boolean CPU args to `True` to display all available data. `--cpu-svi3-vr-controller-temp` takes a TYPE argument (and optional RAIL_INDEX) rather than a boolean flag — setting it to `True` caused a `TypeError` crash when the code tried to subscript it with `[0][0]`. Added `cpu_svi3_vr_controller_temp` to the show-all exclusion list, following the existing pattern for `cpu_lclk_dpm_level`, `cpu_io_bandwidth`, `cpu_dimm_sb_reg`, and similar argument-taking flags.
* **Fixed `amdsmi_get_gpu_accelerator_partition_profile()` returning incorrect `num_partitions` when `num_partition` is unavailable from GPU metrics**.
* GPU metrics no longer always provides `num_partition`. The function now derives the partition count from the active partition type when `num_partition` is not available:
* SPX → 1, DPX → 2, TPX → 3, QPX → 4
* CPX → derived from the XCD counter via `amdsmi_get_gpu_xcd_counter()`
* **Fixed `amdsmi_topo_get_p2p_status()` returning a raw `ctypes.c_uint32` object instead of an integer for the `type` field**.
* The `'type'` key in the returned dictionary now correctly returns `type_32.value` (an `int`) rather than the unwrapped ctypes object, consistent with the pattern used in `amdsmi_topo_get_link_type()`.
* **Adjusted KFD process caching to be more responsive**.
* Updated process caching to allow cache duration adjustment via the `AMDSMI_PROCESS_INFO_CACHE_MS` environment variable for workflows with rapid metric polling.
* **Fixed CLI exit codes to use absolute values**.
* Invalid GPU parameters now return positive error codes as documented.
* **Fixed CLI breakage when `amdgpu` driver is not present**.
* Improved init to better catch driver loading issues.
* **Aligned `amdsmi_get_gpu_device_uuid()` with HIP/rocminfo UUID format**.
* Modified `amdsmi_asic_info_t.asic_serial` to report per-socket serial using KFD's `unique_id`.
* **Fixed multiple bugs in NIC/switch code and `amdsmi_init()` NIC handling**.
* Fixed `sizeof` operator precedence, `hw_mon` reset, NUMA=65535 handling, and several CLI function call errors.
* Fixed `amdsmi_init()` to succeed when no NIC hardware is present.
* **Fixed shared mutex and self-heal**.
* Improved self-heal logic to correctly identify and recover from corrupted or uninitialized mutex state.
* **Fixed `cu_occupancy` displaying `0%` instead of `N/A` when file is unavailable**.
* Process `cu_occupancy` is now initialized to `INVALID` instead of zero, so `amd-smi process` displays `N/A` rather than a misleading `0%` when the sysfs file is not accessible.
* **Fixed CLI set commands silently succeeding on invalid input values**.
* `amd-smi set --profile <INVALID>` now returns a non-zero exit code and lists available profiles in the error message; invalid profile names are rejected at parse time.
* `amd-smi set --clk-level <CLK_TYPE>` (missing performance level indices) now returns a non-zero exit code with a usage hint instead of silently succeeding.
* `amd-smi set --power-cap <OUT_OF_RANGE>` now returns a non-zero exit code.
* `amd-smi set --fan <INVALID>%` no longer prompts the out-of-spec warning before validating the percentage range; invalid values are rejected immediately.
* **Fixed `amd-smi set --profile` help text omitting `BOOTUP_DEFAULT`**.
* `BOOTUP_DEFAULT` was always accepted at runtime but was missing from the `--help` profile list. Auditing invalid-input handling exposed this gap. `amd-smi reset --profile` can also be used to return to the bootup default power profile.
* **Fixed `amd-smi monitor --brcm_nic` and `--brcm_switch` flags being registered on non-BRCM systems**.
* These flags are now only registered when BRCM hardware is present, preventing spurious failures on AMD GPU-only systems.
* **Fixed `amd-smi` default command alignment**.
* Updated default `amd-smi` output to align values to the left for improved readability.
Several items were misaligned in the default output, and this change ensures a consistent left-aligned format across all fields.
* *This change is purely cosmetic and does not affect any functionality.*
* **Renamed `lc_perf_other_end_recovery` to `lc_perf_other_end_recovery_count` in `amd-smi metric` CLI output for unification**.
* **Removed references to deprecated `amd-smi reset -r`**.
* CLI help text and memory partition change warnings no longer reference `amd-smi reset -r` for driver reloading.
* Users are now directed to use `sudo modprobe -r amdgpu && sudo modprobe amdgpu` to reload the driver after partition changes.
* **Changed CPU power APIs to return values in milliwatts (mW) for higher precision**.
* Removed lossy integer rounding (`(mW + 500) / 1000`) from 6 CPU power get APIs. Values are now
returned in milliwatts directly from the ESMI library, preserving sub-watt precision.
* **C API**: Output parameter type remains `uint32_t*`, but the unit changed from watts to milliwatts (mW).
* `amdsmi_get_cpu_socket_power`
* `amdsmi_get_cpu_socket_power_cap`
* `amdsmi_get_cpu_socket_power_cap_max`
* `amdsmi_get_cpu_pwr_efficiency_mode` (ppt_limit field)
* `amdsmi_get_cpu_core_ccd_power`
* `amdsmi_get_cpu_sdps_limit`
* **Python API (breaking)**: These functions now return `int` (milliwatts) instead of `str` (e.g., `"240 Watts"`).
Callers that parsed the string output must update to handle the numeric return value.
* **CLI output**: Power values now display with milliwatt precision (e.g., `240.500 Watts`).
* Added missing null-pointer validation for output parameters in `amdsmi_get_cpu_socket_power_cap`
and `amdsmi_get_cpu_socket_power_cap_max`.
* Updated header documentation to specify milliwatt units for all affected get and set API parameters.
* **Changed power APIs to have consistent output parameter types**.
* Modified 6 CPU power APIs to have consistent output power types. All set and get APIs have `uint32_t` output values.
* Modified get and set APIs that had double output types to have `uint32_t` output types in milliwatts (mW).
* `amdsmi_get_cpu_socket_power(amdsmi_processor_handle processor_handle, uint32_t* ppower)`
* `amdsmi_get_cpu_socket_power_cap(amdsmi_processor_handle processor_handle, uint32_t* pcap)`
* `amdsmi_get_cpu_socket_power_cap_max(amdsmi_processor_handle processor_handle, uint32_t* pmax)`
* `amdsmi_get_cpu_pwr_efficiency_mode(amdsmi_processor_handle processor_handle, uint32_t* power_efficiency_mode, uint32_t* utilization, uint32_t* ppt_limit)`
* `amdsmi_get_cpu_core_ccd_power(amdsmi_processor_handle processor_handle, uint32_t* power)`
* `amdsmi_get_cpu_sdps_limit(amdsmi_processor_handle processor_handle, uint32_t* sdps_limit)`
#### **Composable Kernel** (1.3.0)
##### Added
* Added overload of `load_tile_transpose` that takes reference to output tensor as output parameter.
* Use data type from LDS tensor view when determining tile distribution for transpose in the GEMM pipeline.
* Added `eightwarps` support for abquant mode in blockscale GEMM.
* Added `preshuffleB` support for abquant mode in blockscale GEMM.
* Added support for explicit GEMM in `CK_TILE` grouped convolution forward and backward weight.
* Added TF32 convolution support on gfx942 and gfx950 in CK. It can be enabled or disabled via `DTYPES` of `tf32`.
* Added `streamingllm` sink support for FMHA FWD, include `qr_ks_vs`, `qr_async` and `splitkv` pipelines.
* Added support for microscaling (MX) FP8/FP4 mixed data types to Flatmm pipeline.
* Added support for fp8 dynamic tensor-wise quantization of FP8 fmha fwd kernel.
* Added FP8 KV cache support for FMHA batch prefill.
* Added FMHA batch prefill kernel support for several KV cache layouts, flexible page sizes, and different lookup table configurations.
* Added gpt-oss sink support for FMHA FWD, include `qr_ks_vs`, `qr_async`, `qr_async_trload` and `splitkv` pipelines.
* Added persistent async input scheduler for CK Tile universal GEMM kernels to support asynchronous input streaming.
* Added FP8 block scale quantization for FMHA forward kernel.
* Added gfx11xx support for FMHA.
* Added microscaling (MX) FP8/FP4 support on gfx950 for FMHA forward kernel (`qr` pipeline only).
* Added FP8 per-tensor quantization support for FMHA forward V3 pipeline on gfx950.
#### **HIP** (7.13)
##### Added
* New HIP APIs
* `cooperative_groups::reduce()` allows calling reduce operators on `thread_block_tile` and `coalesced_threads`. The implementation is based on the `__reduce_*_sync` operations, so the macro `HIP_ENABLE_EXTRA_WARP_SYNC_TYPES` might be needed to unlock some optimizations.
* New device attribute `hipDeviceAttributeGPUDirectRDMAWithHipVMMSupported`, indicating support for GPU Direct RDMA when using HIP VMM. This attribute corresponds to the CUDA `CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED`.
##### Resolved issues
* A segmentation fault that occurred in child graphs during the graphlaunch phase. The issue originated from the entire graph being launched solely according to the parent graphs scheduling logic. The HIP runtime now introduces a pergraph segmentscheduling control flag and propagates the parent graphs scheduling mode to its child graphs, ensuring consistent scheduling behavior (classic vs. segment) and preventing failures when the parent falls back to classic scheduling.
* A segmentation fault caused by passing a null pointer to the hipMemGetAddressRange API. The function now handles null pointers correctly, matching the behavior of the corresponding CUDA API.
##### Changed
* `__reduce_and_sync()`, `__reduce_or_sync()` and `__reduce_xor_sync()` now provide a consistent behavior for all mask values and with CUDA. Previously, some masks were translated into bitwise operations, but others were not (such as those containing "holes"). Now, all masks cause bitwise instructions to be emitted. This is a change in behavior compared to previous versions.
##### Optimized
* Improved HIP runtime error logging when an application's fat binary does not include a compatible code object for the detected GPU architecture, offering clearer guidance to rebuild with the appropriate `--offload-arch=gfxXXXX` option.
* Enables inmemory and backgroundthread asynchronous logging in the HIP runtime by default to improve overall logging capability. This behavior can be disabled by setting the environment variable `AMD_LOG_ASYNC=0`.
#### **hipBLAS** (3.4.0)
##### Added
* gfx1250 and gfx90c support to clients.
* Version and other properties to Windows `hipblas.dll`.
* Support for `OpenBLAS` ILP64-based API usage in clients.
##### Resolved issues
* Restored the fallback of using the deprecated rocBLAS API `rocblas_set_device_memory_size` if allocations are failing.
#### **hipBLASLt** (1.3.0)
##### Added
* General Batched GEMM support.
##### Changed
* Replaced `install.sh` with an invoke-based task runner (`tasks.py`) to support cross-platform builds including Windows (ROCm 7.0+).
* `gtest` and `msgpack-cxx` are now fetched automatically using CMake FetchContent if not found on the system.
#### **hipCUB** (4.4.0)
##### Optimized
* Reduced build times for unit tests.
##### Resolved issues
* Fixed more memory leak issues with some unit tests.
#### **hipFFT** (1.0.23)
##### Added
* hipFFTW plan creation functions for advanced and general plans:
* `fftw_plan_many_dft`
* `fftwf_plan_many_dft`
* `fftw_plan_many_dft_r2c`
* `fftwf_plan_many_dft_r2c`
* `fftw_plan_many_dft_c2r`
* `fftwf_plan_many_dft_c2r`
* `fftw_plan_guru_dft`
* `fftwf_plan_guru_dft`
* `fftw_plan_guru_dft_r2c`
* `fftwf_plan_guru_dft_r2c`
* `fftw_plan_guru_dft_c2r`
* `fftwf_plan_guru_dft_c2r`
* `fftw_plan_guru64_dft`
* `fftwf_plan_guru64_dft`
* `fftw_plan_guru64_dft_r2c`
* `fftwf_plan_guru64_dft_r2c`
* `fftw_plan_guru64_dft_c2r`
* `fftwf_plan_guru64_dft_c2r`
* Support for gfx1150 architecture.
##### Changed
* Moved library to C++20 standard.
* Removed Boost as a dependency for clients and samples.
* Callback functions will be deprecated in a future release.
##### Resolved issues
* Fixed potential launch failure of data generation kernels in test and benchmark programs.
#### **hipRAND** (3.3.0)
##### Added
* `hiprand.dll` now contains embedded file version metadata.
#### **hipSOLVER** (3.4.0)
##### Added
* Compatibility-only functions:
* `geev`
* `hipsolverDnXgeev_bufferSize`
* `hipsolverDnXgeev`
* `syevBatched`
* `hipsolverDnXsyevBatched_bufferSize`
* `hipsolverDnXsyevBatched`
* `syevd`
* `hipsolverDnXsyevd_bufferSize`
* `hipsolverDnXsyevd`
* `sytrs`
* `hipsolverDnXsytrs_bufferSize`
* `hipsolverDnXsytrs`
#### **hipSPARSELt** (0.2.8)
##### Added
* CTest and test categories support (`--smoke`, `--pre_checkin`, and `--nightly`).
##### Optimized
* Provided more kernels for the `FP16`, `BF16`, and `Int8` datatypes.
* Improved the performance of the `HIPSPARSELT_PRUNE_SPMMA_TILE` function.
##### Resolved issues
* Fixed incorrect behavior when retrieving the PCI chip ID.
* Fixed LDS out-of-bounds read in `prune_tile_kernel`.
* Fixed out-of-bounds access for compress function test cases.
* Fixed missing null terminator in the return value of `hipsparseLtGetArchName()`.
* Fixed incorrect CPU result when `bias_type` is `BF16` for spmm test cases.
* Fixed double-free issue in the example code `example_prune_strip`.
* Fixed symbol interposition in the hipSPARSELt library.
#### **MIOpen** (3.5.1)
##### Added
* Added `MIOPEN_LOG_BUFFER_SIZE` option: when set to non-zero, dumps recent MIOpen logs to file on error.
* [Conv] Added `ConvDepthwiseFwd3D` solver for optimizing specific 3D depthwise convolutions.
* [Conv] Added NHWC layout support for Winograd convolution solvers.
* [Conv] Added regular GEMM solver support for Conv3D forward and backward-data with 1x1x1 filters.
* [Conv] Added configurable problem size threshold (`MIOPEN_CONV_DIRECT_MAX_SIZE`) for direct solver.
* [Softmax] Added tuning support via Generic Search.
##### Changed
* [Conv] Improved default kernel selection for Composable Kernel (CK) convolution solvers with ranked shortlists.
* [Conv] Split CK grouped convolution kernels into per-architecture runtime-loaded dynamic libraries.
##### Optimized
* Optimized transpose operations with tiled and vectorized variants for NCHW/NHWC conversions.
* [BatchNorm] Optimized batchnorm reduction using warp shuffle intrinsics.
* [Conv] Added heuristic filtering of slow GEMM solver configurations during tuning.
##### Deprecated
* [Conv] Deprecated CK non-grouped convolution forward and backward solvers.
* Deprecated `miopenConvolutionBackwardBias`: the underlying OpenCL kernel (`MIOpenConvBwdBias.cl`) has been removed. The function now returns `miopenStatusNotImplemented` and will be removed in a future release.
##### Removed
* Removed GraphAPI experimental feature and related code.
##### Resolved issues
* [Conv] Fixed Winograd Fury grouped convolution correctness on gfx12xx when G > 1.
* [Conv] Fixed bf16 WrW convolution precision loss in inter-batch accumulation.
* [Conv] Fixed GPU memory fault in Winograd v3.0 WrW solver for large tensor shapes.
* Fixed BF16 `abs` function precision error caused by unnecessary cast through FP16.
* Fixed pooling kernel runtime compilation failure.
* Fixed gfx1151 inline assembly compilation errors in batchnorm kernels.
* Fixed use-after-free in HIPOCProgram binary loading.
#### **ROCm Data Center Tool (RDC)** (1.3.0)
##### Resolved issues
* **Fixed broken partition metrics**.
* Regardless of whether the GPU was partitioned, RDC only saw the GPU index and no instances due to upstream gpu_metrics changes.
#### **rocBLAS** (5.4.0)
##### Added
* gfx1250 and gfx90c enabled.
* Trace logging using `ROCBLAS_LAYER=1` for `rocblas_gemm_ex_get_solutions`, `rocblas_gemm_batched_ex_get_solutions`, `rocblas_gemm_ex_get_solutions_by_type`, and `rocblas_gemm_batched_ex_get_solutions_by_type`.
* Version and other properties to Windows `rocblas.dll`.
* Support for `OpenBLAS` ILP64 API for host reference in clients.
* Dockerfiles in the `docker` directory to assist in setting up development.
##### Optimized
* Improved the performance of Level 3 `geam` for pure transpose scale use cases.
* Improved the performance of Level 2 `tpsv`.
##### Resolved issues
* Fix for querying solutions when using the `hipBLASLt` backend with `rocblas_gemm_batched_ex_get_solutions` if using null data pointers.
#### **ROCdbgapi** (0.80.0)
##### Added
* `amd_dbgapi_process_get_info()` adds a new query to get a mask spanning
over all the bits used by all the address spaces. The query is called
`AMD_DBGAPI_PROCESS_INFO_SIGNIFICANT_ADDRESS_BITS`.
#### **rocDecode** (1.8.0)
##### Added
* Logging improvement: Added function entry and exit logs (at Info log level).
* Logging improvement: Added duration to function exit logs and optimized log message formatting to reduce runtime overhead.
* Logging improvement: Merged all logger instances into one global instance.
* Logging improvement: Unified logging format in utility classes with core library logging format.
* Logging improvement: Moved debug logging from a compile-time switch to the runtime logger level controlled by `ROCDEC_LOG_LEVEL` (debug = 4).
* Added support for user-set output surface format.
##### Changed
* Removed CPack packaging (DEB/RPM/NSIS/TGZ/ZIP generation and all related CPACK variables).
* Removed `rocDecode-setup.py` dependency installer script.
* Removed Docker files.
* Removed package install documentation; updated all documentation to reference TheRock for installation.
* Simplified libva version check (single `>= 1.22` requirement).
* Cleaned up CMake error messages.
#### **rocFFT** (1.0.37)
##### Optimized
* Allow plans to share hipModules if they use the same kernels. This reduces time spent and memory used when
creating plans that exist concurrently.
* Improved performance of unit-strided, interleaved, complex-to-complex and real-to-complex FFTs on gfx1201, gfx90a, gfx942, and gfx950.
Single-precision lengths:
* (160,72,72)
* (160,80,72)
* (160,80,80)
* (72,72,72)
* (80,80,80)
* (84,84,72)
* (96,96,96)
* (108,108,80)
Double-precision lengths:
* (72,72,52)
* (60,60,60)
* (64,64,52)
* (64,64,64)
##### Changed
* Moved library to C++20 standard.
* Removed Boost as a dependency for clients and samples.
* Split the precompiled kernel cache file (`rocfft_kernel_cache.db`) into per-architecture files (`rocfft_kernel_cache_gfx950.db`, `rocfft_kernel_cache_gfx1201.db`, etc).
* `rocfft_plan_create` returns `rocfft_status_invalid_offset` for any usage of non-zero offsets in plan descriptions. The feature is not supported yet.
* Callback functions will be deprecated in a future release.
##### Resolved issues
* Potential issue with data generation for multi-dimensional transforms in rocfft-tests and rocfft-bench.
* An issue that sometimes blocked complex-to-complex FFT plan creation when using noncontiguous strides in multiple dimensions.
* An issue that sometimes blocked complex-to-real FFT plan creation when using noncontiguous strides in multiple dimensions.
* An issue that sometimes blocked complex-to-real FFT plan creation when using noncontiguous strides with small lengths on the two fastest dimensions.
* Potential launch failure of data generation kernels in test and benchmark programs.
* Incorrect results on some strided real-complex FFTs on gfx90a.
* Incorrect results on some even-length real FFTs that have odd-length strides on higher dimensions.
* Callbacks on MPI transforms when not all ranks have the same number of data bricks.
* Functional issues for multi-device, in-place real transforms.
* Functional issues for multi-dimensional, multi-device transforms involving some unit length(s).
* Functional issues for multi-device transforms involving data divisions along the slowest-varying axis (only) for some bricks but not all.
* Functional issues for multi-device transforms setting no field on input or output.
* Automatic allocation of work memory at plan execution time, when work memory is required on multiple devices.
#### **rocJPEG** (1.5.0)
##### Changed
* rocJPEG is now delivered as part of [TheRock](https://github.com/ROCm/TheRock). All core dependencies are provided by the TheRock build.
* Removed CPack packaging (DEB/RPM/NSIS/TGZ/ZIP generation and all related CPACK variables).
* Removed `rocJPEG-setup.py` dependency installer script.
* Removed Docker files.
* Removed package install documentation; updated all documentation to reference TheRock for installation.
* Simplified libva version check (single `>= 1.22` requirement).
* Cleaned up CMake error messages.
#### **ROCm Compute Profiler** (3.6.0)
##### Added
* Added L2 memory bandwidth derived metrics under `--membw-analysis` to allow L2 memory bandwidth specific profiling and analysis metric block 30.
* Added AMD Ryzen AI Max 300 series (gfx1151) support.
* New memory hierarchy visualization for RDNA 3.5 (gfx115X) in analyze CLI mode.
* Introduced support for AMD Instinct MI350P GPU.
* ``--view table`` option in analyze mode to force all TTY output to plain tables and ignore ``cli_style`` from YAML config (for example, mem_chart, Roofline charts render as tables). The ``--view`` argument is reserved for future TTY views (for example, other chart styles).
* Added EA memory bandwidth derived metrics under `--membw-analysis` to allow EA memory bandwidth specific profiling and analysis metric block 30.
##### Changed
* Standalone roofline (`--roof-only` option) in profile mode now creates `roofline.csv` only. HTML roofline charts are generated via `rocprof-compute analyze`. The `calc_ai_profile()` function has been removed; `calc_ai_analyze()` is the single source of truth for arithmetic intensity calculation.
* Roofline visualization options (`--sort`, `--mem-level`, `--roofline-data-type`) have moved from profile mode to analyze mode.
* Standardized unit naming in analysis configs and Python utilities: `pct`/`Pct``Percent`, `instr``Instructions`.
* Profile mode output format:
* Profile mode now creates separate counter collection files for each application replay (pmc_perf_*.csv or results_*.csv).
* Analyze mode automatically merges these files into a unified pmc_perf.csv containing information from all application replays during pre-processing.
* ROCm Compute Profiler now builds and runs profile mode with vanilla Python without requiring any Python dependencies to be installed via `pip`.
* Note that analysis mode will still require Python dependencies and will report any missing packages.
##### Removed
* Removed HIP API tracing since it's out-of-scope for ROCm Compute Profiler and the trace files were not being analyzed.
##### Optimized
* Filtering for block 21 (`-b 21`) in profile mode now only performs pc sampling and skips unnecessary counter collection.
* Filtering for block 21 in analysis mode now skips metrics calculations and only shows kernel/dispatch/system statistics and pc sampling table.
##### Resolved issues
* Fixed roofline benchmark MFMA FP16/BF16/INT8 peaks for MI350.
* Fixed an issue where pc sampling profiling failed with multi-argument commands and live process attachment.
##### Upcoming changes
* `--path` and `--subpath` options are deprecated and will be removed in a future release.
* Intermediate CSV generation (`results_*.csv`) from rocpd databases during profiling is deprecated and will be removed in a future release. The analyze step will read `.db` files directly.
* `--retain-rocpd-output` is deprecated and will be removed in a future release. `.db` files will be retained by default.
##### Known issues
* For AMD Ryzen AI Max 300 series, the roofline metrics table will have N/A values for "peak" field.
* This is planned to be addressed by adding empirical benchmark support for AMD Ryzen AI Max 300 series in a future release.
#### **ROCm Systems Profiler** (1.6.0)
##### Added
* Kernel Fusion Driver (KFD) event tracing support to capture page faults, page migrations, queue evictions, GPU unmap events, and dropped events. Requires ROCprofiler-SDK 1.2.1 or later. Enable with `ROCPROFSYS_ROCM_DOMAINS=kfd_events`.
* Support for pause and resume of profiling via `roctxProfilerPause` and `roctxProfilerResume`.
* Support for selective region tracing via the `ROCPROFSYS_SELECTED_REGIONS` environment variable, limiting tracing to specified regions.
* `--selected-regions` CLI argument to `rocprof-sys-sample`, `rocprof-sys-run`, and `rocprof-sys-instrument` for specifying selective region tracing from the command line.
* Support for re-attaching to a previously profiled process. After detaching, `rocprof-sys-attach` can re-attach to the same PID for a new profiling session.
* MPI-rank-based file output filtering feature controlled with two new CLI arguments: `--rank-filter-output` and `--rank-filter-id`.
* JSON-based configurable preset system with `--preset=<name>` flag, replacing the old `--<preset-name>` flags. Presets are now loaded from JSON files in `source/bin/common/presets/`, making them extensible and exportable. Use `--list-presets` to see available presets and `--explain=<name>` for detailed preset information.
* Domain flags for composable configuration: `--gpu[=metrics]`, `--rocm[=domains]`, `--cpu[=hz]`, `--parallel[=runtimes]`. Domain flags can be combined with presets to customize profiling without editing configuration files.
* Configuration export via `--export-config[=file]` to save resolved settings as reusable JSON configuration files. Exported configs can be loaded back with `--preset=./config.json`.
* Topic-based help system: `--help` now shows a compact summary with essential options and a list of help topics. Use `--help=<topic>` (e.g., `--help=sampling`, `--help=gpu`, `--help=tracing`) to see only relevant options. Use `--help=all` for the full option listing.
* Post-run output summary during library finalization showing result file locations.
* JSON schema file (`share/rocprofiler-systems/presets/schema.json`) for preset validation.
* Documentation (`docs/how-to/instrumenting-rewriting-binary-application.rst`) describing what to do when Dyninst reports a "Failed to transform trace" error during instrumentation.
##### Changed
* `rocprof-sys-avail` no longer queries GPU devices or hardware counters unless `--hw-counters` or `--all` is requested, reducing startup time and allowing settings/component queries in environments without GPU/ROCm.
* `rocprof-sys-instrument` diagnostic file dumps (available, instrumented, excluded, coverage, overlapping) are now gated behind the `--dump-info` flag instead of being generated unconditionally.
* Preset flags changed from `--balanced` to `--preset=balanced` syntax. The old `--<preset-name>` flags are still supported and handled within `preset_registry`.
* Removed the `ROCPROFSYS_USE_ROCM` CMake option. ROCm is now required for building the ROCm Systems Profiler.
##### Resolved issues
* Fixed an issue where the `--rocm-domains` CLI option for `rocprof-sys-run` was not recognized.
#### **rocminfo** (1.0.0)
##### Resolved issues
* Fixed BDF (Bus:Device.Function) ID truncation issue that caused incorrect display of PCI device identifiers. The `bdf_id` field was incorrectly declared as `uint16_t` instead of `uint32_t`, causing silent truncation when HSA runtime returned the full 32-bit BDF ID value. This has been corrected to properly display complete BDF information for all GPU agents.
#### **rocPRIM** (4.4.0)
##### Added
* Added type trait definitions for `__hip_bfloat16`. This should resolve issues where this type did not work with radix-based algorithms.
* Unit tests for config_types.
##### Optimized
* Reduced build times for unit tests.
* Reduced memory usage in unit tests.
##### Resolved issues
* Fixed a silent overflow in `rocprim::device_segmented_reduce` where it could exceed the maximum number of HIP threads, resulting in missing output.
* Certain large unit tests now properly detect if insufficient system memory is present and skip the test case accordingly.
* Fixed out-of-bounds memory access in block run length decode.
* Fixed memory leak in unit tests.
#### **ROCprofiler-SDK** (1.3.0)
##### Added
**API:**
* Late-start profiling support: Enables profiling when `rocprofiler-sdk` is loaded after HSA/HIP runtimes have already initialized.
* `rocprofiler_force_configure()` now automatically detects and profiles runtimes initialized before the SDK loads.
* Integrates with `rocprofiler-register` to retrieve the registered API tables.
* Supports all runtime types (HSA, HIP, ROCTX, RCCL, rocDecode, rocJPEG, and more) automatically.
* No explicit late-start API calls required; works transparently.
* KFD (Kernel Fusion Driver) event tracing support:
* Buffer service configurations for each KFD buffer tracing type.
* New type `tool_buffer_tracing_kfd_record_t` using `std::variant` to wrap 8 different KFD buffer tracing types.
* Each KFD event generates `rocpd_info_pmc`, `rocpd_event`, `rocpd_region`, and `rocpd_pmc_event` rows.
* Fixed handling for special SVM location in KFD prefetch location reporting.
* Fixed parsing for queue restore events to handle both correct format (character '0') and broken driver format (NULL character '\0').
**rocprofv3 (CLI):**
* Multi-pass counter collection support: Support for multiple `--pmc` flags to define separate counter groups for different profiling passes.
* Ability to combine command-line `--pmc` flags with input file counter groups.
* Each pass generates output in a separate `pass_n` subdirectory.
* Example: `rocprofv3 --pmc SQ_WAVES --pmc GRBM_COUNT -- <app>` creates two profiling passes.
* KFD (Kernel Fusion Driver) event tracing support:
* KFD record dumping to `rocpd` with support for 8 main KFD event types.
* Support for `rocpd` to Perfetto conversion for KFD events.
* `--kfd-trace` flag to enable KFD event tracing.
* ROCTx support for ATT: Added ROCtx support to device thread trace when using `--att --selected-regions`.
* Allows `roctxProfilerPause` and `roctxProfilerResume` to explicitly control when ATT data collection starts and stops.
* Enables more precise, region-focused ATT tracing with reduced overhead and noise.
* Supports multiple resume/pause cycles, each producing separate trace output files.
* Incompatible with `--att-consecutive-kernels`.
* PC sampling support for dynamic attach: Allows users to attach to a running application and collect PC samples without restarting the workload.
* Enables profiling long-running or production-style jobs at the point of interest.
* Results integrate with the existing PC sampling analysis flow.
**Documentation:**
* Added marker-controlled thread tracing section to the thread trace how-to guide.
* Added cross-reference from ROCTx documentation to ATT with `selected-regions`.
##### Changed
**Implementation:**
* Late-start architecture redesign: Removed direct runtime symbol access in favor of proper rocprofiler-register integration.
* Replaced ~600 lines of `dlopen`/`dlsym` bypass logic with ~80 lines by using `rocprofiler_register_invoke_all_registrations()`.
* Late-start now works by requesting `rocprofiler-register` to re-propagate stored API tables.
* Extensible design. Automatically supports new runtimes without SDK code changes.
* Provides a proper separation of concerns. `rocprofiler-register` manages the table storage while SDK manages the table wrapping.
* Counter dimension encoding changed from fixed-width to variable-width allocation per dimension type.
* Dimension selection and reduction logic now uses explicit dimension masks and single-index selection.
* HSA queue interception extended to handle AMD extended kernel dispatch packets.
##### Removed
* Counter collection support for plain text (`.txt`) input files. Only structured file formats (JSON and YAML) with schema validation are now supported.
##### Resolved issues
* Fixed rocpd OTF2 output to add `ACCELERATOR_DEVICE` as system tree node domain for AMD devices.
* Fixed `rocprofv3` input file parsing where comment lines containing `pmc:` were incorrectly processed as valid counter collection directives, causing unintended profiling passes.
#### **rocRAND** (4.4.0)
##### Added
* gfx1150 and gfx1152 support.
* rocrand.dll now contains embedded file version metadata.
##### Resolved issues
* Fixed memory leak in unit tests.
#### **rocSHMEM** (3.4.0)
##### Added
* Added new APIs:
* `rocshmem_quiet_on_stream`
* `rocshmem_sync_all_on_stream`
* `rocshmem_TYPENAME_alltoall_wg`
* `rocshmem_TYPENAME_alltoallv_wg`
* `rocshmem_team_my_pe`
* `rocshmem_team_n_pes`
* `rocshmem_barrier`
* `rocshmem_barrier_wave`
* `rocshmem_barrier_wg`
* `rocshmem_buffer_register`
* `rocshmem_buffer_unregister`
* `rocshmem_info_get_version`
* `rocshmem_info_get_name`
* `rocshmem_vendor_get_version_info`
* Added library constants: `ROCSHMEM_MAJOR_VERSION`, `ROCSHMEM_MINOR_VERSION`,
`ROCSHMEM_MAX_NAME_LEN`, `ROCSHMEM_VENDOR_STRING`, `ROCSHMEM_VERSION`,
`ROCSHMEM_VENDOR_MAJOR_VERSION`, `ROCSHMEM_VENDOR_MINOR_VERSION`,
`ROCSHMEM_VENDOR_PATCH_VERSION`.
* Added vendor string and backend metadata to the `rocshmem_info` output.
* Added `ROCSHMEM_TEAM_WORLD` for device code.
* Added `ROCSHMEM_TEAM_SHARED` predefined team for PEs sharing a common memory domain (same node).
* Added new environment variables:
* `ROCSHMEM_GDA_OVERRIDE_NIC_FIRMWARE_CHECK`
* `ROCSHMEM_GDA_NUM_QPS_PER_PE_DEFAULT_CTX`
* `ROCSHMEM_GDA_NUM_QPS_PER_PE_USR_CTX`
* Added VMM POSIX memory allocator (`USE_HEAP_DEVICE_VMM_POSIX`):
* Uses HIP Virtual Memory Management (VMM) APIs for fine-grained memory control.
* Requires ROCm 7.0+ and Linux kernel 5.6+.
* Not compatible with MPI-based initialization (use `ROCSHMEM_INIT_WITH_UNIQUEID` instead).
##### Changed
* Use CQ collapsing for the Mellanox MLX5 GDA conduit.
#### **rocSOLVER** (3.34.0)
##### Added
* Computation of solution for LU factorization without pivoting:
* GETRS_NPVT (with batched and strided\_batched versions)
* GETRS_NPVT_64 (with batched and strided\_batched versions)
* Linear solver routines for symmetric matrices:
* SYTRS (with batched and strided\_batched versions)
* SYTRS_64 (with batched and strided\_batched versions)
##### Optimized
* Improved the performance of POTF2 and downstream functions such as POTRF.
##### Resolved issues
* Fixed a memory access error in SYTRF and synchronization issues in LASYF and SYTF2.
#### **rocSPARSE** (4.6.0)
##### Added
* `rocsparse_create_const_bsr_descr` routine for creating a const sparse BSR matrix descriptor.
* `rocsparse_spic0` and `rocsparse_spilu0` routines for incomplete factorizations, with strided batched computations enabled.
* `rocsparse_sptrsv_descr_create` and `rocsparse_sptrsv_descr_destroy` routines.
* `rocsparse_singularity` enumeration.
* `rocsparse_sptrsv_output_singularity` and `rocsparse_sptrsv_output_singularity_position` in `rocsparse_sptrsv_output`.
* Strided batched computations for `rocsparse_sptrsv`.
##### Optimized
* Significant performance improvement for `rocsparse_Xgtsv_no_pivot_strided_batch`.
* Significant performance improvement for `rocsparse_Xgtsv_no_pivot`.
##### Resolved issues
* Fixed incorrect usage of `__syncthreads` in `bsrmm`, `csrmm` (row_split), and `csritilu0x`.
* Fixed incorrect usage of `__syncthreads` in `csx2dense`, `dense2csx`, `prune_dense2csr`, `csrcolor`, and `csrmm` (`nnz_split`).
* Fixed `rocsparse_[s|d|c|z]csric0` where `rocsparse_status_invalid_value` was being returned when the maximum number of non-zeros in any row is between 513 and 1024.
* Fixed compilation when using `--rocsparse_ILP64`.
* Fixed off-by-one heap-buffer-overflow in temporary buffer allocation for `rocsparse_csrsort`, `rocsparse_check_matrix_csr`, and `rocsparse_check_matrix_gebsr` (and their delegating routines `rocsparse_cscsort`, `rocsparse_coosort`, `rocsparse_check_matrix_csc`, and `rocsparse_check_matrix_gebsc`) where the `shift_offsets_kernel` temp buffer was sized for `m` elements instead of `m+1`.
##### Removed
* The deprecated C++14 support, which is no longer supported by the rocPRIM dependency.
#### **rocThrust** (4.4.0)
##### Resolved issues
* Fixed memory leak in unit test.
* Fixed unit test compatibility with ASAN.
#### **rocWMMA** (2.2.1)
##### Added
* Added the following community samples for external contributions, with build support and documentation:
* `simple_gemm_silu`: demonstrates a GEMM + SiLU fused operator using the rocWMMA API.
* `simple_gemm_fusion`: demonstrates block-tile-level dual-GEMM fusion using the rocWMMA API.
* `simple_gemm_swiglu`: demonstrates a SwiGLU fused dual-GEMM kernel (LLaMA/Mistral FFN gate layer) using the rocWMMA API.
##### Changed
* Updated the `find_package` search for OpenMP to prefer the `openmp-config.cmake` provided by ROCm, with a fallback to module search mode.
* Updated `INSTALL_RPATH` and added `BUILD_RPATH` for OpenMP.
##### Resolved issues
* Improved HIP RTC regression test portability when deployed outside the default path.
@@ -1,193 +0,0 @@
<table class="rocm-docs-table table">
<thead>
<tr>
<th class="head"><p>Component group</p></th>
<th class="head"><p>Component name</p></th>
<th class="head"><p>Version</p></th>
<th class="head"><p>Supported platforms</p></th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="18" style="vertical-align: middle;">
<p>Math and compute libraries</p>
</td>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/hipblas">hipBLAS</a></td>
<td><a href="#hipblas-3-4-0">3.4.0</a></td>
<td rowspan="16" style="vertical-align: middle;">Linux/Windows · Instinct/Radeon/Ryzen</td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/hipblaslt">hipBLASLt</a></td>
<td><a href="#hipblaslt-1-3-0">1.3.0</a></td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/hipcub">hipCUB</a></td>
<td><a href="#hipcub-4-4-0">4.4.0</a></td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/hipfft">hipFFT</a></td>
<td><a href="#hipfft-1-0-23">1.0.23</a></td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/hiprand">hipRAND</a></td>
<td><a href="#hiprand-3-3-0">3.3.0</a></td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/hipsolver">hipSOLVER</a></td>
<td><a href="#hipsolver-3-4-0">3.4.0</a></td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/hipsparse">hipSPARSE</a></td>
<td>4.5.0</td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/miopen">MIOpen</a></td>
<td><a href="#miopen-3-5-1">3.5.1</a></td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/rocblas">rocBLAS</a></td>
<td><a href="#rocblas-5-4-0">5.4.0</a></td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/rocfft">rocFFT</a></td>
<td><a href="#rocfft-1-0-37">1.0.37</a></td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/rocrand">rocRAND</a></td>
<td><a href="#rocrand-4-4-0">4.4.0</a></td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/rocsolver">rocSOLVER</a></td>
<td><a href="#rocsolver-3-34-0">3.34.0</a></td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/rocsparse">rocSPARSE</a></td>
<td><a href="#rocsparse-4-6-0">4.6.0</a></td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/rocprim">rocPRIM</a></td>
<td><a href="#rocprim-4-4-0">4.4.0</a></td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/rocthrust">rocThrust</a></td>
<td><a href="#rocthrust-4-4-0">4.4.0</a></td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/rocwmma">rocWMMA</a></td>
<td><a href="#rocwmma-2-2-1">2.2.1</a></td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/composablekernel">Composable
Kernel</a></td>
<td><a href="#composable-kernel-1-3-0">1.3.0</a></td>
<td>Linux/Windows · Instinct/Radeon</td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/hipsparselt">hipSPARSELt</a></td>
<td><a href="#hipsparselt-0-2-8">0.2.8</a></td>
<td>Linux/Windows · Instinct (gfx950/gfx942)</td>
</tr>
<tr>
<td rowspan="2" style="vertical-align: middle;">
<p>Communication libraries</p>
</td>
<td><a href="https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/rccl">RCCL</a></td>
<td>2.28.3</td>
<td>Linux · Instinct/Radeon/Ryzen</td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/rocshmem">rocSHMEM</a></td>
<td><a href="#rocshmem-3-4-0">3.4.0</a></td>
<td>Linux · Instinct (gfx950/gfx942/gfx90a) · Radeon (gfx1201/gfx1200/gfx1100/gfx1101/gfx1102)</td>
</tr>
<tr>
<td rowspan="2" style="vertical-align: middle;">
<p>Media libraries</p>
</td>
<td><a href="https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/rocdecode">rocDecode</a></td>
<td><a href="#rocdecode-1-8-0">1.8.0</a></td>
<td rowspan="2" style="vertical-align: middle;">Linux · Instinct/Radeon · Ryzen (gfx1150/gfx1151/gfx1152)</td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/rocjpeg">rocJPEG</a></td>
<td><a href="#rocjpeg-1-5-0">1.5.0</a></td>
</tr>
<tr>
<td rowspan="5" style="vertical-align: middle;">
<p>Runtimes and compilers</p>
</td>
<td><a href="https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/hip">HIP</a></td>
<td><a href="#hip-7-13">7.13</a></td>
<td rowspan="4" style="vertical-align: middle;">Linux/Windows · Instinct/Radeon/Ryzen</td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/HIPIFY/tree/therock-7.13">HIPIFY</a></td>
<td>7.13</td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/llvm-project/tree/therock-7.13">LLVM</a></td>
<td>23.0.0</td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/SPIRV-LLVM-Translator/tree/therock-7.13">SPIRV-LLVM-Translator</a></td>
<td>23.0.0</td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/rocr-runtime">ROCr Runtime</a></td>
<td>1.21.0</td>
<td>Linux · Instinct/Radeon/Ryzen</td>
</tr>
<tr>
<td rowspan="6" style="vertical-align: middle;">
<p>Profiling and debugging tools</p>
</td>
<td><a href="https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/rocprofiler-compute">ROCm
Compute Profiler (rocprofiler-compute)</a></td>
<td><a href="#rocm-compute-profiler-3-6-0">3.6.0</a></td>
<td rowspan="2" style="vertical-align: middle;">Linux · Instinct · Ryzen (gfx1150/gfx1151/gfx1152)</td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/rocprofiler-systems">ROCm
Systems Profiler (rocprofiler-systems)</a></td>
<td><a href="#rocm-systems-profiler-1-6-0">1.6.0</a></td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/rocprofiler-sdk">ROCprofiler-SDK</a></td>
<td><a href="#rocprofiler-sdk-1-3-0">1.3.0</a></td>
<td>Linux · Instinct/Radeon · Ryzen (gfx1150/gfx1151/gfx1152)</td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/rocdbgapi">ROCdbgapi</a></td>
<td><a href="#rocdbgapi-0-80-0">0.80.0</a></td>
<td rowspan="3" style="vertical-align: middle;">Linux · Instinct/Radeon</td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/ROCgdb/tree/therock-7.13">ROCm Debugger (ROCgdb)</a></td>
<td>16.3</td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/rocr-debug-agent">ROCr Debug
Agent</a></td>
<td>2.1.0</td>
</tr>
<tr>
<td rowspan="3" style="vertical-align: middle;">
<p>Control and monitoring tools</p>
</td>
<td><a href="https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/amdsmi">AMD SMI (BM)</a></td>
<td><a href="#amd-smi-bm-26-4-0">26.4.0</a></td>
<td>Linux · Instinct/Radeon</td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/rocminfo">rocminfo</a></td>
<td><a href="#rocminfo-1-0-0">1.0.0</a></td>
<td>Linux · Instinct/Radeon/Ryzen</td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/rdc">ROCm Data Center Tool
(RDC)</a></td>
<td><a href="#rocm-data-center-tool-rdc-1-3-0">1.3.0</a></td>
<td>Linux · Instinct</td>
</tr>
</tbody>
</table>
@@ -1,268 +0,0 @@
::::{tab-set}
:::{tab-item} Instinct
:sync: instinct
<table class="rocm-docs-table table">
<colgroup style="width: 25%;">
<thead>
<tr>
<th class="head">
<p>AMD device</p>
</th>
<th class="head">
<p>Firmware</p>
</th>
<th class="head">
<p>Linux driver</p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<p>Instinct MI355X</p>
</td>
<td rowspan="2" style="vertical-align: middle">
<p>PLDM bundle 01.26.00.02</p>
</td>
<td rowspan="10" style="vertical-align: middle">
<p>
<strong>AMD GPU Driver (amdgpu)</strong><br>
<a
href="https://instinct.docs.amd.com/projects/amdgpu-docs/en/31.30.0-preview/documentation/release-notes.html"
target="_blank"
>31.30.0</a><br>
<a
href="https://instinct.docs.amd.com/projects/amdgpu-docs/en/31.20.0-preview/documentation/release-notes.html"
target="_blank"
>31.20.0</a><br>
<a
href="https://instinct.docs.amd.com/projects/amdgpu-docs/en/31.10.0-preview/documentation/release-notes.html"
target="_blank"
>31.10.0</a><br>
<a
href="https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.30.3/documentation/release-notes.html"
target="_blank"
>30.30.3</a><br>
<a
href="https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.30.2/documentation/release-notes.html"
target="_blank"
>30.30.2</a><br>
<a
href="https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.30.1/documentation/release-notes.html"
target="_blank"
>30.30.1</a><br>
<a
href="https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.30.0/documentation/release-notes.html"
target="_blank"
>30.30.0</a><br>
<a
href="https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.20.1/documentation/release-notes.html"
target="_blank"
>30.20.1</a><br>
<a
href="https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.20.0/documentation/release-notes.html"
target="_blank"
>30.20.0</a><br>
<a
href="https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10.2/documentation/release-notes.html"
target="_blank"
>30.10.2</a><br>
<a
href="https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10.1/documentation/release-notes.html"
target="_blank"
>30.10.1</a><br>
<a
href="https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10/documentation/release-notes.html"
target="_blank"
>30.10.0</a><br>
</p>
</td>
</tr>
<tr>
<td>
<p>Instinct MI350X</p>
</td>
</tr>
<tr>
<td>
<p>Instinct MI350P</p>
</td>
<td style="vertical-align: middle">
<p>IFWI 00185129</p>
</td>
</tr>
<tr>
<td>
<p>Instinct MI325X</p>
</td>
<td style="vertical-align: middle">
<p>PLDM bundle 01.25.04.02</p>
</td>
</tr>
<tr>
<td>
<p>Instinct MI300X</p>
</td>
<td>
<p>PLDM bundle 01.26.00.02</p>
</td>
</tr>
<tr>
<td>
<p>Instinct MI300A</p>
</td>
<td>
<p>BKC 26.1</p>
</td>
</tr>
<tr>
<td>
<p>Instinct MI250X</p>
</td>
<td>
<p>IFWI 75 (or later)</p>
</td>
</tr>
<tr>
<td>
<p>Instinct MI250</p>
</td>
<td rowspan="2">
<p>Maintenance update (MU) 5 with IFWI 75 (or later)</p>
</td>
</tr>
<tr>
<td>
<p>Instinct MI210</p>
</td>
</tr>
<tr>
<td>
<p>Instinct MI100</p>
</td>
<td>
<p>VBIOS D3430401-037</p>
</td>
</tr>
</tbody>
</table>
:::
:::{tab-item} Radeon
:sync: radeon
<table class="rocm-docs-table table">
<colgroup style="width: 50%;">
<thead>
<tr>
<th class="head">
<p>Linux driver</p>
</th>
<th class="head">
<p>Windows driver</p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: middle">
<p>
<strong>AMD GPU Driver (amdgpu)</strong><br>
<a
href="https://instinct.docs.amd.com/projects/amdgpu-docs/en/31.30.0-preview/documentation/release-notes.html"
target="_blank"
>31.30.0</a><br>
<a
href="https://instinct.docs.amd.com/projects/amdgpu-docs/en/31.20.0-preview/documentation/release-notes.html"
target="_blank"
>31.20.0</a><br>
<a
href="https://instinct.docs.amd.com/projects/amdgpu-docs/en/31.10.0-preview/documentation/release-notes.html"
target="_blank"
>31.10.0</a><br>
<a
href="https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.30.3/documentation/release-notes.html"
target="_blank"
>30.30.3</a><br>
<a
href="https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.30.2/documentation/release-notes.html"
target="_blank"
>30.30.2</a><br>
<a
href="https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.30.1/documentation/release-notes.html"
target="_blank"
>30.30.1</a><br>
<a
href="https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.30.0/documentation/release-notes.html"
target="_blank"
>30.30.0</a><br>
<a
href="https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.20.1/documentation/release-notes.html"
target="_blank"
>30.20.1</a><br>
<a
href="https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.20.0/documentation/release-notes.html"
target="_blank"
>30.20.0</a><br>
<a
href="https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10.2/documentation/release-notes.html"
target="_blank"
>30.10.2</a><br>
<a
href="https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10.1/documentation/release-notes.html"
target="_blank"
>30.10.1</a><br>
<a
href="https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10/documentation/release-notes.html"
target="_blank"
>30.10.0</a><br>
</p>
</td>
<td style="vertical-align: middle">
<p>
<strong>AMD Software: Adrenalin Edition</strong>
<a
href="https://www.amd.com/en/resources/support-articles/release-notes/RN-RAD-WIN-26-5-1.html"
target="_blank"
>26.5.1</a>
</td>
</tr>
</tbody>
</table>
:::
:::{tab-item} Ryzen
:sync: ryzen
<table class="rocm-docs-table table">
<colgroup style="width: 50%;">
<thead>
<tr>
<th class="head">
<p>Linux driver</p>
</th>
<th class="head">
<p>Windows driver</p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: middle">
<p>Inbox kernel driver in Ubuntu 26.04 or 24.04.4</p>
</td>
<td rowspan="30" style="vertical-align: middle">
<p>
<strong>AMD Software: Adrenalin Edition</strong>
<a
href="https://www.amd.com/en/resources/support-articles/release-notes/RN-RAD-WIN-26-5-1.html"
target="_blank"
>26.5.1</a>
</p>
</td>
</tr>
</tbody>
</table>
:::
::::
@@ -1,535 +0,0 @@
::::{tab-set}
:::{tab-item} Instinct
:sync: instinct
<table class="rocm-docs-table table">
<thead>
<colgroup style="width: 33%;">
<colgroup style="width: 32%;">
<tr>
<th class="head">
<p>Device series</p>
</th>
<th class="head">
<p>Device</p>
</th>
<th class="head">
<p>LLVM target</p>
</th>
<th class="head">
<p>Architecture</p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td class="stub">
<a href="https://www.amd.com/en/products/accelerators/instinct/mi350.html" target="_blank">AMD Instinct MI350
Series</a>
</td>
<td>
<p><a href="https://www.amd.com/en/products/accelerators/instinct/mi350/mi355x.html" target="_blank">Instinct
MI355X</a></p>
<p><a href="https://www.amd.com/en/products/accelerators/instinct/mi350/mi350x.html" target="_blank">Instinct
MI350X</a></p>
<p><a href="https://www.amd.com/en/products/accelerators/instinct/mi350/mi350p.html" target="_blank">Instinct
MI350P</a></p>
</td>
<td>
<p>gfx950</p>
</td>
<td>
<a href="https://www.amd.com/en/technologies/cdna.html#cdna4" target="_blank">CDNA 4</a>
</td>
</tr>
<tr>
<td class="stub">
<a href="https://www.amd.com/en/products/accelerators/instinct/mi300.html" target="_blank">AMD Instinct MI300
Series</a>
</td>
<td>
<p><a href="https://www.amd.com/en/products/accelerators/instinct/mi300/mi325x.html" target="_blank">Instinct
MI325X</a></p>
<p><a href="https://www.amd.com/en/products/accelerators/instinct/mi300/mi300x.html" target="_blank">Instinct
MI300X</a></p>
<p><a href="https://www.amd.com/en/products/accelerators/instinct/mi300/mi300a.html" target="_blank">Instinct
MI300A</a></p>
</td>
<td>
<p>gfx942</p>
</td>
<td>
<a href="https://www.amd.com/en/technologies/cdna.html#cdna3" target="_blank">CDNA 3</a>
</td>
</tr>
<tr>
<td class="stub">
<a href="https://www.amd.com/en/products/accelerators/instinct/mi200.html" target="_blank">AMD Instinct MI200
Series</a>
</td>
<td>
<p><a href="https://www.amd.com/en/products/accelerators/instinct/mi200/mi250x.html" target="_blank">Instinct
MI250X</a></p>
<p><a href="https://www.amd.com/en/products/accelerators/instinct/mi200/mi250.html" target="_blank">Instinct
MI250</a></p>
<p><a href="https://www.amd.com/en/products/accelerators/instinct/mi200/mi210.html" target="_blank">Instinct
MI210</a></p>
</td>
<td>
<p>gfx90a</p>
</td>
<td>
<a href="https://www.amd.com/en/technologies/cdna.html#cdna2" target="_blank">CDNA 2</a>
</td>
</tr>
<tr>
<td class="stub">
<a href="https://www.amd.com/en/products/accelerators/instinct/mi100.html" target="_blank">AMD Instinct MI100
Series</a>
</td>
<td>
<a href="https://www.amd.com/en/products/accelerators/instinct/mi100.html" target="_blank">Instinct MI100</a>
</td>
<td>
<p>gfx908</p>
</td>
<td>
<a href="https://www.amd.com/en/technologies/cdna.html#cdna" target="_blank">CDNA</a>
</td>
</tr>
</tbody>
</table>
:::
:::{tab-item} Radeon
:sync: radeon
<table class="rocm-docs-table table">
<thead>
<colgroup style="width: 33%;">
<colgroup style="width: 32%;">
<tr>
<th class="head">
<p>Device series</p>
</th>
<th class="head">
<p>Device</p>
</th>
<th class="head">
<p>LLVM target</p>
</th>
<th class="head">
<p>Architecture</p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<a href="https://www.amd.com/en/products/graphics/workstations/radeon-ai-pro.html#tabs-95fa144b96-item-b95ec9e1ca-tab"
target="_blank">AMD Radeon AI PRO R9000 Series</a>
</td>
<td>
<p><a
href="https://www.amd.com/en/products/graphics/workstations/radeon-ai-pro/ai-9000-series/amd-radeon-ai-pro-r9700.html"
target="_blank">Radeon AI PRO R9700</a></p>
<p><a
href="https://www.amd.com/en/products/graphics/workstations/radeon-ai-pro/ai-9000-series/amd-radeon-ai-pro-r9600d.html"
target="_blank">Radeon AI PRO R9600D</a></p>
</td>
<td>
<p>gfx1201</p>
</td>
<td rowspan="3">
<a href="https://www.amd.com/en/technologies/rdna.html#tabs-1fabb91c39-item-330ee548f0-tab" target="_blank">RDNA
4</p>
</td>
</tr>
<tr>
<td rowspan="2" class="stub">
<a href="https://www.amd.com/en/products/graphics/desktops/radeon.html#tabs-ff9c5c3863-item-37fb38a236-tab"
target="_blank">AMD Radeon RX 9000 Series</p>
</td>
<td>
<p><a href="https://www.amd.com/en/products/graphics/desktops/radeon/9000-series/amd-radeon-rx-9070xt.html"
target="_blank">Radeon RX 9070 XT</a></p>
<p><a href="https://www.amd.com/en/support/downloads/drivers.html/graphics/radeon-rx/radeon-rx-9000-series/amd-radeon-rx-9070-gre.html"
target="_blank">Radeon RX 9070 GRE</a></p>
<p><a href="https://www.amd.com/en/products/graphics/desktops/radeon/9000-series/amd-radeon-rx-9070.html"
target="_blank">Radeon RX 9070</a></p>
</td>
<td>
<p>gfx1201</p>
</td>
</tr>
<tr>
<td>
<p><a href="https://www.amd.com/en/products/graphics/desktops/radeon/9000-series/amd-radeon-rx-9060xt-lp.html"
target="_blank">Radeon RX 9060 XT LP</a></p>
<p><a href="https://www.amd.com/en/products/graphics/desktops/radeon/9000-series/amd-radeon-rx-9060xt.html"
target="_blank">Radeon RX 9060 XT</a></p>
<p><a href="https://www.amd.com/en/products/graphics/desktops/radeon/9000-series/amd-radeon-rx-9060.html"
target="_blank">Radeon RX 9060</a></p>
</td>
<td>
<p>gfx1200</p>
</td>
</tr>
<tr>
<td rowspan="2" class="stub">
<a href="https://www.amd.com/en/products/graphics/workstations/radeon-pro.html#tabs-990fdead92-item-20daa37284-tab"
target="_blank">AMD Radeon PRO W7000 Series</a>
</td>
<td>
<p><a href="https://www.amd.com/en/products/graphics/workstations/radeon-pro/w7900-dual-slot.html"
target="_blank">Radeon PRO W7900 Dual Slot</a></p>
<p><a href="https://www.amd.com/en/products/graphics/workstations/radeon-pro/w7900.html" target="_blank">Radeon
PRO W7900</a></p>
<p><a href="https://www.amd.com/en/products/graphics/workstations/radeon-pro/w7800-48gb.html"
target="_blank">Radeon PRO W7800 48GB</a></p>
<p><a href="https://www.amd.com/en/products/graphics/workstations/radeon-pro/w7800.html" target="_blank">Radeon
PRO W7800</a></p>
</td>
<td>
<p>gfx1100</p>
</td>
<td rowspan="6">
<a href="https://www.amd.com/en/technologies/rdna.html#tabs-1fabb91c39-item-05915f6044-tab" target="_blank">RDNA
3</p>
</td>
</tr>
<tr>
<td>
<p><a href="https://www.amd.com/en/products/graphics/workstations/radeon-pro/w7700.html" target="_blank">Radeon
PRO W7700</a></p>
</td>
<td>
<p>gfx1101</p>
</td>
</tr>
<tr>
<td rowspan="3" class="stub">
<a href="https://www.amd.com/en/products/graphics/desktops/radeon.html#tabs-ff9c5c3863-item-b55a56bf12-tab"
target="_blank">AMD Radeon RX 7000 Series</p>
</td>
<td>
<p><a href="https://www.amd.com/en/products/graphics/desktops/radeon/7000-series/amd-radeon-rx-7900xtx.html"
target="_blank">Radeon RX 7900 XTX</a></p>
<p><a href="https://www.amd.com/en/products/graphics/desktops/radeon/7000-series/amd-radeon-rx-7900xt.html"
target="_blank">Radeon RX 7900 XT</a></p>
<p><a href="https://www.amd.com/en/products/graphics/desktops/radeon/7000-series/amd-radeon-rx-7900-gre.html"
target="_blank">Radeon RX 7900 GRE</a></p>
</td>
<td>
<p>gfx1100</p>
</td>
</tr>
<tr>
<td>
<p><a href="https://www.amd.com/en/products/graphics/desktops/radeon/7000-series/amd-radeon-rx-7800-xt.html"
target="_blank">Radeon RX 7800 XT</a></p>
<p><a href="https://www.amd.com/en/products/graphics/desktops/radeon/7000-series/amd-radeon-rx-7700-xt.html"
target="_blank">Radeon RX 7700 XT</a></p>
<p>Radeon RX 7700 XE</p>
<p><a href="https://www.amd.com/en/products/graphics/desktops/radeon/7000-series/amd-radeon-rx-7700.html"
target="_blank">Radeon RX 7700</a></p>
</td>
<td>
<p>gfx1101</p>
</td>
</tr>
<tr>
<td>
<p><a href="https://www.amd.com/en/products/graphics/desktops/radeon/7000-series/amd-radeon-rx-7600.html"
target="_blank">Radeon RX 7600</a></p>
</td>
<td>
<p>gfx1102</p>
</td>
</tr>
<tr>
<td rowspan="2">
<a href="https://www.amd.com/en/products/accelerators/radeon-pro.html" target="_blank">AMD Radeon PRO V
Series</a>
</td>
<td>
<p><a href="https://www.amd.com/en/products/accelerators/radeon-pro/amd-radeon-pro-v710.html"
target="_blank">Radeon PRO V710</a></p>
</td>
<td>
<p>gfx1101</p>
</td>
</tr>
<tr>
<td>
<p><a href="https://www.amd.com/en/products/accelerators/radeon-pro/amd-radeon-pro-v620.html"
target="_blank">Radeon PRO V620</a></p>
</td>
<td>
<p>gfx1030</p>
</td>
<td rowspan="2">
<a href="https://www.amd.com/en/technologies/rdna.html#tabs-1fabb91c39-item-9ed969eddf-tab" target="_blank">RDNA
2</p>
</td>
</tr>
<tr>
<td class="stub">
<a href="https://www.amd.com/en/products/graphics/workstations/radeon-pro/w6800.html" target="_blank">AMD Radeon
PRO W6000 Series</a>
</td>
<td>
<p><a href="https://www.amd.com/en/products/graphics/workstations/radeon-pro/w6800.html" target="_blank">Radeon
PRO W6800</a></p>
</td>
<td>
<p>gfx1030</p>
</td>
</tr>
</tbody>
</table>
:::
:::{tab-item} Ryzen
:sync: ryzen
<table class="rocm-docs-table table">
<thead>
<colgroup style="width: 26%;">
<colgroup style="width: 40%;">
<tr>
<th class="head">
<p>Device series</p>
</th>
<th class="head">
<p>Device</p>
</th>
<th class="head">
<p>LLVM target</p>
</th>
<th class="head">
<p>Architecture</p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td class="stub">
<a href="https://www.amd.com/en/products/processors/workstations/mobile.html#tabs-7f0c432fb2-item-5116ab7a74-tab"
target="_blank">AMD Ryzen AI Max PRO<br>300 Series</a>
</td>
<td>
<p><a
href="https://www.amd.com/en/products/processors/laptop/ryzen-pro/ai-max-pro-300-series/amd-ryzen-ai-max-plus-pro-395.html"
target="_blank">Ryzen AI Max+ PRO 395</a> (Radeon 8060S)</p>
<p><a
href="https://www.amd.com/en/products/processors/laptop/ryzen-pro/ai-max-pro-300-series/amd-ryzen-ai-max-pro-390.html"
target="_blank">Ryzen AI Max PRO 390</a> (Radeon 8050S)</p>
<p><a
href="https://www.amd.com/en/products/processors/laptop/ryzen-pro/ai-max-pro-300-series/amd-ryzen-ai-max-pro-385.html"
target="_blank">Ryzen AI Max PRO 385</a> (Radeon 8050S)</p>
<p><a
href="https://www.amd.com/en/products/processors/laptop/ryzen-pro/ai-max-pro-300-series/amd-ryzen-ai-max-pro-380.html"
target="_blank">Ryzen AI Max PRO 380</a> (Radeon 8040S)</p>
</td>
<td>
<p>gfx1151</p>
</td>
<td rowspan="10">
<p>RDNA 3.5</p>
</td>
</tr>
<tr>
<td class="stub">
<a href="https://www.amd.com/en/products/processors/laptop/ryzen.html#tabs-1181ea0b44-item-6ccfea5f65-tab"
target="_blank">AMD Ryzen AI Max<br>300 Series</a>
</td>
<td>
<p><a
href="https://www.amd.com/en/products/processors/laptop/ryzen/ai-300-series/amd-ryzen-ai-max-plus-395.html"
target="_blank">Ryzen AI Max+ 395</a> (Radeon 8060S)</p>
<p><a
href="https://www.amd.com/en/products/processors/laptop/ryzen/ai-300-series/amd-ryzen-ai-max-plus-392.html"
target="_blank">Ryzen AI Max+ 392</a> (Radeon 8060S)</p>
<p><a
href="https://www.amd.com/en/products/processors/laptop/ryzen/ai-300-series/amd-ryzen-ai-max-plus-388.html"
target="_blank">Ryzen AI Max+ 388</a> (Radeon 8060S)</p>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen/ai-300-series/amd-ryzen-ai-max-390.html"
target="_blank">Ryzen AI Max 390</a> (Radeon 8050S)</p>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen/ai-300-series/amd-ryzen-ai-max-385.html"
target="_blank">Ryzen AI Max 385</a> (Radeon 8050S)</p>
</td>
<td>
<p>gfx1151</p>
</td>
</tr>
<tr>
<td rowspan="2" class="stub">
<a href="https://www.amd.com/en/products/processors/laptop/ryzen-for-business.html#tabs-0d174caf43-item-87690677fc-tab"
target="_blank">AMD Ryzen AI PRO<br>400 Series</a>
</td>
<td>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen-pro/ai-400-series/amd-ryzen-ai-9-hx-pro-475.html"
target="_blank">Ryzen AI 9 HX PRO 475</a> (Radeon 890M)</p>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen-pro/ai-400-series/amd-ryzen-ai-9-hx-pro-470.html"
target="_blank">Ryzen AI 9 HX PRO 470</a> (Radeon 890M)</p>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen-pro/ai-400-series/amd-ryzen-ai-9-pro-465.html"
target="_blank">Ryzen AI 9 PRO 465</a> (Radeon 880M)</p>
</td>
<td>
<p>gfx1150</p>
</td>
</tr>
<tr>
<td>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen-pro/ai-400-series/amd-ryzen-ai-7-pro-450.html"
target="_blank">Ryzen AI 7 PRO 450</a> (Radeon 860M)</p>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen-pro/ai-400-series/amd-ryzen-ai-5-pro-440.html"
target="_blank">Ryzen AI 5 PRO 440</a> (Radeon 840M)</p>
</td>
<td>
<p>gfx1152</p>
</td>
</tr>
<tr>
<td rowspan="2" class="stub">
<a href="https://www.amd.com/en/products/processors/consumer/ryzen-ai.html#tabs-f556098628-item-808b56dca3-tab"
target="_blank">AMD Ryzen AI<br>400 Series</a>
</td>
<td>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen/ai-400-series/amd-ryzen-ai-9-hx-475.html"
target="_blank">Ryzen AI 9 HX 475</a> (Radeon 890M)</p>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen/ai-400-series/amd-ryzen-ai-9-hx-470.html"
target="_blank">Ryzen AI 9 HX 470</a> (Radeon 890M)</p>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen/ai-400-series/amd-ryzen-ai-9-465.html"
target="_blank">Ryzen AI 9 465</a> (Radeon 880M)</p>
</td>
<td>
<p>gfx1150</p>
</td>
</tr>
<tr>
<td>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen/ai-400-series/amd-ryzen-ai-7-450.html"
target="_blank">Ryzen AI 7 450</a> (Radeon 860M)</p>
</td>
<td>
<p>gfx1152</p>
</td>
</tr>
<tr>
<td rowspan="2" class="stub">
<a href="https://www.amd.com/en/products/processors/workstations/mobile.html#tabs-7f0c432fb2-item-387526c6cc-tab"
target="_blank">AMD Ryzen AI PRO<br>300 Series</a>
</td>
<td>
<p><a
href="https://www.amd.com/en/products/processors/laptop/ryzen-pro/ai-300-series/amd-ryzen-ai-9-hx-pro-375.html"
target="_blank">Ryzen AI 9 HX PRO 375</a> (Radeon 890M)</p>
<p><a
href="https://www.amd.com/en/products/processors/laptop/ryzen-pro/ai-300-series/amd-ryzen-ai-9-hx-pro-370.html"
target="_blank">Ryzen AI 9 HX PRO 370</a> (Radeon 890M)</p>
</td>
<td>
<p>gfx1150</p>
</td>
</tr>
<tr>
<td>
<p><a
href="https://www.amd.com/en/products/processors/laptop/ryzen-pro/ai-300-series/amd-ryzen-ai-7-pro-350.html"
target="_blank">Ryzen AI 7 PRO 350</a> (Radeon 860M)</p>
<p><a
href="https://www.amd.com/en/products/processors/laptop/ryzen-pro/ai-300-series/amd-ryzen-ai-5-pro-340.html"
target="_blank">Ryzen AI 5 PRO 340</a> (Radeon 840M)</p>
</td>
<td>
<p>gfx1152</p>
</td>
</tr>
<tr>
<td rowspan="2" class="stub">
<a href="https://www.amd.com/en/products/processors/consumer/ryzen-ai.html#tabs-f556098628-item-54e149d850-tab"
target="_blank">AMD Ryzen AI<br>300 Series</a>
</td>
<td>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen/ai-300-series/amd-ryzen-ai-9-hx-375.html"
target="_blank">Ryzen AI 9 HX 375</a> (Radeon 890M)</p>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen/ai-300-series/amd-ryzen-ai-9-hx-370.html"
target="_blank">Ryzen AI 9 HX 370</a> (Radeon 890M)</p>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen/ai-300-series/amd-ryzen-ai-9-365.html"
target="_blank">Ryzen AI 9 365</a> (Radeon 880M)</p>
</td>
<td>
<p>gfx1150</p>
</td>
</tr>
<tr>
<td>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen/ai-300-series/amd-ryzen-ai-7-350.html"
target="_blank">Ryzen AI 7 350</a> (Radeon 860M)</p>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen/ai-300-series/amd-ryzen-ai-7-345.html"
target="_blank">Ryzen AI 7 345</a> (Radeon 840M)</p>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen/ai-300-series/amd-ryzen-ai-5-340.html"
target="_blank">Ryzen AI 5 340</a> (Radeon 840M)</p>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen/ai-300-series/amd-ryzen-ai-5-330.html"
target="_blank">Ryzen AI 5 330</a> (Radeon 820M)</p>
</td>
<td>
<p>gfx1152</p>
</td>
</tr>
<tr>
<td class="stub">
<a href="https://www.amd.com/en/products/processors/laptop/ryzen-for-business.html#tabs-0d174caf43-item-a8ec88d07e-tab"
target="_blank">AMD Ryzen PRO<br>200 Series</a>
</td>
<td>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen-pro/200-series/amd-ryzen-7-pro-250.html"
target="_blank">Ryzen 7 PRO 250</a> (Radeon 780M)</p>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen-pro/200-series/amd-ryzen-5-pro-230.html"
target="_blank">Ryzen 5 PRO 230</a> (Radeon 760M)</p>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen-pro/200-series/amd-ryzen-5-pro-220.html"
target="_blank">Ryzen 5 PRO 220</a> (Radeon 740M)</p>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen-pro/200-series/amd-ryzen-5-pro-215.html"
target="_blank">Ryzen 5 PRO 215</a> (Radeon 740M)</p>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen-pro/200-series/amd-ryzen-3-pro-210.html"
target="_blank">Ryzen 3 PRO 210</a> (Radeon 740M)</p>
</td>
<td>
<p>gfx1103</p>
</td>
<td rowspan="2">
<a href="https://www.amd.com/en/technologies/rdna.html#tabs-1fabb91c39-item-05915f6044-tab" target="_blank">RDNA
3</a>
</td>
</tr>
<tr>
<td class="stub">
<a href="https://www.amd.com/en/products/processors/laptop/ryzen.html#tabs-1181ea0b44-item-895d56feed-tab"
target="_blank">AMD Ryzen<br>200 Series</a>
</td>
<td>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen/200-series/amd-ryzen-9-270.html"
target="_blank">Ryzen 9 270</a> (Radeon 780M)</p>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen/200-series/amd-ryzen-7-260.html"
target="_blank">Ryzen 7 260</a> (Radeon 780M)</p>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen/200-series/amd-ryzen-7-250.html"
target="_blank">Ryzen 7 250</a> (Radeon 780M)</p>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen/200-series/amd-ryzen-5-240.html"
target="_blank">Ryzen 5 240</a> (Radeon 760M)</p>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen/200-series/amd-ryzen-5-230.html"
target="_blank">Ryzen 5 230</a> (Radeon 760M)</p>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen/200-series/amd-ryzen-5-220.html"
target="_blank">Ryzen 5 220</a> (Radeon 740M)</p>
<p><a href="https://www.amd.com/en/products/processors/laptop/ryzen/200-series/amd-ryzen-3-210.html"
target="_blank">Ryzen 3 210</a> (Radeon 740M)</p>
</td>
<td>
<p>gfx1103</p>
</td>
</tr>
</tbody>
</table>
:::
::::
-311
View File
@@ -1,311 +0,0 @@
::::{tab-set}
:::{tab-item} Instinct
:sync: instinct
<table class="rocm-docs-table table">
<thead>
<colgroup style="width: 33%;">
<tr>
<th class="head">
<p>Linux distribution</p>
</th>
<th class="head">
<p>Supported versions</p>
</th>
<th class="head">
<p>Linux kernel version</p>
</th>
</tr>
</thead>
<tbody>
<tr>
<th rowspan="3" class="stub" style="vertical-align: middle">
<p>Ubuntu</p>
</th>
<td>
<p>26.04</p>
</td>
<td>
<p>GA 7.0</p>
</td>
</tr>
<tr>
<td>
<p>24.04.4</p>
</td>
<td>
<p>GA 6.8</p>
</td>
</tr>
<tr>
<td>
<p>22.04.5</p>
</td>
<td>
<p>GA 5.15</p>
</td>
</tr>
<tr>
<th rowspan="2" class="stub" style="vertical-align: middle">
<p>Debian</p>
</th>
<td>
<p>13</p>
</td>
<td>
<p>6.12</p>
</td>
</tr>
<tr>
<td>
<p>12</p>
</td>
<td>
<p>6.1.0</p>
</td>
</tr>
<tr>
<th rowspan="6" class="stub" style="vertical-align: middle">
<p>Red Hat Enterprise Linux (RHEL)</p>
</th>
<td>
<p>10.1</p>
</td>
<td>
<p>6.12.0-124</p>
</td>
</tr>
<tr>
<td>
<p>10.0</p>
</td>
<td>
<p>6.12.0-55</p>
</td>
</tr>
<tr>
<td>
<p>9.7</p>
</td>
<td>
<p>5.14.0-611</p>
</td>
</tr>
<tr>
<td>
<p>9.6</p>
</td>
<td>
<p>5.14.0-570</p>
</td>
</tr>
<tr>
<td>
<p>9.4</p>
</td>
<td>
<p>5.14.0-427</p>
</td>
</tr>
<tr>
<td>
<p>8.10</p>
</td>
<td>
<p>4.18.0-553</p>
</td>
</tr>
<tr>
<th rowspan="3" class="stub" style="vertical-align: middle">
<p>Oracle Linux</p>
</th>
<td>
<p>10</p>
</td>
<td>
<p>UEK 8.1</p>
</td>
</tr>
<tr>
<td>
<p>9</p>
</td>
<td>
<p>UEK 8</p>
</td>
</tr>
<tr>
<td>
<p>8</p>
</td>
<td>
<p>UEK 7</p>
</td>
</tr>
<tr>
<th class="stub" style="vertical-align: middle">
<p>Rocky Linux</p>
</th>
<td>
<p>9</p>
</td>
<td>
<p>5.14.0-570</p>
</td>
</tr>
<tr>
<th rowspan="2" class="stub" style="vertical-align: middle">
<p>SUSE Linux Enterprise Server (SLES)</p>
</th>
<td>
<p>16.0</p>
</td>
<td>
<p>6.12</p>
</td>
</tr>
<tr>
<td>
<p>15.7</p>
</td>
<td>
<p>6.4.0-150700.51</p>
</td>
</tr>
</tbody>
</table>
:::
:::{tab-item} Radeon
:sync: radeon
<table class="rocm-docs-table table">
<thead>
<colgroup style="width: 33%;">
<tr>
<th class="head">
<p>Operating system</p>
</th>
<th class="head">
<p>Supported versions</p>
</th>
<th class="head">
<p>Linux kernel version</p>
</th>
</tr>
</thead>
<tbody>
<tr>
<th rowspan="3" class="stub" style="vertical-align: middle">
<p>Ubuntu</p>
</th>
<td>
<p>26.04</p>
</td>
<td>
<p>GA 7.0</p>
</td>
</tr>
<tr>
<td>
<p>24.04.4</p>
</td>
<td>
<p>GA 6.8</p>
</td>
</tr>
<tr>
<td>
<p>22.04.5</p>
</td>
<td>
<p>GA 5.15</p>
</td>
</tr>
<tr>
<th rowspan="2" class="stub" style="vertical-align: middle">
<p>Red Hat Enterprise Linux (RHEL)</p>
</th>
<td>
<p>10.1</p>
</td>
<td>
<p>6.12.0-124</p>
</td>
</tr>
<tr>
<td>
<p>9.7</p>
</td>
<td>
<p>5.14.0-611</p>
</td>
</tr>
<tr>
<th class="stub" style="vertical-align: middle">
<p>Windows</p>
</th>
<td>
<p>11 25H2</p>
</td>
<td>
<p style="text-align: center;"> — </p>
</td>
</tr>
</tbody>
</table>
:::
:::{tab-item} Ryzen
:sync: ryzen
<table class="rocm-docs-table table">
<thead>
<colgroup style="width: 33%;">
<tr>
<th class="head">
<p>Operating system</p>
</th>
<th class="head">
<p>Supported versions</p>
</th>
<th class="head">
<p>Linux kernel version</p>
</th>
</tr>
</thead>
<tbody>
<tr>
<th rowspan="2" class="stub" style="vertical-align: middle">
<p>Ubuntu</p>
</th>
<td>
<p>26.04</p>
</td>
<td>
<p>GA 7.0</p>
</td>
</tr>
<tr>
<td>
<p>24.04.4</p>
</td>
<td>
<p>HWE 6.17</p>
</td>
</tr>
<tr>
<th class="stub" style="vertical-align: middle">
<p>Windows</p>
</th>
<td>
<p>11 25H2</p>
</td>
<td>
<p style="text-align: center;"> — </p>
</td>
</tr>
</tbody>
</table>
:::
::::
@@ -1,69 +0,0 @@
<table class="rocm-docs-table table">
<thead>
<tr>
<th class="head">
<p>Device</p>
</th>
<th class="head">
<p>Compute partition mode</p>
</th>
<th class="head">
<p>NPS mode</p>
</th>
<th class="head">
<p>Deployment</p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="3" style="vertical-align: middle;">
<p>Instinct MI355X, MI350X</p>
</td>
<td>
<p>CPX</p>
</td>
<td>
<p>NPS 2</p>
</td>
<td rowspan="5" style="vertical-align: middle;">
<p>Bare metal</p>
</td>
</tr>
<tr>
<td>
<p>DPX</p>
</td>
<td>
<p>NPS 2</p>
</td>
</tr>
<tr>
<td>
<p>QPX</p>
</td>
<td>
<p>NPS 2</p>
</td>
</tr>
<tr>
<td rowspan="2" style="vertical-align: middle;">
<p>Instinct MI300X</p>
</td>
<td>
<p>CPX</p>
</td>
<td>
<p>NPS 4</p>
</td>
</tr>
<tr>
<td>
<p>DPX</p>
</td>
<td>
<p>NPS 2</p>
</td>
</tr>
</tbody>
</table>
@@ -1,227 +0,0 @@
<table class="rocm-docs-table table">
<colgroup style="width: 14%;">
<colgroup style="width: 14%;">
<colgroup style="width: 17%;">
<colgroup style="width: 17%;">
<colgroup style="width: 19%;">
<colgroup style="width: 19%;">
<thead>
<tr>
<th class="head">
<p>AMD GPU</p>
</th>
<th class="head">
<p>Hypervisor</p>
</th>
<th class="head">
<p>Virtualization technology</p>
</th>
<th class="head">
<a>Virtualization driver</a>
</th>
<th class="head">
<p>Host OS</p>
</th>
<th class="head">
<p>Guest OS</p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="5" style="vertical-align: middle">
<p>Instinct MI355X</p>
</td>
<td rowspan="4" style="vertical-align: middle">
<p>KVM</p>
</td>
<td style="vertical-align: middle">
<p>Passthrough</p>
</td>
<td>
<p style="text-align: center"></p>
</td>
<td rowspan="4" style="vertical-align: middle">
<p>Ubuntu 24.04</p>
</td>
<td style="vertical-align: middle">
<p>Ubuntu 24.04</p>
</td>
</tr>
<tr>
<td rowspan="3" style="vertical-align: middle">
<p>SR-IOV</p>
</td>
<td rowspan="3" style="vertical-align: middle">
<a href="https://github.com/amd/MxGPU-Virtualization/releases/tag/9.0.0.K" target="_blank">GIM 9.0.0K
</a>
</td>
<td style="vertical-align: middle">
<p>Ubuntu 24.04</p>
</td>
</tr>
<tr>
<td style="vertical-align: middle">
<p>RHEL 10.0</p>
</td>
</tr>
<tr>
<td style="vertical-align: middle">
<p>RHEL 9.6</p>
</td>
</tr>
<tr>
<td style="vertical-align: middle">
<p>ESXi</p>
</td>
<td>
<p style="text-align: center"></p>
</td>
<td>
<p style="text-align: center"></p>
</td>
<td style="vertical-align: middle">
<p>VMware ESXi 9.1</p>
</td>
<td style="vertical-align: middle">
<p>Ubuntu 24.04</p>
</td>
</tr>
<tr>
<td rowspan="3" style="vertical-align: middle">
<p>Instinct MI350X</p>
</td>
<td rowspan="3" style="vertical-align: middle">
<p>KVM</p>
</td>
<td style="vertical-align: middle">
<p>Passthrough</p>
</td>
<td>
<p style="text-align: center"></p>
</td>
<td rowspan="3" style="vertical-align: middle">
<p>Ubuntu 24.04</p>
</td>
<td style="vertical-align: middle">
<p>Ubuntu 24.04</p>
</td>
</tr>
<tr>
<td rowspan="2" style="vertical-align: middle">
<p>SR-IOV</p>
</td>
<td rowspan="2" style="vertical-align: middle">
<a href="https://github.com/amd/MxGPU-Virtualization/releases/tag/9.0.0.K" target="_blank">GIM 9.0.0K
</a>
</td>
<td style="vertical-align: middle">
<p>Ubuntu 24.04</p>
</td>
</tr>
<tr>
<td style="vertical-align: middle">RHEL 9.6</td>
</tr>
<tr>
<td style="vertical-align: middle">
<p>Instinct MI325X</p>
</td>
<td style="vertical-align: middle">
<p>KVM</p>
</td>
<td style="vertical-align: middle">
<p>SR-IOV</p>
</td>
<td style="vertical-align: middle">
<a href="https://github.com/amd/MxGPU-Virtualization/releases/tag/9.0.0.K" target="_blank">GIM 9.0.0K
</a>
</td>
<td style="vertical-align: middle">
<p>Ubuntu 22.04</p>
</td>
<td style="vertical-align: middle">
<p>Ubuntu 22.04</p>
</td>
</tr>
<tr>
<td rowspan="3" style="vertical-align: middle">
<p>Instinct MI300X</p>
</td>
<td rowspan="3" style="vertical-align: middle">
<p>KVM</p>
</td>
<td style="vertical-align: middle">
<p>Passthrough</p>
</td>
<td>
<p style="text-align: center"></p>
</td>
<td style="vertical-align: middle">
<p>Ubuntu 22.04</p>
</td>
<td style="vertical-align: middle">
<p>Ubuntu 22.04</p>
</td>
</tr>
<tr>
<td rowspan="2" style="vertical-align: middle">
<p>SR-IOV</p>
</td>
<td rowspan="2" style="vertical-align: middle">
<a href="https://github.com/amd/MxGPU-Virtualization/releases/tag/9.0.0.K" target="_blank">GIM 9.0.0K
</a>
</td>
<td style="vertical-align: middle">
<p>Ubuntu 24.04</p>
</td>
<td style="vertical-align: middle">
<p>Ubuntu 24.04</p>
</td>
</tr>
<tr>
<td style="vertical-align: middle">
<p>Ubuntu 22.04</p>
</td>
<td style="vertical-align: middle">
<p>Ubuntu 22.04</p>
</td>
</tr>
<tr>
<td rowspan="3" style="vertical-align: middle">
<p>Instinct MI210</p>
</td>
<td rowspan="3" style="vertical-align: middle">
<p>KVM</p>
</td>
<td style="vertical-align: middle">
<p>Passthrough</p>
</td>
<td>
<p style="text-align: center"></p>
</td>
<td rowspan="3" style="vertical-align: middle">
<p>RHEL 9.4</p>
</td>
<td style="vertical-align: middle">
<p>Ubuntu 22.04</p>
</td>
</tr>
<tr>
<td rowspan="2" style="vertical-align: middle">
<p>SR-IOV</p>
</td>
<td rowspan="2" style="vertical-align: middle">
<a href="https://github.com/amd/MxGPU-Virtualization/releases/tag/9.0.0.K" target="_blank">GIM 9.0.0K
</a>
</td>
<td style="vertical-align: middle">
<p>Ubuntu 22.04</p>
</td>
</tr>
<tr>
<td style="vertical-align: middle">
<p>RHEL 9.4</p>
</td>
</tr>
</tbody>
</table>
+1 -1
View File
@@ -4,7 +4,7 @@
<meta name="keywords" content="license, licensing terms">
</head>
# ROCm licenses
# ROCm license
```{include} ../../LICENSE
```
-608
View File
@@ -1,608 +0,0 @@
# ROCm Core SDK {{ ROCM_VERSION }} release notes
ROCm Core SDK {{ ROCM_VERSION }} continues the technology preview release stream
that began with ROCm 7.9.0, advancing the transition to the new
[TheRock](https://github.com/rocm/therock) build and release system. To learn
more, see the [transition guide](/about/transition-guide-TheRock).
(preview-stream-note)=
:::{important}
ROCm {{ ROCM_VERSION }} follows the
<a href="https://rocm.docs.amd.com/en/7.9.0-preview/about/release-notes.html#preview-stream-note"
target="_blank">versioning discontinuity that began with the 7.9.0 preview release</a>
and remains separate from the 7.0 to 7.2 production releases. For the latest
production stream release, see the
<a href="https://rocm.docs.amd.com/en/latest/">ROCm documentation</a>.
Maintaining parallel release streams -- preview and production -- gives
users ample time to evaluate and adopt the new build system and dependency
changes. The technology preview stream is planned to continue through
mid-2026, after which it will replace the current production stream.
For previous preview releases, see the
<a target="_blank" href="https://rocm.docs.amd.com/en/7.12.0-preview/release/versions.html">release history</a>.
:::
## Release highlights
ROCm Core SDK {{ ROCM_VERSION }} with TheRock builds upon the [7.12.0 preview
release](https://rocm.docs.amd.com/en/7.12.0-preview/about/release-notes.html).
This release expands support for AI inference, distributed workloads, and
profiling workflows across AMD Instinct™, Radeon™, and Ryzen™ AI platforms.
ROCm 7.13.0 adds inference-ready vLLM containers, expands GPU virtualization
and partitioning support, introduces new profiling and tracing capabilities,
and improves AI kernel, sparse math, and communication libraries.
### Platform and hardware support
This release expands GPU, operating system, virtualization, and partitioning support.
#### Expanded AMD GPU support
ROCm 7.13.0 adds support for the following AMD GPUs and APUs:
* AMD Instinct MI350P (gfx950)
* AMD Radeon PRO W6800 (gfx1030)
* AMD Radeon PRO V620 (gfx1030)
* AMD Ryzen AI 7 PRO 360 (gfx1152)
* AMD Ryzen AI 7 PRO 350 (gfx1152)
* AMD Ryzen AI 5 PRO 340 (gfx1152)
* AMD Ryzen AI 7 350 (gfx1152)
* AMD Ryzen AI 7 345 (gfx1152)
* AMD Ryzen AI 5 340 (gfx1152)
* AMD Ryzen AI 5 330 (gfx1152)
For the complete list of supported AMD hardware, see [AMD hardware support](#amd-hardware-support).
#### Expanded Ubuntu support
ROCm 7.13.0 adds support for Ubuntu 26.04 on Instinct, Radeon, and Ryzen
devices.
24.04.4 is now the validated Ubuntu 24 release instead of Ubuntu 24.04.3.
For the full list of supported Linux distributions, see [Operating system support](#operating-system-support).
#### Expanded GPU virtualization support for Instinct GPUs
ROCm 7.13.0 adds support for the following virtualization configurations on AMD Instinct GPUs.
* On MI355X: VMware ESXi 9.1 with Ubuntu 24.04 guest OS.
* On MI300X: KVM SR-IOV with Ubuntu 24.04 host OS and Ubuntu 24.04 guest OS.
* On MI210:
* KVM passthrough with RHEL 9.4 host OS and Ubuntu 22.04 guest OS.
* KVM SR-IOV with RHEL 9.4 host OS and Ubuntu 22.04 guest OS.
* KVM SR-IOV with RHEL 9.4 host OS and RHEL 9.4 guest OS.
Supported SR-IOV configurations require the [GIM Driver
9.0.0K](https://github.com/amd/MxGPU-Virtualization/releases/tag/9.0.0.K). For
details, see [GPU virtualization support](#gpu-virtualization-support).
#### Expanded Instinct GPU partitioning support
ROCm 7.13.0 enables the QPX compute + NPS 2 memory partition combination in
bare metal deployments.
For details, see [GPU partitioning support](#gpu-partitioning-support).
### AI inference and frameworks
This release adds inference-ready container images and improves multi-node communication for distributed workloads.
#### vLLM 0.19.1 Docker images and pip packages
With ROCm 7.13.0, Docker images for running vLLM inference workloads are
available. Images include vLLM 0.19.1, PyTorch 2.10, and Python 3.13 on Ubuntu 24.04.
Architecture-specific images are available for:
* AMD Instinct GPUs: gfx942 (MI325X, MI300X, MI300A) and gfx950 (MI355X, MI350X, MI350P)
* AMD Radeon GPUs: gfx1100, gfx1101, gfx1102, gfx1200, gfx1201
* AMD Ryzen AI APUs: gfx1150, gfx1151, gfx1152
See [](../ai-inference/vllm) to get started.
#### RCCL multi-node optimization for AMD Ryzen AI Max 300 series
RCCL improves multi-node clustering performance on systems with AMD Ryzen AI
Max 300 series connected over Ethernet. Building on the initial
multi-node enablement in ROCm 7.12.0, this release optimizes collective
communication for distributed AI inference workloads using tensor parallelism
(TP) and expert parallelism (EP) across up to 4 Ethernet-connected nodes.
#### RCCL GDA-based alltoall via rocSHMEM integration (experimental)
RCCL adds experimental support for GPU Direct Async (GDA)-based alltoall and
alltoallv collective operations through rocSHMEM integration. When enabled,
RCCL invokes rocSHMEM operations that use GDA to reduce latency for small
message alltoall patterns.
This feature requires building RCCL with the `--rocshmem` flag and setting
`RCCL_ROCSHMEM_ENABLE=1` at runtime. GDA support currently requires Broadcom
NICs with GDA capability.
### Developer tools and profiling
This release adds new profiling capabilities, introduces the open-source ROCprof Trace Decoder, and extends HIP programming APIs.
#### ROCprof Trace Decoder open source release
ROCprof Trace Decoder, previously delivered as a closed-source
component within ROCprofiler-SDK, is now available as the open-source
rocprof-trace-decoder library. The decoder converts raw SQTT data from AMD GPUs
into structured execution traces for performance analysis and debugging. It
supports a wide range of AMD GPUs spanning Instinct, Radeon, and Ryzen
architectures, with unit and integration tests across all supported hardware.
See [AMD hardware support](#amd-hardware-support) for the complete list.
<!-- For more information, see [ROCprof Trace Decoder and thread trace APIs](https://rocm.docs.amd.com/projects/rocprofiler-sdk/en/docs-7.13.0/api-reference/thread_trace.html) and [Using thread trace](https://rocm.docs.amd.com/projects/rocprofiler-sdk/en/docs-7.13.0/how-to/using-thread-trace.html) in the ROCprofiler-SDK documentation. -->
#### HIP cooperative groups reduce operations
HIP adds `cooperative_groups::reduce()` for performing reduction operations
across `thread_block_tile` and `coalesced_threads` groups. The implementation
is based on `__reduce_*_sync` operations, and the
`HIP_ENABLE_EXTRA_WARP_SYNC_TYPES` macro might be required to enable some
optimizations.
Additionally, `__reduce_and_sync()`, `__reduce_or_sync()`, and
`__reduce_xor_sync()` now provide consistent behavior for all mask values. All
masks now emit bitwise instructions, aligning behavior with NVIDIA CUDA. This
is a change from previous versions, where some masks were translated to bitwise
operations, and others were not.
#### ROCm Compute Profiler feature highlights
The following are notable enhancements to the ROCm Compute Profiler
(rocprofiler-compute).
* **RDNA 3.5 support:** ROCm Compute Profiler now supports GPU performance
profiling and analysis on AMD Ryzen AI Max 300 series processors.
<!-- An [RDNA 3 -->
<!-- section](https://rocm.docs.amd.com/projects/rocprofiler-compute/en/docs-7.13.0/conceptual/rdna/rdna-performance-model.html) -->
<!-- has been added to the performance model documentation explaining the supported -->
<!-- performance metrics for AMD Ryzen AI Max 300 series processors. A new memory -->
<!-- chart visualization accommodates the architectural differences between -->
<!-- RDNA 3.5 and CDNA GPUs. Roofline is not yet supported for AMD Ryzen AI -->
<!-- Max 300 series processors. -->
* **Removed dependency requirements for profiling:** Building ROCm Compute
Profiler and using profile mode no longer requires installing Python
dependencies from the `requirements.txt` file. Analysis mode still requires
Python dependencies.
This change moves several operations from profile mode to analysis mode,
including roofline HTML generation, roofline-related options
(`--sort`, `--mem-level`, `--roofline-data-type`), and creation of the
combined `pmc_perf.csv` file. Profile mode now only runs the roofline
empirical benchmark, creates a `roofline.csv` file, and creates per-replay
CSV files without merging them.
#### ROCm Systems Profiler feature highlights
The following are notable enhancements to the ROCm Systems Profiler
(rocprofiler-systems).
* **Pause and resume profiling:** ROCm Systems Profiler now supports pausing
and resuming profiling at runtime through the `roctxProfilerPause` and
`roctxProfilerResume` APIs. This allows you to capture profiling data only
during specific execution phases, reducing overhead and minimizing output size
for long-running workloads.
<!-- For more information, see [Configuring runtime -->
<!-- options](https://rocm.docs.amd.com/projects/rocprofiler-systems/en/docs-7.13.0/how-to/configuring-runtime-options.html) -->
<!-- in the ROCm Systems Profiler documentation. -->
* **Selective region tracing:** You can now restrict tracing to defined regions
of interest using the `ROCPROFSYS_SELECTED_REGIONS` environment variable,
reducing noise and limiting data collection to relevant workload segments.
<!-- For more -->
<!-- information, see -->
<!-- [ROCPROFSYS_SELECTED_REGIONS](https://rocm.docs.amd.com/projects/rocprofiler-systems/en/docs-7.13.0/how-to/configuring-runtime-options.html#rocprofsys-selected-regions) -->
<!-- in the ROCm Systems Profiler documentation. -->
* **KFD event tracing:** Kernel Fusion Driver (KFD) event tracing is now
available for GPU memory management analysis, including page faults, page
migrations, queue evictions, GPU unmap events, and dropped events. Requires
an XNACK-capable GPU and ROCprofiler-SDK 1.2.1 or later.
<!-- For more -->
<!-- information, see [Configuring runtime -->
<!-- options](https://rocm.docs.amd.com/projects/rocprofiler-systems/en/docs-7.13.0/how-to/configuring-runtime-options.html#exploring-gpu-metrics) -->
<!-- in the ROCm Systems Profiler documentation. -->
* **MPI file-output filtering:** You can now filter profiler output files based
on MPI rank using the `--rank-filter-output` CLI option or the
`ROCPROFSYS_RANK_FILTER_OUTPUT` configuration setting, suppressing output
from all other ranks. An optional `--rank-filter-id` option
(`ROCPROFSYS_RANK_FILTER_ID`) allows specifying a custom environment variable
for rank identification.
<!-- For more information, see [Selective rank -->
<!-- profiling](https://rocm.docs.amd.com/projects/rocprofiler-systems/en/docs-7.13.0/how-to/communication-runtime-profiling.html#selective-rank-profiling) -->
<!-- in the ROCm Systems Profiler documentation. -->
* **JSON-based profiling presets and domain flags:** You can now configure
common profiling workflows using JSON-based presets and a single
`--preset=<name>` flag instead of manually setting multiple `ROCPROFSYS_*`
environment variables. Eleven built-in presets cover common profiling scenarios, including GPU
tracing, HPC workloads, and API-level analysis. Composable domain flags
(`--gpu`, `--rocm`, `--cpu`, `--parallel`) and a topic-based
`--help=<topic>` system further simplify configuration and discoverability.
<!-- For more information, see [Using preset profiles and domain -->
<!-- flags](https://rocm.docs.amd.com/projects/rocprofiler-systems/en/docs-7.13.0/how-to/using-preset-profiles.html) -->
<!-- in the ROCm Systems Profiler documentation. -->
#### AMD SMI feature highlights
* **APU metrics and memory tuning**: New APU telemetry provides per-core
temperature, power, clock, voltage, current, and throttle monitoring, with
additional support for IPU activity and DRAM bandwidth metrics. New VRAM
carveout and GTT tuning controls enable configurable memory allocation on
supported APU platforms.
* **Per-component GPU temperature and clock monitoring**: GPU metrics table
version 1.9 adds HBM stack temperatures, per-die temperature monitoring, and
per-die memory and SOC clock reporting for data center deployments.
* **CPU power APIs report in milliwatts (breaking change)**: CPU power APIs now
return values in milliwatts (mW) instead of watts. Python bindings now return
numeric integer values instead of formatted strings. Existing applications
that parse previous string-based outputs must be updated.
For more information, see the AMD SMI section in the [ROCm component changelogs](#rocm-component-changelogs).
### Libraries
This release adds new routines, data type support, and performance improvements across ROCm math and AI libraries.
#### Composable Kernel adds quantization and attention kernel capabilities
Composable Kernel adds several capabilities for AI and large language model
workloads:
* **Microscaling (MX) FP8/FP4 support:** Mixed data type support for MX FP8 and
FP4 in GEMM and Flash Multi-Head Attention (FMHA) forward kernels on AMD
Instinct MI350 Series GPUs.
* **FP8 quantization for FMHA:** FMHA forward kernels now support multiple FP8
quantization modes, including dynamic tensor-wise quantization, block scale
quantization, per-tensor quantization, and FP8 KV cache support for batch
prefill.
* **StreamingLLM and long-context inference:** Sink token support for FMHA
forward enables StreamingLLM-style long-context inference.
* **Batch prefill enhancements:** FMHA batch prefill kernels now support
multiple KV cache layouts, flexible page sizes, and configurable lookup table
configurations.
* **RDNA 3 FMHA support:** Flash Attention kernels are now available on RDNA 3
architectures.
* **SageAttention v2 forward kernel:** Multi-granularity quantization for Q, K,
and V tensors with FP8, INT8, and INT4 data types and per-tensor, per-block,
per-warp, and per-thread scale granularities on AMD Instinct MI300 Series and
MI350 Series GPUs.
#### General Batched GEMM support in hipBLASLt
hipBLASLt adds native support for General Batched GEMM, where all matrices in
a batch share the same problem dimensions but can have independent leading
dimensions and strides. This replaces the previous implementation through the
`hipblaslt_ext` Grouped GEMM APIs, which had known limitations.
The new implementation includes support for Global Split-U (GSU) to improve
performance at large problem sizes. General Batched GEMM is important for
inference workloads that dispatch batches of same-shape GEMM operations.
<!-- For more information, see the [hipBLASLt -->
<!-- documentation](https://rocm.docs.amd.com/projects/hipBLASLt/en/docs-7.13.0/index.html). -->
#### rocSOLVER adds new solver routines and matrix analysis functions
rocSOLVER adds the following new routines, all with 64-bit index support:
* **GETRS_NPVT:** Solution of linear systems using LU factorization without
pivoting. Batched and strided-batched variants are available.
* **SYTRS:** Solution of linear systems for symmetric matrices. Batched and
strided-batched variants are available.
Additionally, POTF2 and downstream POTRF Cholesky factorization performance
have been improved.
<!-- For more information, see the [rocSOLVER -->
<!-- documentation](https://rocm.docs.amd.com/projects/rocSOLVER/en/docs-7.13.0/index.html). -->
#### rocSPARSE adds sparse factorization routines
rocSPARSE adds new generic API routines for sparse incomplete factorization and
triangular solve:
* `rocsparse_spic0` and `rocsparse_spilu0`: Generic incomplete Cholesky (IC0)
and incomplete LU (ILU0) factorization routines with strided-batched
computation support.
* `rocsparse_sptrsv`: Extended with strided-batched computation support and
singularity detection through the new `rocsparse_singularity` enumeration.
Performance of tridiagonal solvers `rocsparse_Xgtsv_no_pivot` and
`rocsparse_Xgtsv_no_pivot_strided_batch` has been improved.
<!-- For more -->
<!-- information, see the [rocSPARSE -->
<!-- documentation](https://rocm.docs.amd.com/projects/rocSPARSE/en/docs-7.13.0/index.html). -->
#### Added rocDecode and rocJPEG libraries to the ROCm Core SDK
rocDecode provides hardware-accelerated video decoding for H.264, H.265/HEVC,
AV1, and VP9 codecs, while rocJPEG provides hardware-accelerated JPEG decoding
on AMD GPUs. Together, they enable
efficient GPU-based media processing pipelines for data-intensive workloads
such as AI training.
Both libraries are supported on Linux on AMD Instinct, Radeon, and Ryzen AI. See
the projects in [ROCm/rocm-systems](https://github.com/ROCm/rocm-systems) for
more information.
#### Added ROCm Data Center Tool to the ROCm Core SDK
ROCm Data Center Tool (RDC) provides telemetry collection, health monitoring,
and job-level GPU statistics for data center deployments with AMD Instinct
accelerators. RDC enables system administrators and cluster managers to monitor
GPU health, collect telemetry data, and track per-job GPU usage across
multi-node environments.
RDC is supported on Linux with AMD Instinct GPUs.
<!-- See the -->
<!-- [RDC documentation](https://rocm.docs.amd.com/projects/rdc/en/docs-7.13.0/index.html) -->
<!-- for more information. -->
(release-supported-hw)=
## AMD hardware support
The following table lists supported AMD Instinct GPUs, Radeon GPUs, and Ryzen
APUs. Each supported device is listed with its corresponding GPU
microarchitecture and LLVM target.
:::{note}
If your GPU is not listed, it might be community-enabled through TheRock
nightly builds. For more information, see [TheRock supported
GPUs](https://github.com/ROCm/TheRock/blob/main/SUPPORTED_GPUS.md). For
installation guidance, see [TheRock
releases](https://github.com/ROCm/TheRock/blob/main/RELEASES.md).
:::
```{include} ./include/hardware-support-table.md
:parser: myst
```
(release-supported-os)=
## Operating system support
ROCm supports the following Linux distribution and Microsoft Windows versions.
If you're running ROCm on Linux, ensure your system is using a supported kernel
version.
:::{important}
The following table is a general overview of supported OSes. Actual support
might vary by AMD GPU or APU. Use the {doc}`Compatibility matrix
</compatibility/compatibility-matrix>` to verify support for your specific
setup before installation.
:::
```{include} ./include/os-support-table.md
:parser: myst
```
## Installation updates
ROCm 7.13.0 introduces several improvements to the Runfile Installer:
* Performance improvements for installing and uninstalling gfx architectures.
* ROCm component tests are now included.
* Support for prerequisite OEM kernel installation as part of the dependency install on Ryzen systems. You no longer need to install it manually.
* Auto-detection of the GPU when using the GUI or when the `gfx=` argument is not provided on the command line. If the installer cannot detect the GPU, you must specify the gfx architecture using the GUI or the `gfx=` argument.
(release-supported-fw)=
## Kernel driver and firmware bundle support
ROCm requires a coordinated stack of compatible firmware, driver, and user
space components. Maintaining version alignment between these layers ensures
correct GPU operation and performance, especially for AMD data center products.
While AMD publishes the AMD GPU driver and ROCm user space components, your
server OEM (original equipment manufacturer) or infrastructure provider
distributes the firmware packages. AMD supplies those firmware images (PLDM
bundles), which the OEM integrates and distributes.
```{include} ./include/driver-firmware-support-table.md
:parser: myst
```
(release-virtualization-support)=
## GPU virtualization support
AMD Instinct data center GPUs support virtualization in the following
configurations. Supported SR-IOV configurations require the AMD GPU
Virtualization Driver (GIM) 9.0.0K -- see the [AMD Instinct Virtualization
Driver
documentation](https://instinct.docs.amd.com/projects/virt-drv/en/mainline-9.0.0.k/)
for more information.
```{include} ./include/virtualization-support-table.html
:parser: myst
```
(release-gpu-partitioning-support)=
## GPU partitioning support
The following compute partition and NUMA-per-socket (NPS) configurations are
available on AMD Instinct GPUs in bare metal deployments.
```{include} ./include/partitioning-support-table.html
:parser: myst
```
See the [AMD GPU partitioning](https://instinct.docs.amd.com/projects/amdgpu-docs/en/latest/gpu-partitioning/index.html)
topic in the AMD GPU Driver documentation to learn more.
(release-ai-ecosystem)=
## AI ecosystem support
ROCm 7.13.0 provides optimized support for popular deep learning frameworks and
AI inference engines. The following table lists supported frameworks and
libraries, their compatible operating systems, and validated versions.
```{include} ./include/ai-ecosystem-support-table.html
:parser: myst
```
(release-components)=
## ROCm Core SDK components
The following table lists core tools and libraries included in the ROCm 7.13.0
release.
:::{important}
The following table is a general overview of ROCm Core SDK components. Actual
support for these libraries and tools can vary by GPU and OS. Use the
{doc}`Compatibility matrix </compatibility/compatibility-matrix>` to verify
support for your specific setup.
:::
```{include} ./include/core-sdk-components-table.html
:parser: myst
```
### ROCm component changelogs
The following sections describe key changes to ROCm Core SDK components.
```{include} ./include/core-sdk-components-aggregated-changelog.md
:parser: myst
```
## ROCm known issues
ROCm known issues are noted on {fab}`github` [GitHub](https://github.com/ROCm/ROCm/labels/Verified%20Issue). These issues will be fixed in a future ROCm release. For known issues related to individual components, review the [ROCm component changelogs](#rocm-component-changelogs).
### ROCm Compute Profiler might fail when profiling bash script or command
Running a bash script or command as a target for ROCm Compute Profiler might fail because bash overwrites the required environment variables. As a workaround, use `--no-native-tool` option in the profile mode. Note that this will disable iteration multiplexing.
### hipFFT and rocFFT callback examples fail to build on Windows
The hipFFT and rocFFT callback examples in [rocm-examples](https://github.com/rocm/rocm-examples) fail to build on a Windows operating system due to a linker error. CMake configuration and HIP object compilation will complete successfully, but the final link step fails with `clang: error: invalid linker name in argument '-fuse-ld=lld-link'` This issue affects all Windows configurations using Relocatable Device Code (RDC) mode. Linux builds are not affected. As a workaround, skip the hipFFT and rocFFT callback examples on Windows, and refer to the Linux builds or [callback](https://github.com/ROCm/rocm-examples/tree/amd-staging/Libraries/rocFFT/callback/) functionality documentation.
### QMCPACK might become unresponsive during DMC simulation on AMD Instinct MI300A GPUs
QMCPACK might become unresponsive when running Diffusion Monte Carlo (DMC) simulations with certain inputs on AMD Instinct MI300A GPUs. The application stops making progress after initialization and must be terminated manually.
### Resource-intensive workloads might result in GPU memory faults
Applications that pass large, complex data structures between device functions using scratch memory, and particularly rely on compiler optimization to minimize the number of copy operations, might encounter GPU memory access faults and become unresponsive.
### Increased binary size for multi-target GPU builds
Applications targeting multiple AMD GPU architectures might observe significantly larger binary sizes. Multi-target builds can produce binaries up to 54 percent larger. Single-target builds add approximately 8 MB of additional size per GPU target. As a workaround, reduce the number of GPU targets in multi-target builds, or strip the resource-usage symbols from release binaries.
### HIP cooperative groups might fail when compiled using the SPIR-V path
HIP applications that use cooperative groups might fail at kernel launch when compiled with `--offload-arch=amdgcnspirv`. The application fails at runtime with `LLVM ERROR: Cannot select: intrinsic %llvm.amdgcn.s.wait.asynccnt` error message. This
affects all GPU architectures when using the SPIR-V compilation path. As a workaround, compile using a direct GPU architecture target (for example, `--offload-arch=gfx942`) instead of `--offload-arch=amdgcnspirv`.
### Illegal memory address error when using placement new with device function returns
HIP kernels that use the placement new operators to construct objects in the `hipMalloc` device memory might crash with `hipErrorIllegalAddress` error message when you pass a `__device__` function return value as the constructor argument. This only affects non-trivially-copyable types (for example, types with user-defined or deleted copy/move constructors). Trivially-copyable types are not affected. As a workaround, assign the device function return value to a local variable before passing it to placement new.
### LLVM-based compilers might fail when compiling half-precision vector operations
LLVM-based compilers might fail, returning `Failed to find subregs!` error message in `SIInstrInfo::copyPhysReg`, when compiling half-precision vector operations with optimization enabled. The issue was observed at optimization levels `-O1` to `-O3`.
### hipBLAS test suites failure on Windows
When using hipBLAS on Windows, the test suites might return non-zero exit codes, even when all mathematical correctness tests pass. This issue can affect CI/CD pipeline validation and block automated testing workflows on Windows systems, because the test framework might fail to detect successful test completion.
### ROCm Systems Profiler overwrites ROCPD output after process re-attachment
When you use `rocprof-sys-attach` to re-attach to a previously profiled process, the `ROCPD` output database files (.db) are written to the initial session's output directory instead of a new timestamped directory. This makes it difficult to distinguish profiling data between sessions. Perfetto trace files are not affected. As a workaround, back up your output directory before re-attaching to a previously profiled process.
### Missing dependencies when installing ROCm Core SDK
Installing the ROCm Core SDK using `amdrocm-core-sdk` or `amdrocm-core-dev/devel` might succeed, but some dependencies from the dev/devel meta packages might not be installed. As a workaround, install the dev packages manually:
```bash
sudo apt install amdrocm-*
```
### Issues related to AddressSanitizer
Multiple issues associated with AddressSanitizer (ASAN) `-fsanitize=address` being enabled have been observed including:
#### ASAN reports false errors for GPU kernels using shared memory
When you compile GPU kernels with ASAN enabled, kernels that use `__shared__` memory might produce false heap-buffer-overflow errors or GPU memory faults. As a workaround, disable ASAN by removing `-fsanitize=address` setting for affected kernels.
#### GPU kernels fail to launch in ASAN builds with large thread counts
When you build GPU libraries with ASAN enabled, kernels configured with large thread counts might fail to launch with `HSA_STATUS_ERROR_INVALID_ISA` error. As a workaround, reduce the thread block sizes to 256 threads or fewer for ASAN builds. The issue is currently under investigation.
#### ASAN breaks multi-architecture HIP binary builds
HIP applications built with ASAN enabled, targeting multiple GPU architectures, might fail to launch with `RuntimeError: .hipFatBinSegment size N is not a multiple of wrapper size (24)` and `RuntimeError: Unexpected magic 0x00000000 at wrapper i` error messages. Single-architecture builds are not affected. As a workaround, build single-architecture binaries using `--offload-arch` targeting only one GPU architecture, or disable ASAN by removing `-fsanitize=address` for HIP compilation.
#### ASAN produces incorrect results with ternary operators on struct kernel arguments
When you compile GPU kernels with ASAN enabled, ternary operators with struct kernel arguments might produce incorrect results. This can mask real bugs and produce false-positive results during memory-safety validation. The issue doesn't occur when the kernel arguments are first copied to local variables, or when compiled without ASAN. As a workaround, copy kernel arguments to local variables before using them in ternary expressions:
```cpp
auto local_arg = kernel_arg;
result = condition ? local_arg : other_arg;
```
Alternatively, disable ASAN by removing `-fsanitize=address` when compiling GPU kernels.
## ROCm resolved issues
The following notable issues have been fixed in ROCm 7.13.0.
### Multi-ROCm installation failed on RPM-based distributions
Previously, installing multiple ROCm versions side by side on RPM-based distributions (RHEL and SLES) failed due to `.build-id` file conflicts between versioned packages.
### vLLM server failed to launch in ROCm Docker images
Previously, the vLLM server failed to start in ROCm 7.12.0 Docker images with an `ImportError` for `librocm_smi64.so.1` due to missing library path configuration.
### vLLM server failed to launch with tensor parallelism
Previously, the vLLM server failed to start with an invalid device pointer error when launching models with tensor parallelism set to 8 on AMD Instinct MI300 and MI355X GPUs.
### PyTorch DDP Gloo backend test failed on AMD GPUs
Previously, the PyTorch Distributed Data Parallel (DDP) test `test_ddp_apply_optim_in_backward_grad_as_bucket_view_false` failed when using the Gloo backend.
### rocWMMA header produced unknown type errors in HIP RTC
Previously, HIP RTC programs that included the `rocwmma/rocwmma.hpp` header failed to compile with unknown type name errors.
## ROCm upcoming changes
Future releases will add support for:
* Additional ROCm Core SDK components
* Domain-specific expansion toolkits (data science, life science, finance,
simulation, and other HPC domains)
* More AMD hardware support
-338
View File
@@ -1,338 +0,0 @@
# Transition guide from legacy ROCm release stream
[ROCm Core SDK 7.13.0](https://rocm-stg.amd.com/en/docs-7.13.0/index.html#rocm-core-sdk) marks a step change from the ROCm legacy release stream. It is a preview release built on our new build system, TheRock.
## Major changes
<table class="rocm-docs-table table">
<thead>
<tr>
<th class="head">Feature</th>
<th class="head">ROCm Core SDK</th>
<th class="head">ROCm Legacy</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>Installation directory</td>
<td><code class="docutils literal notranslate"><span class="pre">/opt/rocm/core</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">/opt/rocm/</span></code></td>
<td>To support additional release streams downstream of the ROCm Core SDK</td>
</tr>
<tr>
<td>Package names</td>
<td><code class="docutils literal notranslate"><span class="pre">amdrocm-[$component]</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">rocm-[$component]</span></code> or <code class="docutils literal notranslate"><span class="pre">roc[$component]</span></code> or <code class="docutils literal notranslate"><span class="pre">hip[$component]</span></code></td>
<td>Unique package prefix to avoid conflicts with upstream packages</td>
</tr>
<tr>
<td>Extras directory</td>
<td><code class="docutils literal notranslate"><span class="pre">/opt/rocm/extras-7/</span></code></td>
<td>N/A</td>
<td>Shared install prefix scoped to each ROCm major version for projects built on the ROCm Core SDK</td>
</tr>
</tbody>
</table>
## Paths and linking
ROCm Core SDK 7.13.0 maintains ABI and API compatibility with the ROCm 7.2
legacy releases, so recompilation is not required. For installations using your
Linux distribution's package manager, the `amdrocm` meta package configures
`update-alternatives` and provides backward-compatible symlinks for
`/opt/rocm/bin`, `/opt/rocm/lib`, and other `/opt/rocm/` directories. For
tarball installs, update `PATH`, `LD_LIBRARY_PATH`, `ROCM_PATH`, or other
environment variables to reflect the new installation path (`/opt/rocm/core`).
## Software packages
ROCm Core SDK packages are more consolidated than the legacy ROCm release
stream. For example, hipBLAS and rocBLAS are now combined into one package,
`amdrocm-blas`. The table below lists new packages, their contents, and the
corresponding legacy packages.
> **Note:** ASAN packages are not available in 7.13.0 and are planned for a future release.
(linux-packages-available-in-rocm-7-13-0)=
### Linux packages available in ROCm 7.13.0
<table class="rocm-docs-table table">
<thead>
<tr>
<th class="head">ROCm Core SDK Package</th>
<th class="head">Package Contents</th>
<th class="head">ROCm Legacy Package</th>
</tr>
</thead>
<tbody>
<tr>
<td>amdrocm-amdsmi</td>
<td>amd-smi</td>
<td>amd-smi-lib, rocm-smi-lib</td>
</tr>
<tr>
<td>amdrocm-llvm</td>
<td>amdclang++, hipcc, flang</td>
<td>rocm-llvm, rocm-llvm-dev, Fortran compiler (included in rocm-llvm OpenMP runtime)</td>
</tr>
<tr>
<td>amdrocm-runtime</td>
<td>HIP, ROCR, runtime compilation</td>
<td>hip-runtime-amd, rocm-hip-runtime, rocm-language-runtime, hsa-rocr, comgr</td>
</tr>
<tr>
<td>amdrocm-fft</td>
<td>rocFFT, hipFFT, hipFFTW</td>
<td>rocfft, hipfft</td>
</tr>
<tr>
<td>amdrocm-blas</td>
<td>rocBLAS, hipBLAS, hipBLASLt, hipSPARSELt</td>
<td>rocblas, hipblas, hipblaslt, hipsparselt</td>
</tr>
<tr>
<td>amdrocm-sparse</td>
<td>rocSPARSE, hipSPARSE</td>
<td>rocsparse, hipsparse</td>
</tr>
<tr>
<td>amdrocm-solver</td>
<td>rocSOLVER, hipSOLVER</td>
<td>rocsolver, hipsolver, rocalution</td>
</tr>
<tr>
<td>amdrocm-dnn</td>
<td>hipDNN, MIOpen</td>
<td>miopen-hip</td>
</tr>
<tr>
<td>amdrocm-rand</td>
<td>rocRAND, hipRAND</td>
<td>rocrand, hiprand</td>
</tr>
<tr>
<td>amdrocm-ccl</td>
<td>rocPRIM, rocThrust, hipCUB</td>
<td>rocprim, rocthrust, hipcub, rocwmma</td>
</tr>
<tr>
<td>amdrocm-profiler</td>
<td>rocprofiler-systems, rocprofiler-compute, rocprofiler-sdk, roctracer</td>
<td>rocprofiler, rocprofiler-compute, rocprofiler-systems, rocprofiler-sdk, roctracer</td>
</tr>
<tr>
<td>amdrocm-profiler-base</td>
<td>rocprofiler-sdk, roctracer</td>
<td>rocprofiler-register, roctracer, hsa-amd-aqlprofile</td>
</tr>
<tr>
<td>amdrocm-base</td>
<td>rocminfo, rocm-core</td>
<td>rocm-core, rocminfo, rocm-cmake, half</td>
</tr>
<tr>
<td>amdrocm-ck</td>
<td>Composable Kernel</td>
<td>composablekernel</td>
</tr>
<tr>
<td>amdrocm-debugger</td>
<td>rocgdb, ROCdbgapi, ROCr Debug Agent</td>
<td>rocm-gdb, rocm-dbgapi, rocm-debug-agent</td>
</tr>
<tr>
<td>amdrocm-hipify</td>
<td>HIPIFY</td>
<td>hipify-clang</td>
</tr>
<tr>
<td>amdrocm-opencl</td>
<td>OpenCL runtime and ICD loader</td>
<td>rocm-opencl-runtime, rocm-opencl, hip-opencl</td>
</tr>
<tr>
<td>amdrocm-decode</td>
<td>rocDecode (newly included in the ROCm Core SDK)</td>
<td>rocdecode</td>
</tr>
<tr>
<td>amdrocm-jpeg</td>
<td>rocJPEG (newly included in the ROCm Core SDK)</td>
<td>rocjpeg</td>
</tr>
<tr>
<td>amdrocm-rccl</td>
<td>rccl</td>
<td>rccl</td>
</tr>
<tr>
<td>amdrocm-rocshmem</td>
<td>rocSHMEM</td>
<td>rocshmem</td>
</tr>
<tr>
<td>amdrocm-rdc</td>
<td>ROCm Data Center Tool (newly included in the ROCm Core SDK)</td>
<td>rdc</td>
</tr>
<tr>
<td>amdrocm-sysdeps</td>
<td>Bundled third-party dependencies (libdrm, libelf, numa, libVA)</td>
<td>System dependencies</td>
</tr>
</tbody>
</table>
Packages are offered in the following variants:
- **For all supported GPUs** -- works across all GPUs supported by ROCm (for example, `apt install amdrocm-core-sdk7.13`).
- **For a specific GPU architecture** -- smaller install size, but requires you to know the GPU installed in your system (for example, `apt install amdrocm-core-sdk7.13-gfx110x`).
Installing all GPU architectures is not required. You can install packages for a specific architecture, multiple architectures side by side, or all supported GPU architectures.
When redistributing software built on the ROCm Core SDK (for example, via containers), we recommend the all GPU package variant for broad hardware support. If disk footprint is a concern, you can use a single GPU architecture package variant instead.
### Architecture-specific packages available in ROCm 7.13.0
<table class="rocm-docs-table table">
<thead>
<tr>
<th class="head">Architecture Family</th>
<th class="head">Package Suffix</th>
<th class="head">Product Name (Not Exhaustive)</th>
</tr>
</thead>
<tbody>
<tr>
<td>CDNA4</td>
<td>-gfx950</td>
<td>AMD Instinct MI355X / MI350X</td>
</tr>
<tr>
<td>CDNA3</td>
<td>-gfx94x</td>
<td>AMD Instinct MI325X / MI300X / MI300A</td>
</tr>
<tr>
<td>CDNA2</td>
<td>-gfx90a</td>
<td>AMD Instinct MI250X / MI250 / MI210</td>
</tr>
<tr>
<td>CDNA</td>
<td>-gfx908</td>
<td>AMD Instinct MI100</td>
</tr>
<tr>
<td>RDNA4</td>
<td>-gfx120x</td>
<td>AMD Radeon RX 9070 / AMD Radeon RX 9060 / AMD Radeon RX 9070 XT / AMD Radeon RX 9060 XT / AMD Radeon RX 9070 GRE / AMD Radeon AI PRO R9700 / AMD Radeon AI PRO R9600D / AMD Radeon RX 9060 XT LP</td>
</tr>
<tr>
<td>RDNA3.5</td>
<td>-gfx1150<br>-gfx1151<br>-gfx1152</td>
<td>AMD Ryzen AI 9 465 / AMD Ryzen AI 9 365 / AMD Ryzen AI 9 HX 475 / AMD Ryzen AI 9 HX 470 / AMD Ryzen AI 9 HX 375 / AMD Ryzen AI 9 HX 370 / AMD Ryzen AI 9 PRO 465 / AMD Ryzen AI 9 PRO HX 475 / AMD Ryzen AI 9 PRO HX 470 / AMD Ryzen AI 9 HX PRO 375 / AMD Ryzen AI 9 HX PRO 370 / AMD Ryzen AI Max 390 / AMD Ryzen AI Max 385 / AMD Ryzen AI Max+ 395 / AMD Ryzen AI Max+ 392 / AMD Ryzen AI Max+ 388 / AMD Ryzen AI Max PRO 390 / AMD Ryzen AI Max PRO 385 / AMD Ryzen AI Max PRO 380 / AMD Ryzen AI Max+ PRO 395 / AMD Ryzen AI 7 450 / AMD Ryzen AI 7 350 / AMD Ryzen AI 7 345 / AMD Ryzen AI 5 340 / AMD Ryzen AI 5 330 / AMD Ryzen AI 7 PRO 450 / AMD Ryzen AI 5 PRO 440 / AMD Ryzen AI 7 PRO 350 / AMD Ryzen AI 5 PRO 340</td>
</tr>
<tr>
<td>RDNA3</td>
<td>-gfx110x</td>
<td>AMD Radeon RX 7700 / AMD Radeon RX 7600 / AMD Radeon PRO V710 / AMD Radeon PRO W7900 / AMD Radeon PRO W7800 / AMD Radeon PRO W7700 / AMD Radeon RX 7900 XT / AMD Radeon RX 7800 XT / AMD Radeon RX 7700 XT / AMD Radeon RX 7700 XE / AMD Radeon RX 7900 XTX / AMD Radeon RX 7900 GRE / AMD Radeon PRO W7800 48GB / AMD Radeon PRO W7900 Dual Slot</td>
</tr>
<tr>
<td>RDNA2</td>
<td>-gfx1030</td>
<td>AMD Radeon PRO V620 / AMD Radeon PRO W6800</td>
</tr>
</tbody>
</table>
## ROCm Core SDK component changes (moved or removed)
### Planned for future releases
- ROCm Core SDK: RPP
- ROCm-Extras: hipfort, rocALUTION, rocPyDecode, rocAL, MIVisionX
### Moved to ROCm-Extras
- ROCm Validation Suite
- ROCm Bandwidth Test
- TransferBench
- MIGraphX
### Moved to Standalone/ONNX
- ONNX runtime
### Removed
- [ROCm SMI](https://rocm.docs.amd.com/en/latest/about/release-notes.html#rocm-smi-deprecation) (replaced by AMD SMI)
## Notable package relocations
- rocMLIR (now included in MIGraphX)
- HIPCC (now included in `amdrocm-llvm`)
- FLANG (now included in `amdrocm-llvm`)
- ROCm CMake (now in `amdrocm-base`)
- ROCTracer (now in `amdrocm-profiler-base`)
- ROCProfiler (functionality in `amdrocm-profiler`)
## Components available in the ROCm Core SDK, ROCm-Extras, and Standalone/ONNX
<table class="rocm-docs-table table">
<thead>
<tr>
<th class="head"></th>
<th class="head">Category</th>
<th class="head">Present</th>
<th class="head">Absent/Moved</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="6" class="stub" style="vertical-align: middle"><strong>ROCm Core SDK</strong></td>
<td>Math and compute libraries</td>
<td>CK, hipBLAS, hipBLASLt, hipCUB, hipFFT, hipRAND, hipSOLVER, hipSPARSE/SPARSELt, MIOpen, rocBLAS, rocFFT, rocRAND, rocSOLVER, rocSPARSE, rocPRIM, rocThrust, rocWMMA</td>
<td>hipfort, rocALUTION</td>
</tr>
<tr>
<td>Communication libraries</td>
<td>RCCL, rocSHMEM</td>
<td>—</td>
</tr>
<tr>
<td>Media libraries</td>
<td>rocDecode, rocJPEG, ROCm Performance Primitives (RPP planned for a future release)</td>
<td>rocPyDecode, rocAL, MIVisionX, MIGraphX, CK (moved to math and compute)</td>
</tr>
<tr>
<td>Runtime, compilers, build tools</td>
<td>HIP, HIPIFY, LLVM</td>
<td>HIPCC, FLANG, ROCm CMake</td>
</tr>
<tr>
<td>Profiling and debugging tools</td>
<td>ROCm Compute Profiler, ROCm Systems Profiler, ROCprofiler-SDK, ROCdbgapi, ROCm Debugger, ROCr Debug Agent</td>
<td>ROCTracer, ROCProfiler</td>
</tr>
<tr>
<td>Control and monitoring tools</td>
<td>AMD SMI, ROCm Data Center Tool, rocminfo, hipinfo</td>
<td>ROCm SMI (removed), ROCm Validation Suite, ROCm Bandwidth Test</td>
</tr>
<tr>
<td style="vertical-align: middle"><strong>ROCm-Extras</strong></td>
<td>—</td>
<td>ROCm Validation Suite, ROCm Bandwidth Test, TransferBench, MIGraphX</td>
<td>—</td>
</tr>
<tr>
<td style="vertical-align: middle"><strong>Standalone/ONNX</strong></td>
<td>—</td>
<td>rocMLIR, ONNX runtime</td>
<td>—</td>
</tr>
</tbody>
</table>
-124
View File
@@ -1,124 +0,0 @@
********************************
ComfyUI image generation on ROCm
********************************
`ComfyUI <https://github.com/comfyanonymous/ComfyUI>`__ is an open-source,
node-based interface for building and running image generation workflows with
diffusion models such as Stable Diffusion. Its modular graph-based design lets
you construct, customize, and share complex pipelines without writing code. This
page walks through installing and running ComfyUI on AMD GPUs.
Prerequisites
=============
Ensure your working environment is running ROCm-enabled PyTorch on
a :ref:`supported system <compat-matrix>`. See :ref:`pytorch-install` for
instructions.
.. important::
On Windows, ComfyUI might not start if Smart App Control is enabled in your
Windows security settings.
Installation
============
After installing ROCm and PyTorch in your Python environment, follow these
steps to install ComfyUI.
1. Clone the ComfyUI repository.
.. code-block:: shell
git clone https://github.com/comfyanonymous/ComfyUI.git
2. Activate your Python virtual environment and install dependencies.
.. tab-set::
.. tab-item:: Linux
:sync: linux
.. code-block:: bash
pip install -r ComfyUI/requirements.txt
.. tab-item:: Windows
:sync: windows
.. code-block:: bat
pip install -r ComfyUI\requirements.txt
Run ComfyUI
===========
Use the following steps for a simple example of running ComfyUI.
1. Start the ComfyUI server from the command line.
.. tab-set::
.. tab-item:: Linux
:sync: linux
.. code-block:: bash
python ComfyUI/main.py
.. tab-item:: Windows
:sync: windows
.. code-block:: bat
python ComfyUI\main.py
This starts the server, displaying a prompt like:
.. code-block:: text
To see the GUI go to: http://127.0.0.1:8188
2. Go to ``http://127.0.0.1:8188`` in your web browser. You might need to
replace ``8188`` with the appropriate port.
.. image:: ./images/comfyui/comfyui-main.png
:align: center
3. Search for one of the following templates and download any missing
models.
.. tab-set::
.. tab-item:: SD3.5 Simple
Select **Template****Model Filter****SD3.5****SD3.5 Simple**
.. image:: ./images/comfyui/sd3_5-simple-card.png
:align: center
Download required models, if missing.
.. image:: ./images/comfyui/sd3_5-missing-models.png
:align: center
.. tab-item:: Chroma1 Radiance text to image
Select **Template****Model Filter****Chroma****Chroma1 Radiance text to image**
.. image:: ./images/comfyui/chroma1-radiance-tti-card.png
:align: center
Download required models, if missing.
.. image:: ./images/comfyui/chroma1-radiance-tti-missing-models.png
:align: center
4. Click the **Run** button.
The application will use your AMD GPU to convert the prompted text to an image.
.. seealso::
To learn more about the ComfyUI interface and workflows, see the `ComfyUI
documentation <https://docs.comfy.org/development/core-concepts/workflow>`__.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 778 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 KiB

-694
View File
@@ -1,694 +0,0 @@
:selector-toc2: Installation environment
:selector-toc2-icon: fa-solid fa-computer
.. meta::
:description: Learn how to validate LLM inference performance on MI300X GPUs using AMD MAD and the ROCm vLLM Docker image.
:keywords: model, MAD, automation, dashboarding, validate
.. |VLLM_VERSION| replace:: 0.19.1
.. |VLLM_DOCKER_TAG_GFX950| replace:: rocm/vllm:rocm7.13.0_gfx950-dcgpu_ubuntu24.04_py3.13_pytorch_2.10.0_vllm_0.19.1
.. |VLLM_DOCKER_TAG_GFX94X| replace:: rocm/vllm:rocm7.13.0_gfx94X-dcgpu_ubuntu24.04_py3.13_pytorch_2.10.0_vllm_0.19.1
.. |VLLM_DOCKER_TAG_GFX120X-ALL| replace:: rocm/vllm:rocm7.13.0_gfx120X-all_ubuntu24.04_py3.13_pytorch_2.10.0_vllm_0.19.1
.. |VLLM_DOCKER_TAG_GFX110X-ALL| replace:: rocm/vllm:rocm7.13.0_gfx110X-all_ubuntu24.04_py3.13_pytorch_2.10.0_vllm_0.19.1
.. |VLLM_DOCKER_TAG_GFX1151| replace:: rocm/vllm:rocm7.13.0_gfx1151_ubuntu24.04_py3.13_pytorch_2.10.0_vllm_0.19.1
.. |VLLM_DOCKER_TAG_GFX1150| replace:: rocm/vllm:rocm7.13.0_gfx1150_ubuntu24.04_py3.13_pytorch_2.10.0_vllm_0.19.1
.. |VLLM_DOCKER_TAG_GFX1152| replace:: rocm/vllm:rocm7.13.0_gfx1152_ubuntu24.04_py3.13_pytorch_2.10.0_vllm_0.19.1
.. |VLLM_DOC| replace:: `vLLM <https://docs.vllm.ai/en/v0.19.1/>`__
.. |VLLM_USAGE_DOC| replace:: `Using vLLM <https://docs.vllm.ai/en/v0.19.1/usage/>`__
.. |VLLM_DOCKER_INSTALL_DOC| replace:: `Set up using Docker (vLLM docs) <https://docs.vllm.ai/en/v0.19.1/getting_started/installation/gpu/#amd-rocm_5>`__
.. |VLLM_PIP_INSTALL_DOC| replace:: `Set up using Python (vLLM docs) <https://docs.vllm.ai/en/v0.19.1/getting_started/installation/gpu/#amd-rocm_3>`__
**********************************
vLLM inference and serving on ROCm
**********************************
|VLLM_DOC| is an open-source library for fast, memory-efficient LLM inference
and serving. This page describes how to set up and run vLLM on AMD GPUs and
APUs using either a prebuilt Docker image (recommended) or pip. It applies to
:ref:`supported AMD GPUs and platforms <release-ai-ecosystem>`.
.. selector:: Device family
:key: fam
.. selector-option:: AMD Instinct™
:value: instinct w=compute
:width: 4
:toc-label: AMD Instinct
.. selector-option:: AMD Radeon™
:value: radeon w=compute
:width: 4
:toc-label: AMD Radeon
.. selector-option:: AMD Ryzen™
:value: ryzen w=compute
:width: 4
:toc-label: AMD Ryzen
.. ================================================================ GPU / APU ==
.. selected:: fam=instinct fam=radeon fam=ryzen
.. selector-dropdown:: Instinct GPU
:key: gpu
:show-cond: fam=instinct
.. selector-option:: AMD Instinct MI355X (gfx950)
:value: mi355x gfx=gfx950
.. selector-option:: AMD Instinct MI350X (gfx950)
:value: mi350x gfx=gfx950
.. selector-option:: AMD Instinct MI350P (gfx950)
:value: mi350p gfx=gfx950
.. selector-option:: AMD Instinct MI325X (gfx942)
:value: mi325x gfx=gfx942
.. selector-option:: AMD Instinct MI300X (gfx942)
:value: mi300x gfx=gfx942
.. selector-option:: AMD Instinct MI300A (gfx942)
:value: mi300a gfx=gfx942
.. selector-dropdown:: Radeon GPU
:key: gpu
:show-cond: fam=radeon
.. selector-option:: AMD Radeon AI PRO R9700 (gfx1201)
:value: ai-r9700 gfx=gfx1201
.. selector-option:: AMD Radeon AI PRO R9600D (gfx1201)
:value: ai-r9600d gfx=gfx1201
.. selector-option:: AMD Radeon RX 9070 XT (gfx1201)
:value: rx-9070-xt gfx=gfx1201
.. selector-option:: AMD Radeon RX 9070 GRE (gfx1201)
:value: rx-9070-gre gfx=gfx1201
.. selector-option:: AMD Radeon RX 9070 (gfx1201)
:value: rx-9070 gfx=gfx1201
.. selector-option:: AMD Radeon RX 9060 XT LP (gfx1200)
:value: rx-9060-xt-lp gfx=gfx1200
.. selector-option:: AMD Radeon RX 9060 XT (gfx1200)
:value: rx-9060-xt gfx=gfx1200
.. selector-option:: AMD Radeon RX 9060 (gfx1200)
:value: rx-9060 gfx=gfx1200
.. selector-option:: AMD Radeon PRO W7900 Dual Slot (gfx1100)
:value: w7900-dual-slot gfx=gfx1100
.. selector-option:: AMD Radeon PRO W7900 (gfx1100)
:value: w7900 gfx=gfx1100
.. selector-option:: AMD Radeon PRO W7800 48GB (gfx1100)
:value: w7800-48gb gfx=gfx1100
.. selector-option:: AMD Radeon PRO W7800 (gfx1100)
:value: w7800 gfx=gfx1100
.. selector-option:: AMD Radeon RX 7900 XTX (gfx1100)
:value: rx-7900-xtx gfx=gfx1100
.. selector-option:: AMD Radeon RX 7900 XT (gfx1100)
:value: rx-7900-xt gfx=gfx1100
.. selector-option:: AMD Radeon RX 7900 GRE (gfx1100)
:value: rx-7900-gre gfx=gfx1100
.. selector-option:: AMD Radeon PRO W7700 (gfx1101)
:value: w7700 gfx=gfx1101
.. selector-option:: AMD Radeon RX 7800 XT (gfx1101)
:value: rx-7800-xt gfx=gfx1101
.. selector-option:: AMD Radeon RX 7700 XT (gfx1101)
:value: rx-7700-xt gfx=gfx1101
.. selector-option:: AMD Radeon RX 7700 XE (gfx1101)
:value: rx-7700-xe gfx=gfx1101
.. selector-option:: AMD Radeon RX 7700 (gfx1101)
:value: rx-7700 gfx=gfx1101
.. selector-option:: AMD Radeon PRO V710 (gfx1101)
:value: v710 gfx=gfx1101
.. selector-option:: AMD Radeon RX 7600 (gfx1102)
:value: rx-7600 gfx=gfx1102
.. selector-dropdown:: Ryzen APU
:key: gpu
:show-cond: fam=ryzen
.. selector-option:: AMD Ryzen AI Max+ PRO 395 (gfx1151)
:value: max-pro-395 gfx=gfx1151
.. selector-option:: AMD Ryzen AI Max PRO 390 (gfx1151)
:value: max-pro-390 gfx=gfx1151
.. selector-option:: AMD Ryzen AI Max PRO 385 (gfx1151)
:value: max-pro-385 gfx=gfx1151
.. selector-option:: AMD Ryzen AI Max PRO 380 (gfx1151)
:value: max-pro-380 gfx=gfx1151
.. selector-option:: AMD Ryzen AI Max+ 395 (gfx1151)
:value: max-395 gfx=gfx1151
.. selector-option:: AMD Ryzen AI Max+ 392 (gfx1151)
:value: max-392 gfx=gfx1151
.. selector-option:: AMD Ryzen AI Max+ 388 (gfx1151)
:value: max-388 gfx=gfx1151
.. selector-option:: AMD Ryzen AI Max 390 (gfx1151)
:value: max-390 gfx=gfx1151
.. selector-option:: AMD Ryzen AI Max 385 (gfx1151)
:value: max-385 gfx=gfx1151
.. selector-option:: AMD Ryzen AI 9 PRO HX 475 (gfx1150)
:value: ai-9-pro-hx-475 gfx=gfx1150
.. selector-option:: AMD Ryzen AI 9 PRO HX 470 (gfx1150)
:value: ai-9-pro-hx-470 gfx=gfx1150
.. selector-option:: AMD Ryzen AI 9 PRO 465 (gfx1150)
:value: ai-9-pro-465 gfx=gfx1150
.. selector-option:: AMD Ryzen AI 7 PRO 450 (gfx1152)
:value: ai-7-pro-450 gfx=gfx1152
.. selector-option:: AMD Ryzen AI 5 PRO 440 (gfx1152)
:value: ai-5-pro-440 gfx=gfx1152
.. selector-option:: AMD Ryzen AI 9 HX 475 (gfx1150)
:value: ai-9-hx-475 gfx=gfx1150
.. selector-option:: AMD Ryzen AI 9 HX 470 (gfx1150)
:value: ai-9-hx-470 gfx=gfx1150
.. selector-option:: AMD Ryzen AI 9 465 (gfx1150)
:value: ai-9-465 gfx=gfx1150
.. selector-option:: AMD Ryzen AI 7 450 (gfx1152)
:value: ai-7-450 gfx=gfx1152
.. selector-option:: AMD Ryzen AI 9 HX PRO 375 (gfx1150)
:value: 9-hx-pro-375 gfx=gfx1150
.. selector-option:: AMD Ryzen AI 9 HX PRO 370 (gfx1150)
:value: 9-hx-pro-370 gfx=gfx1150
.. selector-option:: AMD Ryzen AI 7 PRO 350 (gfx1152)
:value: ai-7-pro-350 gfx=gfx1152
.. selector-option:: AMD Ryzen AI 5 PRO 340 (gfx1152)
:value: ai-5-pro-340 gfx=gfx1152
.. selector-option:: AMD Ryzen AI 9 HX 375 (gfx1150)
:value: 9-hx-375 gfx=gfx1150
.. selector-option:: AMD Ryzen AI 9 HX 370 (gfx1150)
:value: 9-hx-370 gfx=gfx1150
.. selector-option:: AMD Ryzen AI 9 365 (gfx1150)
:value: 9-365 gfx=gfx1150
.. selector-option:: AMD Ryzen AI 7 350 (gfx1152)
:value: ai-7-350 gfx=gfx1152
.. selector-option:: AMD Ryzen AI 7 345 (gfx1152)
:value: ai-7-345 gfx=gfx1152
.. selector-option:: AMD Ryzen AI 5 340 (gfx1152)
:value: ai-5-340 gfx=gfx1152
.. selector-option:: AMD Ryzen AI 5 330 (gfx1152)
:value: ai-5-330 gfx=gfx1152
.. selector:: vLLM version
:key: vllm-ver
.. selector-option:: 0.19.1
:value: 0.19.1
:width: 12
.. selector:: Installation method
:key: i
.. selector-option:: Docker
:value: docker
:width: 6
.. selector-option:: pip
:value: pip
:width: 6
Prerequisites
=============
.. selected:: i=docker
.. selected:: fam=instinct fam=radeon
- Ensure your system has the AMD GPU Driver (amdgpu) installed. See the
:ref:`compat-matrix` for driver support information. For installation
instructions, see the `AMD GPU Driver documentation
<https://instinct.docs.amd.com/projects/amdgpu-docs/en/31.30.0-preview/install/detailed-install/package-manager/package-manager-index.html>`__.
- Ensure the host system has `Docker Engine
<https://docs.docker.com/engine/install/>`__ and the AMD GPU Driver
(amdgpu) installed.
.. selected:: fam=ryzen
Ensure the host system has `Docker Engine
<https://docs.docker.com/engine/install/>`__ installed.
.. selected:: i=pip
.. selected:: fam=instinct fam=radeon
- Ensure your system has the AMD GPU Driver (amdgpu) installed. See the
:ref:`compat-matrix` for driver support information. For installation
instructions, see the `AMD GPU Driver documentation
<https://instinct.docs.amd.com/projects/amdgpu-docs/en/31.30.0-preview/install/detailed-install/package-manager/package-manager-index.html>`__.
- Ensure your system has :ref:`Python 3.13 <rocm-compat-python>` installed and
accessible. Review the :ref:`compat-matrix` for more support details.
- Install `uv <https://docs.astral.sh/uv/getting-started/installation/>`__,
a drop-in replacement for pip that handles custom package indexes more
predictably.
.. note::
It's recommended to use `uv <https://docs.astral.sh/uv/pip/>`__ to install
the vLLM wheel. Installing from custom package indexes with pip can be
cumbersome because pip resolves packages from both ``--extra-index-url`` and
the default index, then selects the highest available version. This makes it
difficult to install a wheel from a custom index when all dependency
versions are pinned exactly.
.. selected:: i=docker
:heading: Get started
.. selected:: gfx=gfx950
1. Pull the ROCm vLLM |VLLM_VERSION| Docker image.
.. code-block:: bash
:substitutions:
docker pull |VLLM_DOCKER_TAG_GFX950|
2. Start the Docker container.
.. code-block:: bash
:substitutions:
docker run -it --rm \
--device /dev/kfd \
--device /dev/dri \
--network=host \
--ipc=host \
--group-add=video \
--cap-add=SYS_PTRACE \
--security-opt seccomp=unconfined \
-v <path/to/your/models>:/app/models \
-e HF_HOME="/app/models" \
|VLLM_DOCKER_TAG_GFX950| \
bash
.. selected:: gfx=gfx942
1. Pull the ROCm vLLM |VLLM_VERSION| Docker image.
.. code-block:: bash
:substitutions:
docker pull |VLLM_DOCKER_TAG_GFX94X|
2. Start the Docker container.
.. code-block:: bash
:substitutions:
docker run -it --rm \
--device /dev/kfd \
--device /dev/dri \
--network=host \
--ipc=host \
--group-add=video \
--cap-add=SYS_PTRACE \
--security-opt seccomp=unconfined \
-v <path/to/your/models>:/app/models \
-e HF_HOME="/app/models" \
|VLLM_DOCKER_TAG_GFX94X| \
bash
.. selected:: gfx=gfx1201 gfx=gfx1200
1. Pull the ROCm vLLM Docker image.
.. code-block:: bash
:substitutions:
docker pull |VLLM_DOCKER_TAG_GFX120X-ALL|
2. Start the Docker container.
.. code-block:: bash
:substitutions:
docker run -it --rm \
--device /dev/kfd \
--device /dev/dri \
--network=host \
--ipc=host \
--group-add=video \
--cap-add=SYS_PTRACE \
--security-opt seccomp=unconfined \
-v <path/to/your/models>:/app/models \
-e HF_HOME="/app/models" \
|VLLM_DOCKER_TAG_GFX120X-ALL| \
bash
.. selected:: gfx=gfx1100 gfx=gfx1101 gfx=gfx1102
1. Pull the ROCm vLLM Docker image.
.. code-block:: bash
:substitutions:
docker pull |VLLM_DOCKER_TAG_GFX110X-ALL|
2. Start the Docker container.
.. code-block:: bash
:substitutions:
docker run -it --rm \
--device /dev/kfd \
--device /dev/dri \
--network=host \
--ipc=host \
--group-add=video \
--cap-add=SYS_PTRACE \
--security-opt seccomp=unconfined \
-v <path/to/your/models>:/app/models \
-e HF_HOME="/app/models" \
|VLLM_DOCKER_TAG_GFX110X-ALL| \
bash
.. selected:: gfx=gfx1151
1. Pull the ROCm vLLM Docker image.
.. code-block:: bash
:substitutions:
docker pull |VLLM_DOCKER_TAG_GFX1151|
2. Start the Docker container.
.. code-block:: bash
:substitutions:
docker run -it --rm \
--device /dev/kfd \
--device /dev/dri \
--network=host \
--ipc=host \
--group-add=video \
--cap-add=SYS_PTRACE \
--security-opt seccomp=unconfined \
-v <path/to/your/models>:/app/models \
-e HF_HOME="/app/models" \
|VLLM_DOCKER_TAG_GFX1151| \
bash
.. selected:: gfx=gfx1150
1. Pull the ROCm vLLM Docker image.
.. code-block:: bash
:substitutions:
docker pull |VLLM_DOCKER_TAG_GFX1150|
2. Start the Docker container.
.. code-block:: bash
:substitutions:
docker run -it --rm \
--device /dev/kfd \
--device /dev/dri \
--network=host \
--ipc=host \
--group-add=video \
--cap-add=SYS_PTRACE \
--security-opt seccomp=unconfined \
-v <path/to/your/models>:/app/models \
-e HF_HOME="/app/models" \
|VLLM_DOCKER_TAG_GFX1150| \
bash
.. selected:: gfx=gfx1152
1. Pull the ROCm vLLM Docker image.
.. code-block:: bash
:substitutions:
docker pull |VLLM_DOCKER_TAG_GFX1152|
2. Start the Docker container.
.. code-block:: bash
:substitutions:
docker run -it --rm \
--device /dev/kfd \
--device /dev/dri \
--network=host \
--ipc=host \
--group-add=video \
--cap-add=SYS_PTRACE \
--security-opt seccomp=unconfined \
-v <path/to/your/models>:/app/models \
-e HF_HOME="/app/models" \
|VLLM_DOCKER_TAG_GFX1152| \
bash
.. seealso::
|VLLM_DOCKER_INSTALL_DOC|
3. After setting up your environment, follow the vLLM |VLLM_VERSION| usage
documentation to get started: |VLLM_USAGE_DOC|.
.. selected:: i=pip
:heading: Install vLLM using pip
1. Set up your Python virtual environment.
.. code-block:: shell
python -m venv .venv
2. Activate your Python virtual environment.
.. code-block:: shell
source .venv/bin/activate
3. Install PyTorch 2.10 in your virtual environment. This should also
install the ROCm core libraries as a dependency.
.. note::
``torchvision`` 0.25 must be installed alongside PyTorch — vLLM
requires it and will fail without it.
.. selected:: gfx=gfx950
.. code-block:: bash
python -m pip install --index-url https://repo.amd.com/rocm/whl/gfx950-dcgpu/ \
"torch==2.10.0+rocm7.13.0" \
"torchvision==0.25.0+rocm7.13.0" \
"torchaudio==2.10.0+rocm7.13.0"
.. selected:: gfx=gfx942
.. code-block:: bash
python -m pip install --index-url https://repo.amd.com/rocm/whl/gfx94X-dcgpu/ \
"torch==2.10.0+rocm7.13.0" \
"torchvision==0.25.0+rocm7.13.0" \
"torchaudio==2.10.0+rocm7.13.0"
.. selected:: gfx=gfx1201 gfx=gfx1200
.. code-block:: bash
python -m pip install --index-url https://repo.amd.com/rocm/whl/gfx120X-all/ \
"torch==2.10.0+rocm7.13.0" \
"torchvision==0.25.0+rocm7.13.0" \
"torchaudio==2.10.0+rocm7.13.0"
.. selected:: gfx=gfx1100 gfx=gfx1101 gfx=gfx1102 gfx=gfx1103
.. code-block:: bash
python -m pip install --index-url https://repo.amd.com/rocm/whl/gfx110X-all/ \
"torch==2.10.0+rocm7.13.0" \
"torchvision==0.25.0+rocm7.13.0" \
"torchaudio==2.10.0+rocm7.13.0"
.. selected:: gfx=gfx1151
.. code-block:: bash
python -m pip install --index-url https://repo.amd.com/rocm/whl/gfx1151/ \
"torch==2.10.0+rocm7.13.0" \
"torchvision==0.25.0+rocm7.13.0" \
"torchaudio==2.10.0+rocm7.13.0"
.. selected:: gfx=gfx1150
.. code-block:: bash
python -m pip install --index-url https://repo.amd.com/rocm/whl/gfx1150/ \
"torch==2.10.0+rocm7.13.0" \
"torchvision==0.25.0+rocm7.13.0" \
"torchaudio==2.10.0+rocm7.13.0"
.. selected:: gfx=gfx1152
.. code-block:: bash
python -m pip install --index-url https://repo.amd.com/rocm/whl/gfx1152/ \
"torch==2.10.0+rocm7.13.0" \
"torchvision==0.25.0+rocm7.13.0" \
"torchaudio==2.10.0+rocm7.13.0"
4. Install Flash Attention.
.. selected:: gfx=gfx950
.. code-block:: bash
python -m pip install https://rocm.frameworks.amd.com/whl/gfx950-dcgpu/flash_attn-2.8.3-cp313-cp313-linux_x86_64.whl
.. selected:: gfx=gfx942
.. code-block:: bash
python -m pip install https://rocm.frameworks.amd.com/whl/gfx94X-dcgpu/flash_attn-2.8.3-cp313-cp313-linux_x86_64.whl
.. selected:: gfx=gfx1201 gfx=gfx1200
.. code-block:: bash
python -m pip install https://rocm.frameworks.amd.com/whl/gfx120X-all/flash_attn-2.8.3-py3-none-any.whl
.. selected:: gfx=gfx1100 gfx=gfx1101 gfx=gfx1102
.. code-block:: bash
python -m pip install https://rocm.frameworks.amd.com/whl/gfx110X-all/flash_attn-2.8.3-py3-none-any.whl
.. selected:: gfx=gfx1151
.. code-block:: bash
python -m pip install https://rocm.frameworks.amd.com/whl/gfx1151/flash_attn-2.8.3-py3-none-any.whl
.. selected:: gfx=gfx1150
.. code-block:: bash
python -m pip install https://rocm.frameworks.amd.com/whl/gfx1150/flash_attn-2.8.3-py3-none-any.whl
.. selected:: gfx=gfx1152
.. code-block:: bash
python -m pip install https://rocm.frameworks.amd.com/whl/gfx1152/flash_attn-2.8.3-py3-none-any.whl
5. Install the vLLM |VLLM_VERSION| wheel using ``uv pip``.
.. selected:: gfx=gfx950
.. code-block:: bash
uv pip install https://rocm.frameworks.amd.com/whl/gfx950-dcgpu/vllm-0.19.1.dev3%2Brocm7.13.0.g24efb8904.d20260514-cp313-cp313-linux_x86_64.whl
.. selected:: gfx=gfx942
.. code-block:: bash
uv pip install https://rocm.frameworks.amd.com/whl/gfx94X-dcgpu/vllm-0.19.1.dev3%2Brocm7.13.0.g24efb8904.d20260514-cp313-cp313-linux_x86_64.whl
.. selected:: gfx=gfx1201 gfx=gfx1200
.. code-block:: bash
uv pip install https://rocm.frameworks.amd.com/whl/gfx120X-all/vllm-0.19.1.dev3%2Brocm7.13.0.g24efb8904.d20260514-cp313-cp313-linux_x86_64.whl
.. selected:: gfx=gfx1100 gfx=gfx1101 gfx=gfx1102
.. code-block:: bash
uv pip install https://rocm.frameworks.amd.com/whl/gfx110X-all/vllm-0.19.1.dev3%2Brocm7.13.0.g24efb8904.d20260514-cp313-cp313-linux_x86_64.whl
.. selected:: gfx=gfx1151
.. code-block:: bash
uv pip install https://rocm.frameworks.amd.com/whl/gfx1151/vllm-0.19.1.dev3%2Brocm7.13.0.g24efb8904.d20260514-cp313-cp313-linux_x86_64.whl
.. selected:: gfx=gfx1150
.. code-block:: bash
uv pip install https://rocm.frameworks.amd.com/whl/gfx1150/vllm-0.19.1.dev3%2Brocm7.13.0.g24efb8904.d20260514-cp313-cp313-linux_x86_64.whl
.. selected:: gfx=gfx1152
.. code-block:: bash
uv pip install https://rocm.frameworks.amd.com/whl/gfx1152/vllm-0.19.1.dev3%2Brocm7.13.0.g24efb8904.d20260514-cp313-cp313-linux_x86_64.whl
6. Set the following environment variables to prevent errors related to ROCm platform and Flash Attention availability when running vLLM.
.. code-block:: bash
export PYTHONPATH=$VIRTUAL_ENV/lib/python3.13/site-packages/_rocm_sdk_core/share/amd_smi
export FLASH_ATTENTION_TRITON_AMD_ENABLE=TRUE
7. Check your installation.
.. code-block:: bash
echo "=== vLLM ===" && python -c "import vllm; print('vLLM version:', vllm.__version__)"
echo "=== PyTorch ===" && python -c "import torch; print('PyTorch:', torch.__version__); print('HIP available:', torch.cuda.is_available()); print('HIP built:', torch.backends.hip.is_built() if hasattr(torch.backends, 'hip') else 'N/A')"
echo "=== flash-attn ===" && python -c "import flash_attn; print('flash-attn:', flash_attn.__version__)"
.. seealso::
|VLLM_PIP_INSTALL_DOC|
8. After setting up your environment, follow the vLLM |VLLM_VERSION| usage
documentation to get started: |VLLM_USAGE_DOC|.
@@ -1,5 +1,5 @@
ROCm Version,7.2.3,7.2.2/7.2.1,7.2.0,7.1.1,7.1.0,7.0.2,7.0.1/7.0.0,6.4.3,6.4.2,6.4.1,6.4.0,6.3.3,6.3.2,6.3.1,6.3.0,6.2.4,6.2.2,6.2.1,6.2.0, 6.1.5, 6.1.2, 6.1.1, 6.1.0, 6.0.2, 6.0.0
:ref:`Operating systems & kernels <OS-kernel-versions>` [#os-compatibility-past-60]_,Ubuntu 24.04.3,Ubuntu 24.04.3,Ubuntu 24.04.3,Ubuntu 24.04.3,Ubuntu 24.04.3,Ubuntu 24.04.3,Ubuntu 24.04.3,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,"Ubuntu 24.04.1, 24.04","Ubuntu 24.04.1, 24.04","Ubuntu 24.04.1, 24.04",Ubuntu 24.04,,,,,,
ROCm Version,7.2.4/7.2.3,7.2.2/7.2.1,7.2.0,7.1.1,7.1.0,7.0.2,7.0.1/7.0.0,6.4.3,6.4.2,6.4.1,6.4.0,6.3.3,6.3.2,6.3.1,6.3.0,6.2.4,6.2.2,6.2.1,6.2.0, 6.1.5, 6.1.2, 6.1.1, 6.1.0, 6.0.2, 6.0.0
:ref:`Operating systems & kernels <OS-kernel-versions>` [#os-compatibility-past-60]_,Ubuntu 24.04.4,Ubuntu 24.04.4,Ubuntu 24.04.3,Ubuntu 24.04.3,Ubuntu 24.04.3,Ubuntu 24.04.3,Ubuntu 24.04.3,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,"Ubuntu 24.04.1, 24.04","Ubuntu 24.04.1, 24.04","Ubuntu 24.04.1, 24.04",Ubuntu 24.04,,,,,,
,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,"Ubuntu 22.04.5, 22.04.4","Ubuntu 22.04.5, 22.04.4","Ubuntu 22.04.5, 22.04.4","Ubuntu 22.04.5, 22.04.4","Ubuntu 22.04.5, 22.04.4, 22.04.3","Ubuntu 22.04.4, 22.04.3","Ubuntu 22.04.4, 22.04.3","Ubuntu 22.04.4, 22.04.3","Ubuntu 22.04.4, 22.04.3, 22.04.2","Ubuntu 22.04.4, 22.04.3, 22.04.2"
,,,,,,,,,,,,,,,,,,,,"Ubuntu 20.04.6, 20.04.5","Ubuntu 20.04.6, 20.04.5","Ubuntu 20.04.6, 20.04.5","Ubuntu 20.04.6, 20.04.5","Ubuntu 20.04.6, 20.04.5","Ubuntu 20.04.6, 20.04.5"
,"RHEL 10.1, 10.0, 9.7, 9.6, 9.4","RHEL 10.1, 10.0, 9.7, 9.6, 9.4","RHEL 10.1, 10.0, 9.7, 9.6, 9.4","RHEL 10.1, 10.0, 9.7, 9.6, 9.4","RHEL 10.0, 9.6, 9.4","RHEL 10.0, 9.6, 9.4","RHEL 9.6, 9.4","RHEL 9.6, 9.4","RHEL 9.6, 9.4","RHEL 9.6, 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.4, 9.3","RHEL 9.4, 9.3","RHEL 9.4, 9.3","RHEL 9.4, 9.3","RHEL 9.4, 9.3, 9.2","RHEL 9.4, 9.3, 9.2","RHEL 9.4, 9.3, 9.2","RHEL 9.4, 9.3, 9.2","RHEL 9.3, 9.2","RHEL 9.3, 9.2"
@@ -90,7 +90,7 @@ ROCm Version,7.2.3,7.2.2/7.2.1,7.2.0,7.1.1,7.1.0,7.0.2,7.0.1/7.0.0,6.4.3,6.4.2,6
,,,,,,,,,,,,,,,,,,,,,,,,,
SUPPORT LIBS,,,,,,,,,,,,,,,,,,,,,,,,,
`hipother <https://github.com/ROCm/hipother>`_,7.2.53211,7.2.53211,7.2.26015,7.1.52802,7.1.25424,7.0.51831,7.0.51830,6.4.43483,6.4.43483,6.4.43483,6.4.43482,6.3.42134,6.3.42134,6.3.42133,6.3.42131,6.2.41134,6.2.41134,6.2.41134,6.2.41133,6.1.40093,6.1.40093,6.1.40092,6.1.40091,6.1.32831,6.1.32830
`rocm-core <https://github.com/ROCm/rocm-core>`_,7.2.3,7.2.2/7.2.1,7.2.0,7.1.1,7.1.0,7.0.2,7.0.1/7.0.0,6.4.3,6.4.2,6.4.1,6.4.0,6.3.3,6.3.2,6.3.1,6.3.0,6.2.4,6.2.2,6.2.1,6.2.0,6.1.5,6.1.2,6.1.1,6.1.0,6.0.2,6.0.0
`rocm-core <https://github.com/ROCm/rocm-core>`_,7.2.4/7.2.3,7.2.2/7.2.1,7.2.0,7.1.1,7.1.0,7.0.2,7.0.1/7.0.0,6.4.3,6.4.2,6.4.1,6.4.0,6.3.3,6.3.2,6.3.1,6.3.0,6.2.4,6.2.2,6.2.1,6.2.0,6.1.5,6.1.2,6.1.1,6.1.0,6.0.2,6.0.0
`ROCT-Thunk-Interface <https://github.com/ROCm/ROCT-Thunk-Interface>`_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,20240607.5.7,20240607.5.7,20240607.4.05,20240607.1.4246,20240125.5.08,20240125.5.08,20240125.5.08,20240125.3.30,20231016.2.245,20231016.2.245
,,,,,,,,,,,,,,,,,,,,,,,,,
SYSTEM MGMT TOOLS,.. _tools-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,,,,,,,,,,,
@@ -104,9 +104,9 @@ ROCm Version,7.2.3,7.2.2/7.2.1,7.2.0,7.1.1,7.1.0,7.0.2,7.0.1/7.0.0,6.4.3,6.4.2,6
:doc:`ROCm Bandwidth Test <rocm_bandwidth_test:index>`,2.6.0,2.6.0,2.6.0,2.6.0,2.6.0,2.6.0,2.6.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0
:doc:`ROCm Compute Profiler <rocprofiler-compute:index>`,3.4.0,3.4.0,3.4.0,3.3.1,3.3.0,3.2.3,3.2.3,3.1.1,3.1.1,3.1.0,3.1.0,3.0.0,3.0.0,3.0.0,3.0.0,2.0.1,2.0.1,2.0.1,2.0.1,N/A,N/A,N/A,N/A,N/A,N/A
:doc:`ROCm Systems Profiler <rocprofiler-systems:index>`,1.3.0,1.3.0,1.3.0,1.2.1,1.2.0,1.1.1,1.1.0,1.0.2,1.0.2,1.0.1,1.0.0,0.1.2,0.1.1,0.1.0,0.1.0,1.11.2,1.11.2,1.11.2,1.11.2,N/A,N/A,N/A,N/A,N/A,N/A
:doc:`ROCProfiler <rocprofiler:index>`,2.0.70203,2.0.70202/2.0.70201,2.0.70200,2.0.70101,2.0.70100,2.0.70002,2.0.70000,2.0.60403,2.0.60402,2.0.60401,2.0.60400,2.0.60303,2.0.60302,2.0.60301,2.0.60300,2.0.60204,2.0.60202,2.0.60201,2.0.60200,2.0.60105,2.0.60102,2.0.60101,2.0.60100,2.0.60002,2.0.60000
:doc:`ROCProfiler <rocprofiler:index>`,2.0.70204/2.0.70203,2.0.70202/2.0.70201,2.0.70200,2.0.70101,2.0.70100,2.0.70002,2.0.70000,2.0.60403,2.0.60402,2.0.60401,2.0.60400,2.0.60303,2.0.60302,2.0.60301,2.0.60300,2.0.60204,2.0.60202,2.0.60201,2.0.60200,2.0.60105,2.0.60102,2.0.60101,2.0.60100,2.0.60002,2.0.60000
:doc:`ROCprofiler-SDK <rocprofiler-sdk:index>`,1.1.0,1.1.0,1.1.0,1.0.0,1.0.0,1.0.0,1.0.0,0.6.0,0.6.0,0.6.0,0.6.0,0.5.0,0.5.0,0.5.0,0.5.0,0.4.0,0.4.0,0.4.0,0.4.0,N/A,N/A,N/A,N/A,N/A,N/A
:doc:`ROCTracer <roctracer:index>`,4.1.70203,4.1.70202/4.1.70201,4.1.70200,4.1.70101,4.1.70100,4.1.70002,4.1.70000,4.1.60403,4.1.60402,4.1.60401,4.1.60400,4.1.60303,4.1.60302,4.1.60301,4.1.60300,4.1.60204,4.1.60202,4.1.60201,4.1.60200,4.1.60105,4.1.60102,4.1.60101,4.1.60100,4.1.60002,4.1.60000
:doc:`ROCTracer <roctracer:index>`,4.1.70204/4.1.70203,4.1.70202/4.1.70201,4.1.70200,4.1.70101,4.1.70100,4.1.70002,4.1.70000,4.1.60403,4.1.60402,4.1.60401,4.1.60400,4.1.60303,4.1.60302,4.1.60301,4.1.60300,4.1.60204,4.1.60202,4.1.60201,4.1.60200,4.1.60105,4.1.60102,4.1.60101,4.1.60100,4.1.60002,4.1.60000
,,,,,,,,,,,,,,,,,,,,,,,,,
DEVELOPMENT TOOLS,,,,,,,,,,,,,,,,,,,,,,,,,
:doc:`HIPIFY <hipify:index>`,22.0.0,22.0.0,22.0.0,20.0.0,20.0.0,20.0.0,20.0.0,19.0.0,19.0.0,19.0.0,19.0.0,18.0.0.25012,18.0.0.25012,18.0.0.24491,18.0.0.24455,18.0.0.24392,18.0.0.24355,18.0.0.24355,18.0.0.24232,17.0.0.24193,17.0.0.24193,17.0.0.24154,17.0.0.24103,17.0.0.24012,17.0.0.23483
1 ROCm Version 7.2.3 7.2.4/7.2.3 7.2.2/7.2.1 7.2.0 7.1.1 7.1.0 7.0.2 7.0.1/7.0.0 6.4.3 6.4.2 6.4.1 6.4.0 6.3.3 6.3.2 6.3.1 6.3.0 6.2.4 6.2.2 6.2.1 6.2.0 6.1.5 6.1.2 6.1.1 6.1.0 6.0.2 6.0.0
2 :ref:`Operating systems & kernels <OS-kernel-versions>` [#os-compatibility-past-60]_ Ubuntu 24.04.3 Ubuntu 24.04.4 Ubuntu 24.04.3 Ubuntu 24.04.4 Ubuntu 24.04.3 Ubuntu 24.04.3 Ubuntu 24.04.3 Ubuntu 24.04.3 Ubuntu 24.04.3 Ubuntu 24.04.2 Ubuntu 24.04.2 Ubuntu 24.04.2 Ubuntu 24.04.2 Ubuntu 24.04.2 Ubuntu 24.04.2 Ubuntu 24.04.2 Ubuntu 24.04.2 Ubuntu 24.04.1, 24.04 Ubuntu 24.04.1, 24.04 Ubuntu 24.04.1, 24.04 Ubuntu 24.04
3 Ubuntu 22.04.5 Ubuntu 22.04.5 Ubuntu 22.04.5 Ubuntu 22.04.5 Ubuntu 22.04.5 Ubuntu 22.04.5 Ubuntu 22.04.5 Ubuntu 22.04.5 Ubuntu 22.04.5 Ubuntu 22.04.5 Ubuntu 22.04.5 Ubuntu 22.04.5 Ubuntu 22.04.5 Ubuntu 22.04.5 Ubuntu 22.04.5 Ubuntu 22.04.5, 22.04.4 Ubuntu 22.04.5, 22.04.4 Ubuntu 22.04.5, 22.04.4 Ubuntu 22.04.5, 22.04.4 Ubuntu 22.04.5, 22.04.4, 22.04.3 Ubuntu 22.04.4, 22.04.3 Ubuntu 22.04.4, 22.04.3 Ubuntu 22.04.4, 22.04.3 Ubuntu 22.04.4, 22.04.3, 22.04.2 Ubuntu 22.04.4, 22.04.3, 22.04.2
4 Ubuntu 20.04.6, 20.04.5 Ubuntu 20.04.6, 20.04.5 Ubuntu 20.04.6, 20.04.5 Ubuntu 20.04.6, 20.04.5 Ubuntu 20.04.6, 20.04.5 Ubuntu 20.04.6, 20.04.5
5 RHEL 10.1, 10.0, 9.7, 9.6, 9.4 RHEL 10.1, 10.0, 9.7, 9.6, 9.4 RHEL 10.1, 10.0, 9.7, 9.6, 9.4 RHEL 10.1, 10.0, 9.7, 9.6, 9.4 RHEL 10.0, 9.6, 9.4 RHEL 10.0, 9.6, 9.4 RHEL 9.6, 9.4 RHEL 9.6, 9.4 RHEL 9.6, 9.4 RHEL 9.6, 9.5, 9.4 RHEL 9.5, 9.4 RHEL 9.5, 9.4 RHEL 9.5, 9.4 RHEL 9.5, 9.4 RHEL 9.5, 9.4 RHEL 9.4, 9.3 RHEL 9.4, 9.3 RHEL 9.4, 9.3 RHEL 9.4, 9.3 RHEL 9.4, 9.3, 9.2 RHEL 9.4, 9.3, 9.2 RHEL 9.4, 9.3, 9.2 RHEL 9.4, 9.3, 9.2 RHEL 9.3, 9.2 RHEL 9.3, 9.2
90
91 SUPPORT LIBS
92 `hipother <https://github.com/ROCm/hipother>`_ 7.2.53211 7.2.53211 7.2.26015 7.1.52802 7.1.25424 7.0.51831 7.0.51830 6.4.43483 6.4.43483 6.4.43483 6.4.43482 6.3.42134 6.3.42134 6.3.42133 6.3.42131 6.2.41134 6.2.41134 6.2.41134 6.2.41133 6.1.40093 6.1.40093 6.1.40092 6.1.40091 6.1.32831 6.1.32830
93 `rocm-core <https://github.com/ROCm/rocm-core>`_ 7.2.3 7.2.4/7.2.3 7.2.2/7.2.1 7.2.0 7.1.1 7.1.0 7.0.2 7.0.1/7.0.0 6.4.3 6.4.2 6.4.1 6.4.0 6.3.3 6.3.2 6.3.1 6.3.0 6.2.4 6.2.2 6.2.1 6.2.0 6.1.5 6.1.2 6.1.1 6.1.0 6.0.2 6.0.0
94 `ROCT-Thunk-Interface <https://github.com/ROCm/ROCT-Thunk-Interface>`_ N/A [#ROCT-rocr-past-60]_ N/A [#ROCT-rocr-past-60]_ N/A [#ROCT-rocr-past-60]_ N/A [#ROCT-rocr-past-60]_ N/A [#ROCT-rocr-past-60]_ N/A [#ROCT-rocr-past-60]_ N/A [#ROCT-rocr-past-60]_ N/A [#ROCT-rocr-past-60]_ N/A [#ROCT-rocr-past-60]_ N/A [#ROCT-rocr-past-60]_ N/A [#ROCT-rocr-past-60]_ N/A [#ROCT-rocr-past-60]_ N/A [#ROCT-rocr-past-60]_ N/A [#ROCT-rocr-past-60]_ N/A [#ROCT-rocr-past-60]_ 20240607.5.7 20240607.5.7 20240607.4.05 20240607.1.4246 20240125.5.08 20240125.5.08 20240125.5.08 20240125.3.30 20231016.2.245 20231016.2.245
95
96 SYSTEM MGMT TOOLS .. _tools-support-compatibility-matrix-past-60:
104 :doc:`ROCm Bandwidth Test <rocm_bandwidth_test:index>` 2.6.0 2.6.0 2.6.0 2.6.0 2.6.0 2.6.0 2.6.0 1.4.0 1.4.0 1.4.0 1.4.0 1.4.0 1.4.0 1.4.0 1.4.0 1.4.0 1.4.0 1.4.0 1.4.0 1.4.0 1.4.0 1.4.0 1.4.0 1.4.0 1.4.0
105 :doc:`ROCm Compute Profiler <rocprofiler-compute:index>` 3.4.0 3.4.0 3.4.0 3.3.1 3.3.0 3.2.3 3.2.3 3.1.1 3.1.1 3.1.0 3.1.0 3.0.0 3.0.0 3.0.0 3.0.0 2.0.1 2.0.1 2.0.1 2.0.1 N/A N/A N/A N/A N/A N/A
106 :doc:`ROCm Systems Profiler <rocprofiler-systems:index>` 1.3.0 1.3.0 1.3.0 1.2.1 1.2.0 1.1.1 1.1.0 1.0.2 1.0.2 1.0.1 1.0.0 0.1.2 0.1.1 0.1.0 0.1.0 1.11.2 1.11.2 1.11.2 1.11.2 N/A N/A N/A N/A N/A N/A
107 :doc:`ROCProfiler <rocprofiler:index>` 2.0.70203 2.0.70204/2.0.70203 2.0.70202/2.0.70201 2.0.70200 2.0.70101 2.0.70100 2.0.70002 2.0.70000 2.0.60403 2.0.60402 2.0.60401 2.0.60400 2.0.60303 2.0.60302 2.0.60301 2.0.60300 2.0.60204 2.0.60202 2.0.60201 2.0.60200 2.0.60105 2.0.60102 2.0.60101 2.0.60100 2.0.60002 2.0.60000
108 :doc:`ROCprofiler-SDK <rocprofiler-sdk:index>` 1.1.0 1.1.0 1.1.0 1.0.0 1.0.0 1.0.0 1.0.0 0.6.0 0.6.0 0.6.0 0.6.0 0.5.0 0.5.0 0.5.0 0.5.0 0.4.0 0.4.0 0.4.0 0.4.0 N/A N/A N/A N/A N/A N/A
109 :doc:`ROCTracer <roctracer:index>` 4.1.70203 4.1.70204/4.1.70203 4.1.70202/4.1.70201 4.1.70200 4.1.70101 4.1.70100 4.1.70002 4.1.70000 4.1.60403 4.1.60402 4.1.60401 4.1.60400 4.1.60303 4.1.60302 4.1.60301 4.1.60300 4.1.60204 4.1.60202 4.1.60201 4.1.60200 4.1.60105 4.1.60102 4.1.60101 4.1.60100 4.1.60002 4.1.60000
110
111 DEVELOPMENT TOOLS
112 :doc:`HIPIFY <hipify:index>` 22.0.0 22.0.0 22.0.0 20.0.0 20.0.0 20.0.0 20.0.0 19.0.0 19.0.0 19.0.0 19.0.0 18.0.0.25012 18.0.0.25012 18.0.0.24491 18.0.0.24455 18.0.0.24392 18.0.0.24355 18.0.0.24355 18.0.0.24232 17.0.0.24193 17.0.0.24193 17.0.0.24154 17.0.0.24103 17.0.0.24012 17.0.0.23483
+181 -64
View File
@@ -1,90 +1,207 @@
:selector-toc2: Installation environment
:selector-toc2-icon: fa-solid fa-computer
.. meta::
:description: ROCm compatibility matrix
:keywords: GPU, architecture, hardware, compatibility, system, requirements, components, libraries
.. _compat-matrix:
**************************************************************************************
Compatibility matrix
**************************************************************************************
****************************************
ROCm |ROCM_VERSION| compatibility matrix
****************************************
Use this matrix to view the ROCm compatibility and system requirements across successive major and minor releases.
To plan your ROCm |ROCM_VERSION| installation, use the following selector to
view ROCm compatibility and system requirements information for your AMD
hardware configuration and system environment. For installation instructions,
see :doc:`/install/rocm`.
You can also refer to the :ref:`past versions of ROCm compatibility matrix<past-rocm-compatibility-matrix>`.
.. selector:: Device family
:key: fam
GPUs listed in the following table support compute workloads (no display
information or graphics). If youre using ROCm with AMD Radeon GPUs or Ryzen APUs for graphics
workloads, see the :doc:`Use ROCm on Radeon and Ryzen <radeon:index>` to verify
compatibility and system requirements.
.. selector-option:: AMD Instinct™
:value: instinct w=compute
:width: 4
:toc-label: AMD Instinct
.. |br| raw:: html
.. selector-option:: AMD Radeon™
:value: radeon w=compute
:width: 4
:toc-label: AMD Radeon
<br/>
.. selector-option:: AMD Ryzen™
:value: ryzen w=compute
:width: 4
:toc-label: AMD Ryzen
.. container:: format-big-table
.. include:: /install/include/gpu-selector.rst
.. csv-table::
:header: "ROCm Version", "7.2.4/7.2.3", "7.2.2/7.2.1", "7.1.0"
:stub-columns: 1
.. include:: /install/include/os-selector.rst
:ref:`Operating systems & kernels <OS-kernel-versions>` [#os-compatibility]_,Ubuntu 24.04.4,Ubuntu 24.04.4,Ubuntu 24.04.3
,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5
,"RHEL 10.1, 10.0, |br| 9.7, 9.6, 9.4","RHEL 10.1, 10.0, |br| 9.7, 9.6, 9.4","RHEL 10.0, 9.6, 9.4"
,RHEL 8.10,RHEL 8.10,RHEL 8.10
,SLES 15 SP7,SLES 15 SP7,SLES 15 SP7
,"Oracle Linux 10, 9, 8","Oracle Linux 10, 9, 8","Oracle Linux 10, 9, 8"
,"Debian 13, 12","Debian 13, 12","Debian 13, 12"
,Rocky Linux 9,Rocky Linux 9,Rocky Linux 9
,.. _architecture-support-compatibility-matrix:,,
:doc:`Architecture <rocm-install-on-linux:reference/system-requirements>`,CDNA4,CDNA4,CDNA4
,CDNA3,CDNA3,CDNA3
,CDNA2,CDNA2,CDNA2
,CDNA,CDNA,CDNA
,RDNA4,RDNA4,RDNA4
,RDNA3,RDNA3,RDNA3
,RDNA2,RDNA2,RDNA2
,.. _gpu-support-compatibility-matrix:,,
:doc:`GPU / LLVM target <rocm-install-on-linux:reference/system-requirements>` [#gpu-compatibility]_,gfx950,gfx950,gfx950
,gfx1201,gfx1201,gfx1201
,gfx1200,gfx1200,gfx1200
,gfx1101,gfx1101,gfx1101
,gfx1100,gfx1100,gfx1100
,gfx1030,gfx1030,gfx1030
,gfx942,gfx942,gfx942
,gfx90a,gfx90a,gfx90a
,gfx908,gfx908,gfx908
,,,
FRAMEWORK SUPPORT,.. _framework-support-compatibility-matrix:,,
:doc:`PyTorch <../compatibility/ml-compatibility/pytorch-compatibility>`,"2.9.1, 2.8.0, 2.7.1","2.9.1, 2.8.0, 2.7.1","2.8, 2.7, 2.6"
:doc:`TensorFlow <../compatibility/ml-compatibility/tensorflow-compatibility>`,"2.20.0, 2.19.1, 2.18.1","2.20.0, 2.19.1, 2.18.1","2.20.0, 2.19.1, 2.18.1"
:doc:`JAX <../compatibility/ml-compatibility/jax-compatibility>`,0.8.2,0.8.2,0.7.1
`ONNX Runtime <https://onnxruntime.ai/docs/build/eps.html#amd-migraphx>`_,1.23.2,1.23.2,1.22.0
,,,
THIRD PARTY COMMS,.. _thirdpartycomms-support-compatibility-matrix:,,
`UCC <https://github.com/ROCm/ucc>`_,>=1.6.0,>=1.6.0,>=1.4.0
`UCX <https://github.com/ROCm/ucx>`_,>=1.17.0,>=1.17.0,>=1.17.0
,,,
THIRD PARTY ALGORITHM,.. _thirdpartyalgorithm-support-compatibility-matrix:,,
Thrust,2.8.5,2.8.5,2.8.5
CUB,2.8.5,2.8.5,2.8.5
,,,
DRIVER & USER SPACE [#kfd_support]_,.. _kfd-userspace-support-compatibility-matrix:,,
:doc:`AMD GPU Driver <rocm-install-on-linux:reference/user-kernel-space-compat-matrix>`,"30.30.x, 30.20.x [#mi325x_KVM]_, |br| 30.10.x [#driver_patch]_, 6.4.x","30.30.x, 30.20.x [#mi325x_KVM]_, |br| 30.10.x [#driver_patch]_, 6.4.x","30.20.0 [#mi325x_KVM]_, 30.10.x [#driver_patch]_, 6.4.x"
,,,
ML & COMPUTER VISION,.. _mllibs-support-compatibility-matrix:,,
:doc:`Composable Kernel <composable_kernel:index>`,1.2.0,1.2.0,1.1.0
:doc:`MIGraphX <amdmigraphx:index>`,2.15.0,2.15.0,2.14.0
:doc:`MIOpen <miopen:index>`,3.5.1,3.5.1,3.5.1
:doc:`MIVisionX <mivisionx:index>`,3.5.0,3.5.0,3.4.0
:doc:`rocAL <rocal:index>`,2.5.0,2.5.0,2.4.0
:doc:`rocDecode <rocdecode:index>`,1.7.0,1.7.0,1.4.0
:doc:`rocJPEG <rocjpeg:index>`,1.4.0,1.4.0,1.2.0
:doc:`rocPyDecode <rocpydecode:index>`,0.8.0,0.8.0,0.7.0
:doc:`RPP <rpp:index>`,2.2.1,2.2.1,2.1.0
,,,
COMMUNICATION,.. _commlibs-support-compatibility-matrix:,,
:doc:`RCCL <rccl:index>`,2.27.7,2.27.7,2.27.7
:doc:`rocSHMEM <rocshmem:index>`,3.2.0,3.2.0,3.0.0
,,,
MATH LIBS,.. _mathlibs-support-compatibility-matrix:,,
`half <https://github.com/ROCm/half>`_ ,1.12.0,1.12.0,1.12.0
:doc:`hipBLAS <hipblas:index>`,3.2.0,3.2.0,3.1.0
:doc:`hipBLASLt <hipblaslt:index>`,1.2.2,1.2.2,1.1.0
:doc:`hipFFT <hipfft:index>`,1.0.22,1.0.22,1.0.21
:doc:`hipfort <hipfort:index>`,0.7.1,0.7.1,0.7.1
:doc:`hipRAND <hiprand:index>`,3.1.0,3.1.0,3.1.0
:doc:`hipSOLVER <hipsolver:index>`,3.2.0,3.2.0,3.1.0
:doc:`hipSPARSE <hipsparse:index>`,4.2.0,4.2.0,4.1.0
:doc:`hipSPARSELt <hipsparselt:index>`,0.2.6,0.2.6,0.2.5
:doc:`rocALUTION <rocalution:index>`,4.1.0,4.1.0,4.0.1
:doc:`rocBLAS <rocblas:index>`,5.2.0,5.2.0,5.1.0
:doc:`rocFFT <rocfft:index>`,1.0.36,1.0.36,1.0.35
:doc:`rocRAND <rocrand:index>`,4.2.0,4.2.0,4.1.0
:doc:`rocSOLVER <rocsolver:index>`,3.32.0,3.32.0,3.31.0
:doc:`rocSPARSE <rocsparse:index>`,4.2.0,4.2.0,4.1.0
:doc:`rocWMMA <rocwmma:index>`,2.2.0,2.2.0,2.0.0
:doc:`Tensile <tensile:src/index>`,4.45.0,4.45.0,4.44.0
,,,
PRIMITIVES,.. _primitivelibs-support-compatibility-matrix:,,
:doc:`hipCUB <hipcub:index>`,4.2.0,4.2.0,4.1.0
:doc:`hipTensor <hiptensor:index>`,2.2.0,2.2.0,2.0.0
:doc:`rocPRIM <rocprim:index>`,4.2.0,4.2.0,4.1.0
:doc:`rocThrust <rocthrust:index>`,4.2.0,4.2.0,4.1.0
,,,
SUPPORT LIBS,,,
`hipother <https://github.com/ROCm/hipother>`_,7.2.53211,7.2.53211,7.1.25424
`rocm-core <https://github.com/ROCm/rocm-core>`_,7.2.4/7.2.3,7.2.2/7.2.1,7.1.0
`ROCT-Thunk-Interface <https://github.com/ROCm/ROCT-Thunk-Interface>`_,N/A [#ROCT-rocr]_,N/A [#ROCT-rocr]_,N/A [#ROCT-rocr]_
,,,
SYSTEM MGMT TOOLS,.. _tools-support-compatibility-matrix:,,
:doc:`AMD SMI <amdsmi:index>`,26.2.2,26.2.2,26.1.0
:doc:`ROCm Data Center Tool <rdc:index>`,1.2.0,1.2.0,1.2.0
:doc:`rocminfo <rocminfo:index>`,1.0.0,1.0.0,1.0.0
:doc:`ROCm SMI <rocm_smi_lib:index>`,7.8.0,7.8.0,7.8.0
:doc:`ROCm Validation Suite <rocmvalidationsuite:index>`,1.3.0,1.3.0,1.2.0
,,,
PERFORMANCE TOOLS,,,
:doc:`ROCm Bandwidth Test <rocm_bandwidth_test:index>`,2.6.0,2.6.0,2.6.0
:doc:`ROCm Compute Profiler <rocprofiler-compute:index>`,3.4.0,3.4.0,3.3.0
:doc:`ROCm Systems Profiler <rocprofiler-systems:index>`,1.3.0,1.3.0,1.2.0
:doc:`ROCProfiler <rocprofiler:index>`,2.0.70204/2.0.70203,2.0.70202/2.0.70201,2.0.70100
:doc:`ROCprofiler-SDK <rocprofiler-sdk:index>`,1.1.0,1.1.0,1.0.0
:doc:`ROCTracer <roctracer:index>`,4.1.70204/4.1.70203,4.1.70202/4.1.70201,4.1.70100
,,,
DEVELOPMENT TOOLS,,,
:doc:`HIPIFY <hipify:index>`,22.0.0,22.0.0,20.0.0
:doc:`ROCm CMake <rocmcmakebuildtools:index>`,0.14.0,0.14.0,0.14.0
:doc:`ROCdbgapi <rocdbgapi:index>`,0.77.4,0.77.4,0.77.4
:doc:`ROCm Debugger (ROCgdb) <rocgdb:index>`,16.3.0,16.3.0,16.3.0
`rocprofiler-register <https://github.com/ROCm/rocprofiler-register>`_,0.5.0,0.5.0,0.5.0
:doc:`ROCr Debug Agent <rocr_debug_agent:index>`,2.1.0,2.1.0,2.1.0
,,,
COMPILERS,.. _compilers-support-compatibility-matrix:,,
:doc:`hipCC <hipcc:index>`,1.1.1,1.1.1,1.1.1
`Flang <https://github.com/ROCm/flang>`_,22.0.0.26084,22.0.0.26084,20.0.025425
:doc:`llvm-project <llvm-project:index>`,22.0.0.26084,22.0.0.26084,20.0.025425
`OpenMP <https://github.com/ROCm/llvm-project/tree/amd-staging/openmp>`_,22.0.0.26084,22.0.0.26084,20.0.025425
,,,
RUNTIMES,.. _runtime-support-compatibility-matrix:,,
:doc:`AMD CLR <hip:understand/amd_clr>`,7.2.53211,7.2.53211,7.1.25424
:doc:`HIP <hip:index>`,7.2.53211,7.2.53211,7.1.25424
`OpenCL Runtime <https://github.com/ROCm/clr/tree/develop/opencl>`_,2.0.0,2.0.0,2.0.0
:doc:`ROCr Runtime <rocr-runtime:index>`,1.18.0,1.18.0,1.18.0
----
.. _system-requirements:
.. rubric:: Footnotes
System requirements and information
===================================
.. [#os-compatibility] Some operating systems are supported on specific GPUs. For detailed information about operating systems supported on ROCm 7.2.4/7.2.3, see the latest :ref:`supported_distributions`. For version specific information, see `ROCm 7.2.2/7.2.1 <https://rocm.docs.amd.com/projects/install-on-linux/en/docs-7.2.2/reference/system-requirements.html#supported-operating-systems>`__, and `ROCm 7.1.0 <https://rocm.docs.amd.com/projects/install-on-linux/en/docs-7.1.0/reference/system-requirements.html#supported-operating-systems>`__.
.. [#gpu-compatibility] Some GPUs have limited operating system support. For detailed information about GPUs supporting ROCm 7.2.4/7.2.3, see the latest :ref:`supported_GPUs`. For version specific information, see `ROCm 7.2.2/7.2.1 <https://rocm.docs.amd.com/projects/install-on-linux/en/docs-7.2.2/reference/system-requirements.html#supported-gpus>`__, and `ROCm 7.1.0 <https://rocm.docs.amd.com/projects/install-on-linux/en/docs-7.1.0/reference/system-requirements.html#supported-gpus>`__.
.. [#mi325x_KVM] For AMD Instinct MI325X KVM SR-IOV users, do not use AMD GPU Driver (amdgpu) 30.20.0.
.. [#driver_patch] AMD GPU Driver (amdgpu) 30.10.1 is a quality release that resolves an issue identified in the 30.10 release. There are no other significant changes or feature additions in ROCm 7.0.1 from ROCm 7.0.0. AMD GPU Driver (amdgpu) 30.10.1 is compatible with ROCm 7.0.1 and ROCm 7.0.0.
.. [#kfd_support] As of ROCm 6.4.0, forward and backward compatibility between the AMD GPU Driver (amdgpu) and its user space software is provided up to a year apart. For earlier ROCm releases, the compatibility is provided for +/- 2 releases. The supported user space versions on this page were accurate as of the time of initial ROCm release. For the most up-to-date information, see the latest version of this information at `User and AMD GPU Driver support matrix <https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/user-kernel-space-compat-matrix.html>`_.
.. [#ROCT-rocr] Starting from ROCm 6.3.0, the ROCT Thunk Interface is included as part of the ROCr runtime package.
ROCm depends on a coordinated stack of compatible firmware, driver, and user
space components. Maintaining version alignment between these layers ensures
expected GPU operation and performance, especially for AMD data center
products. This table lists GPU details followed by supported operating systems,
kernel driver, and firmware versions.
.. _OS-kernel-versions:
.. include:: ./include/system-instinct.rst
Operating systems, kernel and Glibc versions
*********************************************
.. include:: ./include/system-radeon.rst
For detailed information on operating system supported on ROCm 7.2.4/7.2.3 and associated Kernel and Glibc version, see the latest :ref:`supported_distributions`. For version specific information, see `ROCm 7.2.2/7.2.1 <https://rocm.docs.amd.com/projects/install-on-linux/en/docs-7.2.2/reference/system-requirements.html#supported-operating-systems>`__, and `ROCm 7.1.0 <https://rocm.docs.amd.com/projects/install-on-linux/en/docs-7.1.0/reference/system-requirements.html#supported-operating-systems>`__.
.. include:: ./include/system-ryzen.rst
.. note::
For hardware specifications, see :ref:`gpu-specs`.
* See `Red Hat Enterprise Linux Release Dates <https://access.redhat.com/articles/3078>`_ to learn about the specific kernel versions supported on Red Hat Enterprise Linux (RHEL).
* See `List of SUSE Linux Enterprise Server kernel <https://www.suse.com/support/kb/doc/?id=000019587>`_ to learn about the specific kernel version supported on SUSE Linux Enterprise Server (SLES).
----
..
Footnotes and ref anchors in below historical tables should be appended with "-past-60", to differentiate from the
footnote references in the above, latest, compatibility matrix. It also allows to easily find & replace.
An easy way to work is to download the historical.CSV file, and update open it in excel. Then when content is ready,
delete the columns you don't need, to build the current compatibility matrix to use in above table. Find & replace all
instances of "-past-60" to make it ready for above table.
ROCm Core SDK components
========================
.. _past-rocm-compatibility-matrix:
The following table lists core components included in the ROCm |ROCM_VERSION|
release. Expect future releases in this stream to expand the list of
components.
Past versions of ROCm compatibility matrix
***************************************************
.. include:: ./include/core-sdk-components-linux.rst
Expand for full historical view of:
.. include:: ./include/core-sdk-components-windows.rst
.. dropdown:: ROCm 6.0 - Present
----
You can `download the entire .csv <../downloads/compatibility-matrix-historical-6.0.csv>`_ for offline reference.
.. include:: ./include/virtualization-instinct.rst
.. csv-table::
:file: compatibility-matrix-historical-6.0.csv
:header-rows: 1
:stub-columns: 1
.. _rocm-compat-frameworks:
.. _rocm-compat-python:
.. _rocm-compat-pytorch:
AI ecosystem compatibility
==========================
ROCm |ROCM_VERSION| provides optimized support for popular deep learning
frameworks and AI inference engines. The following table lists supported
frameworks and libraries, their validated versions, and compatible Python
versions.
.. include:: ./include/ai-ecosystem.rst
.. rubric:: Footnotes
.. [#os-compatibility-past-60] Some operating systems are supported on specific GPUs. For detailed information, see :ref:`supported_distributions` and select the required ROCm version for version specific support.
.. [#gpu-compatibility-past-60] Some GPUs have limited operating system support. For detailed information, see :ref:`supported_GPUs` and select the required ROCm version for version specific support.
.. [#tf-mi350-past-60] TensorFlow 2.17.1 is not supported on AMD Instinct MI350 Series GPUs. Use TensorFlow 2.19.1 or 2.18.1 with MI350 Series GPUs instead.
.. [#dgl_compat-past-60] DGL is supported only on ROCm 7.0.0, ROCm 6.4.3, and ROCm 6.4.0.
.. [#mi325x_KVM-past-60] For AMD Instinct MI325X KVM SR-IOV users, do not use AMD GPU Driver (amdgpu) 30.20.0.
.. [#driver_patch-past-60] AMD GPU Driver (amdgpu) 30.10.1 is a quality release that resolves an issue identified in the 30.10 release. There are no other significant changes or feature additions in ROCm 7.0.1 from ROCm 7.0.0. AMD GPU Driver (amdgpu) 30.10.1 is compatible with ROCm 7.0.1 and ROCm 7.0.0.
.. [#kfd_support-past-60] As of ROCm 6.4.0, forward and backward compatibility between the AMD GPU Driver (amdgpu) and its user space software is provided up to a year apart. For earlier ROCm releases, the compatibility is provided for +/- 2 releases. The supported user space versions on this page were accurate as of the time of initial ROCm release. For the most up-to-date information, see the latest version of this information at `User and AMD GPU Driver support matrix <https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/user-kernel-space-compat-matrix.html>`_.
.. [#ROCT-rocr-past-60] Starting from ROCm 6.3.0, the ROCT Thunk Interface is included as part of the ROCr runtime package.
@@ -1,45 +0,0 @@
.. matrix::
.. matrix-head::
.. matrix-row::
:header:
.. matrix-cell:: Framework
.. matrix-cell:: Supported versions
.. matrix-cell:: Python versions
.. matrix-row::
.. matrix-cell:: PyTorch
.. matrix-cell:: 2.11.0, 2.10.0, 2.9.1
:show-cond: os=ubuntu os=debian os=rhel os=oracle-linux os=rocky-linux os=sles
.. matrix-cell:: 2.11.0
:show-cond: os=windows
.. matrix-cell:: 3.14, 3.13, 3.12, 3.11
.. matrix-row::
:show-cond: os=ubuntu os=debian os=rhel os=oracle-linux os=rocky-linux os=sles
.. matrix-cell:: JAX
.. matrix-cell:: 0.9.1, 0.8.2
.. matrix-cell:: 3.14, 3.13, 3.12, 3.11
.. matrix-row::
:show-cond: os=ubuntu os=debian os=rhel os=oracle-linux os=rocky-linux os=sles
.. matrix-cell:: vLLM
:show-cond: gfx=gfx950 gfx=gfx942 gfx=gfx1201 gfx=gfx1200 gfx=gfx1151
.. matrix-cell:: 0.19.0
:show-cond: gfx=gfx950 gfx=gfx942 gfx=gfx1201 gfx=gfx1200 gfx=gfx1151
.. matrix-cell:: 3.13 (requires PyTorch 2.10.0)
:show-cond: gfx=gfx950 gfx=gfx942 gfx=gfx1201 gfx=gfx1200 gfx=gfx1151
@@ -1,275 +0,0 @@
.. matrix::
:show-cond: os=ubuntu os=debian os=rhel os=oracle-linux os=rocky-linux os=sles
.. matrix-head::
.. matrix-row::
:header:
.. matrix-cell:: Component group
.. matrix-cell:: Component name
.. matrix-row::
.. matrix-cell:: Math and compute libraries
:rowspan: 18
.. matrix-cell::
`Composable Kernel 1.3.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/composablekernel>`__
.. matrix-row::
.. matrix-cell::
`hipBLAS 3.4.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/hipblas>`__
.. matrix-row::
.. matrix-cell::
`hipBLASLt 1.3.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/hipblaslt>`__
.. matrix-row::
.. matrix-cell::
`hipCUB 4.4.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/hipcub>`__
.. matrix-row::
.. matrix-cell::
`hipFFT 1.0.23 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/hipfft>`__
.. matrix-row::
.. matrix-cell::
`hipRAND 3.3.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/hiprand>`__
.. matrix-row::
.. matrix-cell::
`hipSOLVER 3.4.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/hipsolver>`__
.. matrix-row::
.. matrix-cell::
`hipSPARSE 4.5.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/hipsparse>`__
.. matrix-row::
.. matrix-cell::
`hipSPARSELt 0.2.8 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/hipsparselt>`__
.. matrix-row::
.. matrix-cell::
`MIOpen 3.5.1 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/miopen>`__
.. matrix-row::
.. matrix-cell::
`rocBLAS 5.4.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/rocblas>`__
.. matrix-row::
.. matrix-cell::
`rocFFT 1.0.37 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/rocfft>`__
.. matrix-row::
.. matrix-cell::
`rocPRIM 4.4.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/rocprim>`__
.. matrix-row::
.. matrix-cell::
`rocRAND 4.4.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/rocrand>`__
.. matrix-row::
.. matrix-cell::
`rocSOLVER 3.34.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/rocsolver>`__
.. matrix-row::
.. matrix-cell::
`rocSPARSE 4.6.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/rocsparse>`__
.. matrix-row::
.. matrix-cell::
`rocThrust 4.4.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/rocthrust>`__
.. matrix-row::
.. matrix-cell::
`rocWMMA 2.2.1 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/rocwmma>`__
.. matrix-row::
.. matrix-cell:: Communication libraries
:rowspan: 2
:show-cond: fam=instinct fam=radeon
.. matrix-cell:: Communication libraries
:rowspan: 1
:show-cond: fam=ryzen
.. matrix-cell::
`RCCL 2.28.3 <https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/rccl>`__
.. matrix-row::
:show-cond: fam=instinct fam=radeon
.. matrix-cell::
`rocSHMEM 3.4.0 <https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/rocshmem>`__
.. matrix-row::
.. matrix-cell:: Media libraries
:rowspan: 2
.. matrix-cell::
`rocDecode 1.8.0 <https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/rocdecode>`__
.. matrix-row::
.. matrix-cell::
`rocJPEG 1.5.0 <https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/rocjpeg>`__
.. matrix-row::
.. matrix-cell:: Runtimes and compilers
:rowspan: 5
:show-cond: fam=instinct fam=radeon
.. matrix-cell:: Runtimes and compilers
:rowspan: 4
:show-cond: fam=ryzen
.. matrix-cell::
`HIP 7.13 <https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/hip>`__
.. matrix-row::
.. matrix-cell::
`HIPIFY 7.13 <https://github.com/ROCm/HIPIFY/tree/therock-7.13>`__
.. matrix-row::
.. matrix-cell::
`LLVM 23.0.0 <https://github.com/ROCm/llvm-project/tree/therock-7.13>`__
.. matrix-row::
:show-cond: fam=instinct fam=radeon
.. matrix-cell::
`ROCr Runtime 1.21.0 <https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/rocr-runtime>`__
.. matrix-row::
.. matrix-cell::
`SPIRV-LLVM-Translator 23.0.0 <https://github.com/ROCm/SPIRV-LLVM-Translator/tree/therock-7.13>`__
.. matrix-row::
.. matrix-cell:: Profiling and debugging tools
:rowspan: 6
:show-cond: fam=instinct
.. matrix-cell:: Profiling and debugging tools
:rowspan: 4
:show-cond: fam=radeon
.. matrix-cell::
:show-cond: fam=instinct
`ROCm Compute Profiler (rocprofiler-compute) 3.6.0 <https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/rocprofiler-compute>`__
.. matrix-cell::
:show-cond: fam=radeon
`ROCprofiler-SDK 1.3.0 <https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/rocprofiler-sdk>`__
.. matrix-row::
:show-cond: fam=instinct
.. matrix-cell::
`ROCm Systems Profiler (rocprofiler-systems) 1.6.0 <https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/rocprofiler-systems>`__
.. matrix-row::
:show-cond: fam=instinct
.. matrix-cell::
`ROCprofiler-SDK 1.3.0 <https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/rocprofiler-sdk>`__
.. matrix-row::
:show-cond: fam=instinct fam=radeon
.. matrix-cell::
`ROCdbgapi 0.80.0 <https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/rocdbgapi>`__
.. matrix-row::
:show-cond: fam=instinct fam=radeon
.. matrix-cell::
`ROCm Debugger (ROCgdb) 16.3 <https://github.com/ROCm/ROCgdb/tree/therock-7.13>`__
.. matrix-row::
:show-cond: fam=instinct fam=radeon
.. matrix-cell::
`ROCr Debug Agent 2.1.0 <https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/rocr-debug-agent>`__
.. matrix-row::
.. matrix-cell:: Control and monitoring tools
:rowspan: 3
.. matrix-cell::
:show-cond: fam=instinct fam=radeon
`AMD SMI 26.4.0 <https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/amdsmi>`__
.. matrix-row::
.. matrix-cell::
`rocminfo 1.0.0 <https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/rocminfo>`__
.. matrix-row::
:show-cond: fam=instinct
.. matrix-cell::
`ROCm Data Center Tool (RDC) 1.3.0 <https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/rdc>`__
@@ -1,163 +0,0 @@
.. matrix::
:show-cond: os=windows
.. matrix-head::
.. matrix-row::
:header:
.. matrix-cell:: Component group
.. matrix-cell:: Component name
.. matrix-row::
.. matrix-cell:: Math and compute libraries
:rowspan: 18
.. matrix-cell::
`Composable Kernel 1.3.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/composablekernel>`__
.. matrix-row::
.. matrix-cell::
`hipBLAS 3.4.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/hipblas>`__
.. matrix-row::
.. matrix-cell::
`hipBLASLt 1.3.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/hipblaslt>`__
.. matrix-row::
.. matrix-cell::
`hipCUB 4.4.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/hipcub>`__
.. matrix-row::
.. matrix-cell::
`hipFFT 1.0.23 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/hipfft>`__
.. matrix-row::
.. matrix-cell::
`hipRAND 3.3.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/hiprand>`__
.. matrix-row::
.. matrix-cell::
`hipSOLVER 3.4.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/hipsolver>`__
.. matrix-row::
.. matrix-cell::
`hipSPARSE 4.5.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/hipsparse>`__
.. matrix-row::
.. matrix-cell::
`hipSPARSELt 0.2.8 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/hipsparselt>`__
.. matrix-row::
.. matrix-cell::
`MIOpen 3.5.1 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/miopen>`__
.. matrix-row::
.. matrix-cell::
`rocBLAS 5.4.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/rocblas>`__
.. matrix-row::
.. matrix-cell::
`rocFFT 1.0.37 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/rocfft>`__
.. matrix-row::
.. matrix-cell::
`rocPRIM 4.4.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/rocprim>`__
.. matrix-row::
.. matrix-cell::
`rocRAND 4.4.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/rocrand>`__
.. matrix-row::
.. matrix-cell::
`rocSOLVER 3.34.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/rocsolver>`__
.. matrix-row::
.. matrix-cell::
`rocSPARSE 4.6.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/rocsparse>`__
.. matrix-row::
.. matrix-cell::
`rocThrust 4.4.0 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/rocthrust>`__
.. matrix-row::
.. matrix-cell::
`rocWMMA 2.2.1 <https://github.com/ROCm/rocm-libraries/tree/therock-7.13/projects/rocwmma>`__
.. matrix-row::
.. matrix-cell:: Support libraries
.. matrix-cell::
`ROCm CMake <https://github.com/ROCm/rocm-cmake/tree/therock-7.13>`__
.. matrix-row::
.. matrix-cell:: Runtimes and compilers
:rowspan: 4
.. matrix-cell::
`HIP 7.13 <https://github.com/ROCm/rocm-systems/tree/therock-7.13/projects/hip>`__
.. matrix-row::
.. matrix-cell::
`HIPIFY 7.13 <https://github.com/ROCm/HIPIFY/tree/therock-7.13>`__
.. matrix-row::
.. matrix-cell::
`LLVM 23.0.0 <https://github.com/ROCm/llvm-project/tree/therock-7.13>`__
.. matrix-row::
.. matrix-cell::
`SPIRV-LLVM-Translator 23.0.0 <https://github.com/ROCm/SPIRV-LLVM-Translator/tree/therock-7.13>`__
.. matrix-row::
.. matrix-cell:: Control and monitoring tools
.. matrix-cell:: hipinfo
@@ -1,260 +0,0 @@
.. matrix::
:show-cond: fam=instinct
.. matrix-row::
.. matrix-cell:: AMD GPU series
:header:
.. matrix-cell::
:show-cond: gpu=mi355x gpu=mi350x gpu=mi350p
`AMD Instinct MI350 Series <https://www.amd.com/en/products/accelerators/instinct/mi350.html>`__
.. matrix-cell::
:show-cond: gpu=mi325x gpu=mi300x gpu=mi300a
`AMD Instinct MI300 Series <https://www.amd.com/en/products/accelerators/instinct/mi300.html>`__
.. matrix-cell::
:show-cond: gpu=mi250x gpu=mi250 gpu=mi210
`AMD Instinct MI200 Series <https://www.amd.com/en/products/accelerators/instinct/mi200.html>`__
.. matrix-cell::
:show-cond: gpu=mi100
`AMD Instinct MI100 Series <https://www.amd.com/en/products/accelerators/instinct/mi100.html>`__
.. matrix-row::
.. matrix-cell:: Architecture
:header:
.. matrix-cell:: CDNA 4
:show-cond: gpu=mi355x gpu=mi350x gpu=mi350p
.. matrix-cell:: CDNA 3
:show-cond: gpu=mi325x gpu=mi300x gpu=mi300a
.. matrix-cell:: CDNA 2
:show-cond: gpu=mi250x gpu=mi250 gpu=mi210
.. matrix-cell:: CDNA
:show-cond: gpu=mi100
.. matrix-row::
.. matrix-cell:: LLVM target
:header:
.. matrix-cell:: gfx950
:show-cond: gpu=mi355x gpu=mi350x gpu=mi350p
.. matrix-cell:: gfx942
:show-cond: gpu=mi325x gpu=mi300x gpu=mi300a
.. matrix-cell:: gfx90a
:show-cond: gpu=mi250x gpu=mi250 gpu=mi210
.. matrix-cell:: gfx908
:show-cond: gpu=mi100
.. matrix-row::
:show-cond: os=ubuntu
.. matrix-cell:: Supported Ubuntu versions
:header:
.. matrix-cell::
:show-cond: gpu=mi355x gpu=mi350x gpu=mi325x gpu=mi300x gpu=mi300a gpu=mi250x gpu=mi250 gpu=mi210 gpu=mi100
Ubuntu 26.04 (GA kernel: 7.0)
Ubuntu 24.04.4 (GA kernel: 6.8)
Ubuntu 22.04.5 (GA kernel: 5.15)
.. matrix-cell::
:show-cond: gpu=mi350p
Ubuntu 26.04 (GA kernel: 7.0)
Ubuntu 24.04.4 (GA kernel: 6.8)
.. matrix-row::
:show-cond: os=rhel
.. matrix-cell:: Supported Red Hat Enterprise Linux versions
:header:
.. matrix-cell::
:show-cond: gpu=mi355x gpu=mi350x gpu=mi300x gpu=mi300a gpu=mi250x gpu=mi250 gpu=mi210 gpu=mi100
RHEL 10.1 (kernel: 6.12.0-124)
RHEL 10.0 (kernel: 6.12.0-55)
RHEL 9.7 (kernel: 5.14.0-611)
RHEL 9.6 (kernel: 5.14.0-570)
RHEL 9.4 (kernel: 5.14.0-427)
RHEL 8.10 (kernel: 4.18.0-553)
.. matrix-cell::
:show-cond: gpu=mi350p
RHEL 9.6 (kernel: 5.14.0-570)
.. matrix-cell::
:show-cond: gpu=mi325x
RHEL 10.1 (kernel: 6.12.0-124)
RHEL 10.0 (kernel: 6.12.0-55)
RHEL 9.7 (kernel: 5.14.0-611)
RHEL 9.6 (kernel: 5.14.0-570)
RHEL 9.4 (kernel: 5.14.0-427)
.. matrix-row::
:show-cond: os=debian
.. matrix-cell:: Supported Debian version
:header:
.. matrix-cell::
:show-cond: gpu=mi355x gpu=mi350x gpu=mi325x gpu=mi300x
Debian 13 (kernel: 6.12)
Debian 12 (kernel: 6.1.0)
.. matrix-cell:: Debian 12 (kernel: 6.1.0)
:show-cond: gpu=mi300a gpu=mi250x gpu=mi250
.. matrix-row::
:show-cond: os=oracle-linux
.. matrix-cell:: Supported Oracle Linux versions
:header:
.. matrix-cell::
:show-cond: gpu=mi355x gpu=mi350x gpu=mi325x
Oracle Linux 10 (kernel: UEK 8.1)
Oracle Linux 9 (kernel: UEK 8)
.. matrix-cell::
:show-cond: gpu=mi300x
Oracle Linux 10 (kernel: UEK 8.1)
Oracle Linux 9 (kernel: UEK 8)
Oracle Linux 8 (kernel: UEK 7)
.. matrix-row::
:show-cond: os=rocky-linux
.. matrix-cell:: Supported Rocky Linux versions
:header:
.. matrix-cell::
:show-cond: gpu=mi300x gpu=mi300a
Rocky Linux 9 (kernel: 5.14.0-570)
.. matrix-row::
:show-cond: os=sles
.. matrix-cell:: Supported SUSE Linux Enterprise Server versions
:header:
.. matrix-cell::
:show-cond: gpu=mi355x gpu=mi350x gpu=mi325x gpu=mi300x gpu=mi300a gpu=mi250x gpu=mi250 gpu=mi210
SLES 16.0 (kernel: 6.12)
SLES 15.7 (kernel: 6.4.0-150700.51)
.. matrix-cell::
:show-cond: gpu=mi100
SLES 15.7 (kernel: 6.4.0-150700.51)
.. matrix-row::
.. matrix-cell:: Supported AMD GPU Driver (amdgpu) versions
:header:
.. matrix-cell::
`31.30.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/31.30.0-preview/documentation/release-notes.html>`__
`31.20.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/31.20.0-preview/documentation/release-notes.html>`__
`31.10.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/31.10.0-preview/documentation/release-notes.html>`__
`30.30.3 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.30.3/documentation/release-notes.html>`__
`30.30.2 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.30.2/documentation/release-notes.html>`__
`30.30.1 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.30.1/documentation/release-notes.html>`__
`30.30.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.30.0/documentation/release-notes.html>`__
`30.20.1 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.20.1/documentation/release-notes.html>`__
`30.20.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.20.0/documentation/release-notes.html>`__
`30.10.2 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10.2/documentation/release-notes.html>`__
`30.10.1 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10.1/documentation/release-notes.html>`__
`30.10.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10/documentation/release-notes.html>`__
.. matrix-row::
.. matrix-cell:: Supported PLDM bundle (firmware) versions
:header:
.. matrix-cell::
:show-cond: gpu=mi355x gpu=mi350x gpu=mi300x
01.26.00.02
.. matrix-cell::
:show-cond: gpu=mi350p
IFWI 00185129
.. matrix-cell::
:show-cond: gpu=mi325x
01.25.04.02
.. matrix-cell::
:show-cond: gpu=mi300a
BKC 26.1
.. matrix-cell::
:show-cond: gpu=mi250x
IFWI 75 (or later)
.. matrix-cell::
:show-cond: gpu=mi250 gpu=mi210
Maintenance update (MU) 5 with IFWI 75 (or later)
.. matrix-cell::
:show-cond: gpu=mi100
VBIOS D3430401-037
@@ -1,150 +0,0 @@
.. matrix::
:show-cond: fam=radeon
.. matrix-row::
.. matrix-cell:: AMD GPU series
:header:
.. matrix-cell::
:show-cond: gpu=ai-r9700 gpu=ai-r9600d
`AMD Radeon AI PRO R9000 Series <https://www.amd.com/en/products/graphics/workstations/radeon-ai-pro.html#tabs-95fa144b96-item-b95ec9e1ca-tab>`__
.. matrix-cell::
:show-cond: gpu=w7900-dual-slot gpu=w7900 gpu=w7800-48gb gpu=w7800 gpu=w7700
`AMD Radeon PRO W7000 Series <https://www.amd.com/en/products/graphics/workstations/radeon-pro.html#tabs-990fdead92-item-20daa37284-tab>`__
.. matrix-cell::
:show-cond: gpu=w6800
`AMD Radeon PRO W6000 Series <https://www.amd.com/en/products/graphics/workstations/radeon-pro/w6800.html>`__
.. matrix-cell::
:show-cond: gpu=v710 gpu=v620
`AMD Radeon PRO V Series <https://www.amd.com/en/products/accelerators/radeon-pro.html>`__
.. matrix-cell::
:show-cond: gpu=rx-9070 gpu=rx-9070-gre gpu=rx-9070-xt gpu=rx-9060 gpu=rx-9060-xt gpu=rx-9060-xt-lp
`AMD Radeon RX 9000 Series <https://www.amd.com/en/products/graphics/desktops/radeon.html#tabs-ff9c5c3863-item-37fb38a236-tab>`__
.. matrix-cell::
:show-cond: gpu=rx-7900-xtx gpu=rx-7900-xt gpu=rx-7900-gre gpu=rx-7800-xt gpu=rx-7700-xt gpu=rx-7700-xe gpu=rx-7700 gpu=rx-7600
`AMD Radeon RX 7000 Series <https://www.amd.com/en/products/graphics/desktops/radeon/7000-series.html>`__
.. matrix-row::
.. matrix-cell:: Architecture
:header:
.. matrix-cell:: RDNA 4
:show-cond: gpu=ai-r9700 gpu=ai-r9600d gpu=rx-9070-xt gpu=rx-9070-gre gpu=rx-9070 gpu=rx-9060-xt-lp gpu=rx-9060-xt gpu=rx-9060
.. matrix-cell:: RDNA 3
:show-cond: gpu=w7900-dual-slot gpu=w7900 gpu=w7800-48gb gpu=w7800 gpu=w7700 gpu=v710 gpu=rx-7900-xtx gpu=rx-7900-xt gpu=rx-7900-gre gpu=rx-7800-xt gpu=rx-7700-xt gpu=rx-7700-xe gpu=rx-7700 gpu=rx-7600
.. matrix-cell:: RDNA 2
:show-cond: gpu=w6800 gpu=v620
.. matrix-row::
.. matrix-cell:: LLVM target
:header:
.. matrix-cell:: gfx1201
:show-cond: gpu=ai-r9700 gpu=ai-r9600d gpu=rx-9070 gpu=rx-9070-gre gpu=rx-9070-xt
.. matrix-cell:: gfx1200
:show-cond: gpu=rx-9060 gpu=rx-9060-xt gpu=rx-9060-xt-lp
.. matrix-cell:: gfx1100
:show-cond: gpu=rx-7900-xtx gpu=rx-7900-xt gpu=rx-7900-gre gpu=w7900-dual-slot gpu=w7900 gpu=w7800-48gb gpu=w7800
.. matrix-cell:: gfx1101
:show-cond: gpu=rx-7800-xt gpu=rx-7700-xt gpu=rx-7700-xe gpu=rx-7700 gpu=w7700 gpu=v710
.. matrix-cell:: gfx1102
:show-cond: gpu=rx-7600
.. matrix-cell:: gfx1030
:show-cond: gpu=w6800 gpu=v620
.. matrix-row::
:show-cond: os=ubuntu
.. matrix-cell:: Supported Ubuntu versions
:header:
.. matrix-cell::
26.04 (GA kernel: 7.0)
24.04.4 (GA kernel: 6.8)
22.04.5 (GA kernel: 5.15)
.. matrix-row::
:show-cond: os=rhel
.. matrix-cell:: Supported RHEL versions
:header:
.. matrix-cell::
10.1 (kernel: 6.12.0-124)
9.7 (kernel: 5.14.0-611)
.. matrix-row::
:show-cond: os=windows
.. matrix-cell:: Supported Windows version
:header:
.. matrix-cell:: Windows 11 25H2
.. matrix-row::
:show-cond: os=ubuntu os=rhel
.. matrix-cell:: Supported AMD GPU Driver (amdgpu) versions
:header:
.. matrix-cell::
`31.30.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/31.30.0-preview/documentation/release-notes.html>`__
`31.20.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/31.20.0-preview/documentation/release-notes.html>`__
`31.10.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/31.10.0-preview/documentation/release-notes.html>`__
`30.30.3 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.30.3/documentation/release-notes.html>`__
`30.30.2 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.30.2/documentation/release-notes.html>`__
`30.30.1 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.30.1/documentation/release-notes.html>`__
`30.30.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.30.0/documentation/release-notes.html>`__
`30.20.1 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.20.1/documentation/release-notes.html>`__
`30.20.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.20.0/documentation/release-notes.html>`__
`30.10.2 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10.2/documentation/release-notes.html>`__
`30.10.1 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10.1/documentation/release-notes.html>`__
`30.10.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10/documentation/release-notes.html>`__
.. matrix-row::
:show-cond: os=windows
.. matrix-cell:: Supported Adrenalin Driver version
:header:
.. matrix-cell::
`26.5.1 <https://www.amd.com/en/resources/support-articles/release-notes/RN-RAD-WIN-26-5-1.html>`__
-159
View File
@@ -1,159 +0,0 @@
.. matrix::
:show-cond: fam=ryzen
.. matrix-row::
.. matrix-cell:: AMD APU series
:header:
.. matrix-cell::
:show-cond: gpu=max-pro-395 gpu=max-pro-390 gpu=max-pro-385 gpu=max-pro-380
`AMD Ryzen AI Max PRO 300 Series <https://www.amd.com/en/products/processors/workstations/mobile.html#tabs-7f0c432fb2-item-5116ab7a74-tab>`__
.. matrix-cell::
:show-cond: gpu=max-395 gpu=max-392 gpu=max-388 gpu=max-390 gpu=max-385
`AMD Ryzen AI Max 300 Series <https://www.amd.com/en/products/processors/laptop/ryzen.html#tabs-1181ea0b44-item-6ccfea5f65-tab>`__
.. matrix-cell::
:show-cond: gpu=9-hx-pro-475 gpu=9-hx-pro-470 gpu=9-pro-465 gpu=7-pro-450 gpu=5-pro-440 gpu=5-pro-435
`AMD Ryzen AI PRO 400 Series <https://www.amd.com/en/products/processors/workstations/mobile.html#tabs-7f0c432fb2-item-0c42136112-tab>`__
.. matrix-cell::
:show-cond: gpu=ai-9-hx-pro-475 gpu=ai-9-hx-pro-470 gpu=ai-9-pro-460
`AMD Ryzen AI PRO 400 Series <https://www.amd.com/en/products/processors/laptop/ryzen-for-business.html#tabs-0d174caf43-item-87690677fc-tab>`__
.. matrix-cell::
:show-cond: gpu=ai-9-hx-475 gpu=ai-9-hx-470 gpu=ai-9-465 gpu=ai-7-450 gpu=ai-5-435 gpu=ai-5-430
`AMD Ryzen AI 400 Series <https://www.amd.com/en/products/processors/consumer/ryzen-ai.html#tabs-f556098628-item-808b56dca3-tab>`__
.. matrix-cell::
:show-cond: gpu=9-hx-pro-375 gpu=9-hx-pro-370 gpu=ai-7-pro-350 gpu=ai-5-pro-340
`AMD Ryzen AI PRO 300 Series <https://www.amd.com/en/products/processors/workstations/mobile.html#tabs-7f0c432fb2-item-387526c6cc-tab>`__
.. matrix-cell::
:show-cond: gpu=9-hx-375 gpu=9-hx-370 gpu=9-365 gpu=ai-7-350 gpu=ai-7-345 gpu=ai-5-340 gpu=ai-5-330
`AMD Ryzen AI 300 Series <https://www.amd.com/en/products/processors/consumer/ryzen-ai.html#tabs-f556098628-item-54e149d850-tab>`__
.. matrix-cell::
:show-cond: gpu=7-pro-250 gpu=5-pro-240 gpu=5-pro-230 gpu=5-pro-220 gpu=3=pro-210
`AMD Ryzen PRO 200 Series <https://www.amd.com/en/products/processors/laptop/ryzen-for-business.html#tabs-0d174caf43-item-a8ec88d07e-tab>`__
.. matrix-cell::
:show-cond: gpu=9-270 gpu=7-260 gpu=7-250 gpu=5-240 gpu=5-230 gpu=5-220 gpu=3-210
`AMD Ryzen 200 Series <https://www.amd.com/en/products/processors/laptop/ryzen.html#tabs-1181ea0b44-item-895d56feed-tab>`__
.. matrix-row::
.. matrix-cell:: Graphics model (iGPU)
:header:
.. matrix-cell:: Radeon 8060S
:show-cond: gpu=max-pro-395 gpu=max-395 gpu=max-392 gpu=max-388
.. matrix-cell:: Radeon 8050S
:show-cond: gpu=max-pro-390 gpu=max-pro-385 gpu=max-390 gpu=max-385
.. matrix-cell:: Radeon 8040S
:show-cond: gpu=max-pro-380
.. matrix-cell:: Radeon 890M
:show-cond: gpu=ai-9-hx-pro-475 gpu=ai-9-hx-pro-470 gpu=ai-9-hx-475 gpu=ai-9-hx-470 gpu=9-hx-pro-375 gpu=9-hx-pro-370 gpu=9-hx-375 gpu=9-hx-370
.. matrix-cell:: Radeon 880M
:show-cond: gpu=ai-9-pro-465 gpu=ai-9-465 gpu=9-365
.. matrix-cell:: Radeon 860M
:show-cond: gpu=ai-7-pro-450 gpu=ai-7-450
.. matrix-cell:: Radeon 840M
:show-cond: gpu=ai-5-pro-440 gpu=5-pro-435 gpu=ai-7-pro-350 gpu=ai-5-pro-340 gpu=ai-5-435 gpu=ai-5-430 gpu=ai-7-345 gpu=ai-5-340
.. matrix-cell:: Radeon 820M
:show-cond: gpu=ai-5-330
.. matrix-cell:: Radeon 780M
:show-cond: gpu=7-pro-250 gpu=9-270 gpu=7-260 gpu=7-250
.. matrix-cell:: Radeon 760M
:show-cond: gpu=5-pro-230 gpu=5-240 gpu=5-230
.. matrix-cell:: Radeon 740M
:show-cond: gpu=5-pro-220 gpu=5-pro-215 gpu=3-pro-210 gpu=5-220 gpu=3-210
.. matrix-row::
.. matrix-cell:: Architecture
:header:
.. matrix-cell:: RDNA 3.5
:show-cond: gfx=gfx1151 gfx=gfx1150 gfx=gfx1152 gfx=gfx1153
.. matrix-cell:: RDNA 3
:show-cond: gfx=gfx1103
.. matrix-row::
.. matrix-cell:: LLVM target
:header:
.. matrix-cell:: gfx1151
:show-cond: gfx=gfx1151
.. matrix-cell:: gfx1150
:show-cond: gfx=gfx1150
.. matrix-cell:: gfx1152
:show-cond: gfx=gfx1152
.. matrix-cell:: gfx1153
:show-cond: gfx=gfx1153
.. matrix-cell:: gfx1103
:show-cond: gfx=gfx1103
.. matrix-row::
:show-cond: os=ubuntu
.. matrix-cell:: Supported Ubuntu versions
:header:
.. matrix-cell::
26.04 (GA kernel: 7.0)
24.04.4 (HWE kernel: 6.17)
.. matrix-row::
:show-cond: os=windows
.. matrix-cell:: Supported Windows version
:header:
.. matrix-cell:: Windows 11 25H2
.. matrix-row::
:show-cond: os=ubuntu
.. matrix-cell:: Supported kernel driver version
:header:
.. matrix-cell:: Inbox kernel driver in supported Ubuntu version
.. matrix-row::
:show-cond: os=windows
.. matrix-cell:: Supported Adrenalin Driver version
:header:
.. matrix-cell::
`26.5.1 <https://www.amd.com/en/resources/support-articles/release-notes/RN-RAD-WIN-26-5-1.html>`__
@@ -1,201 +0,0 @@
.. selected:: gpu=mi355x gpu=mi350x gpu=mi325x gpu=mi300x gpu=mi210
:heading: GPU virtualization support
.. selected:: gpu=mi355x gpu=mi350x gpu=mi325x gpu=mi300x gpu=mi210
Supported SR-IOV configurations require the GPU-IOV Module (GIM) driver
9.0.0K -- see the `AMD Instinct Virtualization Driver documentation
<https://instinct.docs.amd.com/projects/virt-drv/en/mainline-9.0.0.k/>`__ to
get started.
.. matrix::
.. matrix-row::
:header:
.. matrix-cell:: Hypervisor
.. matrix-cell:: Virtualization technology
.. matrix-cell:: Virtualization driver
.. matrix-cell:: Host OS
.. matrix-cell:: Guest OS
.. matrix-row::
:show-cond: gpu=mi355x
.. matrix-cell:: KVM
:rowspan: 4
.. matrix-cell:: Passthrough
.. matrix-cell::
.. matrix-cell:: Ubuntu 24.04
.. matrix-cell:: Ubuntu 24.04
.. matrix-row::
:show-cond: gpu=mi355x
.. matrix-cell:: SR-IOV
:rowspan: 3
.. matrix-cell::
:rowspan: 3
`GIM 9.0.0K <https://github.com/amd/MxGPU-Virtualization/releases/tag/9.0.0.K>`__
.. matrix-cell:: Ubuntu 24.04
:rowspan: 3
.. matrix-cell:: Ubuntu 24.04
.. matrix-row::
:show-cond: gpu=mi355x
.. matrix-cell:: RHEL 10.0
.. matrix-row::
:show-cond: gpu=mi355x
.. matrix-cell:: RHEL 9.6
.. matrix-row::
:show-cond: gpu=mi355x
.. matrix-cell:: ESXi
.. matrix-cell::
.. matrix-cell::
.. matrix-cell:: ESXi 9.1
.. matrix-cell:: Ubuntu 24.04
.. matrix-row::
:show-cond: gpu=mi350x
.. matrix-cell:: KVM
:rowspan: 3
.. matrix-cell:: Passthrough
.. matrix-cell::
.. matrix-cell:: Ubuntu 24.04
.. matrix-cell:: Ubuntu 24.04
.. matrix-row::
:show-cond: gpu=mi350x
.. matrix-cell:: SR-IOV
:rowspan: 2
.. matrix-cell::
:rowspan: 2
`GIM 9.0.0K <https://github.com/amd/MxGPU-Virtualization/releases/tag/9.0.0.K>`__
.. matrix-cell:: Ubuntu 24.04
:rowspan: 2
.. matrix-cell:: Ubuntu 24.04
.. matrix-row::
:show-cond: gpu=mi350x
.. matrix-cell:: RHEL 9.6
.. matrix-row::
:show-cond: gpu=mi325x
.. matrix-cell:: KVM
.. matrix-cell:: SR-IOV
.. matrix-cell::
`GIM 9.0.0K <https://github.com/amd/MxGPU-Virtualization/releases/tag/9.0.0.K>`__
.. matrix-cell:: Ubuntu 22.04
.. matrix-cell:: Ubuntu 22.04
.. matrix-row::
:show-cond: gpu=mi300x
.. matrix-cell:: KVM
:rowspan: 3
.. matrix-cell:: Passthrough
.. matrix-cell::
.. matrix-cell:: Ubuntu 22.04
.. matrix-cell:: Ubuntu 22.04
.. matrix-row::
:show-cond: gpu=mi300x
.. matrix-cell:: SR-IOV
:rowspan: 2
.. matrix-cell::
:rowspan: 2
`GIM 9.0.0K <https://github.com/amd/MxGPU-Virtualization/releases/tag/9.0.0.K>`__
.. matrix-cell:: Ubuntu 24.04
.. matrix-cell:: Ubuntu 24.04
.. matrix-row::
:show-cond: gpu=mi300x
.. matrix-cell:: Ubuntu 22.04
.. matrix-cell:: Ubuntu 22.04
.. matrix-row::
:show-cond: gpu=mi210
.. matrix-cell:: KVM
:rowspan: 3
.. matrix-cell:: Passthrough
.. matrix-cell::
.. matrix-cell:: RHEL 9.4
:rowspan: 3
.. matrix-cell:: Ubuntu 22.04
.. matrix-row::
:show-cond: gpu=mi210
.. matrix-cell:: SR-IOV
:rowspan: 2
.. matrix-cell::
:rowspan: 2
`GIM 9.0.0K <https://github.com/amd/MxGPU-Virtualization/releases/tag/9.0.0.K>`__
.. matrix-cell:: Ubuntu 22.04
.. matrix-row::
:show-cond: gpu=mi210
.. matrix-cell:: RHEL 9.4
See the :ref:`release notes <release-virtualization-support>`
for the full list of supported configurations.
@@ -0,0 +1,349 @@
:orphan:
.. meta::
:description: JAX compatibility
:keywords: GPU, JAX, deep learning, framework compatibility
.. version-set:: rocm_version latest
*******************************************************************************
JAX compatibility
*******************************************************************************
`JAX <https://docs.jax.dev/en/latest/notebooks/thinking_in_jax.html>`__ is a library
for array-oriented numerical computation (similar to NumPy), with automatic differentiation
and just-in-time (JIT) compilation to enable high-performance machine learning research.
JAX provides an API that combines automatic differentiation and the
Accelerated Linear Algebra (XLA) compiler to achieve high-performance machine
learning at scale. JAX uses composable transformations of Python and NumPy through
JIT compilation, automatic vectorization, and parallelization.
Support overview
================================================================================
- The ROCm-supported version of JAX is maintained in the official `https://github.com/ROCm/rocm-jax
<https://github.com/ROCm/rocm-jax>`__ repository, which differs from the
`https://github.com/jax-ml/jax <https://github.com/jax-ml/jax>`__ upstream repository.
- To get started and install JAX on ROCm, use the prebuilt :ref:`Docker images <jax-docker-compat>`,
which include ROCm, JAX, and all required dependencies.
- See the :doc:`ROCm JAX installation guide <rocm-install-on-linux:install/3rd-party/jax-install>`
for installation and setup instructions.
- You can also consult the upstream `Installation guide <https://jax.readthedocs.io/en/latest/installation.html#amd-gpu-linux>`__
for additional context.
Version support
--------------------------------------------------------------------------------
AMD releases official `ROCm JAX Docker images <https://hub.docker.com/r/rocm/jax/tags>`_
quarterly alongside new ROCm releases. These images undergo full AMD testing.
`Community ROCm JAX Docker images <https://hub.docker.com/r/rocm/jax-community/tags>`_
follow upstream JAX releases and use the latest available ROCm version.
JAX Plugin-PJRT with JAX/JAXLIB compatibility
================================================================================
Portable JIT Runtime (PJRT) is an open, stable interface for device runtime and
compiler. The following table details the ROCm version compatibility matrix
between JAX PluginPJRT and JAX/JAXLIB.
.. list-table::
:header-rows: 1
* - JAX Plugin-PJRT
- JAX/JAXLIB
- ROCm
* - 0.8.2
- 0.8.2
- 7.2.1
* - 0.8.0
- 0.8.0
- 7.2.0
* - 0.7.1
- 0.7.1
- 7.1.1, 7.1.0
Use cases and recommendations
================================================================================
* The `nanoGPT in JAX <https://rocm.blogs.amd.com/artificial-intelligence/nanoGPT-JAX/README.html>`_
blog explores the implementation and training of a Generative Pre-trained
Transformer (GPT) model in JAX, inspired by Andrej Karpathys JAX-based
nanoGPT. Comparing how essential GPT components—such as self-attention
mechanisms and optimizers—are realized in JAX and JAX, also highlights
JAXs unique features.
* The `Optimize GPT Training: Enabling Mixed Precision Training in JAX using
ROCm on AMD GPUs <https://rocm.blogs.amd.com/artificial-intelligence/jax-mixed-precision/README.html>`_
blog post provides a comprehensive guide on enhancing the training efficiency
of GPT models by implementing mixed precision techniques in JAX, specifically
tailored for AMD GPUs utilizing the ROCm platform.
* The `Supercharging JAX with Triton Kernels on AMD GPUs <https://rocm.blogs.amd.com/artificial-intelligence/jax-triton/README.html>`_
blog demonstrates how to develop a custom fused dropout-activation kernel for
matrices using Triton, integrate it with JAX, and benchmark its performance
using ROCm.
* The `Distributed fine-tuning with JAX on AMD GPUs <https://rocm.blogs.amd.com/artificial-intelligence/distributed-sft-jax/README.html>`_
outlines the process of fine-tuning a Bidirectional Encoder Representations
from Transformers (BERT)-based large language model (LLM) using JAX for a text
classification task. The blog post discusses techniques for parallelizing the
fine-tuning across multiple AMD GPUs and assess the model's performance on a
holdout dataset. During the fine-tuning, a BERT-base-cased transformer model
and the General Language Understanding Evaluation (GLUE) benchmark dataset was
used on a multi-GPU setup.
* The `MI300X workload optimization guide <https://rocm.docs.amd.com/en/latest/how-to/tuning-guides/mi300x/workload.html>`_
provides detailed guidance on optimizing workloads for the AMD Instinct MI300X
GPU using ROCm. The page is aimed at helping users achieve optimal
performance for deep learning and other high-performance computing tasks on
the MI300X GPU.
For more use cases and recommendations, see `ROCm JAX blog posts <https://rocm.blogs.amd.com/blog/tag/jax.html>`_.
.. _jax-docker-compat:
Docker image compatibility
================================================================================
AMD validates and publishes `JAX images <https://hub.docker.com/r/rocm/jax/tags>`__
with ROCm backends on Docker Hub.
For ``jax-community`` images, see `rocm/jax-community
<https://hub.docker.com/r/rocm/jax-community/tags>`__ on Docker Hub.
To find the right image tag, see the :ref:`JAX on ROCm installation
documentation <rocm-install-on-linux:jax-docker-support>` for a list of
available ``rocm/jax`` images.
.. _key_rocm_libraries:
Key ROCm libraries for JAX
================================================================================
The following ROCm libraries represent potential targets that could be utilized
by JAX on ROCm for various computational tasks. The actual libraries used will
depend on the specific implementation and operations performed.
.. list-table::
:header-rows: 1
* - ROCm library
- Version
- Purpose
* - `hipBLAS <https://github.com/ROCm/hipBLAS>`_
- :version-ref:`hipBLAS rocm_version`
- Provides GPU-accelerated Basic Linear Algebra Subprograms (BLAS) for
matrix and vector operations.
* - `hipBLASLt <https://github.com/ROCm/hipBLASLt>`_
- :version-ref:`hipBLASLt rocm_version`
- hipBLASLt is an extension of hipBLAS, providing additional
features like epilogues fused into the matrix multiplication kernel or
use of integer tensor cores.
* - `hipCUB <https://github.com/ROCm/hipCUB>`_
- :version-ref:`hipCUB rocm_version`
- Provides a C++ template library for parallel algorithms for reduction,
scan, sort and select.
* - `hipFFT <https://github.com/ROCm/hipFFT>`_
- :version-ref:`hipFFT rocm_version`
- Provides GPU-accelerated Fast Fourier Transform (FFT) operations.
* - `hipRAND <https://github.com/ROCm/hipRAND>`_
- :version-ref:`hipRAND rocm_version`
- Provides fast random number generation for GPUs.
* - `hipSOLVER <https://github.com/ROCm/hipSOLVER>`_
- :version-ref:`hipSOLVER rocm_version`
- Provides GPU-accelerated solvers for linear systems, eigenvalues, and
singular value decompositions (SVD).
* - `hipSPARSE <https://github.com/ROCm/hipSPARSE>`_
- :version-ref:`hipSPARSE rocm_version`
- Accelerates operations on sparse matrices, such as sparse matrix-vector
or matrix-matrix products.
* - `hipSPARSELt <https://github.com/ROCm/hipSPARSELt>`_
- :version-ref:`hipSPARSELt rocm_version`
- Accelerates operations on sparse matrices, such as sparse matrix-vector
or matrix-matrix products.
* - `MIOpen <https://github.com/ROCm/MIOpen>`_
- :version-ref:`MIOpen rocm_version`
- Optimized for deep learning primitives such as convolutions, pooling,
normalization, and activation functions.
* - `RCCL <https://github.com/ROCm/rccl>`_
- :version-ref:`RCCL rocm_version`
- Optimized for multi-GPU communication for operations like all-reduce,
broadcast, and scatter.
* - `rocThrust <https://github.com/ROCm/rocThrust>`_
- :version-ref:`rocThrust rocm_version`
- Provides a C++ template library for parallel algorithms like sorting,
reduction, and scanning.
.. note::
This table shows ROCm libraries that could potentially be utilized by JAX. Not
all libraries may be used in every configuration, and the actual library usage
will depend on the specific operations and implementation details.
Supported data types and modules
===============================================================================
The following tables lists the supported public JAX API data types and modules.
Supported data types
--------------------------------------------------------------------------------
ROCm supports all the JAX data types of `jax.dtypes <https://docs.jax.dev/en/latest/jax.dtypes.html>`_
module, `jax.numpy.dtype <https://docs.jax.dev/en/latest/_autosummary/jax.numpy.dtype.html>`_
and `default_dtype <https://docs.jax.dev/en/latest/default_dtypes.html>`_ .
The ROCm supported data types in JAX are collected in the following table.
.. list-table::
:header-rows: 1
* - Data type
- Description
* - ``bfloat16``
- 16-bit bfloat (brain floating point).
* - ``bool``
- Boolean.
* - ``complex128``
- 128-bit complex.
* - ``complex64``
- 64-bit complex.
* - ``float16``
- 16-bit (half precision) floating-point.
* - ``float32``
- 32-bit (single precision) floating-point.
* - ``float64``
- 64-bit (double precision) floating-point.
* - ``half``
- 16-bit (half precision) floating-point.
* - ``int16``
- Signed 16-bit integer.
* - ``int32``
- Signed 32-bit integer.
* - ``int64``
- Signed 64-bit integer.
* - ``int8``
- Signed 8-bit integer.
* - ``uint16``
- Unsigned 16-bit (word) integer.
* - ``uint32``
- Unsigned 32-bit (dword) integer.
* - ``uint64``
- Unsigned 64-bit (qword) integer.
* - ``uint8``
- Unsigned 8-bit (byte) integer.
.. note::
JAX data type support is affected by the :ref:`key_rocm_libraries` and it's
collected on :doc:`ROCm data types and precision support <rocm:reference/precision-support>`
page.
Supported modules
--------------------------------------------------------------------------------
For a complete and up-to-date list of JAX public modules (for example, ``jax.numpy``,
``jax.scipy``, ``jax.lax``), their descriptions, and usage, please refer directly to the
`official JAX API documentation <https://jax.readthedocs.io/en/latest/jax.html>`_.
.. note::
Since version 0.1.56, JAX has full support for ROCm, and the
:ref:`Known issues and important notes <jax_comp_known_issues>` section
contains details about limitations specific to the ROCm backend. The list of
JAX API modules are maintained by the JAX project and is subject to change.
Refer to the official Jax documentation for the most up-to-date information.
Key features and enhancements for ROCm 7.1
===============================================================================
- Enabled compilation of multihost HLO runner Python bindings.
- Backported multihost HLO runner bindings and some related changes to
:code:`FunctionalHloRunner`.
- Added :code:`requirements_lock_3_12` to enable building for Python 3.12.
- Removed hardcoded NHWC convolution layout for ``fp16`` precision to address the performance drops for ``fp16`` precision on gfx12xx GPUs.
- ROCprofiler-SDK integration:
- Integrated ROCprofiler-SDK (v3) to XLA to improve profiling of GPU events,
support both time-based and step-based profiling.
- Added unit tests for :code:`rocm_collector` and :code:`rocm_tracer`.
- Added Triton unsupported conversion from ``f8E4M3FNUZ`` to ``fp16`` with
rounding mode.
- Introduced :code:`CudnnFusedConvDecomposer` to revert fused convolutions
when :code:`ConvAlgorithmPicker` fails to find a fused algorithm, and removed
unfused fallback paths from :code:`RocmFusedConvRunner`.
Key features and enhancements for ROCm 7.0
===============================================================================
- Upgraded XLA backend: Integrates a newer XLA version, enabling better
optimizations, broader operator support, and potential performance gains.
- RNN support: Native RNN support (including LSTMs via ``jax.experimental.rnn``)
now available on ROCm, aiding sequence model development.
- Comprehensive linear algebra capabilities: Offers robust ``jax.linalg``
operations, essential for scientific and machine learning tasks.
- Expanded AMD GPU architecture support: Provides ongoing support for gfx1101
GPUs and introduces support for gfx950 and gfx12xx GPUs.
- Mixed FP8 precision support: Enables ``lax.dot_general`` operations with mixed FP8
types, offering pathways for memory and compute efficiency.
- Streamlined PyPi packaging: Provides reliable PyPi wheels for JAX on ROCm,
simplifying the installation process.
- Pallas experimental kernel development: Continued Pallas framework
enhancements for custom GPU kernels, including new intrinsics (specific
kernel behaviors under review).
- Improved build system and CI: Enhanced ROCm build system and CI for greater
reliability and maintainability.
- Enhanced distributed computing setup: Improved JAX setup in multi-GPU
distributed environments.
.. _jax_comp_known_issues:
Known issues and notes for ROCm 7.0
===============================================================================
- ``nn.dot_product_attention``: Certain configurations of ``jax.nn.dot_product_attention``
may cause segmentation faults, though the majority of use cases work correctly.
- SVD with dynamic shapes: SVD on inputs with dynamic/symbolic shapes might result in an error.
SVD with static shapes is unaffected.
- QR decomposition with symbolic shapes: QR decomposition operations may fail when using
symbolic/dynamic shapes in shape polymorphic contexts.
- Pallas kernels: Specific advanced Pallas kernels may exhibit variations in
numerical output or resource usage. These are actively reviewed as part of
Pallas's experimental development.
@@ -0,0 +1,512 @@
:orphan:
.. meta::
:description: PyTorch compatibility
:keywords: GPU, PyTorch, deep learning, framework compatibility
.. version-set:: rocm_version latest
********************************************************************************
PyTorch compatibility
********************************************************************************
`PyTorch <https://pytorch.org/>`__ is an open-source tensor library designed for
deep learning. PyTorch on ROCm provides mixed-precision and large-scale training
using `MIOpen <https://github.com/ROCm/MIOpen>`__ and
`RCCL <https://github.com/ROCm/rccl>`__ libraries.
PyTorch provides two high-level features:
- Tensor computation (like NumPy) with strong GPU acceleration
- Deep neural networks built on a tape-based autograd system (rapid computation
of multiple partial derivatives or gradients)
Support overview
================================================================================
ROCm support for PyTorch is upstreamed into the official PyTorch repository.
ROCm development is aligned with the stable release of PyTorch, while upstream
PyTorch testing uses the stable release of ROCm to maintain consistency:
- The ROCm-supported version of PyTorch is maintained in the official `https://github.com/ROCm/pytorch
<https://github.com/ROCm/pytorch>`__ repository, which differs from the
`https://github.com/pytorch/pytorch <https://github.com/pytorch/pytorch>`__ upstream repository.
- To get started and install PyTorch on ROCm, use the prebuilt :ref:`Docker images <pytorch-docker-compat>`,
which include ROCm, PyTorch, and all required dependencies.
- See the :doc:`ROCm PyTorch installation guide <rocm-install-on-linux:install/3rd-party/pytorch-install>`
for installation and setup instructions.
- You can also consult the upstream `Installation guide <https://pytorch.org/get-started/locally/>`__ or
`Previous versions <https://pytorch.org/get-started/previous-versions/>`__ for additional context.
PyTorch includes tooling that generates HIP source code from the CUDA backend.
This approach allows PyTorch to support ROCm without requiring manual code
modifications. For more information, see :doc:`HIPIFY <hipify:index>`.
Version support
--------------------------------------------------------------------------------
AMD releases official `ROCm PyTorch Docker images <https://hub.docker.com/r/rocm/pytorch/tags>`_
quarterly alongside new ROCm releases. These images undergo full AMD testing.
.. _pytorch-recommendations:
Use cases and recommendations
================================================================================
* :doc:`Using ROCm for AI: training a model </how-to/rocm-for-ai/training/benchmark-docker/pytorch-training>`
guides how to leverage the ROCm platform for training AI models. It covers the
steps, tools, and best practices for optimizing training workflows on AMD GPUs
using PyTorch features.
* :doc:`Single-GPU fine-tuning and inference </how-to/rocm-for-ai/fine-tuning/single-gpu-fine-tuning-and-inference>`
describes and demonstrates how to use the ROCm platform for the fine-tuning
and inference of machine learning models, particularly large language models
(LLMs), on systems with a single GPU. This topic provides a detailed guide for
setting up, optimizing, and executing fine-tuning and inference workflows in
such environments.
* :doc:`Multi-GPU fine-tuning and inference optimization </how-to/rocm-for-ai/fine-tuning/multi-gpu-fine-tuning-and-inference>`
describes and demonstrates the fine-tuning and inference of machine learning
models on systems with multiple GPUs.
* The :doc:`Instinct MI300X workload optimization guide </how-to/rocm-for-ai/inference-optimization/workload>`
provides detailed guidance on optimizing workloads for the AMD Instinct MI300X
GPU using ROCm. This guide helps users achieve optimal performance for
deep learning and other high-performance computing tasks on the MI300X
GPU.
* The :doc:`Inception with PyTorch documentation </conceptual/ai-pytorch-inception>`
describes how PyTorch integrates with ROCm for AI workloads. It outlines the
use of PyTorch on the ROCm platform and focuses on efficiently leveraging AMD
GPU hardware for training and inference tasks in AI applications.
For more use cases and recommendations, see `ROCm PyTorch blog posts <https://rocm.blogs.amd.com/blog/tag/pytorch.html>`__.
.. _pytorch-docker-compat:
Docker image compatibility
================================================================================
AMD validates and publishes `PyTorch images <https://hub.docker.com/r/rocm/pytorch/tags>`__
with ROCm backends on Docker Hub.
To find the right image tag, see the :ref:`PyTorch on ROCm installation
documentation <rocm-install-on-linux:pytorch-docker-support>` for a list of
available ``rocm/pytorch`` images.
Key ROCm libraries for PyTorch
================================================================================
PyTorch functionality on ROCm is determined by its underlying library
dependencies. These ROCm components affect the capabilities, performance, and
feature set available to developers.
.. list-table::
:header-rows: 1
* - ROCm library
- Version
- Purpose
- Used in
* - `Composable Kernel <https://github.com/ROCm/composable_kernel>`__
- :version-ref:`"Composable Kernel" rocm_version`
- Enables faster execution of core operations like matrix multiplication
(GEMM), convolutions and transformations.
- Speeds up ``torch.permute``, ``torch.view``, ``torch.matmul``,
``torch.mm``, ``torch.bmm``, ``torch.nn.Conv2d``, ``torch.nn.Conv3d``
and ``torch.nn.MultiheadAttention``.
* - `hipBLAS <https://github.com/ROCm/hipBLAS>`__
- :version-ref:`hipBLAS rocm_version`
- Provides GPU-accelerated Basic Linear Algebra Subprograms (BLAS) for
matrix and vector operations.
- Supports operations such as matrix multiplication, matrix-vector
products, and tensor contractions. Utilized in both dense and batched
linear algebra operations.
* - `hipBLASLt <https://github.com/ROCm/hipBLASLt>`__
- :version-ref:`hipBLASLt rocm_version`
- hipBLASLt is an extension of the hipBLAS library, providing additional
features like epilogues fused into the matrix multiplication kernel or
use of integer tensor cores.
- Accelerates operations such as ``torch.matmul``, ``torch.mm``, and the
matrix multiplications used in convolutional and linear layers.
* - `hipCUB <https://github.com/ROCm/hipCUB>`__
- :version-ref:`hipCUB rocm_version`
- Provides a C++ template library for parallel algorithms for reduction,
scan, sort and select.
- Supports operations such as ``torch.sum``, ``torch.cumsum``,
``torch.sort`` irregular shapes often involve scanning, sorting, and
filtering, which hipCUB handles efficiently.
* - `hipFFT <https://github.com/ROCm/hipFFT>`__
- :version-ref:`hipFFT rocm_version`
- Provides GPU-accelerated Fast Fourier Transform (FFT) operations.
- Used in functions like the ``torch.fft`` module.
* - `hipRAND <https://github.com/ROCm/hipRAND>`__
- :version-ref:`hipRAND rocm_version`
- Provides fast random number generation for GPUs.
- The ``torch.rand``, ``torch.randn``, and stochastic layers like
``torch.nn.Dropout`` rely on hipRAND.
* - `hipSOLVER <https://github.com/ROCm/hipSOLVER>`__
- :version-ref:`hipSOLVER rocm_version`
- Provides GPU-accelerated solvers for linear systems, eigenvalues, and
singular value decompositions (SVD).
- Supports functions like ``torch.linalg.solve``,
``torch.linalg.eig``, and ``torch.linalg.svd``.
* - `hipSPARSE <https://github.com/ROCm/hipSPARSE>`__
- :version-ref:`hipSPARSE rocm_version`
- Accelerates operations on sparse matrices, such as sparse matrix-vector
or matrix-matrix products.
- Sparse tensor operations ``torch.sparse``.
* - `hipSPARSELt <https://github.com/ROCm/hipSPARSELt>`__
- :version-ref:`hipSPARSELt rocm_version`
- Accelerates operations on sparse matrices, such as sparse matrix-vector
or matrix-matrix products.
- Sparse tensor operations ``torch.sparse``.
* - `hipTensor <https://github.com/ROCm/hipTensor>`__
- :version-ref:`hipTensor rocm_version`
- Optimizes for high-performance tensor operations, such as contractions.
- Accelerates tensor algebra, especially in deep learning and scientific
computing.
* - `MIOpen <https://github.com/ROCm/MIOpen>`__
- :version-ref:`MIOpen rocm_version`
- Optimizes deep learning primitives such as convolutions, pooling,
normalization, and activation functions.
- Speeds up convolutional neural networks (CNNs), recurrent neural
networks (RNNs), and other layers. Used in operations like
``torch.nn.Conv2d``, ``torch.nn.ReLU``, and ``torch.nn.LSTM``.
* - `MIGraphX <https://github.com/ROCm/AMDMIGraphX>`__
- :version-ref:`MIGraphX rocm_version`
- Adds graph-level optimizations, ONNX models and mixed precision support
and enable Ahead-of-Time (AOT) Compilation.
- Speeds up inference models and executes ONNX models for
compatibility with other frameworks.
``torch.nn.Conv2d``, ``torch.nn.ReLU``, and ``torch.nn.LSTM``.
* - `MIVisionX <https://github.com/ROCm/MIVisionX>`__
- :version-ref:`MIVisionX rocm_version`
- Optimizes acceleration for computer vision and AI workloads like
preprocessing, augmentation, and inferencing.
- Faster data preprocessing and augmentation pipelines for datasets like
ImageNet or COCO and easy to integrate into PyTorch's ``torch.utils.data``
and ``torchvision`` workflows.
* - `rocAL <https://github.com/ROCm/rocAL>`__
- :version-ref:`rocAL rocm_version`
- Accelerates the data pipeline by offloading intensive preprocessing and
augmentation tasks. rocAL is part of MIVisionX.
- Easy to integrate into PyTorch's ``torch.utils.data`` and
``torchvision`` data load workloads.
* - `RCCL <https://github.com/ROCm/rccl>`__
- :version-ref:`RCCL rocm_version`
- Optimizes for multi-GPU communication for operations like AllReduce and
Broadcast.
- Distributed data parallel training (``torch.nn.parallel.DistributedDataParallel``).
Handles communication in multi-GPU setups.
* - `rocDecode <https://github.com/ROCm/rocDecode>`__
- :version-ref:`rocDecode rocm_version`
- Provides hardware-accelerated data decoding capabilities, particularly
for image, video, and other dataset formats.
- Can be integrated in ``torch.utils.data``, ``torchvision.transforms``
and ``torch.distributed``.
* - `rocJPEG <https://github.com/ROCm/rocJPEG>`__
- :version-ref:`rocJPEG rocm_version`
- Provides hardware-accelerated JPEG image decoding and encoding.
- GPU accelerated ``torchvision.io.decode_jpeg`` and
``torchvision.io.encode_jpeg`` and can be integrated in
``torch.utils.data`` and ``torchvision``.
* - `RPP <https://github.com/ROCm/RPP>`__
- :version-ref:`RPP rocm_version`
- Speeds up data augmentation, transformation, and other preprocessing steps.
- Easy to integrate into PyTorch's ``torch.utils.data`` and
``torchvision`` data load workloads to speed up data processing.
* - `rocThrust <https://github.com/ROCm/rocThrust>`__
- :version-ref:`rocThrust rocm_version`
- Provides a C++ template library for parallel algorithms like sorting,
reduction, and scanning.
- Utilized in backend operations for tensor computations requiring
parallel processing.
* - `rocWMMA <https://github.com/ROCm/rocWMMA>`__
- :version-ref:`rocWMMA rocm_version`
- Accelerates warp-level matrix-multiply and matrix-accumulate to speed up matrix
multiplication (GEMM) and accumulation operations with mixed precision
support.
- Linear layers (``torch.nn.Linear``), convolutional layers
(``torch.nn.Conv2d``), attention layers, general tensor operations that
involve matrix products, such as ``torch.matmul``, ``torch.bmm``, and
more.
Supported modules and data types
================================================================================
The following section outlines the supported data types, modules, and domain
libraries available in PyTorch on ROCm.
Supported data types
--------------------------------------------------------------------------------
The tensor data type is specified using the ``dtype`` attribute or argument.
PyTorch supports many data types for different use cases.
The following table lists `torch.Tensor <https://pytorch.org/docs/stable/tensors.html>`__
single data types:
.. list-table::
:header-rows: 1
* - Data type
- Description
* - ``torch.float8_e4m3fn``
- 8-bit floating point, e4m3
* - ``torch.float8_e5m2``
- 8-bit floating point, e5m2
* - ``torch.float16`` or ``torch.half``
- 16-bit floating point
* - ``torch.bfloat16``
- 16-bit floating point
* - ``torch.float32`` or ``torch.float``
- 32-bit floating point
* - ``torch.float64`` or ``torch.double``
- 64-bit floating point
* - ``torch.complex32`` or ``torch.chalf``
- 32-bit complex numbers
* - ``torch.complex64`` or ``torch.cfloat``
- 64-bit complex numbers
* - ``torch.complex128`` or ``torch.cdouble``
- 128-bit complex numbers
* - ``torch.uint8``
- 8-bit integer (unsigned)
* - ``torch.uint16``
- 16-bit integer (unsigned);
Not natively supported in ROCm
* - ``torch.uint32``
- 32-bit integer (unsigned);
Not natively supported in ROCm
* - ``torch.uint64``
- 64-bit integer (unsigned);
Not natively supported in ROCm
* - ``torch.int8``
- 8-bit integer (signed)
* - ``torch.int16`` or ``torch.short``
- 16-bit integer (signed)
* - ``torch.int32`` or ``torch.int``
- 32-bit integer (signed)
* - ``torch.int64`` or ``torch.long``
- 64-bit integer (signed)
* - ``torch.bool``
- Boolean
* - ``torch.quint8``
- Quantized 8-bit integer (unsigned)
* - ``torch.qint8``
- Quantized 8-bit integer (signed)
* - ``torch.qint32``
- Quantized 32-bit integer (signed)
* - ``torch.quint4x2``
- Quantized 4-bit integer (unsigned)
.. note::
Unsigned types, except ``uint8``, have limited support in eager mode. They
primarily exist to assist usage with ``torch.compile``.
See :doc:`ROCm precision support <rocm:reference/precision-support>` for the
native hardware support of data types.
Supported modules
--------------------------------------------------------------------------------
For a complete and up-to-date list of PyTorch core modules (for example., ``torch``,
``torch.nn``, ``torch.cuda``, ``torch.backends.cuda`` and
``torch.backends.cudnn``), their descriptions, and usage, please refer directly
to the `official PyTorch documentation <https://pytorch.org/docs/stable/index.html>`_.
Core PyTorch functionality on ROCm includes tensor operations, neural network
layers, automatic differentiation, distributed training, mixed-precision
training, compilation features, and domain-specific libraries for audio, vision,
text processing, and more.
Supported domain libraries
--------------------------------------------------------------------------------
PyTorch offers specialized `domain libraries <https://pytorch.org/domains/>`_ with
GPU acceleration that build on its core features to support specific application
areas. The table below lists the PyTorch domain libraries that are compatible
with ROCm.
.. list-table::
:header-rows: 1
* - Library
- Description
* - `torchaudio <https://docs.pytorch.org/audio/stable/index.html>`_
- Audio and signal processing library for PyTorch. Provides utilities for
audio I/O, signal and data processing functions, datasets, model
implementations, and application components for audio and speech
processing tasks.
**Note:** To ensure GPU-acceleration with ``torchaudio.transforms``,
you need to explicitly move audio data (waveform tensor) to GPU using
``.to('cuda')``.
* - `torchtune <https://meta-pytorch.org/torchtune/stable/index.html>`_
- PyTorch-native library designed for fine-tuning large language models
(LLMs). Provides supports the full fine-tuning workflow and offers
compatibility with popular production inference systems.
**Note:** Only official release exists.
* - `torchvision <https://docs.pytorch.org/vision/stable/index.html>`_
- Computer vision library that is part of the PyTorch project. Provides
popular datasets, model architectures, and common image transformations
for computer vision applications.
* - `torchdata <https://meta-pytorch.org/data/beta/index.html#torchdata>`_
- Beta library of common modular data loading primitives for easily
constructing flexible and performant data pipelines, with features still
in prototype stage.
* - `torchrec <https://meta-pytorch.org/torchrec/>`_
- PyTorch domain library for common sparsity and parallelism primitives
needed for large-scale recommender systems, enabling authors to train
models with large embedding tables shared across many GPUs.
**Note:** ``torchrec`` does not implement ROCm-specific kernels. ROCm
acceleration is provided through the underlying PyTorch framework and
ROCm library integration.
* - `torchserve <https://docs.pytorch.org/serve/>`_
- Performant, flexible and easy-to-use tool for serving PyTorch models in
production, providing features for model management, batch processing,
and scalable deployment.
**Note:** `torchserve <https://docs.pytorch.org/serve/>`_ is no longer
actively maintained. Last official release is sent out with PyTorch 2.4.
* - `torchrl <https://docs.pytorch.org/rl/stable/index.html>`_
- Open-source, Python-first Reinforcement Learning library for PyTorch
with a focus on high modularity and good runtime performance, providing
low and high-level RL abstractions and reusable functionals for cost
functions, returns, and data processing.
**Note:** Only official release exists.
* - `tensordict <https://docs.pytorch.org/tensordict/stable/index.html>`_
- Dictionary-like class that simplifies operations on batches of tensors,
enhancing code readability, compactness, and modularity by abstracting
tailored operations and reducing errors through automatic operation
dispatching.
**Note:** Only official release exists.
Key features and enhancements for PyTorch 2.9 with ROCm 7.2.1
================================================================================
- Added Triton 3.6.x performance optimization for reduction, POI, and GEMM kernels.
- Updated native reduction kernel config for better performance on AMD GPUs.
- Optimized single-block TopK kernels with warp-level compaction.
- Optimized Radix Select by caching data on shared memory.
- Optimized Flex-Attention occupancy for head_dim=128.
- Enabled hipSOLVER path for linalg operations - cholesky, lstsq, and gels.
Key features and enhancements for PyTorch 2.9 with ROCm 7.1.1
================================================================================
- Scaled Dot Product Attention (SDPA) upgraded to use AOTriton version 0.11b.
- Default hipBLASLt support enabled for gfx908 architecture on ROCm 6.3 and later.
- MIOpen now supports channels last memory format for 3D convolutions and batch normalization.
- NHWC convolution operations in MIOpen optimized by eliminating unnecessary transpose operations.
- Improved tensor.item() performance by removing redundant synchronization.
- Enhanced performance for element-wise operations and reduction kernels.
- Added support for grouped GEMM operations through fbgemm_gpu generative AI components.
- Resolved device error in Inductor when using CUDA graph trees with HIP.
- Corrected logsumexp scaling in AOTriton-based SDPA implementation.
- Added stream graph capture status validation in memory copy synchronization functions.
Key features and enhancements for PyTorch 2.8 with ROCm 7.1
================================================================================
- MIOpen deep learning optimizations: Further optimized NHWC BatchNorm feature.
- Added float8 support for the DeepSpeed extension, allowing for decreased
memory footprint and increased throughput in training and inference workloads.
- ``torch.nn.functional.scaled_dot_product_attention`` now calling optimized
flash attention kernel automatically.
Key features and enhancements for PyTorch 2.7/2.8 with ROCm 7.0
================================================================================
- Enhanced TunableOp framework: Introduces ``tensorfloat32`` support for
TunableOp operations, improved offline tuning for ScaledGEMM operations,
submatrix offline tuning capabilities, and better logging for BLAS operations
without bias vectors.
- Expanded GPU architecture support: Provides optimized support for newer GPU
architectures, including gfx1200 and gfx1201 with preferred hipBLASLt backend
selection, along with improvements for gfx950 and gfx1100 Series GPUs.
- Advanced Triton Integration: AOTriton 0.10b introduces official support for
gfx950 and gfx1201, along with experimental support for gfx1101, gfx1151,
gfx1150, and gfx1200.
- Improved element-wise kernel performance: Delivers enhanced vectorized
element-wise kernels with better support for heterogeneous tensor types and
optimized input vectorization for tensors with mixed data types.
- MIOpen deep learning optimizations: Enables NHWC BatchNorm by default on
ROCm 7.0+, provides ``maxpool`` forward and backward performance improvements
targeting ResNet scenarios, and includes updated launch configurations for
better performance.
- Enhanced memory and tensor operations: Features fixes for in-place ``aten``
sum operations with specialized templated kernels, improved 3D tensor
performance with NHWC format, and better handling of memory-bound matrix
multiplication operations.
- Robust testing and quality improvements: Includes comprehensive test suite
updates with improved tolerance handling for Navi3x architectures, generalized
ROCm-specific test conditions, and enhanced unit test coverage for Flash
Attention and Memory Efficient operations.
- Composable Kernel (CK) updates: Features updated CK submodule integration with
the latest optimizations and performance improvements for core mathematical
operations.
- Development and debugging enhancements: Includes improved source handling for
dynamic compilation, better error handling for atomic operations, and enhanced
state checking for trace operations.
- Integrate APEX fused layer normalization, which can have positive impact on
text-to-video models.
- Integrate APEX distributed fused LAMB and distributed fused ADAM, which can
have positive impact on BERT-L and Llama2-SFT.
- FlashAttention v3 has been integrated for AMD GPUs.
- `Pytorch C++ extensions <https://pytorch.org/tutorials/advanced/cpp_extension.html>`_
provide a mechanism for compiling custom operations that can be used during
network training or inference. For AMD platforms, ``amdclang++`` has been
validated as the supported compiler for building these extensions.
Known issues and notes for PyTorch 2.7/2.8 with ROCm 7.0 and ROCm 7.1
================================================================================
- The ``matmul.allow_fp16_reduced_precision_reduction`` and
``matmul.allow_bf16_reduced_precision_reduction`` options under
``torch.backends.cuda`` are not supported. As a result,
reduced-precision reductions using FP16 or BF16 accumulation types are not
available.
-27
View File
@@ -1,27 +0,0 @@
.. meta::
:description: AMD ROCm Extras - list of tools and test suites
:keywords: component, lib, rbt, bw, rvs, validate, test, tb, transfer, bench, system, communication, suite
*********************
ROCm Extra components
*********************
ROCm Extra components are supplementary tools for benchmarking, validating, and managing ROCm
deployments. These tools are not required for GPU application development but are useful
for verifying hardware health, measuring system performance, and managing GPU fleets.
.. * :doc:`ROCm Bandwidth Test <rocm_bandwidth_test:index>` (RBT) -- Measures memory
.. bandwidth between host and device memory, and between GPU devices. Useful for
.. verifying that PCIe and Infinity Fabric links are operating at expected
.. bandwidth.
* :doc:`ROCm Validation Suite <rocmvalidationsuite:index>` (RVS) -- A suite of tests for validating ROCm installations
and AMD GPU hardware. Includes tests for GPU functionality, memory, power behavior, and
peer-to-peer communication, helping diagnose installation issues and hardware faults.
.. * :doc:`TransferBench <transferbench:index>` -- A benchmarking tool for
.. measuring peer-to-peer data transfer performance across different memory
.. types and interconnects (PCIe, Infinity Fabric, NVLink). Useful for
.. understanding data movement bottlenecks in multi-GPU systems.
* More coming soon.
File diff suppressed because it is too large Load Diff
+407
View File
@@ -0,0 +1,407 @@
.. meta::
:description: Using CMake
:keywords: CMake, dependencies, HIP, C++, AMD, ROCm
*********************************
Using CMake
*********************************
Most components in ROCm support CMake. Projects depending on header-only or
library components typically require CMake 3.5 or higher whereas those wanting
to make use of the CMake HIP language support will require CMake 3.21 or higher.
Finding dependencies
====================
.. note::
For a complete
reference on how to deal with dependencies in CMake, refer to the CMake docs
on `find_package
<https://cmake.org/cmake/help/latest/command/find_package.html>`_ and the
`Using Dependencies Guide
<https://cmake.org/cmake/help/latest/guide/using-dependencies/index.html>`_
to get an overview of CMake related facilities.
In short, CMake supports finding dependencies in two ways:
* In Module mode, it consults a file ``Find<PackageName>.cmake`` which tries to find the component
in typical install locations and layouts. CMake ships a few dozen such scripts, but users and projects
may ship them as well.
* In Config mode, it locates a file named ``<packagename>-config.cmake`` or
``<PackageName>Config.cmake`` which describes the installed component in all regards needed to
consume it.
ROCm predominantly relies on Config mode, one notable exception being the Module
driving the compilation of HIP programs on NVIDIA runtimes. As such, when
dependencies are not found in standard system locations, one either has to
instruct CMake to search for package config files in additional folders using
the ``CMAKE_PREFIX_PATH`` variable (a semi-colon separated list of file system
paths), or using ``<PackageName>_ROOT`` variable on a project-specific basis.
There are nearly a dozen ways to set these variables. One may be more convenient
over the other depending on your workflow. Conceptually the simplest is adding
it to your CMake configuration command on the command line via
``-D CMAKE_PREFIX_PATH=....`` . AMD packaged ROCm installs can typically be
added to the config file search paths such as:
* Windows: ``-D CMAKE_PREFIX_PATH=${env:HIP_PATH}``
* Linux: ``-D CMAKE_PREFIX_PATH=/opt/rocm``
ROCm provides the respective *config-file* packages, and this enables
``find_package`` to be used directly. ROCm does not require any Find module as
the *config-file* packages are shipped with the upstream projects, such as
rocPRIM and other ROCm libraries.
For a complete guide on where and how ROCm may be installed on a system, refer
to the installation guides for
`Linux <https://rocm.docs.amd.com/projects/install-on-linux/en/latest/tutorial/quick-start.html>`_
and
`Windows <https://rocm.docs.amd.com/projects/install-on-windows/en/latest/index.html>`_.
Using HIP in CMake
==================
ROCm components providing a C/C++ interface support consumption via any
C/C++ toolchain that CMake knows how to drive. ROCm also supports the CMake HIP
language features, allowing users to program using the HIP single-source
programming model. When a program (or translation-unit) uses the HIP API without
compiling any GPU device code, HIP can be treated in CMake as a simple C/C++
library.
Using the HIP single-source programming model
---------------------------------------------
Source code written in the HIP dialect of C++ typically uses the `.hip`
extension. When the HIP CMake language is enabled, it will automatically
associate such source files with the HIP toolchain being used.
.. code-block:: cmake
cmake_minimum_required(VERSION 3.21) # HIP language support requires 3.21
cmake_policy(VERSION 3.21.3...3.27)
project(MyProj LANGUAGES HIP)
add_executable(MyApp Main.hip)
Should you have existing CUDA code that is from the source compatible subset of
HIP, you can tell CMake that despite their `.cu` extension, they're HIP sources.
Do note that this mostly facilitates compiling kernel code-only source files,
as host-side CUDA API won't compile in this fashion.
.. code-block:: cmake
add_library(MyLib MyLib.cu)
set_source_files_properties(MyLib.cu PROPERTIES LANGUAGE HIP)
CMake itself only hosts part of the HIP language support, such as defining
HIP-specific properties, etc. while the other half ships with the HIP
implementation, such as ROCm. CMake will search for a file
`hip-lang-config.cmake` describing how the the properties defined by CMake
translate to toolchain invocations. If one installs ROCm using non-standard
methods or layouts and CMake can't locate this file or detect parts of the SDK,
there's a catch-all, last resort variable consulted locating this file,
``-D CMAKE_HIP_COMPILER_ROCM_ROOT:PATH=`` which should be set the root of the
ROCm installation.
.. note::
Imported targets defined by `hip-lang-config.cmake` are for internal use
only.
If the user doesn't provide a semi-colon delimited list of device architectures
via ``CMAKE_HIP_ARCHITECTURES``, CMake will select some sensible default. It is
advised though that if a user knows what devices they wish to target, then set
this variable explicitly.
Consuming ROCm C/C++ libraries
------------------------------
Libraries such as rocBLAS, rocFFT, MIOpen, etc. behave as C/C++ libraries.
Illustrated in the example below is a C++ application using MIOpen from CMake.
It calls ``find_package(miopen)``, which provides the ``MIOpen`` imported
target. This can be linked with ``target_link_libraries``
.. code-block:: cmake
cmake_minimum_required(VERSION 3.5) # find_package(miopen) requires 3.5
cmake_policy(VERSION 3.5...3.27)
project(MyProj LANGUAGES CXX)
find_package(miopen)
add_library(MyLib ...)
target_link_libraries(MyLib PUBLIC MIOpen)
.. note::
Most libraries are designed as host-only API, so using a GPU device
compiler is not necessary for downstream projects unless they use GPU device
code.
Consuming the HIP API in C++ code
---------------------------------
Consuming the HIP API without compiling single-source GPU device code can be
done using any C++ compiler. The ``find_package(hip)`` provides the
``hip::host`` imported target to use HIP in this scenario.
.. code-block:: cmake
cmake_minimum_required(VERSION 3.5) # find_package(hip) requires 3.5
cmake_policy(VERSION 3.5...3.27)
project(MyProj LANGUAGES CXX)
find_package(hip REQUIRED)
add_executable(MyApp ...)
target_link_libraries(MyApp PRIVATE hip::host)
When mixing such ``CXX`` sources with ``HIP`` sources holding device-code, link
only to `hip::host`. If HIP sources don't have `.hip` as their extension, use
`set_source_files_properties(<hip_sources>... PROPERTIES LANGUAGE HIP)` on them.
Linking to `hip::host` will set all the necessary flags for the ``CXX`` sources
while ``HIP`` sources inherit all flags from the built-in language support.
Having HIP sources in a target will turn the |LINK_LANG|_ into ``HIP``.
.. |LINK_LANG| replace:: ``LINKER_LANGUAGE``
.. _LINK_LANG: https://cmake.org/cmake/help/latest/prop_tgt/LINKER_LANGUAGE.html
Compiling device code in C++ language mode
------------------------------------------
.. attention::
The workflow detailed here is considered legacy and is shown for
understanding's sake. It pre-dates the existence of HIP language support in
CMake. If source code has HIP device code in it, it is a HIP source file
and should be compiled as such. Only resort to the method below if your
HIP-enabled CMake code path can't mandate CMake version 3.21.
If code uses the HIP API and compiles GPU device code, it requires using a
device compiler. The compiler for CMake can be set using either the
``CMAKE_C_COMPILER`` and ``CMAKE_CXX_COMPILER`` variable or using the ``CC``
and ``CXX`` environment variables. This can be set when configuring CMake or
put into a CMake toolchain file. The device compiler must be set to a
compiler that supports AMD GPU targets, which is usually Clang.
The ``find_package(hip)`` provides the ``hip::device`` imported target to add
all the flags necessary for device compilation.
.. code-block:: cmake
cmake_minimum_required(VERSION 3.8) # cxx_std_11 requires 3.8
cmake_policy(VERSION 3.8...3.27)
project(MyProj LANGUAGES CXX)
find_package(hip REQUIRED)
add_library(MyLib ...)
target_link_libraries(MyLib PRIVATE hip::device)
target_compile_features(MyLib PRIVATE cxx_std_11)
.. note::
Compiling for the GPU device requires at least C++11.
This project can then be configured with the following CMake commands:
* Windows: ``cmake -D CMAKE_CXX_COMPILER:PATH=${env:HIP_PATH}\bin\clang++.exe``
* Linux: ``cmake -D CMAKE_CXX_COMPILER:PATH=/opt/rocm/bin/amdclang++``
Which use the device compiler provided from the binary packages of
`ROCm HIP SDK <https://www.amd.com/en/developer/resources/rocm-hub/hip-sdk.html>`_ and
`repo.radeon.com <https://repo.radeon.com>`_ respectively.
When using the ``CXX`` language support to compile HIP device code, selecting the
target GPU architectures is done via setting the ``GPU_TARGETS`` variable.
``CMAKE_HIP_ARCHITECTURES`` only exists when the HIP language is enabled. By
default, this is set to some subset of the currently supported architectures of
AMD ROCm. It can be set to the CMake option ``-D GPU_TARGETS="gfx1032;gfx1035"``.
ROCm CMake packages
-------------------
+-----------+----------+--------------------------------------------------------+
| Component | Package | Targets |
+===========+==========+========================================================+
| HIP | hip | ``hip::host``, ``hip::device`` |
+-----------+----------+--------------------------------------------------------+
| rocPRIM | rocprim | ``roc::rocprim`` |
+-----------+----------+--------------------------------------------------------+
| rocThrust | rocthrust| ``roc::rocthrust`` |
+-----------+----------+--------------------------------------------------------+
| hipCUB | hipcub | ``hip::hipcub`` |
+-----------+----------+--------------------------------------------------------+
| rocRAND | rocrand | ``roc::rocrand`` |
+-----------+----------+--------------------------------------------------------+
| rocBLAS | rocblas | ``roc::rocblas`` |
+-----------+----------+--------------------------------------------------------+
| rocSOLVER | rocsolver| ``roc::rocsolver`` |
+-----------+----------+--------------------------------------------------------+
| hipBLAS | hipblas | ``roc::hipblas`` |
+-----------+----------+--------------------------------------------------------+
| rocFFT | rocfft | ``roc::rocfft`` |
+-----------+----------+--------------------------------------------------------+
| hipFFT | hipfft | ``hip::hipfft`` |
+-----------+----------+--------------------------------------------------------+
| rocSPARSE | rocsparse| ``roc::rocsparse`` |
+-----------+----------+--------------------------------------------------------+
| hipSPARSE | hipsparse| ``roc::hipsparse`` |
+-----------+----------+--------------------------------------------------------+
| rocALUTION|rocalution| ``roc::rocalution`` |
+-----------+----------+--------------------------------------------------------+
| RCCL | rccl | ``rccl`` |
+-----------+----------+--------------------------------------------------------+
| MIOpen | miopen | ``MIOpen`` |
+-----------+----------+--------------------------------------------------------+
| MIGraphX | migraphx | ``migraphx::migraphx``, ``migraphx::migraphx_c``, |
| | | ``migraphx::migraphx_cpu``, ``migraphx::migraphx_gpu``,|
| | | ``migraphx::migraphx_onnx``, ``migraphx::migraphx_tf`` |
+-----------+----------+--------------------------------------------------------+
Using CMake presets
===================
CMake command lines depending on how specific users like to be when compiling
code can grow to unwieldy lengths. This is the primary reason why projects tend
to bake script snippets into their build definitions controlling compiler
warning levels, changing CMake defaults (``CMAKE_BUILD_TYPE`` or
``BUILD_SHARED_LIBS`` just to name a few) and all sorts anti-patterns, all in
the name of convenience.
Load on the command-line interface (CLI) starts immediately by selecting a
toolchain, the set of utilities used to compile programs. To ease some of the
toolchain related pains, CMake does consult the ``CC`` and ``CXX`` environmental
variables when setting a default ``CMAKE_C[XX]_COMPILER`` respectively, but that
is just the tip of the iceberg. There's a fair number of variables related to
just the toolchain itself (typically supplied using
`toolchain files <https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html>`_
), and then we still haven't talked about user preference or project-specific
options.
IDEs supporting CMake (Visual Studio, Visual Studio Code, CLion, etc.) all came
up with their own way to register command-line fragments of different purpose in
a setup-and-forget fashion for quick assembly using graphical front-ends. This is
all nice, but configurations aren't portable, nor can they be reused in
Continuous Integration (CI) pipelines. CMake has condensed existing practice
into a portable JSON format that works in all IDEs and can be invoked from any
command line. This is
`CMake Presets <https://cmake.org/cmake/help/latest/manual/cmake-presets.7.html>`_.
There are two types of preset files: one supplied by the project, called
``CMakePresets.json`` which is meant to be committed to version control,
typically used to drive CI; and one meant for the user to provide, called
``CMakeUserPresets.json``, typically used to house user preference and adapting
the build to the user's environment. These JSON files are allowed to include
other JSON files and the user presets always implicitly includes the non-user
variant.
Using HIP with presets
----------------------
Following is an example ``CMakeUserPresets.json`` file which actually compiles
the `amd/rocm-examples <https://github.com/amd/rocm-examples>`_ suite of sample
applications on a typical ROCm installation:
.. code-block:: json
{
"version": 3,
"cmakeMinimumRequired": {
"major": 3,
"minor": 21,
"patch": 0
},
"configurePresets": [
{
"name": "layout",
"hidden": true,
"binaryDir": "${sourceDir}/build/${presetName}",
"installDir": "${sourceDir}/install/${presetName}"
},
{
"name": "generator-ninja-multi-config",
"hidden": true,
"generator": "Ninja Multi-Config"
},
{
"name": "toolchain-makefiles-c/c++-amdclang",
"hidden": true,
"cacheVariables": {
"CMAKE_C_COMPILER": "/opt/rocm/bin/amdclang",
"CMAKE_CXX_COMPILER": "/opt/rocm/bin/amdclang++",
"CMAKE_HIP_COMPILER": "/opt/rocm/bin/amdclang++"
}
},
{
"name": "clang-strict-iso-high-warn",
"hidden": true,
"cacheVariables": {
"CMAKE_C_FLAGS": "-Wall -Wextra -pedantic",
"CMAKE_CXX_FLAGS": "-Wall -Wextra -pedantic",
"CMAKE_HIP_FLAGS": "-Wall -Wextra -pedantic"
}
},
{
"name": "ninja-mc-rocm",
"displayName": "Ninja Multi-Config ROCm",
"inherits": [
"layout",
"generator-ninja-multi-config",
"toolchain-makefiles-c/c++-amdclang",
"clang-strict-iso-high-warn"
]
}
],
"buildPresets": [
{
"name": "ninja-mc-rocm-debug",
"displayName": "Debug",
"configuration": "Debug",
"configurePreset": "ninja-mc-rocm"
},
{
"name": "ninja-mc-rocm-release",
"displayName": "Release",
"configuration": "Release",
"configurePreset": "ninja-mc-rocm"
},
{
"name": "ninja-mc-rocm-debug-verbose",
"displayName": "Debug (verbose)",
"configuration": "Debug",
"configurePreset": "ninja-mc-rocm",
"verbose": true
},
{
"name": "ninja-mc-rocm-release-verbose",
"displayName": "Release (verbose)",
"configuration": "Release",
"configurePreset": "ninja-mc-rocm",
"verbose": true
}
],
"testPresets": [
{
"name": "ninja-mc-rocm-debug",
"displayName": "Debug",
"configuration": "Debug",
"configurePreset": "ninja-mc-rocm",
"execution": {
"jobs": 0
}
},
{
"name": "ninja-mc-rocm-release",
"displayName": "Release",
"configuration": "Release",
"configurePreset": "ninja-mc-rocm",
"execution": {
"jobs": 0
}
}
]
}
.. note::
Getting presets to work reliably on Windows requires some CMake improvements
and/or support from compiler vendors. (Refer to
`Add support to the Visual Studio generators <https://gitlab.kitware.com/cmake/cmake/-/issues/24245>`_
and `Sourcing environment scripts <https://gitlab.kitware.com/cmake/cmake/-/issues/21619>`_
.)
+14
View File
@@ -0,0 +1,14 @@
<head>
<meta charset="UTF-8">
<meta name="description" content="AMD ROCm documentation">
<meta name="keywords" content="documentation, guides, installation, compatibility, support,
reference, ROCm, AMD">
</head>
# Using compiler features
The following topics describe using specific features of the compilation tools:
* [ROCm compiler infrastructure](https://rocm.docs.amd.com/projects/llvm-project/en/latest/index.html)
* [Using AddressSanitizer](https://rocm.docs.amd.com/projects/llvm-project/en/latest/conceptual/using-gpu-sanitizer.html)
* [OpenMP support](https://rocm.docs.amd.com/projects/llvm-project/en/latest/conceptual/openmp.html)
+172
View File
@@ -0,0 +1,172 @@
<head>
<meta charset="UTF-8">
<meta name="description" content="ROCm Linux Filesystem Hierarchy Standard reorganization">
<meta name="keywords" content="FHS, Linux Filesystem Hierarchy Standard, directory structure,
AMD, ROCm">
</head>
# ROCm Linux Filesystem Hierarchy Standard reorganization
## Introduction
The ROCm Software has adopted the Linux Filesystem Hierarchy Standard (FHS) [https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html](https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html) in order to to ensure ROCm is consistent with standard open source conventions. The following sections specify how current and future releases of ROCm adhere to FHS, how the previous ROCm file system is supported, and how improved versioning specifications are applied to ROCm.
## Adopting the FHS
In order to standardize ROCm directory structure and directory content layout ROCm has adopted the [FHS](https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html), adhering to open source conventions for Linux-based distribution. FHS ensures internal consistency within the ROCm stack, as well as external consistency with other systems and distributions. The ROCm proposed file structure is outlined below:
```none
/opt/rocm-<ver>
| -- bin
| -- all public binaries
| -- lib
| -- lib<soname>.so->lib<soname>.so.major->lib<soname>.so.major.minor.patch
(public libaries to link with applications)
| -- <component>
| -- architecture dependent libraries and binaries used internally by components
| -- cmake
| -- <component>
| --<component>-config.cmake
| -- libexec
| -- <component>
| -- non ISA/architecture independent executables used internally by components
| -- include
| -- <component>
| -- public header files
| -- share
| -- html
| -- <component>
| -- html documentation
| -- info
| -- <component>
| -- info files
| -- man
| -- <component>
| -- man pages
| -- doc
| -- <component>
| -- license files
| -- <component>
| -- samples
| -- architecture independent misc files
```
## Changes from earlier ROCm versions
The following table provides a brief overview of the new ROCm FHS layout, compared to the layout of earlier ROCm versions. Note that /opt/ is used to denote the default rocm-installation-path and should be replaced in case of a non-standard installation location of the ROCm distribution.
```none
______________________________________________________
| New ROCm Layout | Previous ROCm Layout |
|_____________________________|________________________|
| /opt/rocm-<ver> | /opt/rocm-<ver> |
| | -- bin | | -- bin |
| | -- lib | | -- lib |
| | -- cmake | | -- include |
| | -- libexec | | -- <component_1> |
| | -- include | | -- bin |
| | -- <component_1> | | -- cmake |
| | -- share | | -- doc |
| | -- html | | -- lib |
| | -- info | | -- include |
| | -- man | | -- samples |
| | -- doc | | -- <component_n> |
| | -- <component_1> | | -- bin |
| | -- samples | | -- cmake |
| | -- .. | | -- doc |
| | -- <component_n> | | -- lib |
| | -- samples | | -- include |
| | -- .. | | -- samples |
|______________________________________________________|
```
## ROCm FHS reorganization: backward compatibility
The FHS file organization for ROCm was first introduced in the release of ROCm 5.2 . Backward compatibility was implemented to make sure users could still run their ROCm applications while transitioning to the new FHS. ROCm has moved header files and libraries to their new locations as indicated in the above structure, and included symbolic-links and wrapper header files in their old location for backward compatibility. The following sections detail ROCm backward compatibility implementation for wrapper header files, executable files, library files and CMake config files.
### Wrapper header files
Wrapper header files are placed in the old location (
`/opt/rocm-<ver>/<component>/include`) with a warning message to include files
from the new location (`/opt/rocm-<ver>/include`) as shown in the example below.
```cpp
#pragma message "This file is deprecated. Use file from include path /opt/rocm-ver/include/ and prefix with hip."
#include <hip/hip_runtime.h>
```
* Starting at ROCm 5.2 release, the deprecation for backward compatibility wrapper header files is: `#pragma` message announcing `#warning`.
* Starting from ROCm 6.0 (tentatively) backward compatibility for wrapper header files will be removed, and the `#pragma` message will be announcing `#error`.
### Executable files
Executable files are available in the `/opt/rocm-<ver>/bin` folder. For backward
compatibility, the old library location (`/opt/rocm-<ver>/<component>/bin`) has a
soft link to the library at the new location. Soft links will be removed in a
future release, tentatively ROCm v6.0.
```bash
$ ls -l /opt/rocm/hip/bin/
lrwxrwxrwx 1 root root 24 Jan 1 23:32 hipcc -> ../../bin/hipcc
```
### Library files
Library files are available in the `/opt/rocm-<ver>/lib` folder. For backward
compatibility, the old library location (`/opt/rocm-<ver>/<component>/lib`) has a
soft link to the library at the new location. Soft links will be removed in a
future release, tentatively ROCm v6.0.
```shell
$ ls -l /opt/rocm/hip/lib/
drwxr-xr-x 4 root root 4096 Jan 1 10:45 cmake
lrwxrwxrwx 1 root root 24 Jan 1 23:32 libamdhip64.so -> ../../lib/libamdhip64.so
```
### CMake config files
All CMake configuration files are available in the
`/opt/rocm-<ver>/lib/cmake/<component>` folder. For backward compatibility, the
old CMake locations (`/opt/rocm-<ver>/<component>/lib/cmake`) consist of a soft
link to the new CMake config. Soft links will be removed in a future release,
tentatively ROCm v6.0.
```shell
$ ls -l /opt/rocm/hip/lib/cmake/hip/
lrwxrwxrwx 1 root root 42 Jan 1 23:32 hip-config.cmake -> ../../../../lib/cmake/hip/hip-config.cmake
```
## Changes required in applications using ROCm
Applications using ROCm are advised to use the new file paths. As the old files
will be deprecated in a future release. Applications have to make sure to include
correct header file and use correct search paths.
1. `#include<header_file.h>` needs to be changed to
`#include <component/header_file.h>`
For example: `#include <hip.h>` needs to change
to `#include <hip/hip.h>`
2. Any variable in CMake or Makefiles pointing to component folder needs to
changed.
For example: `VAR1=/opt/rocm/hip` needs to be changed to `VAR1=/opt/rocm`
`VAR2=/opt/rocm/hsa` needs to be changed to `VAR2=/opt/rocm`
3. Any reference to `/opt/rocm/<component>/bin` or `/opt/rocm/<component>/lib`
needs to be changed to `/opt/rocm/bin` and `/opt/rocm/lib/`, respectively.
## Changes in versioning specifications
In order to better manage ROCm dependencies specification and allow smoother releases of ROCm while avoiding dependency conflicts, ROCm software shall adhere to the following scheme when numbering and incrementing ROCm files versions:
rocm-\<ver\>, where \<ver\> = \<x.y.z\>
x.y.z denote: MAJOR.MINOR.PATCH
z: PATCH - increment z when implementing backward compatible bug fixes.
y: MINOR - increment y when implementing minor changes that add functionality but are still backward compatible.
x: MAJOR - increment x when implementing major changes that are not backward compatible.
+73
View File
@@ -0,0 +1,73 @@
<head>
<meta charset="UTF-8">
<meta name="description" content="GPU architecture">
<meta name="keywords" content="GPU architecture, architecture support, MI200, MI250, RDNA,
MI100, AMD Instinct">
</head>
(gpu-arch-documentation)=
# GPU architecture documentation
:::::{grid} 1 1 2 2
:gutter: 1
:::{grid-item-card}
**AMD Instinct MI300 Series**
Review hardware aspects of the AMD Instinct™ MI300 Series GPUs and the CDNA™ 3
architecture.
* [AMD Instinct™ MI300 microarchitecture](./gpu-arch/mi300.md)
* [AMD Instinct MI300/CDNA3 ISA](https://www.amd.com/content/dam/amd/en/documents/instinct-tech-docs/instruction-set-architectures/amd-instinct-mi300-cdna3-instruction-set-architecture.pdf)
* [White paper](https://www.amd.com/content/dam/amd/en/documents/instinct-tech-docs/white-papers/amd-cdna-3-white-paper.pdf)
* [MI300 performance counters](./gpu-arch/mi300-mi200-performance-counters.rst)
* [MI350 Series performance counters](./gpu-arch/mi350-performance-counters.rst)
:::
:::{grid-item-card}
**AMD Instinct MI200 Series**
Review hardware aspects of the AMD Instinct™ MI200 Series GPUs and the CDNA™ 2
architecture.
* [AMD Instinct™ MI250 microarchitecture](./gpu-arch/mi250.md)
* [AMD Instinct MI200/CDNA2 ISA](https://www.amd.com/system/files/TechDocs/instinct-mi200-cdna2-instruction-set-architecture.pdf)
* [White paper](https://www.amd.com/content/dam/amd/en/documents/instinct-business-docs/white-papers/amd-cdna2-white-paper.pdf)
* [Performance counters](./gpu-arch/mi300-mi200-performance-counters.rst)
:::
:::{grid-item-card}
**AMD Instinct MI100**
Review hardware aspects of the AMD Instinct™ MI100 Series GPUs and the CDNA™ 1
architecture.
* [AMD Instinct™ MI100 microarchitecture](./gpu-arch/mi100.md)
* [AMD Instinct MI100/CDNA1 ISA](https://www.amd.com/system/files/TechDocs/instinct-mi100-cdna1-shader-instruction-set-architecture%C2%A0.pdf)
* [White paper](https://www.amd.com/content/dam/amd/en/documents/instinct-business-docs/white-papers/amd-cdna-white-paper.pdf)
:::
:::{grid-item-card}
**RDNA**
* [AMD RDNA4 ISA](https://www.amd.com/content/dam/amd/en/documents/radeon-tech-docs/instruction-set-architectures/rdna4-instruction-set-architecture.pdf)
* [AMD RDNA3 ISA](https://www.amd.com/system/files/TechDocs/rdna3-shader-instruction-set-architecture-feb-2023_0.pdf)
* [AMD RDNA2 ISA](https://www.amd.com/system/files/TechDocs/rdna2-shader-instruction-set-architecture.pdf)
* [AMD RDNA ISA](https://www.amd.com/system/files/TechDocs/rdna-shader-instruction-set-architecture.pdf)
:::
:::{grid-item-card}
**Older architectures**
* [AMD Instinct MI50/Vega 7nm ISA](https://www.amd.com/system/files/TechDocs/vega-7nm-shader-instruction-set-architecture.pdf)
* [AMD Instinct MI25/Vega ISA](https://www.amd.com/system/files/TechDocs/vega-shader-instruction-set-architecture.pdf)
* [AMD GCN3 ISA](https://www.amd.com/system/files/TechDocs/gcn3-instruction-set-architecture.pdf)
* AMD Vega Architecture White Paper
:::
:::::
@@ -18,7 +18,7 @@ available to connect the processors plus one PCIe Gen 4 x16 link per processor
can attach additional I/O devices such as the host adapters for the network
fabric.
![Structure of a single GCD in the AMD Instinct MI100 GPU](./images/image004.png "Node-level system architecture with two AMD EPYC™ processors and eight AMD Instinct™ GPUs.")
![Structure of a single GCD in the AMD Instinct MI100 GPU](../../data/conceptual/gpu-arch/image004.png "Node-level system architecture with two AMD EPYC™ processors and eight AMD Instinct™ GPUs.")
In a typical node configuration, each processor can host up to four AMD
Instinct™ GPUs that are attached using PCIe Gen 4 links at 16 GT/sec,
@@ -38,7 +38,7 @@ computing (HPC) and AI & machine learning (ML) that run on everything from
individual servers to the world's largest exascale supercomputers. The overall
system architecture is designed for extreme scalability and compute performance.
![Structure of the AMD Instinct GPU (MI100 generation)](./images/image005.png "Structure of the AMD Instinct GPU (MI100 generation)")
![Structure of the AMD Instinct GPU (MI100 generation)](../../data/conceptual/gpu-arch/image005.png "Structure of the AMD Instinct GPU (MI100 generation)")
The above image shows the AMD Instinct GPU with its PCIe Gen 4 x16
link (16 GT/sec, at the bottom) that connects the GPU to (one of) the host
@@ -61,7 +61,7 @@ instructions of 16 data elements per instruction. This enables the CU to process
Therefore, the theoretical maximum FP64 peak performance is 11.5 TFLOPS
(`4 [SIMD units] x 16 [elements per instruction] x 120 [CU] x 1.5 [GHz]`).
![Block diagram of an MI100 compute unit with detailed SIMD view of the AMD CDNA architecture](./images/image006.png "An MI100 compute unit with detailed SIMD view of the AMD CDNA architecture")
![Block diagram of an MI100 compute unit with detailed SIMD view of the AMD CDNA architecture](../../data/conceptual/gpu-arch/image006.png "An MI100 compute unit with detailed SIMD view of the AMD CDNA architecture")
The preceding image shows the block diagram of a single CU of an AMD Instinct™
MI100 GPU and summarizes how instructions flow through the execution
@@ -40,7 +40,7 @@ execution units (also called matrix cores), which are geared toward executing
matrix operations like matrix-matrix multiplications. For FP64, the peak
performance of these units amounts to 90.5 TFLOPS.
![Structure of a single GCD in the AMD Instinct MI250 GPU.](./images/image001.png "Structure of a single GCD in the AMD Instinct MI250 GPU.")
![Structure of a single GCD in the AMD Instinct MI250 GPU.](../../data/conceptual/gpu-arch/image001.png "Structure of a single GCD in the AMD Instinct MI250 GPU.")
```{list-table} Peak-performance capabilities of the MI250 OAM for different data types.
:header-rows: 1
@@ -86,7 +86,7 @@ performance of these units amounts to 90.5 TFLOPS.
The above table summarizes the aggregated peak performance of the AMD Instinct MI250 Open Compute Platform (OCP) Open Accelerator Modules (OAMs) and its two GCDs for different data types and execution units. The middle column lists the peak performance (number of data elements processed in a single instruction) of a single compute unit if a SIMD (or matrix) instruction is being retired in each clock cycle. The third column lists the theoretical peak performance of the OAM module. The theoretical aggregated peak memory bandwidth of the GPU is 3.2 TB/sec (1.6 TB/sec per GCD).
![Dual-GCD architecture of the AMD Instinct MI250 GPUs](./images/image002.png "Dual-GCD architecture of the AMD Instinct MI250 GPUs")
![Dual-GCD architecture of the AMD Instinct MI250 GPUs](../../data/conceptual/gpu-arch/image002.png "Dual-GCD architecture of the AMD Instinct MI250 GPUs")
The following image shows the block diagram of an OAM package that consists
of two GCDs, each of which constitutes one GPU device in the system. The two
@@ -105,7 +105,7 @@ GCD can attach to the AMD EPYC processor directly or via an optional PCIe switch
. Note that some platforms may offer an x8 interface to the GCDs, which reduces
the available host-to-GPU bandwidth.
![Block diagram of AMD Instinct MI250 GPUs with 3rd Generation AMD EPYC processor](./images/image003.png "Block diagram of AMD Instinct MI250 GPUs with 3rd Generation AMD EPYC processor")
![Block diagram of AMD Instinct MI250 GPUs with 3rd Generation AMD EPYC processor](../../data/conceptual/gpu-arch/image003.png "Block diagram of AMD Instinct MI250 GPUs with 3rd Generation AMD EPYC processor")
The preceding image shows the node-level architecture of a system with AMD
EPYC processors in a dual-socket configuration and four AMD Instinct MI250
@@ -1,129 +1,129 @@
---
myst:
html_meta:
"description lang=en": "Learn about the AMD Instinct MI300 Series architecture."
"keywords": "Instinct, MI300X, MI300A, microarchitecture, AMD, ROCm"
---
# AMD Instinct™ MI300 Series microarchitecture
The AMD Instinct MI300 Series GPUs are based on the AMD CDNA 3
architecture which was designed to deliver leadership performance for HPC, artificial intelligence (AI), and machine
learning (ML) workloads. The AMD Instinct MI300 Series GPUs are well-suited for extreme scalability and compute performance, running
on everything from individual servers to the worlds largest exascale supercomputers.
With the MI300 Series, AMD is introducing the Accelerator Complex Die (XCD), which contains the
GPU computational elements of the processor along with the lower levels of the cache hierarchy.
The following image depicts the structure of a single XCD in the AMD Instinct MI300 GPU Series.
```{figure} /images/shared/xcd-sys-arch.png
---
name: mi300-xcd
align: center
---
XCD-level system architecture showing 40 Compute Units, each with 32 KB L1 cache, a Unified Compute System with 4 ACE Compute Accelerators, shared 4MB of L2 cache and an HWS Hardware Scheduler.
```
On the XCD, four Asynchronous Compute Engines (ACEs) send compute shader workgroups to the
Compute Units (CUs). The XCD has 40 CUs: 38 active CUs at the aggregate level and 2 disabled CUs for
yield management. The CUs all share a 4 MB L2 cache that serves to coalesce all memory traffic for the
die. With less than half of the CUs of the AMD Instinct MI200 Series compute die, the AMD CDNA™ 3
XCD die is a smaller building block. However, it uses more advanced packaging and the processor
can include 6 or 8 XCDs for up to 304 CUs, roughly 40% more than MI250X.
The MI300 Series integrate up to 8 vertically stacked XCDs, 8 stacks of
High-Bandwidth Memory 3 (HBM3) and 4 I/O dies (containing system
infrastructure) using the AMD Infinity Fabric™ technology as interconnect.
The Matrix Cores inside the CDNA 3 CUs have significant improvements, emphasizing AI and machine
learning, enhancing throughput of existing data types while adding support for new data types.
CDNA 2 Matrix Cores support FP16 and BF16, while offering INT8 for inference. Compared to MI250X
GPUs, CDNA 3 Matrix Cores triple the performance for FP16 and BF16, while providing a
performance gain of 6.8 times for INT8. FP8 has a performance gain of 16 times compared to FP32,
while TF32 has a gain of 4 times compared to FP32.
```{list-table} Peak-performance capabilities of the MI300X for different data types.
:header-rows: 1
:name: mi300x-perf-table
*
- Computation and Data Type
- FLOPS/CLOCK/CU
- Peak TFLOPS
*
- Matrix FP64
- 256
- 163.4
*
- Vector FP64
- 128
- 81.7
*
- Matrix FP32
- 256
- 163.4
*
- Vector FP32
- 256
- 163.4
*
- Vector TF32
- 1024
- 653.7
*
- Matrix FP16
- 2048
- 1307.4
*
- Matrix BF16
- 2048
- 1307.4
*
- Matrix FP8
- 4096
- 2614.9
*
- Matrix INT8
- 4096
- 2614.9
```
The above table summarizes the aggregated peak performance of the AMD Instinct MI300X Open
Compute Platform (OCP) Open Accelerator Modules (OAMs) for different data types and command
processors. The middle column lists the peak performance (number of data elements processed in a
single instruction) of a single compute unit if a SIMD (or matrix) instruction is submitted in each clock
cycle. The third column lists the theoretical peak performance of the OAM. The theoretical aggregated
peak memory bandwidth of the GPU is 5.3 TB per second.
The following image shows the block diagram of the APU (left) and the OAM package (right) both
connected via AMD Infinity Fabric™ network on-chip.
```{figure} ./images/image008.png
---
name: mi300-arch
alt:
align: center
---
MI300 Series system architecture showing MI300A (left) with 6 XCDs and 3 CCDs, while the MI300X (right) has 8 XCDs.
```
## Node-level architecture
```{figure} /images/shared/mi300-node-level-arch.png
---
name: mi300-node
align: center
---
MI300 Series node-level architecture showing 8 fully interconnected MI300X OAM modules connected to (optional) PCIEe switches via retimers and HGX connectors.
```
The image above shows the node-level architecture of a system with AMD EPYC processors in a
dual-socket configuration and eight AMD Instinct MI300X GPUs. The MI300X OAMs attach to the
host system via PCIe Gen 5 x16 links (yellow lines). The GPUs are using seven high-bandwidth,
low-latency AMD Infinity Fabric™ links (red lines) to form a fully connected 8-GPU system.
<!---
We need performance data about the P2P communication here.
-->
---
myst:
html_meta:
"description lang=en": "Learn about the AMD Instinct MI300 Series architecture."
"keywords": "Instinct, MI300X, MI300A, microarchitecture, AMD, ROCm"
---
# AMD Instinct™ MI300 Series microarchitecture
The AMD Instinct MI300 Series GPUs are based on the AMD CDNA 3
architecture which was designed to deliver leadership performance for HPC, artificial intelligence (AI), and machine
learning (ML) workloads. The AMD Instinct MI300 Series GPUs are well-suited for extreme scalability and compute performance, running
on everything from individual servers to the worlds largest exascale supercomputers.
With the MI300 Series, AMD is introducing the Accelerator Complex Die (XCD), which contains the
GPU computational elements of the processor along with the lower levels of the cache hierarchy.
The following image depicts the structure of a single XCD in the AMD Instinct MI300 GPU Series.
```{figure} ../../data/shared/xcd-sys-arch.png
---
name: mi300-xcd
align: center
---
XCD-level system architecture showing 40 Compute Units, each with 32 KB L1 cache, a Unified Compute System with 4 ACE Compute Accelerators, shared 4MB of L2 cache and an HWS Hardware Scheduler.
```
On the XCD, four Asynchronous Compute Engines (ACEs) send compute shader workgroups to the
Compute Units (CUs). The XCD has 40 CUs: 38 active CUs at the aggregate level and 2 disabled CUs for
yield management. The CUs all share a 4 MB L2 cache that serves to coalesce all memory traffic for the
die. With less than half of the CUs of the AMD Instinct MI200 Series compute die, the AMD CDNA™ 3
XCD die is a smaller building block. However, it uses more advanced packaging and the processor
can include 6 or 8 XCDs for up to 304 CUs, roughly 40% more than MI250X.
The MI300 Series integrate up to 8 vertically stacked XCDs, 8 stacks of
High-Bandwidth Memory 3 (HBM3) and 4 I/O dies (containing system
infrastructure) using the AMD Infinity Fabric™ technology as interconnect.
The Matrix Cores inside the CDNA 3 CUs have significant improvements, emphasizing AI and machine
learning, enhancing throughput of existing data types while adding support for new data types.
CDNA 2 Matrix Cores support FP16 and BF16, while offering INT8 for inference. Compared to MI250X
GPUs, CDNA 3 Matrix Cores triple the performance for FP16 and BF16, while providing a
performance gain of 6.8 times for INT8. FP8 has a performance gain of 16 times compared to FP32,
while TF32 has a gain of 4 times compared to FP32.
```{list-table} Peak-performance capabilities of the MI300X for different data types.
:header-rows: 1
:name: mi300x-perf-table
*
- Computation and Data Type
- FLOPS/CLOCK/CU
- Peak TFLOPS
*
- Matrix FP64
- 256
- 163.4
*
- Vector FP64
- 128
- 81.7
*
- Matrix FP32
- 256
- 163.4
*
- Vector FP32
- 256
- 163.4
*
- Vector TF32
- 1024
- 653.7
*
- Matrix FP16
- 2048
- 1307.4
*
- Matrix BF16
- 2048
- 1307.4
*
- Matrix FP8
- 4096
- 2614.9
*
- Matrix INT8
- 4096
- 2614.9
```
The above table summarizes the aggregated peak performance of the AMD Instinct MI300X Open
Compute Platform (OCP) Open Accelerator Modules (OAMs) for different data types and command
processors. The middle column lists the peak performance (number of data elements processed in a
single instruction) of a single compute unit if a SIMD (or matrix) instruction is submitted in each clock
cycle. The third column lists the theoretical peak performance of the OAM. The theoretical aggregated
peak memory bandwidth of the GPU is 5.3 TB per second.
The following image shows the block diagram of the APU (left) and the OAM package (right) both
connected via AMD Infinity Fabric™ network on-chip.
```{figure} ../../data/conceptual/gpu-arch/image008.png
---
name: mi300-arch
alt:
align: center
---
MI300 Series system architecture showing MI300A (left) with 6 XCDs and 3 CCDs, while the MI300X (right) has 8 XCDs.
```
## Node-level architecture
```{figure} ../../data/shared/mi300-node-level-arch.png
---
name: mi300-node
align: center
---
MI300 Series node-level architecture showing 8 fully interconnected MI300X OAM modules connected to (optional) PCIEe switches via retimers and HGX connectors.
```
The image above shows the node-level architecture of a system with AMD EPYC processors in a
dual-socket configuration and eight AMD Instinct MI300X GPUs. The MI300X OAMs attach to the
host system via PCIe Gen 5 x16 links (yellow lines). The GPUs are using seven high-bandwidth,
low-latency AMD Infinity Fabric™ links (red lines) to form a fully connected 8-GPU system.
<!---
We need performance data about the P2P communication here.
-->
@@ -19,7 +19,6 @@ This page serves as an overview of the techniques.
The runtimes in the ROCm software stack read these environment variables to
select the exposed or default device to present to applications using them.
See {ref}`env-variables-reference` for more information.
Environment variables shouldn't be used for isolating untrusted applications,
as an application can reset them before initializing the runtime.
@@ -107,7 +106,7 @@ in the host system can be passed to the virtual machine using PCIe passthrough.
This allows for using the GPU with a different operating systems like a Windows
guest from a Linux host.
Setting up PCIe passthrough is specific to the hypervisor used. ROCm
Setting up PCIe passthrough is specific to the hypervisor used. ROCm officially
supports [VMware ESXi](https://www.vmware.com/products/esxi-and-esx.html)
for select GPUs.
+237 -155
View File
@@ -10,77 +10,66 @@ import sys
from pathlib import Path
from subprocess import run
ROCM_VERSION = "7.13.0"
GA_DATE = "2026-05-15"
DOCS_DIR = Path(__file__).parent.resolve()
ROOT_DIR = DOCS_DIR.parent
def copy_rtd_file(src_path: Path, dest_path: Path):
dest_path.parent.mkdir(parents=True, exist_ok=True)
shutil.copy2(src_path, dest_path)
print(f"📁 Copied {src_path}{dest_path}")
gh_changelog_path = ROOT_DIR / "CHANGELOG.md"
rtd_changelog_path = DOCS_DIR / "release" / "changelog.md"
copy_rtd_file(gh_changelog_path, rtd_changelog_path)
gh_release_path = os.path.join("..", "RELEASE.md")
gh_changelog_path = os.path.join("..", "CHANGELOG.md")
sphinx_release_path = os.path.join("about", "release-notes.md")
sphinx_changelog_path = os.path.join("release", "changelog.md")
shutil.copy2(gh_release_path, sphinx_release_path)
shutil.copy2(gh_changelog_path, sphinx_changelog_path)
# Mark the consolidated changelog as orphan to prevent Sphinx from warning about missing toctree entries
with open(rtd_changelog_path, "r+", encoding="utf-8") as file:
with open(sphinx_changelog_path, "r+", encoding="utf-8") as file:
content = file.read()
file.seek(0)
file.write(":orphan:\n" + content)
# Replace GitHub-style [!ADMONITION]s with Sphinx-compatible ```{admonition} blocks
# with open(rtd_changelog_path, "r", encoding="utf-8") as file:
# lines = file.readlines()
#
# modified_lines = []
# in_admonition_section = False
#
# # Map for matching the specific admonition type to its corresponding Sphinx markdown syntax
# admonition_types = {
# "> [!NOTE]": "```{note}",
# "> [!TIP]": "```{tip}",
# "> [!IMPORTANT]": "```{important}",
# "> [!WARNING]": "```{warning}",
# "> [!CAUTION]": "```{caution}",
# }
#
# for line in lines:
# if any(line.startswith(k) for k in admonition_types):
# for key in admonition_types:
# if line.startswith(key):
# modified_lines.append(admonition_types[key] + "\n")
# break
# in_admonition_section = True
# elif in_admonition_section:
# if line.strip() == "":
# # If we encounter an empty line, close the admonition section
# modified_lines.append("```\n\n") # Close the admonition block
# in_admonition_section = False
# else:
# modified_lines.append(line.lstrip("> "))
# else:
# modified_lines.append(line)
#
# # In case the file ended while still in a admonition section, close it
# if in_admonition_section:
# modified_lines.append("```")
#
# file.close()
#
# with open(rtd_changelog_path, "w", encoding="utf-8") as file:
# file.writelines(modified_lines)
#
# matrix_path = os.path.join("compatibility", "compatibility-matrix-historical-6.0.csv")
# rtd_path = os.path.join("..", "_readthedocs", "html", "downloads")
# if not os.path.exists(rtd_path):
# os.makedirs(rtd_path)
# shutil.copy2(matrix_path, rtd_path)
with open(sphinx_changelog_path, "r", encoding="utf-8") as file:
lines = file.readlines()
modified_lines = []
in_admonition_section = False
# Map for matching the specific admonition type to its corresponding Sphinx markdown syntax
admonition_types = {
'> [!NOTE]': '```{note}',
'> [!TIP]': '```{tip}',
'> [!IMPORTANT]': '```{important}',
'> [!WARNING]': '```{warning}',
'> [!CAUTION]': '```{caution}'
}
for line in lines:
if any(line.startswith(k) for k in admonition_types):
for key in admonition_types:
if(line.startswith(key)):
modified_lines.append(admonition_types[key] + '\n')
break
in_admonition_section = True
elif in_admonition_section:
if line.strip() == '':
# If we encounter an empty line, close the admonition section
modified_lines.append('```\n\n') # Close the admonition block
in_admonition_section = False
else:
modified_lines.append(line.lstrip('> '))
else:
modified_lines.append(line)
# In case the file ended while still in a admonition section, close it
if in_admonition_section:
modified_lines.append('```')
file.close()
with open(sphinx_changelog_path, "w", encoding="utf-8") as file:
file.writelines(modified_lines)
matrix_path = os.path.join("compatibility", "compatibility-matrix-historical-6.0.csv")
rtd_path = os.path.join("..", "_readthedocs", "html", "downloads")
if not os.path.exists(rtd_path):
os.makedirs(rtd_path)
shutil.copy2(matrix_path, rtd_path)
latex_engine = "xelatex"
latex_elements = {
@@ -91,115 +80,208 @@ latex_elements = {
"""
}
# configurations for PDF output by Read the Docs
project = "ROCm documentation"
project_path = str(DOCS_DIR).replace("\\", "/")
author = "Advanced Micro Devices, Inc."
copyright = "Copyright (c) %Y Advanced Micro Devices, Inc. All rights reserved."
version = ROCM_VERSION
release = ROCM_VERSION
html_baseurl = os.environ.get("READTHEDOCS_CANONICAL_URL", "rocm.docs.amd.com")
html_context = {"docs_header_version": "7.2.4"}
if os.environ.get("READTHEDOCS", "") == "True":
html_context["READTHEDOCS"] = True
setting_all_article_info = False
# Check if the branch is a docs/ branch
official_branch = run(["git", "rev-parse", "--abbrev-ref", "HEAD"], capture_output=True, text=True).stdout.find("docs/")
# configurations for PDF output by Read the Docs
project = "ROCm Documentation"
project_path = os.path.abspath(".").replace("\\", "/")
author = "Advanced Micro Devices, Inc."
copyright = "Copyright (c) 2026 Advanced Micro Devices, Inc. All rights reserved."
version = "7.2.4"
release = "7.2.4"
setting_all_article_info = True
all_article_info_os = ["linux", "windows"]
all_article_info_author = ""
# pages with specific settings
article_pages = [
{"file": "about/release-notes", "date": GA_DATE, "os": ["linux", "windows"]},
{"file": "compatibility/compatibility-matrix"},
{"file": "about/release-notes", "os": ["linux"], "date": "2026-05-29"},
{"file": "release/changelog", "os": ["linux"],},
{"file": "compatibility/compatibility-matrix", "os": ["linux"]},
{"file": "compatibility/ml-compatibility/pytorch-compatibility", "os": ["linux"]},
{"file": "compatibility/ml-compatibility/tensorflow-compatibility", "os": ["linux"]},
{"file": "compatibility/ml-compatibility/jax-compatibility", "os": ["linux"]},
{"file": "compatibility/ml-compatibility/dgl-compatibility", "os": ["linux"]},
{"file": "how-to/deep-learning-rocm", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/index", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/install", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/system-setup/index", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/system-setup/multi-node-setup", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/system-setup/prerequisite-system-validation", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/system-setup/system-health-check", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/index", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/train-a-model", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/prerequisite-system-validation", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/scale-model-training", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/megatron-lm", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/megatron-lm-history", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/megatron-lm-v24.12-dev", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/megatron-lm-v25.3", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/megatron-lm-v25.4", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/megatron-lm-v25.5", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/megatron-lm-v25.6", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/megatron-lm-v25.7", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/megatron-lm-v25.8", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/megatron-lm-v25.9", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/megatron-lm-v25.10", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/megatron-lm-v25.11", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/megatron-lm-primus-migration-guide", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/primus-megatron", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/primus-megatron-v25.7", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/primus-megatron-v25.8", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/primus-megatron-v25.9", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/primus-megatron-v25.10", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/primus-megatron-v25.11", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/pytorch-training", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/pytorch-training-history", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/pytorch-training-v25.3", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/pytorch-training-v25.4", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/pytorch-training-v25.5", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/pytorch-training-v25.6", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/xdit-diffusion-inference", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/pytorch-training-v25.7", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/pytorch-training-v25.8", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/pytorch-training-v25.9", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/pytorch-training-v25.10", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/pytorch-training-v25.11", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/primus-pytorch", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/primus-pytorch-v25.8", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/primus-pytorch-v25.9", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/primus-pytorch-v25.10", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/primus-pytorch-v25.11", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/jax-maxtext", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/jax-maxtext-history", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/jax-maxtext-v25.4", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/jax-maxtext-v25.5", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/jax-maxtext-v25.9", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/jax-maxtext-v25.11", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/previous-versions/jax-maxtext-v26.1", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/training/benchmark-docker/mpt-llm-foundry", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/fine-tuning/index", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/fine-tuning/overview", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/fine-tuning/fine-tuning-and-inference", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/fine-tuning/single-gpu-fine-tuning-and-inference", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/fine-tuning/multi-gpu-fine-tuning-and-inference", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/index", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/hugging-face-models", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/llm-inference-frameworks", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/vllm", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/previous-versions/vllm-history", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/previous-versions/vllm-0.4.3", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/previous-versions/vllm-0.6.4", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/previous-versions/vllm-0.6.6", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/previous-versions/vllm-0.7.3-20250325", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/previous-versions/vllm-0.8.3-20250415", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/previous-versions/vllm-0.8.5-20250513", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/previous-versions/vllm-0.8.5-20250521", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/previous-versions/vllm-0.9.0.1-20250605", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/previous-versions/vllm-0.9.0.1-20250702", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/previous-versions/vllm-0.9.1-20250702", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/previous-versions/vllm-0.9.1-20250715", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/previous-versions/vllm-0.10.0-20250812", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/previous-versions/vllm-0.10.1-20250909", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/previous-versions/vllm-0.10.2-20251006", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/previous-versions/vllm-0.11.1-20251103", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/previous-versions/sglang-history", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/pytorch-inference", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/sglang", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/vllm-mori-distributed", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/sglang-mori-distributed", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/sglang-distributed", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/xdit-diffusion-inference", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/previous-versions/xdit-25.10", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/previous-versions/xdit-25.11", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/previous-versions/xdit-25.12", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/previous-versions/xdit-25.13", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/previous-versions/xdit-26.1", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/previous-versions/xdit-26.2", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/benchmark-docker/previous-versions/xdit-26.3", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference/deploy-your-model", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference-optimization/index", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference-optimization/model-quantization", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference-optimization/model-acceleration-libraries", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference-optimization/optimizing-with-composable-kernel", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference-optimization/optimizing-triton-kernel", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference-optimization/profiling-and-debugging", "os": ["linux"]},
{"file": "how-to/rocm-for-ai/inference-optimization/workload", "os": ["linux"]},
{"file": "how-to/system-optimization/index", "os": ["linux"]},
{"file": "how-to/system-optimization/mi300x", "os": ["linux"]},
{"file": "how-to/system-optimization/mi200", "os": ["linux"]},
{"file": "how-to/system-optimization/mi100", "os": ["linux"]},
{"file": "how-to/system-optimization/w6000-v620", "os": ["linux"]},
{"file": "how-to/tuning-guides/mi300x/index", "os": ["linux"]},
{"file": "how-to/tuning-guides/mi300x/system", "os": ["linux"]},
{"file": "how-to/tuning-guides/mi300x/workload", "os": ["linux"]},
{"file": "how-to/system-debugging", "os": ["linux"]},
{"file": "how-to/gpu-enabled-mpi", "os": ["linux"]},
{"file": "reference/rocm-tools", "os": ["linux"],},
]
external_toc_path = "./sphinx/_toc.yml"
# Register Sphinx extensions and static assets
sys.path.append(str(DOCS_DIR / "extension"))
extensions = [
"rocm_docs",
"rocm_docs_custom.selector",
"rocm_docs_custom.matrix",
"rocm_docs_custom.icon",
"rocm_docs_custom.csv_list_to_table",
"rocm_docs_custom.remote_content",
"rocm_docs_custom.version_ref",
"sphinxcontrib.datatemplates",
"sphinx_substitution_extensions",
# "sphinx_reredirects",
# "sphinx_sitemap",
]
templates_path = ["extension/rocm_docs_custom/selector/templates"]
# Add the _extensions directory to Python's search path
sys.path.append(str(Path(__file__).parent / 'extension'))
html_static_path = ["sphinx/static"]
html_js_files = ["setup-toc-install-headings.js", "legacy/vllm-benchmark.js"]
html_css_files = ["legacy/vllm-benchmark.css"]
extensions = ["rocm_docs", "sphinx_reredirects", "sphinx_sitemap", "sphinxcontrib.datatemplates", "remote-content", "version-ref", "csv-to-list-table"]
# this is used for framework compat pages
# compatibility_matrix_file = str(
# DOCS_DIR / "compatibility/compatibility-matrix-historical-6.0.csv"
# )
compatibility_matrix_file = str(Path(__file__).parent / 'compatibility/compatibility-matrix-historical-6.0.csv')
external_projects_current_project = "rocm"
html_theme = "rocm_docs_theme"
html_theme_options = {
"announcement": f"This is ROCm {ROCM_VERSION} technology preview release documentation. For the latest production stream release, refer to <a id='rocm-banner' href='https://rocm.docs.amd.com/en/latest/'>ROCm documentation</a>.",
"flavor": "generic",
"header_title": f"ROCm™ {ROCM_VERSION} Preview",
"header_link": f"https://rocm-stg.amd.com/en/docs-7.13.0/index.html",
"version_list_link": f"https://rocm-stg.amd.com/en/docs-7.13.0/release/versions.html",
"nav_secondary_items": {
"GitHub": "https://github.com/ROCm/ROCm",
"Community": "https://github.com/ROCm/ROCm/discussions",
"Blogs": "https://rocm.blogs.amd.com/",
"System and Infra Docs": "https://instinct.docs.amd.com/",
"Support": "https://github.com/ROCm/ROCm/issues/new/choose",
},
"link_main_doc": False,
}
html_title = f"AMD ROCm {ROCM_VERSION} Preview"
html_baseurl = os.environ.get("READTHEDOCS_CANONICAL_URL", "rocm.docs.amd.com")
html_context = {
"project_path": {project_path},
"gpu_type": [
("AMD Instinct accelerators", "intrinsic"),
("AMD gfx families", "gfx"),
("NVIDIA families", "nvidia"),
],
"atomics_type": [("HW atomics", "hw-atomics"), ("CAS emulation", "cas-atomics")],
"pcie_type": [("No PCIe atomics", "nopcie"), ("PCIe atomics", "pcie")],
"memory_type": [
("Device DRAM", "device-dram"),
("Migratable Host DRAM", "migratable-host-dram"),
("Pinned Host DRAM", "pinned-host-dram"),
],
"granularity_type": [
("Coarse-grained", "coarse-grained"),
("Fine-grained", "fine-grained"),
],
"scope_type": [("Device", "device"), ("System", "system")],
}
# Uncomment if facing rate limit exceed issue with local build
# external_projects_remote_repository = ""
html_baseurl = os.environ.get("READTHEDOCS_CANONICAL_URL", "https://rocm-stg.amd.com/")
html_context = {"docs_header_version": "7.2.3"}
if os.environ.get("READTHEDOCS", "") == "True":
html_context["READTHEDOCS"] = True
# For substitutions in MyST Markdown and rST files.
# Usage:
# ```md | ```rst
# {{ ROCM_VERSION }} | |ROCM_VERSION|
# ``` | ```
myst_substitutions = {"ROCM_VERSION": ROCM_VERSION}
rst_prolog = "\n".join(
f".. |{key}| replace:: {val}" for key, val in myst_substitutions.items()
)
html_context["official_branch"] = official_branch
html_context["version"] = version
html_context["release"] = release
html_theme = "rocm_docs_theme"
html_theme_options = {"flavor": "rocm-docs-home"}
html_static_path = ["sphinx/static/css", "extension/how-to/rocm-for-ai/inference"]
html_css_files = ["rocm_custom.css", "rocm_rn.css", "vllm-benchmark.css"]
html_js_files = ["vllm-benchmark.js"]
html_title = "ROCm Documentation"
html_theme_options = {"link_main_doc": False}
redirects = {"reference/openmp/openmp": "../../about/compatibility/openmp.html"}
numfig = False
suppress_warnings = ["autosectionlabel.*"]
exclude_patterns = [
"exclude/**",
"**/include/**",
"**/extension/**",
"**/images/**",
]
# suppress_warnings = ["autosectionlabel.*"]
html_context = {
"project_path" : {project_path},
"gpu_type" : [('AMD Instinct GPUs', 'intrinsic'), ('AMD gfx families', 'gfx'), ('NVIDIA families', 'nvidia') ],
"atomics_type" : [('HW atomics', 'hw-atomics'), ('CAS emulation', 'cas-atomics')],
"pcie_type" : [('No PCIe atomics', 'nopcie'), ('PCIe atomics', 'pcie')],
"memory_type" : [('Device DRAM', 'device-dram'), ('Migratable Host DRAM', 'migratable-host-dram'), ('Pinned Host DRAM', 'pinned-host-dram')],
"granularity_type" : [('Coarse-grained', 'coarse-grained'), ('Fine-grained', 'fine-grained')],
"scope_type" : [('Device', 'device'), ('System', 'system')]
}
# Check if the branch is a docs/ branch
official_branch = run(
["git", "rev-parse", "--abbrev-ref", "HEAD"], capture_output=True, text=True
).stdout.find("docs/")
# Disable figure and table numbering
numfig = False
# Uncomment if facing rate limit exceed issue with local build
external_projects_remote_repository = ""
@@ -14,7 +14,7 @@ there is a commit status section. Next to the line
`docs/readthedocs.com:advanced-micro-devices-demo`, there is a `Details` link.
If you click this, it takes you to the Read the Docs build for your pull request.
![GitHub PR commit status](../images/contribute/commit-status.png)
![GitHub PR commit status](../data/contribute/commit-status.png)
If you don't see this line, click `Show all checks` to get an itemized view.
+75
View File
@@ -0,0 +1,75 @@
<head>
<meta charset="UTF-8">
<meta name="description" content="Contributing to ROCm">
<meta name="keywords" content="ROCm, contributing, contribute, maintainer, contributor">
</head>
# Contributing to ROCm documentation
ROCm documentation is open source and available on GitHub. You can contribute to ROCm documentation by cloning the appropriate repository, making your changes, and opening a pull request.
```{Note}
To provide feedback on the ROCm documentation without contributing to it, see [Providing feedback about the ROCm documentation](./feedback.md).
```
The documentation for ROCm and for all ROCm components is under their respective `docs` folders. The `docs` folders for all components across ROCm have the same structure:
| Sub-folder name | Documentation type |
|-------|----------|
| `install` | Installation instructions, build instructions, and prerequisites |
| `conceptual` | Important concepts |
| `how-to` | How to implement specific use cases |
| `tutorials` | Tutorials |
| `reference` | API references and other reference resources |
| `sphinx` | `_toc.yaml.in` file |
ROCm stack documentation differs from this structure.
Most documentation topics are written in [reStructuredText (rst)](https://www.sphinx-doc.org/en/master/usage/restructuredtext/index.html), with some topics written in Markdown. Only use reStructuredText when adding new topics. Only use Markdown if the topic you are editing is already in Markdown.
To edit or add to the documentation, first clone the appropriate repository, ensuring that you follow the repository recommendations as outlined in their respective README files:
| Module | Repository |
| --- | --- |
| ROCm stack | [https://github.com/ROCm/ROCm](https://github.com/ROCm/ROCm) |
| ROCm libraries | [https://github.com/ROCm/rocm-libraries](https://github.com/ROCm/rocm-libraries) |
| ROCm systems projects | [https://github.com/ROCm/rocm-systems](https://github.com/ROCm/rocm-systems) |
```{note}
Individual components in the ROCm libraries and the ROCm systems projects repositories are located under the `projects` folder. Some components have their own individual repositories. Each component has a link to its GitHub location from its documentation.
```
Cut a local branch from the `develop` branch of the repository and make your changes. Your changes must adhere to the [Google developer documentation style guide](https://developers.google.com/style/highlights). If you're adding a topic, provide a link to it from the `index.rst` and `_toc.yaml.in` files.
Build the documentation locally to verify your changes.
```{note}
If you're making changes to the Doxygen comments within the source code, delete the `docs/doxygen/xml` and `docs/doxygen/html` folders between each build.
```
From within the `docs` directory, run:
```bash
python3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html
```
The output will be saved to the `docs/_build` folder. Open `docs/_build/html/index.html` to view the documentation.
```{note}
If your build returns an error due to missing packages, run
`pip3 install -r sphinx/requirements.txt`
This command only needs to be run once.
```
Once you've verified your changes, push your branch and create a pull request. Your pull request will be reviewed by a member of the ROCm documentation team.
For information about how to clone a repository, or how to create and push a local branch, see the [GitHub documentation](https://docs.github.com/en).
For information about ROCm build tools, see [Documentation toolchain](toolchain.md).
```{important}
By creating a pull request (PR), you agree to allow your contribution to be licensed under the terms of the
LICENSE.txt file in the corresponding repository. Different repositories can use different licenses.
```

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 114 KiB

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Before

Width:  |  Height:  |  Size: 2.1 MiB

After

Width:  |  Height:  |  Size: 2.1 MiB

Before

Width:  |  Height:  |  Size: 103 KiB

After

Width:  |  Height:  |  Size: 103 KiB

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 41 KiB

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 47 KiB

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Before

Width:  |  Height:  |  Size: 112 KiB

After

Width:  |  Height:  |  Size: 112 KiB

Before

Width:  |  Height:  |  Size: 188 KiB

After

Width:  |  Height:  |  Size: 188 KiB

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Before

Width:  |  Height:  |  Size: 139 KiB

After

Width:  |  Height:  |  Size: 139 KiB

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Some files were not shown because too many files have changed in this diff Show More