* generate 6.3.0 RELEASE.md * add 6.3.0 os/hw support * regenerate changelog * update table * add amd smi and fix fmt * add rocjpeg note * add missed changelog entries * update ga date * add SHARK toolkit introduced note update SHARK note * Edited some components (#202) * Edited some components * fixed formatting on rocal * markdown fail on the last commit; fixed * capitalization fix * Copy edit component change logs (#203) * fix some formatting * fix table and add OpenCL note fix fmt fix more formatting * add radeon note * add rocmsmi * Updated hipCUB, rocPrim, and rocThrust (#206) * fix some stuff * add transferbench * Edits to RCCL 6.3 change log (#207) * Update tools/autotag/templates/upcoming_changes/6.3.0.md * fix formatting * fix sphinx underline warning * add @lpaoletti's highlights * fix os support * add missing kernel version * fix heading * add bitsandbytes ki * Copy edits to release notes (#208) * Copy edits to release notes * Additional updates to release notes * updated shark AI toolkit description * fix formatting * update opencl * update opencl fixes and updates * Update RELEASE.md Co-authored-by: Jeffrey Novotny <jnovotny@amd.com> * Update RELEASE.md Co-authored-by: Jeffrey Novotny <jnovotny@amd.com> * fix omnitools rename text * Apply suggestions from code review Co-authored-by: Jeffrey Novotny <jnovotny@amd.com> * Update RELEASE.md * Update RELEASE.md * Update RELEASE.md * Update RELEASE.md * Update RELEASE.md * Update RELEASE.md * update omniperf and tesile notes * Update RELEASE.md * Update RELEASE.md * Update RELEASE.md * Update RELEASE.md * Update RELEASE.md * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * made some copy edits (#209) * Apply suggestions from code review * Update RELEASE.md * Apply suggestions from code review Co-authored-by: Jeffrey Novotny <jnovotny@amd.com> * indent * add more highlights * update shark urls * add omni notes * Apply suggestions from code review Co-authored-by: Jeffrey Novotny <jnovotny@amd.com> * update some changelogs * Update RELEASE.md Co-authored-by: Jeffrey Novotny <jnovotny@amd.com> * Update RELEASE.md Co-authored-by: Jeffrey Novotny <jnovotny@amd.com> * Update RELEASE.md Co-authored-by: Jeffrey Novotny <jnovotny@amd.com> * update some cls * and missed changelogs * add missed component updates * fix links * add amdgpu-dkms highlight * Update RELEASE.md Co-authored-by: Jeffrey Novotny <jnovotny@amd.com> * change links * add fixed issues * @neon60's changes Co-authored-by: Istvan Kiss <neon60@gmail.com> * Apply suggestions from code review Co-authored-by: Jeffrey Novotny <jnovotny@amd.com> Co-authored-by: Swati Rawat <120587655+SwRaw@users.noreply.github.com> * rm extra hip docs * add hip links * add fixed issue fix * Update RELEASE.md Co-authored-by: Istvan Kiss <neon60@gmail.com> * Update RELEASE.md Co-authored-by: Istvan Kiss <neon60@gmail.com> * Update RELEASE.md Co-authored-by: Istvan Kiss <neon60@gmail.com> * fix ri * fix zebra * Update RELEASE.md Co-authored-by: Leo Paoletti <164940351+lpaoletti@users.noreply.github.com> * rm extra amd smi info * Apply suggestions from code review Co-authored-by: Leo Paoletti <164940351+lpaoletti@users.noreply.github.com> Co-authored-by: Jeffrey Novotny <jnovotny@amd.com> * add more about omni renmae fix rename stuff * Update RELEASE.md Co-authored-by: Leo Paoletti <164940351+lpaoletti@users.noreply.github.com> * Update RELEASE.md Co-authored-by: Leo Paoletti <164940351+lpaoletti@users.noreply.github.com> * fix formatting * wording * fix link * update aotriton * remove libraries performance improved * fix rhel version * fix urls shorten title * Apply suggestions from code review Co-authored-by: Swati Rawat <120587655+SwRaw@users.noreply.github.com> * Release notes updates (#212) * Made language more precise (#211) MIVisionX and rocAL were changed. An awkward sentence in rocAL was also fixed. * add rocprofiler * add rdc add rdc entry * Update RELEASE.md Co-authored-by: Istvan Kiss <neon60@gmail.com> * Update RELEASE.md Co-authored-by: Istvan Kiss <neon60@gmail.com> * Update RELEASE.md Co-authored-by: Swati Rawat <120587655+SwRaw@users.noreply.github.com> * remove bitsandbytes known issue * fix missed hip doc * update rocprof-compute version to 3.0.0 * remove words * change hiprand ver to 2.11.0 * update new components descriptions * add # * fix tensile versions * fix versions and add missed cls * Update RELEASE.md Co-authored-by: Istvan Kiss <neon60@gmail.com> * remove resolved issue for #3493 * add rdc note * add hiprand known issue add hiprand known issue add asterisk for hiprand ki asterisk formatting asterisk link asterisk * rdc known issue * @lpaoletti updates * @wenchenvincent add CK to Transformer Engine note * fix links fix links * add roct thunk interface note * rm 'previously' * Apply suggestions from code review Co-authored-by: Istvan Kiss <neon60@gmail.com> * add known issues * add mi300x cpfw known issue * add mi300x cpfw known issue add note * spacing * update te error KI * rm incorrect user impact in TE known issue * correct description of transformer engine fatal python error known issue * update autotag/templates * fix order * fix typo * update .wordlist.txt w/ lib names * add missing css classes * remove ROCT-Thunk-Interface from ROCm licenses * add rocJPEG LICENSE * fix table zebra b/c added rows * fix capitalization in toc * update URLs post-review * update AMD SMI changelog * update ROCm SMI changelog * add opencl icd stale file kI words * remove Azure Linux * update omnitrace note * add mi200 DLM known issue * update omnitrace note update omnitrace note wording update omnitrace note * update 6.3 ga to 11/26 * update KIs wording * Update tools/autotag/templates/highlights/6.3.0.md Co-authored-by: Istvan Kiss <neon60@gmail.com> * Update tools/autotag/templates/highlights/6.3.0.md Co-authored-by: Istvan Kiss <neon60@gmail.com> * update TransferBench note * remove transferbench remove transferbench * remove gfx12, 1151 * remove sr-iov * rm tb * css classes * rm gfx12 * add back transferbench * add transferbench to table * rm transferbench, add as KI * update transferbench KI workaround * add rocprof-comp KI fix * fix tensile * add backward weights conv KI update * remove RHEL 8.9 from OS EOS * remove mi200 perf drop for DLMs * add RHEL 8.9 to end of support OSes * add omniperf/omnitrace KIs * remove bf16 statement in mi300x KI * update rvs versions in compat * add amd smi KI update update * words * update GA date for 6.3.0 * add rvs KI * add KI links same * rvs in compat * update tf versions * add rvs changelog * update rn templates * add possessives to wordlist --------- Co-authored-by: spolifroni-amd <Sandra.Polifroni@amd.com> Co-authored-by: Jeffrey Novotny <jnovotny@amd.com> Co-authored-by: randyh62 <42045079+randyh62@users.noreply.github.com> Co-authored-by: Istvan Kiss <neon60@gmail.com> Co-authored-by: Swati Rawat <120587655+SwRaw@users.noreply.github.com> Co-authored-by: Leo Paoletti <164940351+lpaoletti@users.noreply.github.com>
AMD ROCm Software
ROCm is an open-source stack, composed primarily of open-source software, designed for graphics processing unit (GPU) computation. ROCm consists of a collection of drivers, development tools, and APIs that enable GPU programming from low-level kernel to end-user applications.
With ROCm, you can customize your GPU software to meet your specific needs. You can develop, collaborate, test, and deploy your applications in a free, open source, integrated, and secure software ecosystem. ROCm is particularly well-suited to GPU-accelerated high-performance computing (HPC), artificial intelligence (AI), scientific computing, and computer aided design (CAD).
ROCm is powered by AMD’s Heterogeneous-computing Interface for Portability (HIP), an open-source software C++ GPU programming environment and its corresponding runtime. HIP allows ROCm developers to create portable applications on different platforms by deploying code on a range of platforms, from dedicated gaming GPUs to exascale HPC clusters.
ROCm supports programming models, such as OpenMP and OpenCL, and includes all necessary open source software compilers, debuggers, and libraries. ROCm is fully integrated into machine learning (ML) frameworks, such as PyTorch and TensorFlow.
Getting the ROCm Source Code
AMD ROCm is built from open source software. It is, therefore, possible to modify the various components of ROCm by downloading the source code and rebuilding the components. The source code for ROCm components can be cloned from each of the GitHub repositories using git. For easy access to download the correct versions of each of these tools, the ROCm repository contains a repo manifest file called default.xml. You can use this manifest file to download the source code for ROCm software.
Installing the repo tool
The repo tool from Google allows you to manage multiple git repositories simultaneously. Run the following commands to install the repo tool:
mkdir -p ~/bin/
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
Note: The ~/bin/ folder is used as an example. You can specify a different folder to install the repo tool into if you desire.
Installing git-lfs
Some ROCm projects use the Git Large File Storage (LFS) format that may require you to install git-lfs. Refer to Git Large File Storage for more information. For example, to install git-lfs for Ubuntu, use the following command:
sudo apt-get install git-lfs
Downloading the ROCm source code
The following example shows how to use the repo tool to download the ROCm source code. If you choose a directory other than ~/bin/ to install the repo tool, you must use that chosen directory in the code as shown below:
mkdir -p ~/ROCm/
cd ~/ROCm/
~/bin/repo init -u http://github.com/ROCm/ROCm.git -b roc-6.2.x
~/bin/repo sync
Note: Using this sample code will cause the repo tool to download the open source code associated with the specified ROCm release. Ensure that you have ssh-keys configured on your machine for your GitHub ID prior to the download as explained at Connecting to GitHub with SSH.
Building the ROCm source code
Each ROCm component repository contains directions for building that component, such as the rocSPARSE documentation Installation and Building for Linux. Refer to the specific component documentation for instructions on building the repository.
Each release of the ROCm software supports specific hardware and software configurations. Refer to System requirements (Linux) for the current supported hardware and OS.
Build ROCm from source
The Build will use as many processors as it can find to build in parallel. Some of the compiles can consume as much as 10GB of RAM, so make sure you have plenty of Swap Space !
By default the ROCm build will compile for all supported GPU architectures and will take approximately 500 CPU hours. The Build time will reduce significantly if we limit the GPU Architecture/s against which we need to build by using the environment variable GPU_ARCHS as mentioned below.
# --------------------------------------
# Step1: clone source code
# --------------------------------------
mkdir -p ~/WORKSPACE/ # Or any folder name other than WORKSPACE
cd ~/WORKSPACE/
export ROCM_VERSION=6.2.4 # Or 6.2.0, 6.2.1, 6.2.2
~/bin/repo init -u http://github.com/ROCm/ROCm.git -b roc-6.2.x -m tools/rocm-build/rocm-${ROCM_VERSION}.xml
~/bin/repo sync
# --------------------------------------
# Step 2: Prepare build environment
# --------------------------------------
# Option 1: Start a docker container
# Pulling required base docker images:
# Ubuntu20.04 built from ROCm/tools/rocm-build/docker/ubuntu20/Dockerfile
docker pull rocm/rocm-build-ubuntu-20.04:6.2
# Ubuntu22.04 built from ROCm/tools/rocm-build/docker/ubuntu22/Dockerfile
docker pull rocm/rocm-build-ubuntu-22.04:6.2
# Ubuntu24.04 built from ROCm/tools/rocm-build/docker/ubuntu24/Dockerfile
docker pull rocm/rocm-build-ubuntu-24.04:6.2
# Start docker container and mount the source code folder:
docker run -ti \
-e ROCM_VERSION=${ROCM_VERSION} \
-e CCACHE_DIR=$HOME/.ccache \
-e CCACHE_ENABLED=true \
-e DOCK_WORK_FOLD=/src \
-w /src \
-v $PWD:/src \
-v /etc/passwd:/etc/passwd \
-v /etc/shadow:/etc/shadow \
-v ${HOME}/.ccache:${HOME}/.ccache \
-u $(id -u):$(id -g) \
<replace_with_required_ubuntu_base_docker_image> bash
# Option 2: Install required packages into the host machine
# For ubuntu20.04 system
cd ROCm/tools/rocm-build/docker/ubuntu20
cp * /tmp && cd /tmp
bash install-prerequisites.sh
# For ubuntu22.04 system
cd ROCm/tools/rocm-build/docker/ubuntu22
cp * /tmp && cd /tmp
bash install-prerequisities.sh
# For ubuntu24.04 system
cd ROCm/tools/rocm-build/docker/ubuntu24
cp * /tmp && cd /tmp
bash install-prerequisites.sh
# --------------------------------------
# Step 3: Run build command line
# --------------------------------------
# Select GPU targets before building:
# When GPU_ARCHS is not set, default GPU targets supported by ROCm6.1 will be used.
# To build against a subset of GFX architectures you can use the below env variable.
# Support MI300 (gfx940, gfx941, gfx942).
export GPU_ARCHS="gfx942" # Example
export GPU_ARCHS="gfx940;gfx941;gfx942" # Example
# Pick and run build commands in the docker container:
# Build rocm-dev packages
make -f ROCm/tools/rocm-build/ROCm.mk -j ${NPROC:-$(nproc)} rocm-dev
# Build all ROCm packages
make -f ROCm/tools/rocm-build/ROCm.mk -j ${NPROC:-$(nproc)} all
# list all ROCm components to find required components
make -f ROCm/tools/rocm-build/ROCm.mk list_components
# Build a single ROCm packages
make -f ROCm/tools/rocm-build/ROCm.mk T_rocblas
# Find built packages in ubuntu20.04:
out/ubuntu-20.04/20.04/deb/
# Find built packages in ubuntu22.04:
out/ubuntu-22.04/22.04/deb/
# Find built packages in ubuntu24.04:
out/ubuntu-24.04/24.04/deb/
# Find built logs in ubuntu20.04:
out/ubuntu-20.04/20.04/logs/
# Find built logs in ubuntu22.04:
out/ubuntu-22.04/22.04/logs/
# Find built logs in ubuntu24.04:
out/ubuntu-24.04/24.04/logs/
# All logs pertaining to failed components, end with .errrors extension.
out/ubuntu-22.04/22.04/logs/rocblas.errors # Example
# All logs pertaining to building components, end with .inprogress extension.
out/ubuntu-22.04/22.04/logs/rocblas.inprogress # Example
# All logs pertaining to passed components, use the component names.
out/ubuntu-22.04/22.04/logs/rocblas # Example
Note: Overview for ROCm.mk
ROCm documentation
This repository contains the manifest file for ROCm releases, changelogs, and release information.
The default.xml file contains information for all repositories and the associated commit used to build
the current ROCm release; default.xml uses the Manifest Format repository.
Source code for our documentation is located in the /docs folder of most ROCm repositories. The
develop branch of our repositories contains content for the next ROCm release.
The ROCm documentation homepage is rocm.docs.amd.com.
Building the documentation
For a quick-start build, use the following code. For more options and detail, refer to Building documentation.
cd docs
pip3 install -r sphinx/requirements.txt
python3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html
Alternatively, CMake build is supported.
cmake -B build
cmake --build build --target=doc
Older ROCm releases
For release information for older ROCm releases, refer to the ROCm release history.