Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
001fa7c0ce | ||
|
|
582cacea47 | ||
|
|
5209dccdb2 | ||
|
|
876343e53b | ||
|
|
9f0ec581e2 | ||
|
|
6a6dc9136f | ||
|
|
54788f54d2 | ||
|
|
60761656b4 | ||
|
|
cff95485e7 | ||
|
|
81b0abda82 | ||
|
|
c3369f0349 | ||
|
|
80ca7e03d3 | ||
|
|
b8c0e2d6f6 | ||
|
|
98d6b45cb7 | ||
|
|
e765da5fdd | ||
|
|
f51ee1af20 | ||
|
|
f404b68678 | ||
|
|
b721f63b32 | ||
|
|
e84490952f | ||
|
|
0fafbb95ae | ||
|
|
89321ae826 | ||
|
|
3cd1d85020 | ||
|
|
ee5be73d4b | ||
|
|
f5c11d16a5 | ||
|
|
29b98078bd | ||
|
|
0cc148b308 | ||
|
|
26e3e80466 | ||
|
|
bf5c3f768d | ||
|
|
414f499ae8 | ||
|
|
a7fea177e1 |
@@ -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
|
||||
|
||||
@@ -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 |
@@ -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
|
||||
|
||||
@@ -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/**"
|
||||
|
||||
@@ -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
|
||||
FlashInfer’s
|
||||
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,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
|
||||
|
||||
@@ -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.
|
||||
@@ -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">
|
||||
|
||||
|
||||
@@ -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 AMD’s 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 (0–3)<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 you’re 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 AMD’s 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 (0–3)<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 embedding‑heavy inference workloads is improved by merging multiple independent gather operations from similar embedding tables into a single batched operation. Multi‑gather 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 ⇒ <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.
|
||||
@@ -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 graph‑launch phase. The issue originated from the entire graph being launched solely according to the parent graph’s scheduling logic. The HIP runtime now introduces a per‑graph segment‑scheduling control flag and propagates the parent graph’s 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 in‑memory and background‑thread 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>
|
||||
:::
|
||||
::::
|
||||
@@ -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>
|
||||
@@ -4,7 +4,7 @@
|
||||
<meta name="keywords" content="license, licensing terms">
|
||||
</head>
|
||||
|
||||
# ROCm licenses
|
||||
# ROCm license
|
||||
|
||||
```{include} ../../LICENSE
|
||||
```
|
||||
|
||||
@@ -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
|
||||
@@ -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>
|
||||
@@ -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>`__.
|
||||
|
Before Width: | Height: | Size: 167 KiB |
|
Before Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 778 KiB |
|
Before Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 171 KiB |
@@ -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,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 you’re 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>`__
|
||||
@@ -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 Plugin–PJRT 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 Karpathy’s JAX-based
|
||||
nanoGPT. Comparing how essential GPT components—such as self-attention
|
||||
mechanisms and optimizers—are realized in JAX and JAX, also highlights
|
||||
JAX’s 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.
|
||||
@@ -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.
|
||||
@@ -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>`_
|
||||
.)
|
||||
@@ -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)
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
|
||||

|
||||

|
||||
|
||||
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.
|
||||
|
||||
")
|
||||
")
|
||||
|
||||
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]`).
|
||||
|
||||

|
||||

|
||||
|
||||
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.
|
||||
|
||||

|
||||

|
||||
|
||||
```{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).
|
||||
|
||||

|
||||

|
||||
|
||||
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.
|
||||
|
||||

|
||||

|
||||
|
||||
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 world’s 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 world’s 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.
|
||||
|
||||
@@ -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.
|
||||
|
||||

|
||||

|
||||
|
||||
If you don't see this line, click `Show all checks` to get an itemized view.
|
||||
|
||||
@@ -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 |
|
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: 138 KiB After Width: | Height: | Size: 138 KiB |
|
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 86 KiB |
|
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 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 |