Compare commits

..

6 Commits

Author SHA1 Message Date
Sam Wu
d4d308d981 Get from gh user content 2024-10-17 12:18:30 -06:00
Sam Wu
96211cdce8 Regenerate dot file and graph 2024-10-17 12:14:56 -06:00
Sam Wu
11d65cde71 Compare dot files 2024-10-17 12:14:00 -06:00
Sam Wu
7cd3868ec1 Create dot file and sort graph for consistent hash 2024-10-17 12:10:39 -06:00
Joseph Macaranas
f83a474813 Map clr/HIP to same node in tree. 2024-10-03 15:13:54 -04:00
Joseph Macaranas
b352e231cc External CI: Build Deps Graph 2024-10-02 22:22:41 -04:00
282 changed files with 5070 additions and 11554 deletions

View File

@@ -1,42 +0,0 @@
variables:
- group: common
- template: /.azuredevops/variables-global.yml
resources:
repositories:
- repository: aomp_repo
type: github
endpoint: ROCm
name: ROCm/aomp
ref: amd-mainline-open
- repository: aomp-extras_repo
type: github
endpoint: ROCm
name: ROCm/aomp-extras
ref: amd-mainline-open
- repository: flang_repo
type: github
endpoint: ROCm
name: ROCm/flang
ref: amd-mainline-open
- repository: llvm-project_repo
type: github
endpoint: ROCm
name: ROCm/llvm-project
ref: amd-mainline-open
pipelines:
- pipeline: rocr-runtime_pipeline
source: \ROCR-Runtime
trigger:
branches:
include:
- amd-master
# this job will only be triggered after successful build sequence of llvm-project and ROCR-Runtime
trigger: none
pr: none
jobs:
- template: ${{ variables.CI_COMPONENT_PATH }}/aomp.yml
parameters:
checkoutRepo: aomp_repo

View File

@@ -27,10 +27,7 @@ resources:
pipelines:
- pipeline: rocr-runtime_pipeline
source: \ROCR-Runtime
trigger:
branches:
include:
- amd-staging
trigger: true
# this job will only be triggered after successful build sequence of llvm-project and ROCR-Runtime
trigger: none

View File

@@ -27,12 +27,12 @@ parameters:
type: object
default:
- https://github.com/RadeonOpenCompute/rbuild/archive/master.tar.gz
- onnx>=1.14.1
- numpy>=1.21.6
- typing>=3.7.4
- pytest>=6.0.1
- packaging>=23.0
- protobuf>=3.20.2
- onnx==1.14.1
- numpy==1.21.6
- typing==3.7.4
- pytest==6.0.1
- packaging==23.0
- protobuf==3.20.2
- name: rocmDependencies
type: object
default:
@@ -84,6 +84,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -122,16 +124,11 @@ jobs:
-DHALF_INCLUDE_DIR=$(Agent.BuildDirectory)/rocm/include
-DBUILD_TESTING=ON
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: AMDMIGraphX_testing
dependsOn: AMDMIGraphX
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -191,10 +188,9 @@ jobs:
-DBUILD_TESTING=ON
-DMIGRAPHX_ENABLE_C_API_TEST=ON
..
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: AMDMIGraphX
testExecutable: make
testParameters: -j$(nproc) check
testPublishResults: false
- task: Bash@3
displayName: Build and run MIGraphX tests
inputs:
targetType: inline
workingDirectory: build
script: make -j$(nproc) check

View File

@@ -82,9 +82,6 @@ jobs:
-DHIPCC_BIN_DIR=$(Agent.BuildDirectory)/rocm/bin
-DCLR_BUILD_HIP=ON
-DCLR_BUILD_OCL=ON
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
artifactName: amd
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
artifactName: amd

View File

@@ -97,7 +97,6 @@ jobs:
-DCMAKE_PREFIX_PATH=$(Pipeline.Workspace)/llvm;/usr/local/cuda/targets/x86_64-linux/lib
-DLLVM_EXTERNAL_LIT=$(Pipeline.Workspace)/llvm-project/llvm/build/bin/llvm-lit
multithreadFlag: -- -j32
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:

View File

@@ -9,15 +9,18 @@ parameters:
type: object
default:
- cmake
- jq
- libbz2-dev
- libdrm-dev
- libeigen3-dev
- libgmock-dev
- libgtest-dev
- libsqlite3-dev
- libstdc++-12-dev
- ninja-build
- nlohmann-json3-dev
- python3-pip
- python3-venv
- software-properties-common
- zip
- zstd
- name: pipModules
type: object
default:
@@ -25,12 +28,14 @@ parameters:
- name: rocmDependencies
type: object
default:
- half
- rocMLIR
- rocRAND
- rocBLAS
- hipBLAS
- hipBLASLt
- hipBLAS-common
- half
- composable_kernel
- rocm-cmake
- llvm-project
- ROCR-Runtime
@@ -42,6 +47,7 @@ parameters:
type: object
default:
- clr
- composable_kernel
- half
- hipBLAS
- hipBLAS-common
@@ -50,6 +56,7 @@ parameters:
- rocBLAS
- rocm-cmake
- rocminfo
- rocMLIR
- ROCR-Runtime
- rocprofiler-register
- rocRAND
@@ -67,18 +74,26 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }}
# The default boost library from apt is 1.74, which does not satisfy MIOpen's build requirement (1.79+)
# Upgrade boost from apt by following https://launchpad.net/~mhier/+archive/ubuntu/libboost-latest
- task: Bash@3
displayName: 'Install Boost 1.83'
inputs:
targetType: inline
script: |
sudo add-apt-repository ppa:mhier/libboost-latest -y
sudo apt-get --yes install libboost1.83-dev libboost-system1.83-dev libboost-filesystem1.83-dev
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters:
checkoutRepo: ${{ parameters.checkoutRepo }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/miopen-get-ck-build.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters:
dependencyList: ${{ parameters.rocmDependencies }}
@@ -89,40 +104,22 @@ jobs:
# manual build case: triggered by ROCm/ROCm repo
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- task: Bash@3
displayName: Build and install other dependencies
inputs:
targetType: inline
workingDirectory: $(Build.SourcesDirectory)
script: |
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
sed -i '/composable_kernel/d' requirements.txt
mkdir -p $(Agent.BuildDirectory)/miopen-deps
cmake -P install_deps.cmake --prefix $(Agent.BuildDirectory)/miopen-deps
sudo rm -rf /opt/rocm
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters:
extraBuildFlags: >-
-DMIOPEN_BACKEND=HIP
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/miopen-deps
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
-DMIOPEN_ENABLE_AI_KERNEL_TUNING=OFF
-DMIOPEN_ENABLE_AI_IMMED_MODE_FALLBACK=OFF
-DCMAKE_BUILD_TYPE=Release
-DBUILD_TESTING=ON
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: MIOpen_testing
timeoutInMinutes: 90
dependsOn: MIOpen
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -139,6 +136,13 @@ jobs:
parameters:
aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }}
- task: Bash@3
displayName: 'Install Boost 1.83'
inputs:
targetType: inline
script: |
sudo add-apt-repository ppa:mhier/libboost-latest -y
sudo apt-get --yes install libboost1.83-dev libboost-system1.83-dev libboost-filesystem1.83-dev
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters:
@@ -149,9 +153,6 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/miopen-get-ck-build.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters:
dependencyList: ${{ parameters.rocmTestDependencies }}
@@ -160,22 +161,44 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
# MIOpen depends on a specific version of frugally-deep which is forked here: https://github.com/ROCm/frugally-deep
# https://github.com/ROCm/frugally-deep/blob/master/INSTALL.md
- task: Bash@3
displayName: Build and install other dependencies
displayName: Add Python site-packages binaries to path
inputs:
targetType: inline
workingDirectory: $(Build.SourcesDirectory)
script: |
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
sed -i '/composable_kernel/d' requirements.txt
mkdir -p $(Agent.BuildDirectory)/miopen-deps
cmake -P install_deps.cmake --prefix $(Agent.BuildDirectory)/miopen-deps
sudo rm -rf /opt/rocm
USER_BASE=$(python3 -m site --user-base)
echo "##vso[task.prependpath]$USER_BASE/bin"
- task: Bash@3
displayName: Install FunctionalPlus
inputs:
targetType: inline
script: cget install Dobiasd/FunctionalPlus
- task: Bash@3
displayName: Remove Python site-packages binaries from path
inputs:
targetType: inline
script: |
USER_BASE=$(python3 -m site --user-base)
echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$USER_BASE/bin;;' -e 's;^/;;' -e 's;/$;;')"
- task: Bash@3
displayName: git clone frugally-deep
inputs:
targetType: inline
script: git clone https://github.com/ROCm/frugally-deep --depth=1 --shallow-submodules
workingDirectory: $(Build.SourcesDirectory)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters:
componentName: frugally-deep
cmakeBuildDir: $(Build.SourcesDirectory)/frugally-deep/build
installDir: $(Build.SourcesDirectory)/bin
extraBuildFlags: -DCMAKE_PREFIX_PATH=$(Build.SourcesDirectory)/cget/cget/pkg/Dobiasd__FunctionalPlus/install
- task: CMake@1
displayName: 'MIOpen Test CMake Flags'
inputs:
cmakeArgs: >-
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Build.SourcesDirectory)/bin;$(Agent.BuildDirectory)/miopen-deps
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Build.SourcesDirectory)/bin;$(Build.SourcesDirectory)/cget/cget/pkg/Dobiasd__FunctionalPlus/install
-DCMAKE_INSTALL_PREFIX=$(Agent.BuildDirectory)/rocm
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
@@ -186,15 +209,19 @@ jobs:
-DMIOPEN_USE_MLIR=ON
-DMIOPEN_GPU_SYNC=OFF
..
- task: Bash@3
displayName: 'MIOpen Test Build'
inputs:
targetType: inline
script: |
cmake --build . --target tests -- -j$(nproc)
workingDirectory: $(Build.SourcesDirectory)/build
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: MIOpen
testParameters: '-VV --output-on-failure --force-new-ctest-process --output-junit test_output.xml --exclude-regex test_rnn_seq_api'
testExecutable: 'CTEST_PARALLEL_LEVEL=4 make -j$(nproc) check'
testParameters: ''
reloadAMDGPU: true
testPublishResults: false
- task: Bash@3
condition: always()
displayName: Clean up Boost 1.83
inputs:
targetType: inline
script: |
sudo apt -y autoremove libboost1.83-dev libboost-system1.83-dev libboost-filesystem1.83-dev
sudo add-apt-repository --remove ppa:mhier/libboost-latest -y
sudo apt update

View File

@@ -10,30 +10,39 @@ parameters:
default:
- cmake
- ninja-build
- git
- wget
- unzip
- libstdc++-12-dev
- pkg-config
- protobuf-compiler
- libprotoc-dev
- ffmpeg
- libavcodec-dev
- libavformat-dev
- libavutil-dev
- libswscale-dev
- build-essential
- libgtk2.0-dev
- libavcodec-dev
- libavformat-dev
- libswscale-dev
- libtbb2
- libtbb-dev
- libjpeg-dev
- libpng-dev
- libtiff-dev
- libdc1394-dev
- libgmp-dev
- libomp-dev
- libopencv-dev
- protobuf-compiler
- libprotoc-dev
- name: pipModules
type: object
default:
- future==1.0.0
- future==0.18.2
- pytz==2022.1
- numpy==1.23
- numpy==1.21
- google==3.0.0
- protobuf==3.12.4
- onnx==1.12.0
- nnef==1.0.7
- name: rocmDependencies
type: object
default:
@@ -77,6 +86,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -103,16 +114,13 @@ jobs:
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
-DROCM_DEP_ROCMCORE=ON
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: MIVisionX_testing
dependsOn: MIVisionX
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -154,7 +162,6 @@ jobs:
mkdir mivisionx-tests
cd mivisionx-tests
cmake /opt/rocm/share/mivisionx/test
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: MIVisionX

View File

@@ -55,13 +55,11 @@ jobs:
extraBuildFlags: >-
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
-DBUILD_SHARED_LIBS=ON
-DCMAKE_BUILD_TYPE=Release
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
- job: ROCR_Runtime_testing
dependsOn: ROCR_Runtime
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -104,12 +102,8 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters:
checkoutRepo: ${{ parameters.checkoutRepo }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
parameters:
runRocminfo: false
- task: Bash@3
displayName: Build kfdtest
continueOnError: true
inputs:
targetType: 'inline'
workingDirectory: $(Build.SourcesDirectory)/libhsakmt/tests/kfdtest
@@ -123,9 +117,40 @@ jobs:
testExecutable: BIN_DIR=$(Build.SourcesDirectory)/libhsakmt/tests/kfdtest/build ./run_kfdtest.sh
testParameters: '-p core --gtest_output=xml:./test_output.xml --gtest_color=yes'
testDir: $(Build.SourcesDirectory)/libhsakmt/tests/kfdtest/scripts
- task: Bash@3
displayName: Build rdmatest app
inputs:
targetType: 'inline'
workingDirectory: $(Build.SourcesDirectory)/libhsakmt/tests/rdma/simple/app
script: |
cmake -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm -DLIBHSAKMT_PATH=$(Agent.BuildDirectory)/rocm -DDRM_AMDGPU_INCLUDE_DIRS=$(Agent.BuildDirectory)/rocm/include .
cmake --build .
- task: Bash@3
displayName: Build rdmatest driver
inputs:
targetType: 'inline'
workingDirectory: $(Build.SourcesDirectory)/libhsakmt/tests/rdma/simple/drv
script: |
sed -i 's/HSAKMT_PAGE_SHIFT/PAGE_SHIFT/g' amdp2ptest.c
sed -i 's/"MIT"/"GPL"/' amdp2ptest.c
RDMA_HEADER_DIR=/usr/src/amdgpu-*/include make all
- task: Bash@3
displayName: Install rdmatest driver
inputs:
targetType: 'inline'
workingDirectory: $(Build.SourcesDirectory)/libhsakmt/tests/rdma/simple/drv
script: |
sudo rmmod amdp2ptest.ko
sudo insmod amdp2ptest.ko
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rdmatest
testExecutable: yes | ./rdma_test
testParameters: ''
testDir: $(Build.SourcesDirectory)/libhsakmt/tests/rdma/simple/app
testPublishResults: false
- task: Bash@3
displayName: Build rocrtst
continueOnError: true
inputs:
targetType: 'inline'
workingDirectory: $(Build.SourcesDirectory)/rocrtst/suites/test_common
@@ -146,5 +171,5 @@ jobs:
parameters:
componentName: rocrtst
testExecutable: ./rocrtst64
testParameters: '--gtest_filter="-rocrtstNeg.Memory_Negative_Tests:rocrtstFunc.Memory_Max_Mem" --gtest_output=xml:./test_output.xml --gtest_color=yes'
testParameters: '--gtest_filter="-rocrtstNeg.Memory_Negative_Tests" --gtest_output=xml:./test_output.xml --gtest_color=yes'
testDir: $(Build.SourcesDirectory)/rocrtst/suites/test_common/build/$(JOB_GPU_TARGET)

View File

@@ -29,5 +29,4 @@ jobs:
parameters:
checkoutRepo: ${{ parameters.checkoutRepo }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml

View File

@@ -50,5 +50,4 @@ jobs:
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml

View File

@@ -32,7 +32,6 @@ parameters:
jobs:
- job: ROCgdb
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -92,7 +91,6 @@ jobs:
--with-rocm-dbgapi=$(Agent.BuildDirectory)/rocm
LDFLAGS="-Wl,--enable-new-dtags,-rpath=$(Agent.BuildDirectory)/rocm/lib"
makeCallPrefix: LD_RUN_PATH='${ORIGIN}/../lib'
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
- task: Bash@3
displayName: Setup test environment
@@ -102,7 +100,6 @@ jobs:
sudo rm -rf /opt/rocm
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
echo "##vso[task.prependpath]/opt/rocm/bin"
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- task: Bash@3
displayName: check-gdb
continueOnError: true

View File

@@ -13,7 +13,6 @@ parameters:
- libyaml-cpp-dev
- libpci-dev
- libpci3
- libgst-dev
- libgtest-dev
- git
- name: rocmDependencies
@@ -41,7 +40,6 @@ parameters:
- llvm-project
- rocBLAS
- rocm_smi_lib
- rocminfo
- rocprofiler-register
- ROCR-Runtime
- rocRAND
@@ -66,6 +64,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -92,16 +92,13 @@ jobs:
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
-DCPACK_PACKAGING_INSTALL_PREFIX=$(Build.BinariesDirectory)
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: ROCmValidationSuite_testing
dependsOn: ROCmValidationSuite
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -135,7 +132,6 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: ROCmValidationSuite

View File

@@ -1,177 +0,0 @@
parameters:
- name: checkoutRepo
type: string
default: 'self'
- name: checkoutRef
type: string
default: ''
- name: aptPackages
type: object
default:
- python3-pip
- cmake
- libmsgpack-dev
- libboost-program-options-dev
- name: pipModules
type: object
default:
- tox
- pytest
- name: rocmDependencies
type: object
default:
- aomp
- clr
- llvm-project
- rocm-cmake
- rocm-core
- rocminfo
- rocm_smi_lib
- rocprofiler-register
- ROCR-Runtime
jobs:
- job: Tensile
variables:
- group: common
- template: /.azuredevops/variables-global.yml
pool:
vmImage: ${{ variables.BASE_BUILD_POOL }}
workspace:
clean: all
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters:
checkoutRepo: ${{ parameters.checkoutRepo }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters:
dependencyList: ${{ parameters.rocmDependencies }}
# CI case: download latest default branch build
${{ if eq(parameters.checkoutRef, '') }}:
dependencySource: staging
# manual build case: triggered by ROCm/ROCm repo
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
- task: Bash@3
displayName: Create wheel file
inputs:
targetType: inline
script: python3 setup.py bdist_wheel
workingDirectory: $(Build.SourcesDirectory)
env:
ROCM_PATH: $(Agent.BuildDirectory)/rocm
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
parameters:
sourceDir: $(Build.SourcesDirectory)/dist
contentsString: '*.whl'
targetDir: $(Build.ArtifactStagingDirectory)
clean: false
- task: PublishPipelineArtifact@1
displayName: 'wheel file Publish'
retryCountOnTaskFailure: 3
inputs:
targetPath: $(Build.ArtifactStagingDirectory)
- job: Tensile_testing
timeoutInMinutes: 90
dependsOn: Tensile
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
variables:
- group: common
- template: /.azuredevops/variables-global.yml
pool: $(JOB_TEST_POOL)
workspace:
clean: all
strategy:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- task: DownloadPipelineArtifact@2
displayName: 'Download Pipeline Wheel Files'
inputs:
itemPattern: '**/*.whl'
targetPath: $(Agent.BuildDirectory)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters:
checkoutRepo: ${{ parameters.checkoutRepo }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
parameters:
${{ if eq(parameters.checkoutRef, '') }}:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters:
dependencyList: ${{ parameters.rocmDependencies }}
gpuTarget: $(JOB_GPU_TARGET)
${{ if eq(parameters.checkoutRef, '') }}:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- task: Bash@3
displayName: pip install
inputs:
targetType: inline
script: find -name *.whl -exec pip install {} \;
workingDirectory: $(Agent.BuildDirectory)
- task: Bash@3
displayName: Setup test environment
inputs:
targetType: inline
script: |
sudo rm -rf /opt/rocm
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
- task: Bash@3
displayName: Add Python site-packages binaries to path
inputs:
targetType: inline
script: |
USER_BASE=$(python3 -m site --user-base)
echo "##vso[task.prependpath]$USER_BASE/bin"
- task: Bash@3
displayName: Add ROCm binaries to PATH
inputs:
targetType: inline
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
- task: Bash@3
displayName: Add ROCm compilers to PATH
inputs:
targetType: inline
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- task: Bash@3
displayName: tox test
inputs:
targetType: inline
script: tox run -v -e ci -- -m pre_checkin
workingDirectory: $(Build.SourcesDirectory)
- task: Bash@3
displayName: Remove Python site-packages binaries from path
inputs:
targetType: inline
script: |
USER_BASE=$(python3 -m site --user-base)
echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$USER_BASE/bin;;' -e 's;^/;;' -e 's;/$;;')"
- task: Bash@3
displayName: Remove ROCm binaries from PATH
inputs:
targetType: inline
script: echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$(Agent.BuildDirectory)/rocm/bin;;' -e 's;^/;;' -e 's;/$;;')"
- task: Bash@3
displayName: Remove ROCm compilers from PATH
inputs:
targetType: inline
script: echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$(Agent.BuildDirectory)/rocm/llvm/bin;;' -e 's;^/;;' -e 's;/$;;')"

View File

@@ -31,12 +31,11 @@ jobs:
parameters:
extraBuildFlags: >-
-DBUILD_TESTS=ON
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
- job: amdsmi_testing
dependsOn: amdsmi
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -54,9 +53,6 @@ jobs:
aptPackages: ${{ parameters.aptPackages }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
parameters:
runRocminfo: false
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: amdsmi

View File

@@ -54,5 +54,4 @@ jobs:
-DAOMP_VERSION_STRING=$(LATEST_RELEASE_TAG)
-GNinja
installDir: $(Build.BinariesDirectory)/llvm
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml

View File

@@ -109,12 +109,11 @@ jobs:
# for the compilation and installation to go through.
- script: |
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
mkdir -p $(Build.BinariesDirectory)/lib/llvm/bin
ln -s $(Agent.BuildDirectory)/rocm/llvm/bin/clang $(Build.BinariesDirectory)/lib/llvm/bin/clang
ln -s $(Agent.BuildDirectory)/rocm/llvm/bin/clang++ $(Build.BinariesDirectory)/lib/llvm/bin/clang++
ln -s $(Agent.BuildDirectory)/rocm/llvm/bin/llvm-config $(Build.BinariesDirectory)/lib/llvm/bin/llvm-config
mkdir -p $(Build.BinariesDirectory)/bin
ln -s $(Agent.BuildDirectory)/rocm/llvm/bin/clang $(Build.BinariesDirectory)/bin/clang
ln -s $(Agent.BuildDirectory)/rocm/llvm/bin/clang++ $(Build.BinariesDirectory)/bin/clang++
ln -s $(Agent.BuildDirectory)/rocm/llvm/bin/llvm-config $(Build.BinariesDirectory)/bin/llvm-config
ln -s $(Agent.BuildDirectory)/rocm/llvm $(Build.BinariesDirectory)/llvm
ls -1R $(Build.BinariesDirectory)
displayName: Extra build environment setup
# We follow the sequence described in the aomp repo instructions
# https://github.com/ROCm/aomp/blob/aomp-dev/docs/SOURCEINSTALL.md
@@ -127,7 +126,7 @@ jobs:
# method leads to a giant build log compared to separate logs per script call.
#
# Components compiled and the order for non-standalone build found at
# https://github.com/ROCm/aomp/blob/aomp-dev/bin/build_aomp.sh#L135-L142
# https://github.com/ROCm/aomp/blob/aomp-dev/bin/build_aomp.sh#L135-L143
- task: Bash@3
displayName: Build Prereq
inputs:
@@ -177,6 +176,7 @@ jobs:
AOMP_USE_NINJA: 1
ALTAOMP: $(Agent.BuildDirectory)/rocm/llvm
INSTALL_PREFIX: $(Build.BinariesDirectory)
CMAKE_INSTALL_PREFIX: $(Build.BinariesDirectory)
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
AOMP: $(Build.BinariesDirectory)
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
@@ -196,11 +196,12 @@ jobs:
AOMP_USE_NINJA: 1
ALTAOMP: $(Agent.BuildDirectory)/rocm/llvm
INSTALL_PREFIX: $(Build.BinariesDirectory)
CMAKE_INSTALL_PREFIX: $(Build.BinariesDirectory)
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
AOMP: $(Build.BinariesDirectory)
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
INSTALL_OPENMP: $(Build.BinariesDirectory)
- script: ln -s $(Build.BinariesDirectory)/lib/llvm/include/omp.h $(Build.SourcesDirectory)/llvm-project/llvm/include/omp.h
- script: ln -s $(Build.BinariesDirectory)/include/omp.h $(Build.SourcesDirectory)/llvm-project/llvm/include/omp.h
displayName: Link omp header
- task: Bash@3
displayName: Build offload
@@ -236,30 +237,15 @@ jobs:
AOMP_USE_NINJA: 1
ALTAOMP: $(Agent.BuildDirectory)/rocm/llvm
INSTALL_PREFIX: $(Build.BinariesDirectory)
CMAKE_INSTALL_PREFIX: $(Build.BinariesDirectory)
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
AOMP: $(Build.BinariesDirectory)
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
INSTALL_OPENMP: $(Build.BinariesDirectory)
- task: Bash@3
displayName: Build llvm-classic
displayName: Build flang-legacy
inputs:
filePath: $(Build.SourcesDirectory)/aomp/bin/build_llvm-classic.sh
env:
AOMP_REPOS: $(Build.SourcesDirectory)
AOMP_PROJECT_REPO_NAME: llvm-project
AOMP_STANDALONE_BUILD: 0
AOMP_BUILD_SANITIZER: 0
AOMP_BUILD_DEBUG: 0
AOMP_USE_NINJA: 1
INSTALL_PREFIX: $(Build.BinariesDirectory)
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
AOMP: $(Build.BinariesDirectory)
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
- task: Bash@3
displayName: Install llvm-classic
inputs:
filePath: $(Build.SourcesDirectory)/aomp/bin/build_llvm-classic.sh
arguments: install
filePath: $(Build.SourcesDirectory)/aomp/bin/build_flang-legacy.sh
env:
AOMP_REPOS: $(Build.SourcesDirectory)
AOMP_PROJECT_REPO_NAME: llvm-project
@@ -273,24 +259,9 @@ jobs:
AOMP: $(Build.BinariesDirectory)
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
- task: Bash@3
displayName: Build flang-classic
displayName: Install flang-legacy
inputs:
filePath: $(Build.SourcesDirectory)/aomp/bin/build_flang-classic.sh
env:
AOMP_REPOS: $(Build.SourcesDirectory)
AOMP_PROJECT_REPO_NAME: llvm-project
AOMP_STANDALONE_BUILD: 0
AOMP_BUILD_SANITIZER: 0
AOMP_BUILD_DEBUG: 0
AOMP_USE_NINJA: 1
INSTALL_PREFIX: $(Build.BinariesDirectory)
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
AOMP: $(Build.BinariesDirectory)
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
- task: Bash@3
displayName: Install flang-classic
inputs:
filePath: $(Build.SourcesDirectory)/aomp/bin/build_flang-classic.sh
filePath: $(Build.SourcesDirectory)/aomp/bin/build_flang-legacy.sh
arguments: install
env:
AOMP_REPOS: $(Build.SourcesDirectory)
@@ -300,6 +271,7 @@ jobs:
AOMP_BUILD_DEBUG: 0
AOMP_USE_NINJA: 1
INSTALL_PREFIX: $(Build.BinariesDirectory)
CMAKE_INSTALL_PREFIX: $(Build.BinariesDirectory)
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
AOMP: $(Build.BinariesDirectory)
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
@@ -315,9 +287,11 @@ jobs:
AOMP_BUILD_DEBUG: 0
AOMP_USE_NINJA: 1
INSTALL_PREFIX: $(Build.BinariesDirectory)
CMAKE_INSTALL_PREFIX: $(Build.BinariesDirectory)
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
AOMP: $(Build.BinariesDirectory)
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
INSTALL_FLANG: $(Build.BinariesDirectory)
- task: Bash@3
displayName: Install pgmath
inputs:
@@ -331,9 +305,11 @@ jobs:
AOMP_BUILD_DEBUG: 0
AOMP_USE_NINJA: 1
INSTALL_PREFIX: $(Build.BinariesDirectory)
CMAKE_INSTALL_PREFIX: $(Build.BinariesDirectory)
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
AOMP: $(Build.BinariesDirectory)
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
INSTALL_FLANG: $(Build.BinariesDirectory)
- task: Bash@3
displayName: Build flang
inputs:
@@ -346,9 +322,11 @@ jobs:
AOMP_BUILD_DEBUG: 0
AOMP_USE_NINJA: 1
INSTALL_PREFIX: $(Build.BinariesDirectory)
CMAKE_INSTALL_PREFIX: $(Build.BinariesDirectory)
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
AOMP: $(Build.BinariesDirectory)
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
INSTALL_FLANG: $(Build.BinariesDirectory)
- task: Bash@3
displayName: Install flang
inputs:
@@ -362,9 +340,11 @@ jobs:
AOMP_BUILD_DEBUG: 0
AOMP_USE_NINJA: 1
INSTALL_PREFIX: $(Build.BinariesDirectory)
CMAKE_INSTALL_PREFIX: $(Build.BinariesDirectory)
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
AOMP: $(Build.BinariesDirectory)
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
INSTALL_FLANG: $(Build.BinariesDirectory)
- task: Bash@3
displayName: Build flang_runtime
inputs:
@@ -377,9 +357,11 @@ jobs:
AOMP_BUILD_DEBUG: 0
AOMP_USE_NINJA: 1
INSTALL_PREFIX: $(Build.BinariesDirectory)
CMAKE_INSTALL_PREFIX: $(Build.BinariesDirectory)
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
AOMP: $(Build.BinariesDirectory)
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
INSTALL_FLANG: $(Build.BinariesDirectory)
- task: Bash@3
displayName: Install flang_runtime
inputs:
@@ -393,36 +375,24 @@ jobs:
AOMP_BUILD_DEBUG: 0
AOMP_USE_NINJA: 1
INSTALL_PREFIX: $(Build.BinariesDirectory)
CMAKE_INSTALL_PREFIX: $(Build.BinariesDirectory)
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
AOMP: $(Build.BinariesDirectory)
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
INSTALL_FLANG: $(Build.BinariesDirectory)
# Clean up build environment before publish artifact
- script: |
rm $(Build.BinariesDirectory)/lib/llvm/bin/clang
rm $(Build.BinariesDirectory)/lib/llvm/bin/clang++
rm $(Build.BinariesDirectory)/lib/llvm/bin/llvm-config
rm $(Build.BinariesDirectory)/lib/llvm/bin/flang
rm $(Build.BinariesDirectory)/bin/clang
rm $(Build.BinariesDirectory)/bin/clang++
rm $(Build.BinariesDirectory)/bin/llvm-config
rm $(Build.BinariesDirectory)/llvm
displayName: Remove temporary symbolic links
# aomp scripts changed where files get installed in scripts, copy to expected location
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
parameters:
sourceDir: $(Build.BinariesDirectory)/lib/llvm
targetDir: $(Build.ArtifactStagingDirectory)
# Remove temporary directory used to deal with expected paths of scripts
- script: |
rm -rf $(Build.BinariesDirectory)/lib/llvm
displayName: Remove temporary directories
# Copy the files to artifact staging temporarily to clean up binaries directory
# and then copy files back to llvm subdirectory in the cleaned up binaries directory
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
parameters:
sourceDir: $(Build.BinariesDirectory)
targetDir: $(Build.ArtifactStagingDirectory)
clean: false
- script: |
ln -s $(Build.ArtifactStagingDirectory)/bin/flang-classic $(Build.ArtifactStagingDirectory)/bin/flang
displayName: Recreate flang symlink
- task: DeleteFiles@1
displayName: 'Cleanup Binaries Directory'
inputs:
@@ -439,12 +409,11 @@ jobs:
SourceFolder: $(Build.ArtifactStagingDirectory)
Contents: '/**/*'
RemoveDotFiles: true
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
- job: aomp_testing
dependsOn: aomp
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -503,7 +472,6 @@ jobs:
Contents: FileCheck
TargetFolder: $(Agent.BuildDirectory)/rocm/share/openmp-extras/tests/bin
retryCount: 3
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- task: Bash@3
displayName: Test AOMP
continueOnError: true

View File

@@ -48,6 +48,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -93,16 +95,13 @@ jobs:
-DCMAKE_BUILD_TYPE=Release
-DGPU_TARGETS=$(JOB_GPU_TARGET)
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: composable_kernel_testing
dependsOn: composable_kernel
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -138,7 +137,6 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- task: Bash@3
displayName: Iterate through test scripts
inputs:

View File

@@ -25,9 +25,8 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-download.yml
parameters:
componentName: HIP
pipelineId: $(HIP_PIPELINE_ID)
pipelineId: $(hip-pipeline-id)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
parameters:
sourceDir: $(Agent.BuildDirectory)/rocm
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml

View File

@@ -52,7 +52,6 @@ jobs:
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
-DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
# only run test03 because test11 has too many test cases, taking way too long
- task: Bash@3

View File

@@ -52,6 +52,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -82,9 +84,6 @@ jobs:
-DHIP_PATH=$(Agent.BuildDirectory)/rocm
-DOFFLOAD_ARCH_STR="--offload-arch=$(JOB_GPU_TARGET)"
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
@@ -92,7 +91,7 @@ jobs:
- job: hip_tests_testing
timeoutInMinutes: 240
dependsOn: hip_tests
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -134,14 +133,13 @@ jobs:
sudo rm -rf /opt/rocm
sudo mkdir -p /opt/rocm/bin
sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rocm_agent_enumerator /opt/rocm/bin/rocm_agent_enumerator
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: hip_tests
testDir: $(Agent.BuildDirectory)/rocm/share/hip
reloadAMDGPU: true
- task: Bash@3
displayName: Clean up symlink
condition: always()
inputs:
targetType: inline
script: sudo rm -rf /opt/rocm

View File

@@ -29,7 +29,7 @@ jobs:
- name: ROCM_PATH
value: $(Agent.BuildDirectory)/rocm
- template: /.azuredevops/variables-global.yml
pool:
pool:
vmImage: ${{ variables.BASE_BUILD_POOL }}
workspace:
clean: all
@@ -59,5 +59,4 @@ jobs:
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml

View File

@@ -16,10 +16,6 @@ parameters:
- libgtest-dev
- wget
- python3-pip
- name: pipModules
type: object
default:
- pyyaml
- name: rocmDependencies
type: object
default:
@@ -63,11 +59,12 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters:
@@ -95,16 +92,13 @@ jobs:
-DBUILD_CLIENTS_SAMPLES=OFF
-DCPACK_SET_DESTDIR=OFF
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: hipBLAS_testing
dependsOn: hipBLAS
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -120,7 +114,6 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
parameters:
@@ -139,7 +132,6 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: hipBLAS

View File

@@ -22,7 +22,6 @@ parameters:
type: object
default:
- joblib
- packaging
- name: rocmDependencies
type: object
default:
@@ -75,6 +74,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -142,9 +143,6 @@ jobs:
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm"
-DBUILD_CLIENTS_TESTS=ON
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
@@ -152,7 +150,7 @@ jobs:
- job: hipBLASLt_testing
dependsOn: hipBLASLt
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -168,7 +166,6 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
parameters:
@@ -187,7 +184,6 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: hipBLASLt

View File

@@ -43,6 +43,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -70,16 +72,13 @@ jobs:
-DBUILD_TEST=ON
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: hipCUB_testing
dependsOn: hipCUB
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -113,7 +112,6 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: hipCUB

View File

@@ -55,6 +55,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -88,16 +90,13 @@ jobs:
-DBUILD_CLIENTS_BENCHMARKS=OFF
-DBUILD_CLIENTS_SAMPLES=OFF
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: hipFFT_testing
dependsOn: hipFFT
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -131,7 +130,6 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: hipFFT

View File

@@ -45,6 +45,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -74,16 +76,13 @@ jobs:
-DCMAKE_BUILD_TYPE=Release
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: hipRAND_testing
dependsOn: hipRAND
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -117,7 +116,6 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: hipRAND

View File

@@ -57,6 +57,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -95,16 +97,13 @@ jobs:
-DBUILD_CLIENTS_TESTS=ON
-DUSE_CUDA=OFF
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: hipSOLVER_testing
dependsOn: hipSOLVER
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -138,7 +137,6 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: hipSOLVER

View File

@@ -52,6 +52,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -79,10 +81,6 @@ jobs:
-DBUILD_CLIENTS_TESTS=ON
-DBUILD_CLIENTS_SAMPLES=OFF
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
artifactName: hipSPARSE
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
artifactName: hipSPARSE
@@ -99,7 +97,7 @@ jobs:
- job: hipSPARSE_testing
dependsOn: hipSPARSE
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -133,7 +131,6 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: hipSPARSE

View File

@@ -117,16 +117,13 @@ jobs:
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
-DBUILD_CLIENTS_TESTS=ON
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: hipSPARSELt_testing
dependsOn: hipSPARSELt
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -154,7 +151,6 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: hipSPARSELt

View File

@@ -42,6 +42,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -70,9 +72,6 @@ jobs:
-DHIPTENSOR_BUILD_TESTS=ON
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
multithreadFlag: -- -j32
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
@@ -80,7 +79,7 @@ jobs:
- job: hipTensor_testing
timeoutInMinutes: 90
dependsOn: hipTensor
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -114,7 +113,6 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: hipTensor

View File

@@ -51,6 +51,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -86,16 +88,13 @@ jobs:
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
-DBUILD_TESTING=ON
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: hipfort_testing
dependsOn: hipfort
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -140,7 +139,6 @@ jobs:
sudo rm -rf /opt/rocm
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
workingDirectory: $(Build.SourcesDirectory)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- task: Bash@3
displayName: 'Test hipfort'
inputs:

View File

@@ -27,8 +27,6 @@ jobs:
- template: /.azuredevops/variables-global.yml
- name: HIP_DEVICE_LIB_PATH
value: '$(Build.BinariesDirectory)/amdgcn/bitcode'
- name: HIP_PATH
value: '$(Agent.BuildDirectory)/rocm'
pool: ${{ variables.MEDIUM_BUILD_POOL }}
workspace:
clean: all
@@ -126,7 +124,6 @@ jobs:
componentName: comgr
extraBuildFlags: >-
-DCMAKE_PREFIX_PATH="$(Build.SourcesDirectory)/llvm/build;$(Build.SourcesDirectory)/amd/device-libs/build"
-DCOMGR_DISABLE_SPIRV=1
-DCMAKE_BUILD_TYPE=Release
cmakeBuildDir: 'amd/comgr/build'
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
@@ -142,5 +139,4 @@ jobs:
-DCMAKE_BUILD_TYPE=Release
-DHIPCC_BACKWARD_COMPATIBILITY=OFF
cmakeBuildDir: 'amd/hipcc/build'
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml

View File

@@ -58,6 +58,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -90,7 +92,7 @@ jobs:
- job: omniperf_testing
dependsOn: omniperf
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -148,7 +150,6 @@ jobs:
-DCMAKE_BUILD_TYPE=Release
-DENABLE_TESTS=ON
-DINSTALL_TESTS=ON
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: omniperf

View File

@@ -40,7 +40,6 @@ parameters:
- name: rocmDependencies
type: object
default:
- aomp
- clr
- llvm-project
- rccl
@@ -64,6 +63,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -127,19 +128,14 @@ jobs:
componentName: omnitrace
- task: Bash@3
displayName: Remove ROCm binaries from PATH
condition: always()
inputs:
targetType: inline
script: echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$(Agent.BuildDirectory)/rocm/bin;;' -e 's;^/;;' -e 's;/$;;')"
- task: Bash@3
displayName: Remove ROCm compilers from PATH
condition: always()
inputs:
targetType: inline
script: echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$(Agent.BuildDirectory)/rocm/llvm/bin;;' -e 's;^/;;' -e 's;/$;;')"
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)

View File

@@ -60,6 +60,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -93,9 +95,6 @@ jobs:
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/share/rocm/cmake/
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
@@ -103,7 +102,7 @@ jobs:
- job: rccl_testing
timeoutInMinutes: 120
dependsOn: rccl
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -137,7 +136,6 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rccl

View File

@@ -19,19 +19,15 @@ parameters:
- libtool
- pkg-config
- libdrm-dev
- libnuma-dev
- libyaml-cpp-dev
- name: rocmDependencies
type: object
default:
- amdsmi
- clr
- hipBLAS-common
- hipBLASLt
- llvm-project
- rocBLAS
- rocm-cmake
- rocm-core
- rocminfo
- rocm_smi_lib
- ROCmValidationSuite
@@ -64,6 +60,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -109,17 +107,13 @@ jobs:
-DBUILD_RVS=ON
-DBUILD_PROFILER=ON
-DBUILD_TESTS=ON
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: rdc_testing
dependsOn: rdc
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -137,8 +131,6 @@ jobs:
aptPackages: ${{ parameters.aptPackages }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
parameters:
${{ if eq(parameters.checkoutRef, '') }}:
@@ -164,7 +156,6 @@ jobs:
sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rdcd /usr/sbin/rdcd
echo $(Agent.BuildDirectory)/rocm/lib/rdc/grpc/lib | sudo tee /etc/ld.so.conf.d/grpc.conf
sudo ldconfig -v
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- task: Bash@3
displayName: Test rdc
inputs:

View File

@@ -53,7 +53,6 @@ parameters:
- half
- llvm-project
- MIVisionX
- rocminfo
- rocprofiler-register
- ROCR-Runtime
- rpp
@@ -71,6 +70,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- task: Bash@3
displayName: 'Register libjpeg-turbo packages'
@@ -150,16 +151,13 @@ jobs:
-DCMAKE_INSTALL_PREFIX_PYTHON=$Python3_STDARCH
-DCMAKE_BUILD_TYPE=Release
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: rocAL_testing
dependsOn: rocAL
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -222,14 +220,13 @@ jobs:
mkdir rocAL-tests
cd rocAL-tests
cmake $(Agent.BuildDirectory)/rocm/share/rocal/test
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rocAL
testDir: rocAL-tests
reloadAMDGPU: true
- task: Bash@3
displayName: Clean up libjpeg-turbo
condition: always()
inputs:
targetType: inline
script: |

View File

@@ -60,6 +60,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -90,16 +92,13 @@ jobs:
-DBUILD_CLIENTS_BENCHMARKS=OFF
-DBUILD_CLIENTS_SAMPLES=OFF
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: rocALUTION_testing
dependsOn: rocALUTION
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -133,7 +132,6 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rocALUTION

View File

@@ -40,7 +40,6 @@ parameters:
- aomp-extras
- hipBLAS-common
- hipBLASLt
- roctracer
- name: rocmTestDependencies
type: object
default:
@@ -75,6 +74,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -114,16 +115,13 @@ jobs:
-DBUILD_CLIENTS_SAMPLES=OFF
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: rocBLAS_testing
dependsOn: rocBLAS
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -158,7 +156,6 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rocBLAS

View File

@@ -17,7 +17,7 @@ parameters:
- libavformat-dev
- libavutil-dev
- libstdc++-12-dev
- libva-amdgpu-dev
- libva-dev
- mesa-amdgpu-va-drivers
- libdrm-dev
- name: rocmDependencies
@@ -35,7 +35,6 @@ parameters:
default:
- clr
- llvm-project
- rocminfo
- rocprofiler-register
- ROCR-Runtime
@@ -85,18 +84,15 @@ jobs:
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
-DCMAKE_BUILD_TYPE=Release
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
- job: rocDecode_testing
dependsOn: rocDecode
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
pool:
name: $(JOB_TEST_POOL)
demands: firstRenderDeviceAccess
pool: $(JOB_TEST_POOL)
workspace:
clean: all
strategy:
@@ -105,18 +101,6 @@ jobs:
JOB_GPU_TARGET: gfx942
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
steps:
# Since mesa-amdgpu-multimedia-devel is not directly available from apt, register it
- task: Bash@3
displayName: 'Register ROCm packages'
inputs:
targetType: inline
script: |
sudo mkdir --parents --mode=0755 /etc/apt/keyrings
wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg > /dev/null
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/${{ variables.KEYRING_VERSION }}/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/amdgpu.list
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/${{ variables.KEYRING_VERSION }} jammy main" | sudo tee --append /etc/apt/sources.list.d/rocm.list
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
sudo apt update
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
@@ -144,10 +128,8 @@ jobs:
mkdir rocDecode-tests
cd rocDecode-tests
cmake /opt/rocm/share/rocdecode/test
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rocDecode
testDir: 'rocDecode-tests'
- script: sudo rm /opt/rocm
condition: always()

View File

@@ -55,6 +55,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -87,16 +89,13 @@ jobs:
-DBUILD_CLIENTS_BENCHMARKS=OFF
-DBUILD_CLIENTS_SAMPLES=OFF
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: rocFFT_testing
dependsOn: rocFFT
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -130,7 +129,6 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rocFFT

View File

@@ -1,148 +0,0 @@
parameters:
- name: checkoutRepo
type: string
default: 'self'
- name: checkoutRef
type: string
default: ''
- name: aptPackages
type: object
default:
- cmake
- libdrm-dev
- libstdc++-12-dev
- libva-amdgpu-dev
- mesa-amdgpu-va-drivers
- ninja-build
- pkg-config
- name: rocmDependencies
type: object
default:
- clr
- llvm-project
- rocm-cmake
- rocminfo
- rocm-core
- rocprofiler-register
- ROCR-Runtime
- name: rocmTestDependencies
type: object
default:
- clr
- llvm-project
- rocminfo
- rocprofiler-register
- ROCR-Runtime
jobs:
- job: rocJPEG
variables:
- group: common
- template: /.azuredevops/variables-global.yml
pool:
vmImage: ${{ variables.BASE_BUILD_POOL }}
workspace:
clean: all
steps:
# Since mesa-amdgpu-multimedia-devel is not directly available from apt, register it
- task: Bash@3
displayName: 'Register ROCm packages'
inputs:
targetType: inline
script: |
sudo mkdir --parents --mode=0755 /etc/apt/keyrings
wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg > /dev/null
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/${{ variables.KEYRING_VERSION }}/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/amdgpu.list
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/${{ variables.KEYRING_VERSION }} jammy main" | sudo tee --append /etc/apt/sources.list.d/rocm.list
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
sudo apt update
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters:
checkoutRepo: ${{ parameters.checkoutRepo }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters:
dependencyList: ${{ parameters.rocmDependencies }}
gpuTarget: $(JOB_GPU_TARGET)
# CI case: download latest default branch build
${{ if eq(parameters.checkoutRef, 'develop') }}:
dependencySource: staging
# manual build case: triggered by ROCm/ROCm repo
${{ elseif ne(parameters.checkoutRef, 'develop') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters:
extraBuildFlags: >-
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
-DCMAKE_BUILD_TYPE=Release
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
- job: rocJPEG_testing
dependsOn: rocJPEG
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
variables:
- group: common
- template: /.azuredevops/variables-global.yml
pool:
name: $(JOB_TEST_POOL)
demands: firstRenderDeviceAccess
workspace:
clean: all
strategy:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
steps:
# Since mesa-amdgpu-multimedia-devel is not directly available from apt, register it
- task: Bash@3
displayName: 'Register ROCm packages'
inputs:
targetType: inline
script: |
sudo mkdir --parents --mode=0755 /etc/apt/keyrings
wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg > /dev/null
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/${{ variables.KEYRING_VERSION }}/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/amdgpu.list
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/${{ variables.KEYRING_VERSION }} jammy main" | sudo tee --append /etc/apt/sources.list.d/rocm.list
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
sudo apt update
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
parameters:
${{ if eq(parameters.checkoutRef, 'develop') }}:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, 'develop') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters:
dependencyList: ${{ parameters.rocmTestDependencies }}
gpuTarget: $(JOB_GPU_TARGET)
${{ if eq(parameters.checkoutRef, 'develop') }}:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, 'develop') }}:
dependencySource: tag-builds
# anything in /opt may be persistent across runs
# so we need to remove the symlink if it already exists
- script: |
sudo rm -rf /opt/rocm
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
mkdir rocJPEG-tests
cd rocJPEG-tests
cmake $(Agent.BuildDirectory)/rocm/share/rocjpeg/test
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rocJPEG
testDir: 'rocJPEG-tests'
- script: sudo rm /opt/rocm
condition: always()

View File

@@ -13,7 +13,6 @@ parameters:
- git
- python3-pip
- libdrm-dev
- libstdc++-12-dev
- name: pipModules
type: object
default:
@@ -29,7 +28,7 @@ parameters:
- ROCR-Runtime
jobs:
- job: rocMLIR
- job: rocMLIR_library
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -63,24 +62,20 @@ jobs:
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
-DBUILD_FAT_LIBROCKCOMPILER=1
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
# compiling and running test on the test system together
- job: rocMLIR_testing
dependsOn: rocMLIR
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
variables:
- group: common
- template: /.azuredevops/variables-global.yml
pool: $(JOB_TEST_POOL)
pool: ${{ variables.GFX942_TEST_POOL }}
workspace:
clean: all
strategy:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -124,7 +119,6 @@ jobs:
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
-DROCM_TEST_CHIPSET=$(JOB_GPU_TARGET)
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rocMLIR

View File

@@ -42,6 +42,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -69,16 +71,13 @@ jobs:
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
-DBUILD_TEST=ON
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: rocPRIM_testing
dependsOn: rocPRIM
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -112,7 +111,6 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rocPRIM

View File

@@ -8,22 +8,25 @@ parameters:
- name: aptPackages
type: object
default:
- python3-pip
- cmake
- ninja-build
- pkg-config
- ffmpeg
- libavcodec-dev
- libavformat-dev
- libavutil-dev
- libdlpack-dev
- libdrm-dev
- libva-dev
- ninja-build
- pkg-config
- python3-pip
- libdrm-dev
- pybind11-dev
- python3-pybind11
- libdlpack-dev
- name: pipModules
type: object
default:
- numpy
- pybind11
- -i
- https://test.pypi.org/simple
- hip-python
- name: rocmDependencies
type: object
default:
@@ -49,16 +52,13 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }}
- task: Bash@3
displayName: 'pip install hip-python'
inputs:
targetType: inline
script: pip install -i https://test.pypi.org/simple hip-python
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters:
@@ -80,26 +80,15 @@ jobs:
script: |
sudo rm -rf /opt/rocm
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
- task: Bash@3
displayName: 'Save Python Package Paths'
inputs:
targetType: inline
script: |
echo "##vso[task.setvariable variable=PYTHON_USER_SITE;]$(python3 -m site --user-site)"
echo "##vso[task.setvariable variable=PYTHON_DIST_PACKAGES;]$(python3 -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])')"
echo "##vso[task.setvariable variable=PYBIND11_PATH;]$(python3 -c 'import pybind11; print(pybind11.get_cmake_dir())')"
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters:
extraBuildFlags: >-
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(PYTHON_USER_SITE)/pybind11;$(PYTHON_DIST_PACKAGES)/pybind11;$(PYBIND11_PATH)
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
-DCMAKE_BUILD_TYPE=Release
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
-DCMAKE_INSTALL_PREFIX_PYTHON=$(Build.BinariesDirectory)
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
@@ -127,13 +116,11 @@ jobs:
- job: rocPyDecode_testing
dependsOn: rocPyDecode
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
pool:
name: $(JOB_TEST_POOL)
demands: firstRenderDeviceAccess
pool: $(JOB_TEST_POOL)
workspace:
clean: all
strategy:
@@ -142,35 +129,11 @@ jobs:
JOB_GPU_TARGET: gfx942
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
steps:
- task: Bash@3
displayName: Ensure pybind11-dev is not installed
inputs:
targetType: inline
script: |
if dpkg -l | grep -q pybind11-dev; then
echo "Removing pybind11-dev..."
sudo apt remove -y pybind11-dev
else
echo "pybind11-dev is not installed."
fi
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }}
- task: Bash@3
displayName: 'pip install hip-python'
inputs:
targetType: inline
script: pip install -i https://test.pypi.org/simple hip-python
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- task: DownloadPipelineArtifact@2
displayName: 'Download Pipeline Wheel Files'
inputs:
itemPattern: '**/*.whl'
targetPath: $(Agent.BuildDirectory)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters:
checkoutRepo: ${{ parameters.checkoutRepo }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
parameters:
${{ if eq(parameters.checkoutRef, '') }}:
@@ -181,49 +144,31 @@ jobs:
parameters:
dependencyList: ${{ parameters.rocmDependencies }}
gpuTarget: $(JOB_GPU_TARGET)
setupHIPLibrarySymlinks: true
${{ if eq(parameters.checkoutRef, '') }}:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters:
checkoutRepo: ${{ parameters.checkoutRepo }}
- task: Bash@3
displayName: pip install
inputs:
targetType: inline
script: |
pip uninstall -y rocPyDecode
find -name *.whl -exec pip install {} \;
workingDirectory: $(Agent.BuildDirectory)
- task: Bash@3
displayName: Setup search paths
displayName: Setup test environment
inputs:
targetType: inline
script: |
sudo rm -rf /opt/rocm
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
echo "##vso[task.setvariable variable=PYTHON_USER_SITE;]$(python3 -m site --user-site)"
echo "##vso[task.setvariable variable=PYTHON_DIST_PACKAGES;]$(python3 -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])')"
echo "##vso[task.setvariable variable=PYBIND11_PATH;]$(python3 -c 'import pybind11; print(pybind11.get_cmake_dir())')"
- task: CMake@1
displayName: 'rocPyDecode Test CMake Flags'
inputs:
cmakeArgs: >-
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(PYTHON_USER_SITE)/pybind11;$(PYTHON_DIST_PACKAGES)/pybind11;$(PYBIND11_PATH)
-DCMAKE_BUILD_TYPE=Release
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
..
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
cd $(Build.SourcesDirectory)
sudo pip install .
cmake -DAMDGPU_TARGETS=$(JOB_GPU_TARGET) .
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rocPyDecode
testDir: $(Build.SourcesDirectory)/build
testDir: $(Build.SourcesDirectory)
# sudo required for pip install but screws up permissions for next pipeline run
- task: Bash@3
displayName: Clean up test environment
condition: always()
inputs:
targetType: inline
script: |
pip uninstall -y rocPyDecode
pip uninstall -y hip-python
sudo rm -rf $(Build.SourcesDirectory)/*

View File

@@ -45,6 +45,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -71,16 +73,13 @@ jobs:
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: rocRAND_testing
dependsOn: rocRAND
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -114,7 +113,6 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rocRAND

View File

@@ -58,6 +58,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -105,16 +107,13 @@ jobs:
-DBUILD_CLIENTS_BENCHMARKS=OFF
-DBUILD_CLIENTS_SAMPLES=OFF
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: rocSOLVER_testing
dependsOn: rocSOLVER
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -148,7 +147,6 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rocSOLVER

View File

@@ -56,6 +56,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -88,10 +90,6 @@ jobs:
-DBUILD_CLIENTS_BENCHMARKS=OFF
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip;$(Agent.BuildDirectory)/rocm/hip/cmake
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
artifactName: rocSPARSE
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
artifactName: rocSPARSE
@@ -109,7 +107,7 @@ jobs:
- job: rocSPARSE_testing
timeoutInMinutes: 90
dependsOn: rocSPARSE
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -143,7 +141,6 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rocSPARSE

View File

@@ -47,6 +47,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -74,16 +76,13 @@ jobs:
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
-DBUILD_TEST=ON
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: rocThrust_testing
dependsOn: rocThrust
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -117,7 +116,6 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rocThrust

View File

@@ -56,6 +56,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -83,12 +85,8 @@ jobs:
-DROCWMMA_BUILD_TESTS=ON
-DROCWMMA_BUILD_SAMPLES=OFF
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON
-GNinja
# gfx1030 not supported in documentation
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
@@ -96,7 +94,7 @@ jobs:
- job: rocWMMA_testing
timeoutInMinutes: 90
dependsOn: rocWMMA
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -130,7 +128,6 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rocWMMA

View File

@@ -47,5 +47,4 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rocm-cmake
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml

View File

@@ -30,5 +30,4 @@ jobs:
-DCPACK_DEBIAN_PACKAGE_RELEASE="local.9999~99.99"
-DCPACK_RPM_PACKAGE_RELEASE="local.9999"
-DROCM_VERSION="$(next-release)"
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml

View File

@@ -10,7 +10,6 @@ parameters:
default:
- cmake
- libglfw3-dev
- libtbb-dev
- python3-pip
- name: rocmDependencies
type: object
@@ -61,7 +60,6 @@ parameters:
- rocSOLVER
- rocSPARSE
- rocThrust
- roctracer
jobs:
- job: rocm_examples
@@ -75,6 +73,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -110,16 +110,13 @@ jobs:
script: |
mkdir -p $(Build.BinariesDirectory)/examples
mv $(Build.BinariesDirectory)/bin/* $(Build.BinariesDirectory)/examples
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: rocm_examples_testing
dependsOn: rocm_examples
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -138,9 +135,9 @@ jobs:
parameters:
aptPackages: ${{ parameters.aptPackages }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
parameters:
checkoutRepo: ${{ parameters.checkoutRepo }}
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
parameters:
${{ if eq(parameters.checkoutRef, '') }}:
@@ -155,18 +152,20 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters:
# https://github.com/ROCm/HIP/issues/2203
extraBuildFlags: >-
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
-DROCM_ROOT=$(Agent.BuildDirectory)/rocm
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
-DCMAKE_HIP_ARCHITECTURES=$(JOB_GPU_TARGET)
-DCMAKE_EXE_LINKER_FLAGS=-fgpu-rdc
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rocm-examples
testDir: $(Build.SourcesDirectory)/build
- task: Bash@3
displayName: Unload and reload AMDGPU
inputs:
targetType: inline
script: |
sudo modprobe -r amdgpu
sudo modprobe amdgpu
- task: Bash@3
displayName: Iterate through examples
inputs:
targetType: inline
script: |
for file in *; do
echo Now running: $file
./$file | tee -a $(TEST_LOG_FILE)
done
workingDirectory: $(Agent.BuildDirectory)/rocm/examples

View File

@@ -27,7 +27,6 @@ parameters:
- name: rocmTestDependencies
type: object
default:
- rocminfo
- rocprofiler-register
- ROCR-Runtime
@@ -69,12 +68,11 @@ jobs:
-DCMAKE_MODULE_PATH=$(Build.SourcesDirectory)/cmake_modules
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/include;$(Agent.BuildDirectory)/rocm/include/hsa
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
- job: rocm_bandwidth_test_testing
dependsOn: rocm_bandwidth_test
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -101,7 +99,6 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rocm_bandwidth_test

View File

@@ -25,12 +25,11 @@ jobs:
extraBuildFlags: >-
-DBUILD_TESTS=ON
-DROCM_DEP_ROCMCORE=ON
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
- job: rocm_smi_lib_testing
dependsOn: rocm_smi_lib
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -45,9 +44,6 @@ jobs:
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
parameters:
runRocminfo: false
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rocm_smi_lib

View File

@@ -45,12 +45,11 @@ jobs:
extraBuildFlags: >-
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
-DROCRTST_BLD_TYPE=release
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
- job: rocminfo_testing
dependsOn: rocminfo
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -73,9 +72,6 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
parameters:
runRocminfo: false
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rocminfo

View File

@@ -1,183 +0,0 @@
parameters:
- name: checkoutRepo
type: string
default: 'self'
- name: checkoutRef
type: string
default: ''
- name: aptPackages
type: object
default:
- cmake
- locales
- python3-pip
- name: pipModules
type: object
default:
- astunparse==1.6.2
- colorlover
- dash>=1.12.0
- matplotlib
- numpy>=1.17.5
- pandas>=1.4.3
- pymongo
- pyyaml
- tabulate
- tqdm
- dash-svg
- dash-bootstrap-components
- kaleido
- setuptools
- plotille
- mock
- pytest
- pytest-cov
- pytest-xdist
- name: rocmDependencies
type: object
default:
- clr
- llvm-project
- rocm-cmake
- rocm-core
- rocminfo
- rocm_smi_lib
- ROCR-Runtime
- rocprofiler
- rocprofiler-register
- roctracer
jobs:
- job: rocprofiler_compute
variables:
- group: common
- template: /.azuredevops/variables-global.yml
pool:
vmImage: ${{ variables.BASE_BUILD_POOL }}
workspace:
clean: all
strategy:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters:
checkoutRepo: ${{ parameters.checkoutRepo }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
parameters:
${{ if eq(parameters.checkoutRef, '') }}:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters:
dependencyList: ${{ parameters.rocmDependencies }}
gpuTarget: $(JOB_GPU_TARGET)
# CI case: download latest default branch build
${{ if eq(parameters.checkoutRef, '') }}:
dependencySource: staging
# manual build case: triggered by ROCm/ROCm repo
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: rocprofiler_compute_testing
timeoutInMinutes: 120
dependsOn: rocprofiler_compute
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
variables:
- group: common
- template: /.azuredevops/variables-global.yml
- name: PYTHON_VERSION
value: 3.10
pool: $(JOB_TEST_POOL)
workspace:
clean: all
strategy:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- task: Bash@3
displayName: Add en_US.UTF-8 locale
inputs:
targetType: inline
script: |
sudo locale-gen en_US.UTF-8
sudo update-locale
locale -a
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters:
checkoutRepo: ${{ parameters.checkoutRepo }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
parameters:
${{ if eq(parameters.checkoutRef, '') }}:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters:
dependencyList: ${{ parameters.rocmDependencies }}
gpuTarget: $(JOB_GPU_TARGET)
${{ if eq(parameters.checkoutRef, '') }}:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- task: Bash@3
displayName: Add ROCm binaries to PATH
inputs:
targetType: inline
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
- task: Bash@3
displayName: Add ROCm compilers to PATH
inputs:
targetType: inline
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters:
extraBuildFlags: >-
-DCMAKE_HIP_ARCHITECTURES=$(JOB_GPU_TARGET)
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
-DCMAKE_BUILD_TYPE=Release
-DENABLE_TESTS=ON
-DINSTALL_TESTS=ON
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rocprofiler-compute
testDir: $(Build.BinariesDirectory)/libexec/rocprofiler-compute
testExecutable: ROCPROFCOMPUTE_ARCH_OVERRIDE="MI300X" ROCM_PATH=$(Agent.BuildDirectory)/rocm ctest
- task: Bash@3
displayName: Remove ROCm binaries from PATH
condition: always()
inputs:
targetType: inline
script: echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$(Agent.BuildDirectory)/rocm/bin;;' -e 's;^/;;' -e 's;/$;;')"
- task: Bash@3
displayName: Remove ROCm compilers from PATH
condition: always()
inputs:
targetType: inline
script: echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$(Agent.BuildDirectory)/rocm/llvm/bin;;' -e 's;^/;;' -e 's;/$;;')"

View File

@@ -34,5 +34,4 @@ jobs:
parameters:
componentName: rocprofiler-register
testDir: 'tests/build'
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml

View File

@@ -41,7 +41,6 @@ parameters:
- ROCR-Runtime
- rocprofiler-register
- roctracer
- aomp
jobs:
- job: rocprofilersdk
@@ -56,6 +55,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -89,9 +90,6 @@ jobs:
-DROCPROFILER_BUILD_SAMPLES=OFF
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
multithreadFlag: -- -j2
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)

View File

@@ -1,154 +0,0 @@
# largely referenced from: https://github.com/ROCm/omnitrace/blob/main/.github/workflows/ubuntu-jammy.yml
parameters:
- name: checkoutRepo
type: string
default: 'self'
- name: checkoutRef
type: string
default: ''
- name: aptPackages
type: object
default:
- autoconf
- autotools-dev
- bison
- build-essential
- bzip2
- clang
- cmake
- environment-modules
- g++-12
- libdrm-dev
- libfabric-dev
- libiberty-dev
- libpapi-dev
- libpfm4-dev
- libtool
- libopenmpi-dev
- m4
- openmpi-bin
- software-properties-common
- python3-pip
- texinfo
- zlib1g-dev
- name: pipModules
type: object
default:
- numpy
- perfetto
- dataclasses
- name: rocmDependencies
type: object
default:
- aomp
- clr
- llvm-project
- rccl
- rocm-core
- rocm_smi_lib
- rocminfo
- ROCR-Runtime
- rocprofiler
- rocprofiler-register
- roctracer
- rocprofiler-sdk
jobs:
- job: rocprofiler_systems
variables:
- group: common
- template: /.azuredevops/variables-global.yml
pool: ${{ variables.MEDIUM_BUILD_POOL }}
workspace:
clean: all
strategy:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters:
checkoutRepo: ${{ parameters.checkoutRepo }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
parameters:
${{ if eq(parameters.checkoutRef, '') }}:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters:
dependencyList: ${{ parameters.rocmDependencies }}
gpuTarget: $(JOB_GPU_TARGET)
# CI case: download latest default branch build
${{ if eq(parameters.checkoutRef, '') }}:
dependencySource: staging
# manual build case: triggered by ROCm/ROCm repo
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- task: Bash@3
displayName: ROCm symbolic link
inputs:
targetType: inline
script: |
sudo rm -rf /opt/rocm
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
- task: Bash@3
displayName: Add ROCm binaries to PATH
inputs:
targetType: inline
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
- task: Bash@3
displayName: Add ROCm compilers to PATH
inputs:
targetType: inline
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters:
# build flags reference: https://rocm.docs.amd.com/projects/omnitrace/en/latest/install/install.html
extraBuildFlags: >-
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
-DROCPROFSYS_BUILD_TESTING=ON
-DROCPROFSYS_BUILD_DYNINST=ON
-DROCPROFSYS_BUILD_LIBUNWIND=ON
-DROCPROFSYS_DISABLE_EXAMPLES="openmp-target"
-DDYNINST_BUILD_TBB=ON
-DDYNINST_BUILD_ELFUTILS=ON
-DDYNINST_BUILD_LIBIBERTY=ON
-DDYNINST_BUILD_BOOST=ON
-DROCPROFSYS_USE_PAPI=ON
-DROCPROFSYS_USE_MPI=ON
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
multithreadFlag: -- -j32
- task: Bash@3
displayName: Set up rocprofiler-systems env
inputs:
targetType: inline
script: source share/rocprofiler-systems/setup-env.sh
workingDirectory: build
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rocprofiler-systems
- task: Bash@3
displayName: Remove ROCm binaries from PATH
condition: always()
inputs:
targetType: inline
script: echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$(Agent.BuildDirectory)/rocm/bin;;' -e 's;^/;;' -e 's;/$;;')"
- task: Bash@3
displayName: Remove ROCm compilers from PATH
condition: always()
inputs:
targetType: inline
script: echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$(Agent.BuildDirectory)/rocm/llvm/bin;;' -e 's;^/;;' -e 's;/$;;')"
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)

View File

@@ -57,6 +57,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -92,16 +94,13 @@ jobs:
-DGPU_TARGETS=$(JOB_GPU_TARGET)
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
multithreadFlag: -- -j32
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: rocprofiler_testing
dependsOn: rocprofiler
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -142,7 +141,6 @@ jobs:
script: |
sudo rm -rf /opt/rocm
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rocprofilerV1

View File

@@ -68,12 +68,11 @@ jobs:
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
- job: rocr_debug_agent_testing
dependsOn: rocr_debug_agent
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -115,7 +114,6 @@ jobs:
cmakeBuildDir: '$(Agent.BuildDirectory)/rocm/src/rocm-debug-agent-test'
cmakeSourceDir: '.'
installEnabled: false
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rocr_debug_agent

View File

@@ -30,7 +30,6 @@ parameters:
default:
- clr
- llvm-project
- rocminfo
- rocprofiler-register
- ROCR-Runtime
@@ -49,6 +48,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -76,18 +77,14 @@ jobs:
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
-DGPU_TARGETS=$(JOB_GPU_TARGET)
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: roctracer_testing
dependsOn: roctracer
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -121,7 +118,6 @@ jobs:
dependencySource: staging
${{ elseif ne(parameters.checkoutRef, '') }}:
dependencySource: tag-builds
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: roctracer

View File

@@ -56,6 +56,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
@@ -85,16 +87,13 @@ jobs:
-DCMAKE_BUILD_TYPE=Release
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
gpuTarget: $(JOB_GPU_TARGET)
- job: rpp_testing
dependsOn: rpp
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -174,11 +173,9 @@ jobs:
cmake /opt/rocm/share/rpp/test \
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ \
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: rpp
testExecutable: 'export PATH=$(Agent.BuildDirectory)/rocm/llvm/bin:$PATH; CC=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang CMAKE_VERBOSE_MAKEFILE=ON VERBOSE=1 ctest'
testDir: 'rpp-tests'
- script: sudo rm /opt/rocm
condition: always()

View File

@@ -1,65 +0,0 @@
parameters:
- name: checkoutRepo
type: string
default: 'self'
- name: checkoutRef
type: string
default: ''
- name: boostVersion
type: string
default: ''
- name: aptPackages
type: object
default:
- git
- name: rocmDependencies
type: object
default:
- llvm-project
jobs:
- job: boost
variables:
- group: common
- template: /.azuredevops/variables-global.yml
pool:
vmImage: ${{ variables.BASE_BUILD_POOL }}
workspace:
clean: all
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- task: Bash@3
displayName: 'git clone boost'
inputs:
targetType: inline
script: git clone -b ${{ parameters.boostVersion }} https://github.com/boostorg/boost --depth=1 --recurse-submodules
workingDirectory: $(Build.SourcesDirectory)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters:
dependencyList: ${{ parameters.rocmDependencies }}
dependencySource: staging
- task: Bash@3
displayName: Add ROCm binaries to PATH
inputs:
targetType: inline
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
- task: Bash@3
displayName: Add ROCm compilers to PATH
inputs:
targetType: inline
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
- task: Bash@3
displayName: 'Build Boost with clang'
inputs:
targetType: inline
script: |
export CC=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
export CXX=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
./bootstrap.sh --with-toolset=clang --prefix=$(Build.BinariesDirectory)
./b2 --toolset=clang threading=multi link=shared --prefix=$(Build.BinariesDirectory) cxxflags="-std=c++20"
./b2 install
workingDirectory: $(Build.SourcesDirectory)/boost
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml

View File

@@ -20,7 +20,7 @@ jobs:
variables:
- group: common
- template: /.azuredevops/variables-global.yml
pool:
pool:
vmImage: ${{ variables.BASE_BUILD_POOL }}
workspace:
clean: all

View File

@@ -20,7 +20,7 @@ jobs:
variables:
- group: common
- template: /.azuredevops/variables-global.yml
pool:
pool:
vmImage: ${{ variables.BASE_BUILD_POOL }}
workspace:
clean: all

View File

@@ -21,7 +21,7 @@ jobs:
variables:
- group: common
- template: /.azuredevops/variables-global.yml
pool:
pool:
vmImage: ${{ variables.BASE_BUILD_POOL }}
workspace:
clean: all

View File

@@ -11,6 +11,7 @@ parameters:
- ca-certificates
- bc
- bridge-utils
- cmake
- devscripts
- dkms
- doxygen
@@ -66,9 +67,8 @@ parameters:
- name: pipModules
type: object
default:
- cmake
- astunparse
- expecttest>=0.2.1
- expecttest!=0.2.0
- hypothesis
- numpy
- psutil
@@ -85,15 +85,14 @@ parameters:
- lintrunner
- ninja
- packaging
- optree>=0.13.0
- click>=8.0.3
- optree>=0.12.0
# list for vision
- auditwheel
- future
- pytest
- pytest-azurepipelines
- pillow
# list from https://github.com/pytorch/pytorch/blob/main/.ci/manywheel/build_rocm.sh
# list from https://github.com/pytorch/builder/blob/main/manywheel/build_rocm.sh
- name: rocmDependencies
type: object
default:
@@ -123,7 +122,6 @@ parameters:
- hipCUB
- rocThrust
- hipBLAS-common
- composable_kernel
- name: rocmTestDependencies
type: object
default:
@@ -142,10 +140,6 @@ parameters:
- binary_ufuncs
- autograd
# - inductor/torchinductor takes too long
# set to false to disable torchvision build and test
- name: includeVision
type: boolean
default: false
trigger: none
pr: none
@@ -165,10 +159,13 @@ jobs:
amd-staging-gfx942:
ROCM_BRANCH: amd-staging
JOB_GPU_TARGET: gfx942
amd-staging-gfx90a:
ROCM_BRANCH: amd-staging
JOB_GPU_TARGET: gfx90a
variables:
- group: common
- template: /.azuredevops/variables-global.yml
# various flags/parameters expected by bash scripts in pytorch repo's .ci directory
# various flags/parameters expected by bash scripts in pytorch builder repo
- name: ROCM_VERSION
value: 6.3.0
- name: ROCM_PATH
@@ -189,7 +186,7 @@ jobs:
workspace:
clean: all
steps:
# copy environment setup from https://github.com/pytorch/pytorch/blob/main/.ci/docker/manywheel/Dockerfile
# copy environment setup from https://github.com/pytorch/builder/blob/main/manywheel/Dockerfile
# but instead of centos, use ubuntu environment
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
- task: Bash@3
@@ -226,27 +223,18 @@ jobs:
targetType: inline
script: sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
- checkout: self
- task: Bash@3
displayName: git clone pytorch builder
inputs:
targetType: inline
script: git clone https://github.com/pytorch/builder.git --depth=1 --recurse-submodules
workingDirectory: $(Build.SourcesDirectory)
- task: Bash@3
displayName: git clone upstream pytorch
inputs:
targetType: inline
script: git clone https://github.com/pytorch/pytorch.git --depth=1 --recurse-submodules
workingDirectory: $(Build.SourcesDirectory)
# builder clone still needed due to run_tests.sh at end of build_common.sh call
- task: Bash@3
displayName: git clone pytorch builder
inputs:
targetType: inline
script: |
git clone https://github.com/pytorch/builder.git --depth=1 --recurse-submodules
sudo ln -s $(Build.SourcesDirectory)/builder /builder
workingDirectory: $(Build.SourcesDirectory)
- task: Bash@3
displayName: Temporarily Patch CK Submodule
inputs:
targetType: inline
script: git pull origin develop
workingDirectory: $(Build.SourcesDirectory)/pytorch/third_party/composable_kernel
- task: Bash@3
displayName: Install patchelf
inputs:
@@ -299,69 +287,68 @@ jobs:
PYTORCH_BUILD_VERSION=$(cat $(Build.SourcesDirectory)/pytorch/version.txt | cut -da -f1)
PYTORCH_BUILD_NUMBER=$(date -u +%Y%m%d)
SKIP_ALL_TESTS=1
bash ./.ci/manywheel/build_rocm.sh
workingDirectory: $(Build.SourcesDirectory)/pytorch
bash ./manywheel/build_rocm.sh
workingDirectory: $(Build.SourcesDirectory)/builder
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
parameters:
sourceDir: /remote/wheelhouserocm$(ROCM_VERSION)
contentsString: '*.whl'
# common helper source for pytorch vision and audio
- ${{ if eq(parameters.includeVision, true) }}:
- task: Bash@3
displayName: git clone pytorch test-infra
inputs:
targetType: inline
script: git clone https://github.com/pytorch/test-infra.git --depth=1 --recurse-submodules
workingDirectory: $(Build.SourcesDirectory)
- task: Bash@3
displayName: install package helper
inputs:
targetType: inline
script: python3 -m pip install test-infra/tools/pkg-helpers
workingDirectory: $(Build.SourcesDirectory)
- task: Bash@3
displayName: pytorch pkg helpers
inputs:
targetType: inline
script: CU_VERSION=${CU_VERSION} CHANNEL=${CHANNEL} python -m pytorch_pkg_helpers
# get torch vision source and build
- task: Bash@3
displayName: git clone pytorch vision
inputs:
targetType: inline
script: git clone https://github.com/pytorch/vision.git --depth=1 --recurse-submodules
workingDirectory: $(Build.SourcesDirectory)
- task: Bash@3
displayName: Build vision
inputs:
targetType: inline
script: >-
TORCH_PACKAGE_NAME=torch.$(ROCM_BRANCH).$(JOB_GPU_TARGET)
TORCHVISION_PACKAGE_NAME=torchvision.$(ROCM_BRANCH).$(JOB_GPU_TARGET)
PYTORCH_VERSION=$(cat $(Build.SourcesDirectory)/pytorch/version.txt | cut -da -f1)post$(date -u +%Y%m%d)
BUILD_VERSION=$(cat $(Build.SourcesDirectory)/vision/version.txt | cut -da -f1)post$(date -u +%Y%m%d)
python3 setup.py bdist_wheel
workingDirectory: $(Build.SourcesDirectory)/vision
- task: Bash@3
displayName: Relocate vision
inputs:
targetType: inline
script: python3 packaging/wheel/relocate.py
workingDirectory: $(Build.SourcesDirectory)/vision
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
parameters:
sourceDir: $(Build.SourcesDirectory)/vision/dist
contentsString: '*.whl'
clean: false
- task: Bash@3
displayName: git clone pytorch test-infra
inputs:
targetType: inline
script: git clone https://github.com/pytorch/test-infra.git --depth=1 --recurse-submodules
workingDirectory: $(Build.SourcesDirectory)
- task: Bash@3
displayName: install package helper
inputs:
targetType: inline
script: python3 -m pip install test-infra/tools/pkg-helpers
workingDirectory: $(Build.SourcesDirectory)
- task: Bash@3
displayName: pytorch pkg helpers
inputs:
targetType: inline
script: CU_VERSION=${CU_VERSION} CHANNEL=${CHANNEL} python -m pytorch_pkg_helpers
# get torch vision source and build
- task: Bash@3
displayName: git clone pytorch vision
inputs:
targetType: inline
script: git clone https://github.com/pytorch/vision.git --depth=1 --recurse-submodules
workingDirectory: $(Build.SourcesDirectory)
- task: Bash@3
displayName: Build vision
inputs:
targetType: inline
script: >-
TORCH_PACKAGE_NAME=torch.$(ROCM_BRANCH).$(JOB_GPU_TARGET)
TORCHVISION_PACKAGE_NAME=torchvision.$(ROCM_BRANCH).$(JOB_GPU_TARGET)
PYTORCH_VERSION=$(cat $(Build.SourcesDirectory)/pytorch/version.txt | cut -da -f1)post$(date -u +%Y%m%d)
BUILD_VERSION=$(cat $(Build.SourcesDirectory)/vision/version.txt | cut -da -f1)post$(date -u +%Y%m%d)
python3 setup.py bdist_wheel
workingDirectory: $(Build.SourcesDirectory)/vision
- task: Bash@3
displayName: Relocate vision
inputs:
targetType: inline
script: python3 packaging/wheel/relocate.py
workingDirectory: $(Build.SourcesDirectory)/vision
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
parameters:
sourceDir: $(Build.SourcesDirectory)/vision/dist
contentsString: '*.whl'
clean: false
- task: PublishPipelineArtifact@1
displayName: 'wheel file Publish'
retryCountOnTaskFailure: 3
inputs:
targetPath: $(Build.BinariesDirectory)
- job: pytorch_testing
- job: torchvision_testing
dependsOn: pytorch
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
condition: succeeded()
variables:
- group: common
- template: /.azuredevops/variables-global.yml
@@ -390,6 +377,7 @@ jobs:
parameters:
aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- task: DownloadPipelineArtifact@2
displayName: 'Download Pipeline Wheel Files'
@@ -412,13 +400,12 @@ jobs:
targetType: inline
script: git clone https://github.com/pytorch/pytorch.git --depth=1 --recurse-submodules
workingDirectory: $(Build.SourcesDirectory)
- ${{ if eq(parameters.includeVision, true) }}:
- task: Bash@3
displayName: git clone pytorch vision
inputs:
targetType: inline
script: git clone https://github.com/pytorch/vision.git --depth=1 --recurse-submodules
workingDirectory: $(Build.SourcesDirectory)
- task: Bash@3
displayName: git clone pytorch vision
inputs:
targetType: inline
script: git clone https://github.com/pytorch/vision.git --depth=1 --recurse-submodules
workingDirectory: $(Build.SourcesDirectory)
- task: Bash@3
displayName: Install Wheel Files
inputs:
@@ -522,14 +509,13 @@ jobs:
script: pytest test/test_${{ torchTest }}.py
# Reference on what tests to run for torchvision found in private repo:
# https://github.com/ROCm/rocAutomation/blob/jenkins-pipelines/pytorch/pytorch_ci/test_torchvision.sh#L51
- ${{ if eq(parameters.includeVision, true) }}:
- task: Bash@3
displayName: Test vision/transforms
continueOnError: true
inputs:
targetType: inline
script: pytest test/test_transforms.py
workingDirectory: $(Build.SourcesDirectory)/vision
- task: Bash@3
displayName: Test vision/transforms
continueOnError: true
inputs:
targetType: inline
script: pytest test/test_transforms.py
workingDirectory: $(Build.SourcesDirectory)/vision
- task: Bash@3
displayName: Uninstall Wheel Files
inputs:

View File

@@ -36,7 +36,6 @@ parameters:
- rocDecode
- rocFFT
- ROCgdb
- rocJPEG
- rocm-cmake
- rocm-core
- rocm-examples
@@ -46,10 +45,8 @@ parameters:
- rocm_bandwidth_test
- rocm_smi_lib
- rocPRIM
- rocprofiler-compute
- rocprofiler-register
- rocprofiler-sdk
- rocprofiler-systems
- rocprofiler
- rocPyDecode
- ROCR-Runtime
@@ -84,6 +81,8 @@ jobs:
matrix:
gfx942:
JOB_GPU_TARGET: gfx942
gfx90a:
JOB_GPU_TARGET: gfx90a
steps:
- task: DeleteFiles@1
displayName: 'Cleanup checkout space'
@@ -109,7 +108,6 @@ jobs:
displayName: System disk space after ROCm
- script: du -sh $(Agent.BuildDirectory)/rocm
displayName: Uncompressed ROCm size
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
- task: ArchiveFiles@2
displayName: Compress rocm-nightly
inputs:
@@ -121,7 +119,7 @@ jobs:
- script: du -sh $(Build.ArtifactStagingDirectory)
displayName: Compressed ROCm size
- task: PublishPipelineArtifact@1
displayName: 'Publish ROCm Nightly Artifact'
displayName: 'Public ROCm Nightly Artifact'
retryCountOnTaskFailure: 3
inputs:
targetPath: '$(Build.ArtifactStagingDirectory)'

View File

@@ -0,0 +1,46 @@
import os
import requests
import hashlib
import sys
def download_dotfile(url, file_path):
response = requests.get(url)
if response.status_code == 200:
with open(file_path, 'wb') as f:
f.write(response.content)
else:
raise Exception(f"Failed to download file from {url}. Status code: {response.status_code}")
def hash_file(file_path):
sha256_hash = hashlib.sha256()
with open(file_path, 'rb') as f:
for byte_block in iter(lambda: f.read(4096), b""):
sha256_hash.update(byte_block)
return sha256_hash.hexdigest()
def compare_files(local_file, downloaded_file):
local_hash = hash_file(local_file)
downloaded_hash = hash_file(downloaded_file)
return local_hash == downloaded_hash
def main():
script_directory = os.path.dirname(os.path.abspath(__file__))
local_dotfile = os.path.join(script_directory, 'input.dot')
downloaded_dotfile = os.path.join(script_directory, 'dependency_graph.dot')
url = 'https://raw.githubusercontent.com/ROCm/ROCm/refs/heads/generatedependencygraph/.azuredevops/scripts/dependency_graph.dot'
try:
download_dotfile(url, downloaded_dotfile)
if compare_files(local_dotfile, downloaded_dotfile):
print("The local DOT file and the downloaded DOT file are the same.")
else:
print("The local DOT file and the downloaded DOT file are different.")
# Exit with a non-zero status to signal failed/unstable build on Jenkins
# to trigger post-build email
sys.exit(1)
except Exception as e:
print(f"Error: {e}")
if __name__ == "__main__":
main()

View File

@@ -0,0 +1,149 @@
import os
import yaml
from graphviz import Digraph
# Set DEBUG to False for normal output, True for debug output
DEBUG = False
def debug_print(message):
if DEBUG:
print(message)
import os
import yaml
def extract_dependencies(exclude_nodes=[]):
dependencies = {}
debug_print("Extracting dependencies from YAML files...")
# Define a mapping of specific filenames to component names
component_name_mapping = {
'HIP.yml': 'clr', # Remap HIP.yml to clr in graph
}
script_directory = os.path.dirname(os.path.abspath(__file__))
yaml_directory = os.path.join(script_directory, '..', 'components')
for filename in os.listdir(yaml_directory):
if filename.endswith(".yaml") or filename.endswith(".yml"):
debug_print(f"Processing file: {filename}")
try:
with open(os.path.join(yaml_directory, filename), 'r') as file:
data = yaml.safe_load(file) or {}
parameters = data.get('parameters', [])
# Check for both 'rocmDependencies' and 'rocmDependenciesAMD'
rocm_dependencies = next((param['default'] for param in parameters if param['name'] == 'rocmDependencies' or param['name'] == 'rocmDependenciesAMD'), [])
test_dependencies = next((param['default'] for param in parameters if param['name'] == 'rocmTestDependencies'), [])
unique_dependencies = list(set(rocm_dependencies + test_dependencies))
unique_dependencies = [dep for dep in unique_dependencies if dep not in exclude_nodes]
# Use the mapped component name if it exists
component_name = component_name_mapping.get(filename, os.path.splitext(filename)[0])
dependencies[component_name] = {
'dependencies': unique_dependencies
}
debug_print(f"Found unique dependencies for {component_name}: {unique_dependencies}")
except Exception as e:
print(f"Error processing {filename}: {e}")
return dependencies
def simplify_dependencies(graph):
simplified_graph = {}
for component, deps in graph.items():
if component not in simplified_graph:
simplified_graph[component] = set(deps) # Use a set for uniqueness
for dep in deps:
if dep in graph: # If the dependency has its own dependencies
for sub_dep in graph[dep]:
simplified_graph[component].discard(sub_dep) # Remove transitive dependencies
# Convert sets back to lists
for component in simplified_graph:
simplified_graph[component] = list(simplified_graph[component])
return simplified_graph
def build_dependency_graph(dependencies, exclude_nodes=None):
if exclude_nodes is None:
exclude_nodes = []
graph = {}
debug_print("Building dependency graph...")
for component, deps in dependencies.items():
if component in exclude_nodes:
continue # Skip excluded components
# Ensure uniqueness and prevent self-dependency
all_deps = [dep for dep in set(deps['dependencies']) if dep != component and dep not in exclude_nodes]
graph[component] = all_deps
debug_print(f"{component} -> {all_deps}")
# Simplify the dependencies to remove transitive dependencies
simplified_graph = simplify_dependencies(graph)
return simplified_graph
def build_full_dependency_tree(graph):
tree = {}
debug_print("Building full dependency tree...")
def dfs(component, visited):
if component in visited:
return
visited.add(component)
for dep in graph.get(component, []):
# Prevent self-dependency in the tree
if dep != component:
if dep not in tree:
tree[dep] = []
if component not in tree[dep]: # Prevent duplicates
tree[dep].append(component)
dfs(dep, visited)
for component in graph.keys():
dfs(component, set())
return tree
def visualize_graph(graph):
dot = Digraph()
# sort edges for consistent dot file hash
for component in sorted(graph):
for dep in sorted(graph[component]):
dot.edge(component, dep)
script_directory = os.path.dirname(os.path.abspath(__file__))
# make an input dot file for comparisons
dot_file_path = os.path.join(script_directory, 'input.dot')
with open(dot_file_path, 'w') as f:
f.write(dot.source)
dot.render(os.path.join(script_directory, 'dependency_graph'), format='png', cleanup=True) # Save as PNG
def main():
exclude_deps = ['rocm-examples']
dependencies = extract_dependencies(exclude_nodes=exclude_deps)
if not dependencies:
debug_print("No dependencies found.")
return
graph = build_dependency_graph(dependencies, exclude_nodes=exclude_deps)
full_tree = build_full_dependency_tree(graph)
print("Dependency tree:")
print(full_tree)
# Call this function after building the graph
visualize_graph(full_tree)
if __name__ == "__main__":
main()

View File

@@ -0,0 +1,94 @@
digraph {
AMDMIGraphX -> MIVisionX
HIPIFY -> rccl
MIOpen -> AMDMIGraphX
MIVisionX -> rocAL
"ROCR-Runtime" -> clr
"ROCR-Runtime" -> rocminfo
ROCdbgapi -> ROCgdb
ROCdbgapi -> rocprofiler
ROCdbgapi -> rocr_debug_agent
ROCgdb -> aomp
ROCmValidationSuite -> rdc
amdsmi -> aomp
amdsmi -> rdc
aomp -> hipBLASLt
aomp -> rccl
aomp -> rocFFT
aomp -> rpp
"aomp-extras" -> rccl
"aomp-extras" -> rocBLAS
clr -> ROCdbgapi
clr -> composable_kernel
clr -> half
clr -> "hip-tests"
clr -> "hipBLAS-common"
clr -> rocDecode
clr -> rocMLIR
clr -> rocPRIM
clr -> rocRAND
clr -> rocm_bandwidth_test
clr -> roctracer
composable_kernel -> MIOpen
composable_kernel -> hipTensor
half -> MIOpen
half -> rpp
hipBLAS -> MIOpen
hipBLAS -> hipfort
"hipBLAS-common" -> hipBLASLt
hipBLASLt -> rocBLAS
hipFFT -> hipfort
hipRAND -> ROCmValidationSuite
hipRAND -> rocFFT
hipRAND -> rocThrust
hipSOLVER -> hipfort
hipSPARSE -> hipSPARSELt
hipSPARSE -> rocSOLVER
hipTensor -> rpp
"llvm-project" -> "ROCR-Runtime"
"llvm-project" -> "aomp-extras"
rccl -> omnitrace
rccl -> "rocprofiler-sdk"
rocBLAS -> ROCmValidationSuite
rocBLAS -> rocSPARSE
rocBLAS -> rocWMMA
rocDecode -> MIVisionX
rocDecode -> rocPyDecode
rocFFT -> hipFFT
rocMLIR -> MIOpen
rocPRIM -> hipCUB
rocPRIM -> rocSPARSE
rocPRIM -> rocThrust
rocRAND -> MIOpen
rocRAND -> hipRAND
rocRAND -> rocALUTION
rocSOLVER -> hipBLAS
rocSOLVER -> hipSOLVER
rocSPARSE -> hipSPARSE
rocSPARSE -> rocALUTION
"rocm-cmake" -> "llvm-project"
"rocm-core" -> aomp
"rocm-core" -> rocDecode
"rocm-core" -> rocprofiler
rocm_smi_lib -> "ROCR-Runtime"
rocminfo -> ROCdbgapi
rocminfo -> composable_kernel
rocminfo -> half
rocminfo -> "hip-tests"
rocminfo -> "hipBLAS-common"
rocminfo -> rocDecode
rocminfo -> rocMLIR
rocminfo -> rocPRIM
rocminfo -> rocRAND
rocminfo -> rocm_bandwidth_test
rocminfo -> roctracer
rocprofiler -> hipfort
rocprofiler -> omniperf
rocprofiler -> omnitrace
rocprofiler -> rdc
"rocprofiler-register" -> "ROCR-Runtime"
roctracer -> aomp
roctracer -> rocprofiler
roctracer -> "rocprofiler-sdk"
rpp -> MIVisionX
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 475 KiB

View File

@@ -1,29 +0,0 @@
variables:
- group: common
- template: /.azuredevops/variables-global.yml
parameters:
- name: checkoutRef
type: string
default: refs/tags/$(LATEST_RELEASE_TAG)
resources:
repositories:
- repository: pipelines_repo
type: github
endpoint: ROCm
name: ROCm/ROCm
- repository: release_repo
type: github
endpoint: ROCm
name: ROCm/Tensile
ref: ${{ parameters.checkoutRef }}
trigger: none
pr: none
jobs:
- template: ${{ variables.CI_COMPONENT_PATH }}/Tensile.yml
parameters:
checkoutRepo: release_repo
checkoutRef: ${{ parameters.checkoutRef }}

View File

@@ -1,23 +0,0 @@
variables:
- group: common
- template: /.azuredevops/variables-global.yml
parameters:
- name: boostVersion
type: string
default: 'master'
resources:
repositories:
- repository: pipelines_repo
type: github
endpoint: ROCm
name: ROCm/ROCm
trigger: none
pr: none
jobs:
- template: ${{ variables.CI_DEPENDENCIES_PATH }}/boost.yml
parameters:
boostVersion: ${{ parameters.boostVersion }}

View File

@@ -1,29 +0,0 @@
variables:
- group: common
- template: /.azuredevops/variables-global.yml
parameters:
- name: checkoutRef
type: string
default: refs/tags/$(LATEST_RELEASE_TAG)
resources:
repositories:
- repository: pipelines_repo
type: github
endpoint: ROCm
name: ROCm/ROCm
- repository: release_repo
type: github
endpoint: ROCm
name: ROCm/rocJPEG
ref: ${{ parameters.checkoutRef }}
trigger: none
pr: none
jobs:
- template: ${{ variables.CI_COMPONENT_PATH }}/rocJPEG.yml
parameters:
checkoutRepo: release_repo
checkoutRef: ${{ parameters.checkoutRef }}

View File

@@ -1,29 +0,0 @@
variables:
- group: common
- template: /.azuredevops/variables-global.yml
parameters:
- name: checkoutRef
type: string
default: refs/tags/$(LATEST_RELEASE_TAG)
resources:
repositories:
- repository: pipelines_repo
type: github
endpoint: ROCm
name: ROCm/ROCm
- repository: release_repo
type: github
endpoint: ROCm
name: ROCm/rocprofiler-compute
ref: ${{ parameters.checkoutRef }}
trigger: none
pr: none
jobs:
- template: ${{ variables.CI_COMPONENT_PATH }}/rocprofiler-compute.yml
parameters:
checkoutRepo: release_repo
checkoutRef: ${{ parameters.checkoutRef }}

View File

@@ -1,29 +0,0 @@
variables:
- group: common
- template: /.azuredevops/variables-global.yml
parameters:
- name: checkoutRef
type: string
default: refs/tags/$(LATEST_RELEASE_TAG)
resources:
repositories:
- repository: pipelines_repo
type: github
endpoint: ROCm
name: ROCm/ROCm
- repository: release_repo
type: github
endpoint: ROCm
name: ROCm/rocprofiler-systems
ref: ${{ parameters.checkoutRef }}
trigger: none
pr: none
jobs:
- template: ${{ variables.CI_COMPONENT_PATH }}/rocprofiler-systems.yml
parameters:
checkoutRepo: release_repo
checkoutRef: ${{ parameters.checkoutRef }}

View File

@@ -9,10 +9,6 @@ parameters:
- name: useDefaultBranch
type: boolean
default: true
# useMainlineBranch only processed if useDefaultBranch is false
- name: useMainlineBranch
type: boolean
default: false
- name: latestFromBranch
type: boolean
default: true
@@ -26,7 +22,7 @@ parameters:
type: object
default:
AMDMIGraphX: develop
amdsmi: amd-staging
amdsmi: develop
aomp-extras: aomp-dev
aomp: aomp-dev
clr: amd-staging
@@ -50,9 +46,8 @@ parameters:
MIOpen: develop
MIVisionX: develop
omniperf: amd-staging
omnitrace: amd-staging
rccl: develop
rdc: amd-staging
rdc: develop
rocAL: develop
rocALUTION: develop
rocBLAS: develop
@@ -60,21 +55,18 @@ parameters:
rocDecode: develop
rocFFT: develop
ROCgdb: amd-staging
rocJPEG: develop
rocm-cmake: develop
rocm-core: amd-staging
rocm-core: master
rocm-examples: develop
rocminfo: amd-staging
rocMLIR: develop
ROCmValidationSuite: master
rocm_bandwidth_test: master
rocm_smi_lib: amd-staging
rocm_smi_lib: develop
rocPRIM: develop
rocprofiler: amd-staging
rocprofiler-compute: amd-staging
rocprofiler-register: amd-staging
rocprofiler-sdk: amd-staging
rocprofiler-systems: amd-staging
rocprofiler: amd-staging
rocPyDecode: develop
ROCR-Runtime: amd-staging
rocRAND: develop
@@ -85,85 +77,26 @@ parameters:
roctracer: amd-staging
rocWMMA: develop
rpp: develop
- name: mainlineBranchList
- name: allowPartiallySucceededBuilds
type: object
default:
AMDMIGraphX: mainline
amdsmi: amd-mainline
aomp-extras: amd-mainline-open
aomp: amd-mainline-open
clr: amd-mainline
composable_kernel: mainline
half: rocm
HIP: amd-mainline
hip-tests: amd-mainline
hipBLAS: mainline
hipBLASLt: mainline
hipBLAS-common: mainline
hipCUB: mainline
hipFFT: mainline
hipfort: mainline
HIPIFY: amd-mainline
hipRAND: mainline
hipSOLVER: mainline
hipSPARSE: mainline
hipSPARSELt: mainline
hipTensor: mainline
llvm-project: amd-mainline-open
MIOpen: mainline
MIVisionX: mainline
omniperf: amd-mainline
omnitrace: amd-mainline
rccl: mainline
rdc: amd-mainline
rocAL: master # needs the yaml file
rocALUTION: mainline
rocBLAS: mainline
ROCdbgapi : amd-mainline
rocDecode: mainline
rocFFT: mainline
ROCgdb: amd-mainline-rocgdb-15
rocJPEG: mainline
rocm-cmake: mainline
rocm-core: amd-master
rocm-examples: develop # no mainline
rocminfo: amd-master
rocMLIR: mainline # needs the yaml file
ROCmValidationSuite: mainline
rocm_bandwidth_test: master
rocm_smi_lib: amd-mainline
rocPRIM: mainline
rocprofiler: amd-master
rocprofiler-compute: amd-mainline
rocprofiler-register: amd-mainline
rocprofiler-sdk: amd-mainline
rocprofiler-systems: amd-mainline
rocPyDecode: mainline
ROCR-Runtime: amd-master
rocRAND: mainline
rocr_debug_agent: amd-mainline
rocSOLVER: mainline
rocSPARSE: mainline
rocThrust: mainline
roctracer: amd-master
rocWMMA: mainline
rpp: mainline
- amdsmi
- aomp
- HIPIFY
- MIVisionX
- omniperf
- rccl
- rdc
- rocm-cmake
- rocm_smi_lib
- rocFFT
- rpp
# BELOW REQUIRED IF useDefaultBranch false
- name: branchName
type: string
default: '$(Build.SourceBranchName)' # for tagged builds
steps:
- task: Bash@3
displayName: Set allowPartiallySucceededBuilds
inputs:
targetType: inline
script: |
if [[ ",$ALLOWED_PARTIAL_SUCCEED_BUILDS," == *",${{ parameters.componentName }},"* ]]; then
echo "##vso[task.setvariable variable=allowPartiallySucceededBuilds;]true"
else
echo "##vso[task.setvariable variable=allowPartiallySucceededBuilds;]false"
fi
- task: DownloadPipelineArtifact@2
displayName: Download ${{ parameters.componentName }}
inputs:
@@ -177,11 +110,10 @@ steps:
buildVersionToDownload: latestFromBranch # default is 'latest'
${{ if eq(parameters.useDefaultBranch, true) }}:
branchName: refs/heads/${{ parameters.defaultBranchList[parameters.componentName] }}
${{ elseif eq(parameters.useMainlineBranch, true) }}:
branchName: refs/heads/${{ parameters.mainlineBranchList[parameters.componentName] }}
${{ else }}:
branchName: ${{ parameters.branchName }}
allowPartiallySucceededBuilds: $(allowPartiallySucceededBuilds)
${{ if containsValue(parameters.allowPartiallySucceededBuilds, parameters.componentName) }}:
allowPartiallySucceededBuilds: true
targetPath: '$(Pipeline.Workspace)/d'
- task: ExtractFiles@1
displayName: Extract ${{ parameters.componentName }}

View File

@@ -8,22 +8,20 @@ parameters:
- name: repositoryUrl
type: object
default:
staging: https://repo.radeon.com/rocm/apt/latest/pool/main/h/hsa-amd-aqlprofile/ # end slash is important for curl!
tag-builds: https://repo.radeon.com/rocm/apt/$(TAGGED_RELEASE)/pool/main/h/hsa-amd-aqlprofile/
staging: https://repo.radeon.com/rocm/apt/6.2/pool/main/h/hsa-amd-aqlprofile
tag-builds: https://repo.radeon.com/rocm/apt/6.2/pool/main/h/hsa-amd-aqlprofile
- name: packageName
type: object
default:
staging: hsa-amd-aqlprofile_1.0.0.60200.60200-66~22.04_amd64.deb
tag-builds: hsa-amd-aqlprofile_1.0.0.60200.60200-66~22.04_amd64.deb
steps:
- task: Bash@3
displayName: Get aqlprofile package name
inputs:
targetType: inline
script: |
export packageName=$(curl -s ${{ parameters.repositoryUrl[parameters.dependencySource] }} | grep -oP "href=\"\K[^\"]*$(lsb_release -rs)[^\"]*\.deb")
echo "##vso[task.setvariable variable=packageName;isreadonly=true]$packageName"
- task: Bash@3
displayName: 'Download aqlprofile'
inputs:
targetType: inline
script: wget -nv ${{ parameters.repositoryUrl[parameters.dependencySource] }}$(packageName)
script: wget -nv ${{ parameters.repositoryUrl[parameters.dependencySource] }}/${{ parameters.packageName[parameters.dependencySource] }}
workingDirectory: '$(Pipeline.Workspace)'
- task: Bash@3
displayName: 'Extract aqlprofile'
@@ -31,7 +29,7 @@ steps:
targetType: inline
script: |
mkdir hsa-amd-aqlprofile
dpkg-deb -R $(packageName) hsa-amd-aqlprofile
dpkg-deb -R ${{ parameters.packageName[parameters.dependencySource] }} hsa-amd-aqlprofile
workingDirectory: '$(Pipeline.Workspace)'
- task: Bash@3
displayName: 'Copy aqlprofile files'
@@ -45,5 +43,5 @@ steps:
displayName: 'Clean up aqlprofile'
inputs:
targetType: inline
script: rm -rf hsa-amd-aqlprofile $(packageName)
script: rm -rf hsa-amd-aqlprofile ${{ parameters.packageName[parameters.dependencySource] }}
workingDirectory: '$(Pipeline.Workspace)'

View File

@@ -1,35 +0,0 @@
steps:
- task: DownloadPipelineArtifact@2
displayName: Download Boost
inputs:
buildType: specific
project: ROCm-CI
definition: $(BOOST_DEPENDENCY_PIPELINE_ID)
targetPath: $(Pipeline.Workspace)/d
- task: ExtractFiles@1
displayName: Extract Boost
inputs:
archiveFilePatterns: '$(Pipeline.Workspace)/d/**/*.tar.gz'
destinationFolder: $(Agent.BuildDirectory)/boost
cleanDestinationFolder: true
overwriteExistingFiles: true
- task: DeleteFiles@1
displayName: Cleanup Compressed Boost
inputs:
SourceFolder: $(Pipeline.Workspace)/d
Contents: '**/*.tar.gz'
RemoveDotFiles: true
- task: Bash@3
displayName: 'List Boost files'
inputs:
targetType: inline
script: ls -1R $(Agent.BuildDirectory)/boost
- task: Bash@3
displayName: 'Link Boost shared libraries'
inputs:
targetType: inline
script: |
echo $(Agent.BuildDirectory)/boost/lib | sudo tee /etc/ld.so.conf.d/boost.conf
sudo cat /etc/ld.so.conf.d/boost.conf
sudo ldconfig -v
ldconfig -p

View File

@@ -8,12 +8,6 @@ parameters:
default: []
steps:
# firefox takes time to upgrade and is not needed for CI workloads, hold version
- task: Bash@3
displayName: 'sudo apt-mark hold firefox'
inputs:
targetType: inline
script: sudo apt-mark hold firefox
- task: Bash@3
displayName: 'sudo apt-get update'
inputs:

View File

@@ -9,7 +9,6 @@ parameters:
default: staging
values:
- staging
- mainline
- tag-builds
- fixed
- name: extractToMnt
@@ -55,7 +54,6 @@ parameters:
MIOpen: $(MIOpen_PIPELINE_ID)
MIVisionX: $(MIVISIONX_PIPELINE_ID)
omniperf: $(OMNIPERF_PIPELINE_ID)
omnitrace: $(OMNITRACE_PIPELINE_ID)
rccl: $(RCCL_PIPELINE_ID)
rdc: $(RDC_PIPELINE_ID)
rocAL: $(ROCAL_PIPELINE_ID)
@@ -65,7 +63,6 @@ parameters:
rocDecode: $(ROCDECODE_PIPELINE_ID)
rocFFT: $(ROCFFT_PIPELINE_ID)
ROCgdb: $(ROCGDB_PIPELINE_ID)
rocJPEG: $(ROCJPEG_PIPELINE_ID)
rocm-cmake: $(ROCM_CMAKE_PIPELINE_ID)
rocm-core: $(ROCM_CORE_PIPELINE_ID)
rocm-examples: $(ROCM_EXAMPLES_PIPELINE_ID)
@@ -75,10 +72,8 @@ parameters:
rocm_bandwidth_test: $(ROCM_BANDWIDTH_TEST_PIPELINE_ID)
rocm_smi_lib: $(ROCM_SMI_LIB_PIPELINE_ID)
rocPRIM: $(ROCPRIM_PIPELINE_ID)
rocprofiler-compute: $(ROCPROFILER_COMPUTE_PIPELINE_ID)
rocprofiler-register: $(ROCPROFILER_REGISTER_PIPELINE_ID)
rocprofiler-sdk: $(ROCPROFILER_SDK_PIPELINE_ID)
rocprofiler-systems: $(ROCPROFILER_SYSTEMS_PIPELINE_ID)
rocprofiler: $(ROCPROFILER_PIPELINE_ID)
rocPyDecode: $(ROCPYDECODE_PIPELINE_ID)
ROCR-Runtime: $(ROCR_RUNTIME_PIPELINE_ID)
@@ -119,7 +114,6 @@ parameters:
MIOpen: $(MIOpen_TAGGED_PIPELINE_ID)
MIVisionX: $(MIVISIONX_TAGGED_PIPELINE_ID)
omniperf: $(OMNIPERF_TAGGED_PIPELINE_ID)
omnitrace: $(OMNITRACE_TAGGED_PIPELINE_ID)
rccl: $(RCCL_TAGGED_PIPELINE_ID)
rdc: $(RDC_TAGGED_PIPELINE_ID)
rocAL: $(ROCAL_TAGGED_PIPELINE_ID)
@@ -129,7 +123,6 @@ parameters:
rocDecode: $(ROCDECODE_TAGGED_PIPELINE_ID)
rocFFT: $(ROCFFT_TAGGED_PIPELINE_ID)
ROCgdb: $(ROCGDB_TAGGED_PIPELINE_ID)
rocJPEG: $(ROCJPEG_TAGGED_PIPELINE_ID)
rocm-cmake: $(ROCM_CMAKE_TAGGED_PIPELINE_ID)
rocm-core: $(ROCM_CORE_TAGGED_PIPELINE_ID)
rocm-examples: $(ROCM_EXAMPLES_TAGGED_PIPELINE_ID)
@@ -139,10 +132,8 @@ parameters:
rocm_bandwidth_test: $(ROCM_BANDWIDTH_TEST_TAGGED_PIPELINE_ID)
rocm_smi_lib: $(ROCM_SMI_LIB_TAGGED_PIPELINE_ID)
rocPRIM: $(ROCPRIM_TAGGED_PIPELINE_ID)
rocprofiler-compute: $(ROCPROFILER_COMPUTE_TAGGED_PIPELINE_ID)
rocprofiler-register: $(ROCPROFILER_REGISTER_TAGGED_PIPELINE_ID)
rocprofiler-sdk: $(ROCPROFILER_SDK_TAGGED_PIPELINE_ID)
rocprofiler-systems: $(ROCPROFILER_SYSTEMS_PIPELINE_ID)
rocprofiler: $(ROCPROFILER_TAGGED_PIPELINE_ID)
rocPyDecode: $(ROCPYDECODE_TAGGED_PIPELINE_ID)
ROCR-Runtime: $(ROCR_RUNTIME_TAGGED_PIPELINE_ID)
@@ -165,11 +156,6 @@ parameters:
- name: skipLlvmSymlink
type: boolean
default: false
# set to true if dlopen calls for HIP libraries are causing failures
# because they do not follow shared library symlink convention
- name: setupHIPLibrarySymlinks
type: boolean
default: false
# some ROCm components can specify GPU target and this will affect downloads
- name: gpuTarget
type: string
@@ -188,16 +174,13 @@ parameters:
- hipRAND
- hipSPARSELt
- hipTensor
- omnitrace
- rccl
- rocALUTION
- rocBLAS
- rocFFT
- rocm-examples
- rocPRIM
- rocprofiler-compute
- rocprofiler-sdk
- rocprofiler-systems
- rocprofiler
- rocPyDecode
- rocRAND
@@ -233,10 +216,6 @@ steps:
${{ if eq(parameters.dependencySource, 'staging') }}:
pipelineId: ${{ parameters.stagingPipelineIdentifiers[ split(dependency, ':')[0] ] }}
latestFromBranch: ${{ parameters.latestFromBranch }}
${{ elseif eq(parameters.dependencySource, 'mainline') }}:
pipelineId: ${{ parameters.stagingPipelineIdentifiers[ split(dependency, ':')[0] ] }}
useMainlineBranch: true
latestFromBranch: ${{ parameters.latestFromBranch }}
${{ elseif eq(parameters.dependencySource, 'tag-builds') }}:
pipelineId: ${{ parameters.taggedPipelineIdentifiers[ split(dependency, ':')[0] ] }}
latestFromBranch: false
@@ -253,10 +232,6 @@ steps:
${{ if eq(parameters.dependencySource, 'staging') }}:
pipelineId: ${{ parameters.stagingPipelineIdentifiers[dependency] }}
latestFromBranch: ${{ parameters.latestFromBranch }}
${{ elseif eq(parameters.dependencySource, 'mainline') }}:
pipelineId: ${{ parameters.stagingPipelineIdentifiers[dependency] }}
useMainlineBranch: true
latestFromBranch: ${{ parameters.latestFromBranch }}
${{ elseif eq(parameters.dependencySource, 'tag-builds') }}:
pipelineId: ${{ parameters.taggedPipelineIdentifiers[dependency] }}
latestFromBranch: false
@@ -285,37 +260,6 @@ steps:
for file in amdclang amdclang++ amdclang-cl amdclang-cpp amdflang amdlld aompcc mygpu mycpu offload-arch; do
sudo ln -s $(Agent.BuildDirectory)/rocm/llvm/bin/$file $(Agent.BuildDirectory)/rocm/bin/$file
done
# dlopen calls within a ctest or pytest sequence runs into issues when shared library symlink convention is not followed
# the convention is as follows:
# unversioned .so is a symlink to major version .so
# major version .so is a symlink to detailed version .so
# HIP libraries do not follow this convention, and each .so is a copy of each other
# changing the library structure to follow the symlink convention resolves some test failures
- ${{ if eq(parameters.setupHIPLibrarySymlinks, true) }}:
- task: Bash@3
displayName: Setup symlinks for hip libraries
inputs:
targetType: inline
workingDirectory: $(Agent.BuildDirectory)/rocm/lib
script: |
LIBRARIES=("libamdhip64" "libhiprtc-builtins" "libhiprtc")
for LIB_NAME in "${LIBRARIES[@]}"; do
VERSIONED_SO=$(ls ${LIB_NAME}.so.* 2>/dev/null | grep -E "${LIB_NAME}\.so\.[0-9]+\.[0-9]+\.[0-9]+(-.*)?" | sort -V | tail -n 1)
if [[ -z "$VERSIONED_SO" ]]; then
continue
fi
MAJOR_VERSION=$(echo "$VERSIONED_SO" | grep -oP "${LIB_NAME}\.so\.\K[0-9]+")
if [[ -e "${LIB_NAME}.so.${MAJOR_VERSION}" && ! -L "${LIB_NAME}.so.${MAJOR_VERSION}" ]]; then
rm -f "${LIB_NAME}.so.${MAJOR_VERSION}"
fi
if [[ -e "${LIB_NAME}.so" && ! -L "${LIB_NAME}.so" ]]; then
rm -f "${LIB_NAME}.so"
fi
ln -sf "$VERSIONED_SO" "${LIB_NAME}.so.${MAJOR_VERSION}"
ln -sf "${LIB_NAME}.so.${MAJOR_VERSION}" "${LIB_NAME}.so"
echo "Symlinks created for $LIB_NAME:"
ls -l ${LIB_NAME}.so*
done
- task: Bash@3
displayName: 'List downloaded ROCm files'
inputs:

View File

@@ -1,54 +0,0 @@
# Diagnostics for GPU-enabled systems
parameters:
- name: runRocminfo
type: boolean
default: true
steps:
- ${{ if eq(parameters.runRocminfo, true) }}:
- task: Bash@3
displayName: 'rocminfo'
continueOnError: true
inputs:
targetType: inline
script: $(Agent.BuildDirectory)/rocm/bin/rocminfo || true
- task: Bash@3
displayName: 'rocm_agent_enumerator'
continueOnError: true
inputs:
targetType: inline
script: $(Agent.BuildDirectory)/rocm/bin/rocm_agent_enumerator || true
- task: Bash@3
displayName: 'List DRI devices'
continueOnError: true
inputs:
targetType: inline
script: ls -la /dev/dri/ || true
- task: Bash@3
displayName: 'List amdgpu/rocm/mesa packages'
continueOnError: true
inputs:
targetType: inline
script: apt list --installed | grep -E 'amdgpu|rocm|mesa' || true
- task: Bash@3
displayName: 'List GPU processes'
continueOnError: true
inputs:
targetType: inline
script: |
ls /sys/class/kfd/kfd/proc/ || true
sudo lsof | grep amdgpu || true
- task: Bash@3
displayName: 'System snapshot'
continueOnError: true
inputs:
targetType: inline
script: top -bn1 || true
- task: Bash@3
displayName: 'List dmesg'
continueOnError: true
inputs:
targetType: inline
script: |
echo 'rocm-ci: $(Build.DefinitionName) $(System.DefinitionId)' | sudo tee /dev/kmsg || true
sudo dmesg || true

View File

@@ -29,17 +29,17 @@ steps:
definition: ${{ parameters.definitionId }}
buildId: ${{ parameters.buildId }}
itemPattern: '**/*${{ parameters.gpuTarget }}*'
targetPath: $(Pipeline.Workspace)/d
targetPath: $(System.ArtifactsDirectory)
- task: ExtractFiles@1
displayName: 'Extract Pipeline Build'
inputs:
archiveFilePatterns: '$(Pipeline.Workspace)/d/**/*.tar.gz'
archiveFilePatterns: '$(System.ArtifactsDirectory)/**/*.tar.gz'
destinationFolder: '$(Agent.BuildDirectory)/rocm'
cleanDestinationFolder: false
overwriteExistingFiles: true
- task: DeleteFiles@1
displayName: 'Clean up Compressed Pipeline Build'
inputs:
SourceFolder: '$(Pipeline.Workspace)/d'
SourceFolder: '$(System.ArtifactsDirectory)'
Contents: '/**/*.tar.xz'
RemoveDotFiles: true

View File

@@ -1,140 +0,0 @@
parameters:
- name: artifactName
type: string
default: 'drop'
- name: gpuTarget
type: string
default: ''
steps:
- task: Bash@3
displayName: Set up current_repo values
condition: always()
continueOnError: true
inputs:
targetType: inline
script: |
sudo apt-get install -y jq
# RESOURCES_REPOSITORIES is a runtime variable (not an env var!) that contains quotations and newlines
# So we need to save it to a file to properly preserve its formatting and contents
cat <<EOF > resources.repositories
$(RESOURCES_REPOSITORIES)
EOF
cat resources.repositories
IS_TAG_BUILD=$(jq 'has("release_repo")' resources.repositories)
if [ "$IS_TAG_BUILD" = "true" ]; then
REPO_TYPE="release_repo" # Triggered by a ROCm/ROCm tag-builds file
else
REPO_TYPE="self" # Triggered by component repo's rocm-ci.yml file
fi
echo "##vso[task.setvariable variable=current_repo.id;]$(jq .$REPO_TYPE.id resources.repositories | tr -d '"')"
echo "##vso[task.setvariable variable=current_repo.name;]$(jq .$REPO_TYPE.name resources.repositories | tr -d '"')"
echo "##vso[task.setvariable variable=current_repo.ref;]$(jq .$REPO_TYPE.ref resources.repositories | tr -d '"')"
echo "##vso[task.setvariable variable=current_repo.url;]$(jq .$REPO_TYPE.url resources.repositories | tr -d '"')"
echo "##vso[task.setvariable variable=current_repo.version;]$(jq .$REPO_TYPE.version resources.repositories | tr -d '"')"
- task: Bash@3
displayName: Create manifest.json
condition: always()
continueOnError: true
inputs:
targetType: inline
script: |
manifest_json=$(Build.ArtifactStagingDirectory)/manifest_$(Build.DefinitionName)_$(Build.SourceBranchName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ parameters.artifactName }}_${{ parameters.gpuTarget }}.json
dependencies=()
for manifest_file in $(Pipeline.Workspace)/d/**/manifest_*.json; do
echo "Processing $manifest_file"
cat $manifest_file
current=$(jq '.current' "$manifest_file")
dependencies+=("$current")
done
dependencies_json=$(printf '%s\n' "${dependencies[@]}" | jq -s '.')
jq -n \
--arg buildNumber "$(Build.BuildNumber)" \
--arg buildId "$(Build.BuildId)" \
--arg repoId "$(current_repo.id)" \
--arg repoName "$(current_repo.name)" \
--arg repoRef "$(current_repo.ref)" \
--arg repoUrl "$(current_repo.url)" \
--arg repoVersion "$(current_repo.version)" \
--argjson dependencies "$dependencies_json" \
'{
current: {
buildNumber: $buildNumber,
buildId: $buildId,
repoId: $repoId,
repoName: $repoName,
repoRef: $repoRef,
repoUrl: $repoUrl,
repoVersion: $repoVersion
},
dependencies: $dependencies
}' > $manifest_json
dependencies_rows=$(cat $manifest_json | \
jq -r '
.dependencies[] |
"<tr><td>" + .buildNumber + "</td>" +
"<td><a href=\"https://dev.azure.com/ROCm-CI/ROCm-CI/_build/results?buildId=" + .buildId + "\">" + .buildId + "</a></td>" +
"<td><a href=\"" + .repoUrl + "\">" + .repoName + "</a></td>" +
"<td><a href=\"" + .repoUrl + "/tree/" + .repoRef + "\">" + .repoRef + "</a></td>" +
"<td><a href=\"" + .repoUrl + "/commit/" + .repoVersion + "\">" + .repoVersion + "</a></td></tr>"
')
dependencies_rows=$(echo $dependencies_rows)
echo "##vso[task.setvariable variable=dependencies_rows;]$dependencies_rows"
cat $manifest_json
- task: Bash@3
displayName: Create manifest.html
condition: always()
continueOnError: true
inputs:
targetType: inline
script: |
manifest_html=$(Build.ArtifactStagingDirectory)/manifest_$(Build.DefinitionName)_$(Build.SourceBranchName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ parameters.artifactName }}_${{ parameters.gpuTarget }}.html
cat <<EOF > $manifest_html
<html>
<h1>Manifest</h1>
<h2>Current</h2>
<table border="1">
<tr>
<th>Build Number</th>
<th>Build ID</th>
<th>Repo Name</th>
<th>Repo Ref</th>
<th>Repo Version</th>
</tr>
<tr>
<td>$(Build.BuildNumber)</td>
<td><a href="https://dev.azure.com/ROCm-CI/ROCm-CI/_build/results?buildId=$(Build.BuildId)">$(Build.BuildId)</a></td>
<td><a href="$(current_repo.url)">$(current_repo.name)</a></td>
<td><a href="$(current_repo.url)/tree/$(current_repo.ref)">$(current_repo.ref)</a></td>
<td><a href="$(current_repo.url)/commit/$(current_repo.version)">$(current_repo.version)</a></td>
</tr>
</table>
<h2>Dependencies</h2>
<table border="1">
<tr>
<th>Build Number</th>
<th>Build ID</th>
<th>Repo Name</th>
<th>Repo Ref</th>
<th>Repo Version</th>
</tr>
$(dependencies_rows)
</table>
</html>
EOF
cat $manifest_html
- task: PublishHtmlReport@1
displayName: Publish manifest.html
condition: always()
continueOnError: true
inputs:
tabName: Manifest
reportDir: $(Build.ArtifactStagingDirectory)/manifest_$(Build.DefinitionName)_$(Build.SourceBranchName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ parameters.artifactName }}_${{ parameters.gpuTarget }}.html

View File

@@ -1,72 +0,0 @@
parameters:
- name: gpuTarget
type: string
default: ''
steps:
- task: Bash@3
name: downloadCKBuild
displayName: Download specific CK build
continueOnError: true
env:
CXX: $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
CC: $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
inputs:
targetType: inline
workingDirectory: $(Build.SourcesDirectory)
script: |
AZ_API="https://dev.azure.com/ROCm-CI/ROCm-CI/_apis"
GH_API="https://api.github.com/repos/ROCm"
ARTIFACT_NAME="composablekernel.${{ parameters.gpuTarget }}"
EXIT_CODE=0
# The commits that MIOpen reference are all merge commits from CK/develop to CK/amd-develop
# These commits are present on CK/amd-develop but not on CK/develop
# Ex-CI only builds CK/develop, so we need to find a commit present on both CK/develop and CK/amd-develop
CK_COMMIT=$(grep 'ROCm/composable_kernel' requirements.txt | sed -E 's/.*@([a-f0-9]{40}).*/\1/')
echo "Fetching CK build ID for commit $CK_COMMIT"
CK_COMMIT_URL="$GH_API/composable_kernel/commits/${CK_COMMIT}"
PARENT_COMMIT=$(curl -s $CK_COMMIT_URL | jq '.parents[1].sha' | tr -d '"')
echo "Found parent commit: $PARENT_COMMIT"
PARENT_CHECKS_URL="$GH_API/composable_kernel/commits/${PARENT_COMMIT}/check-runs"
CK_BUILD_ID=$(curl -s $PARENT_CHECKS_URL | \
jq '.check_runs[] | select(.name == "composable_kernel" and .app.slug == "azure-pipelines") | .details_url' | \
tr -d '"' | grep -oP 'buildId=\K\d+')
if [ -z "$CK_BUILD_ID" ]; then
echo "Did not find specific CK build ID"
LATEST_BUILD_URL="$AZ_API/build/builds?definitions=$(COMPOSABLE_KERNEL_PIPELINE_ID)&status=completed&result=succeeded&\$top=1&api-version=7.1"
CK_BUILD_ID=$(curl -s $LATEST_BUILD_URL | jq '.value[0].id')
echo "Found latest CK build ID: $CK_BUILD_ID"
EXIT_CODE=1
fi
AZURE_URL="$AZ_API/build/builds/$CK_BUILD_ID/artifacts?artifactName=$ARTIFACT_NAME&api-version=7.1"
ARTIFACT_URL=$(curl -s $AZURE_URL | jq '.resource.downloadUrl' | tr -d '"')
if [ -z "$ARTIFACT_URL" ]; then
echo "Did not find specific CK build artifact"
LATEST_BUILD_URL="$AZ_API/build/builds?definitions=$(COMPOSABLE_KERNEL_PIPELINE_ID)&status=completed&result=succeeded&\$top=1&api-version=7.1"
CK_BUILD_ID=$(curl -s $LATEST_BUILD_URL | jq '.value[0].id')
echo "Found latest CK build ID: $CK_BUILD_ID"
AZURE_URL="$AZ_API/build/builds/$CK_BUILD_ID/artifacts?artifactName=$ARTIFACT_NAME&api-version=7.1"
ARTIFACT_URL=$(curl -s $AZURE_URL | jq '.resource.downloadUrl' | tr -d '"')
EXIT_CODE=2
elif [ $EXIT_CODE -eq 0 ]; then
echo "Found specific CK build ID: $CK_BUILD_ID"
fi
echo "Downloading CK artifact from $ARTIFACT_URL"
wget -nv $ARTIFACT_URL -O $(System.ArtifactsDirectory)/ck.zip
unzip $(System.ArtifactsDirectory)/ck.zip -d $(System.ArtifactsDirectory)
mkdir -p $(Agent.BuildDirectory)/rocm
tar -zxvf $(System.ArtifactsDirectory)/$ARTIFACT_NAME/*.tar.gz -C $(Agent.BuildDirectory)/rocm
rm -r $(System.ArtifactsDirectory)/ck.zip $(System.ArtifactsDirectory)/$ARTIFACT_NAME
if [ $EXIT_CODE -ne 0 ]; then
BUILD_COMMIT=$(curl -s $AZ_API/build/builds/$CK_BUILD_ID | jq '.sourceVersion' | tr -d '"')
echo "WARNING: couldn't find a CK build for commit $CK_COMMIT"
echo "Instead used latest CK build $CK_BUILD_ID for commit $BUILD_COMMIT"
fi
exit $EXIT_CODE

View File

@@ -26,23 +26,25 @@ parameters:
- name: testPublishResults
type: boolean
default: true
- name: allowPartiallySucceededBuilds
type: object
default:
- amdsmi
- aomp
- HIPIFY
- MIVisionX
- rocm-cmake
- rocm_smi_lib
- roctracer
- name: reloadAMDGPU
type: boolean
default: false
steps:
# Avoids occasional AMDGPU driver issues with opening /dev/kfd
- ${{ if parameters.reloadAMDGPU }}:
- task: Bash@3
displayName: Unload and reload AMDGPU
inputs:
targetType: inline
script: |
sudo modprobe -r amdgpu
sudo modprobe amdgpu
# run test, continue on failure to publish results
# and to publish build artifacts
- task: Bash@3
displayName: '${{ parameters.componentName }} Test'
continueOnError: ${{ containsValue(parameters.allowPartiallySucceededBuilds, parameters.componentName) }}
continueOnError: true
inputs:
targetType: inline
script: ${{ parameters.testExecutable }} ${{ parameters.testParameters }}
@@ -50,8 +52,8 @@ steps:
- ${{ if parameters.testPublishResults }}:
- task: PublishTestResults@2
displayName: '${{ parameters.componentName }} Publish Results'
condition: succeededOrFailed()
inputs:
searchFolder: ${{ parameters.testDir }}
testResultsFormat: ${{ parameters.testOutputFormat }}
testResultsFiles: '**/${{ parameters.testOutputFile }}'
condition: succeededOrFailed()

View File

@@ -1,8 +1,6 @@
# specify non-secret global variables reused across pipelines here
variables:
- name: RESOURCES_REPOSITORIES
value: $[ convertToJson(resources.repositories) ]
- name: CI_ROOT_PATH
value: /.azuredevops
- name: CI_COMPONENT_PATH
@@ -34,7 +32,7 @@ variables:
- name: LATEST_DOCKER_VERSION
value: 6.1
- name: KEYRING_VERSION
value: 6.3
value: 6.1
- name: AMDMIGRAPHX_GFX942_TEST_PIPELINE_ID
value: 197
- name: AMDMIGRAPHX_PIPELINE_ID
@@ -169,10 +167,6 @@ variables:
value: 241
- name: OMNIPERF_TAGGED_PIPELINE_ID
value: 242
- name: OMNITRACE_PIPELINE_ID
value: 253
- name: OMNITRACE_TAGGED_PIPELINE_ID
value: 252
- name: RCCL_GFX942_TEST_PIPELINE_ID
value: 184
- name: RCCL_PIPELINE_ID
@@ -219,10 +213,6 @@ variables:
value: 134
- name: ROCGDB_TAGGED_PIPELINE_ID
value: 50
- name: ROCJPEG_PIPELINE_ID
value: 262
- name: ROCJPEG_TAGGED_PIPELINE_ID
value: 263
- name: ROCM_BANDWIDTH_TEST_PIPELINE_ID
value: 88
- name: ROCM_BANDWIDTH_TEST_TAGGED_PIPELINE_ID
@@ -265,10 +255,6 @@ variables:
value: 20
- name: ROCPROFILER_GFX942_TEST_PIPELINE_ID
value: 190
- name: ROCPROFILER_COMPUTE_PIPELINE_ID
value: 257
- name: ROCPROFILER_COMPUTE_TAGGED_PIPELINE_ID
value: 258
- name: ROCPROFILER_REGISTER_PIPELINE_ID
value: 1
- name: ROCPROFILER_REGISTER_TAGGED_PIPELINE_ID
@@ -277,10 +263,6 @@ variables:
value: 246
- name: ROCPROFILER_SDK_TAGGED_PIPELINE_ID
value: 234
- name: ROCPROFILER_SYSTEMS_PIPELINE_ID
value: 255
- name: ROCPROFILER_SYSTEMS_TAGGED_PIPELINE_ID
value: 254
- name: ROCPROFILER_PIPELINE_ID
value: 143
- name: ROCPROFILER_TAGGED_PIPELINE_ID
@@ -343,5 +325,3 @@ variables:
value: 78
- name: RPP_TAGGED_PIPELINE_ID
value: 39
- name: BOOST_DEPENDENCY_PIPELINE_ID
value: 250

1
.github/CODEOWNERS vendored
View File

@@ -5,4 +5,3 @@ docs/ @amd-aakash @jlgreathouse @samjwu @yhuiYH @ROCm/rocm-documentation
*.rst @amd-aakash @jlgreathouse @samjwu @yhuiYH @ROCm/rocm-documentation
# External CI
/.azuredevops/ @ROCm/external-ci
tools/rocm-build/ @ROCm/rocm-devops

View File

@@ -13,7 +13,6 @@ AMDMIGraphX
AMI
AOCC
AOMP
AOTriton
APBDIS
APIC
APIs
@@ -26,7 +25,6 @@ ASm
ATI
AddressSanitizer
AlexNet
Andrej
Arb
Autocast
BARs
@@ -38,7 +36,6 @@ Bluefield
Bootloader
CCD
CDNA
CHTML
CIFAR
CLI
CLion
@@ -73,8 +70,6 @@ Concretized
Conda
ConnectX
CuPy
Dashboarding
DBRX
DDR
DF
DGEMM
@@ -92,8 +87,6 @@ Dask
DataFrame
DataLoader
DataParallel
Debian
DeepSeek
DeepSpeed
Dependabot
Deprecations
@@ -110,7 +103,6 @@ FFT
FFTs
FFmpeg
FHS
FIXME
FMA
FP
FX
@@ -131,12 +123,10 @@ GDS
GEMM
GEMMs
GFortran
Gemma
GiB
GIM
GL
GLXT
Gloo
GMI
GPG
GPR
@@ -155,8 +145,6 @@ HGX
HIPCC
HIPExtension
HIPIFY
HIPification
HIPify
HPC
HPCG
HPE
@@ -168,8 +156,6 @@ HWS
Haswell
Higgs
Hyperparameters
Huggingface
ICD
ICV
IDE
IDEs
@@ -192,17 +178,14 @@ Interop
Intersphinx
Intra
Ioffe
JAX's
Jinja
JSON
Jupyter
KFD
KFDTest
KMD
KiB
KV
KVM
Karpathy's
KiB
Keras
Khronos
LAPACK
@@ -223,13 +206,11 @@ MiB
MIGraphX
MIOpen
MIOpenGEMM
MIOpen's
MIVisionX
MLM
MMA
MMIO
MMIOH
MMU
MNIST
MPI
MSVC
@@ -246,15 +227,12 @@ Mellanox's
Meta's
Miniconda
MirroredStrategy
Mixtral
Multicore
Multithreaded
MyEnvironment
MyST
NBIO
NBIOs
NCCL
NCF
NIC
NICs
NLI
@@ -294,14 +272,10 @@ OpenMPI
OpenSSL
OpenVX
OpenXLA
Oversubscription
PagedAttention
Pallas
PCC
PCI
PCIe
PEFT
PEQT
PIL
PILImage
POR
@@ -316,27 +290,21 @@ PipelineParallel
PnP
PowerEdge
PowerShell
Profiler's
PyPi
Pytest
PyTorch
Qcycles
Qwen
RAII
RAS
RCCL
RDC
RDC's
RDMA
RDNA
README
RHEL
RMW
RNN
RNNs
ROC
ROCProfiler
ROCT
ROCTracer
ROCclr
ROCdbgapi
@@ -348,7 +316,6 @@ ROCmSoftwarePlatform
ROCmValidationSuite
ROCprofiler
ROCr
RPP
RST
RW
Radeon
@@ -356,7 +323,6 @@ RelWithDebInfo
Req
Rickle
RoCE
Runfile
Ryzen
SALU
SBIOS
@@ -369,7 +335,6 @@ SENDMSG
SGPR
SGPRs
SHA
SHARK's
SIGQUIT
SIMD
SIMDs
@@ -403,7 +368,6 @@ TCR
TF
TFLOPS
TP
TPS
TPU
TPUs
TSME
@@ -414,14 +378,9 @@ TensorFlow
TensorParallel
ToC
TorchAudio
torchaudio
TorchElastic
TorchMIGraphX
torchrec
TorchScript
TorchServe
torchserve
torchtext
TorchVision
TransferBench
TrapStatus
@@ -485,12 +444,10 @@ api
atmi
atomics
autogenerated
autotune
avx
awk
backend
backends
benchmarked
benchmarking
bfloat
bilinear
@@ -528,9 +485,6 @@ copyable
cpp
csn
cuBLAS
cuda
cuDNN
cudnn
cuFFT
cuLIB
cuRAND
@@ -546,8 +500,6 @@ datatypes
dbgapi
de
deallocation
debuggability
debian
denoise
denoised
denoises
@@ -562,9 +514,6 @@ devsel
dimensionality
disambiguates
distro
distros
dkms
dtype
el
embeddings
enablement
@@ -585,7 +534,6 @@ gRPC
galb
gcc
gdb
gemm
gfortran
gfx
githooks
@@ -598,10 +546,8 @@ heterogenous
hipBLAS
hipBLASLt
hipBLASLt's
hipblaslt
hipCUB
hipFFT
hipFORT
hipLIB
hipRAND
hipSOLVER
@@ -616,14 +562,12 @@ hipfort
hipify
hipsolver
hipsparse
hlist
hotspotting
hpc
hpp
hsa
hsakmt
hyperparameter
hyperparameters
iDRAC
ib_core
inband
@@ -641,16 +585,12 @@ intra
invariants
invocating
ipo
jax
kdb
kfd
kv
latencies
len
libfabric
libjpeg
libs
linalg
linearized
linter
linux
@@ -665,7 +605,6 @@ migraphx
miopen
miopengemm
mivisionx
mjx
mkdir
mlirmiopen
mtypes
@@ -673,8 +612,6 @@ mutex
mvffr
namespace
namespaces
nanoGPT
num
numref
ocl
opencl
@@ -683,11 +620,8 @@ openmp
openssl
optimizers
os
oversubscription
pageable
pallas
parallelization
parallelizing
parameterization
passthrough
perfcounter
@@ -700,7 +634,6 @@ prebuilt
precompiled
preconditioner
preconfigured
preemptible
prefetch
prefetchable
prefill
@@ -717,13 +650,10 @@ profilers
protobuf
pseudorandom
py
recommender
recommenders
quantile
quantizer
quasirandom
queueing
radeon
rccl
rdc
rdma
@@ -745,8 +675,6 @@ rocALUTION
rocBLAS
rocDecode
rocFFT
rocHPCG
rocJPEG
rocLIB
rocMLIR
rocPRIM
@@ -777,15 +705,11 @@ runtimes
sL
scalability
scalable
scipy
seealso
sendmsg
seqs
serializers
shader
sharding
sigmoid
single-node
sm
smi
softmax
@@ -822,10 +746,8 @@ txt
uarch
uncached
uncorrectable
underoptimized
unhandled
uninstallation
unmapped
unsqueeze
unstacking
unswitching
@@ -845,8 +767,6 @@ vectorize
vectorized
vectorizer
vectorizes
virtualize
virtualized
vjxb
voxel
walkthrough

View File

@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2023 - 2025 Advanced Micro Devices, Inc. All rights reserved.
Copyright (c) 2023 - 2024 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

View File

@@ -50,7 +50,7 @@ The following example shows how to use the repo tool to download the ROCm source
```bash
mkdir -p ~/ROCm/
cd ~/ROCm/
~/bin/repo init -u http://github.com/ROCm/ROCm.git -b roc-6.3.x
~/bin/repo init -u http://github.com/ROCm/ROCm.git -b roc-6.2.x
~/bin/repo sync
```
@@ -76,8 +76,8 @@ The Build time will reduce significantly if we limit the GPU Architecture/s agai
mkdir -p ~/WORKSPACE/ # Or any folder name other than WORKSPACE
cd ~/WORKSPACE/
export ROCM_VERSION=6.3.1
~/bin/repo init -u http://github.com/ROCm/ROCm.git -b roc-6.3.x -m tools/rocm-build/rocm-${ROCM_VERSION}.xml
export ROCM_VERSION=6.2.2 # Or 6.2.0 or 6.2.1
~/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
# --------------------------------------
@@ -178,7 +178,23 @@ Source code for our documentation is located in the `/docs` folder of most ROCm
The ROCm documentation homepage is [rocm.docs.amd.com](https://rocm.docs.amd.com).
For information on how to contribute to the ROCm documentation, see [Contributing to the ROCm documentation](https://rocm.docs.amd.com/en/latest/contribute/contributing.html).
### Building the documentation
For a quick-start build, use the following code. For more options and detail, refer to
[Building documentation](./docs/contribute/building.md).
```bash
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.
```bash
cmake -B build
cmake --build build --target=doc
```
## Older ROCm releases

View File

@@ -1,92 +1,106 @@
<!-- 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 6.3.1 release notes
# ROCm 6.2.2 release notes
The release notes provide a summary of notable changes since the previous ROCm release.
- [Release highlights](#release-highlights)
- [Operating system and hardware support changes](#operating-system-and-hardware-support-changes)
- [ROCm components versioning](#rocm-components)
- [Detailed component changes](#detailed-component-changes)
- [ROCm known issues](#rocm-known-issues)
- [ROCm resolved issues](#rocm-resolved-issues)
- [ROCm upcoming changes](#rocm-upcoming-changes)
These release notes provide a summary of notable changes since the previous ROCm release.
```{note}
If youre using Radeon™ PRO or Radeon GPUs in a workstation setting with a
display connected, continue to use ROCm 6.2.3. See the [Use ROCm on Radeon GPUs](https://rocm.docs.amd.com/projects/radeon/en/latest/index.html)
documentation to verify compatibility and system requirements.
As ROCm 6.2.2 was released shortly after 6.2.1, the changes between these versions
are minimal. For a comprehensive overview of recent updates, the ROCm 6.2.1 release
notes are appended to the end of this document.
For detailed information about the changes in ROCm 6.2.1, refer to the appended
section: [ROCm 6.2.1 release notes](rocm-6-2-1-release-notes).
```
The [Compatibility matrix](https://rocm.docs.amd.com/en/docs-6.2.2/compatibility/compatibility-matrix.html)
provides the full list of supported hardware, operating systems, ecosystems, third-party components, and ROCm components
for each ROCm release.
Release notes for previous ROCm releases are available in earlier versions of the documentation.
See the [ROCm documentation release history](https://rocm.docs.amd.com/en/latest/release/versions.html).
## Release highlights
The following are notable new features and improvements in ROCm 6.3.1. For changes to individual components, see
[Detailed component changes](#detailed-component-changes).
The following is a significant fix introduced in ROCm 6.2.2.
### Per queue resiliency for Instinct MI300 accelerators
### Fixed Instinct MI300X error recovery failure
The AMDGPU driver now includes enhanced resiliency for misbehaving applications on AMD Instinct MI300 accelerators. This helps isolate the impact of misbehaving applications, ensuring other workloads running on the same accelerator are unaffected.
Improved the reliability of AMD Instinct MI300X accelerators in scenarios involving
uncorrectable errors. Previously, error recovery did not occur as expected,
potentially leaving the system in an undefined state. This fix ensures that error
recovery functions as expected, maintaining system stability.
### ROCm Runfile Installer
See the [original issue](#instinct-mi300x-gpu-recovery-failure-on-uncorrectable-errors)
noted in the ROCm 6.2.1 release notes.
ROCm 6.3.1 introduces the ROCm Runfile Installer, with initial support for Ubuntu 22.04. The ROCm Runfile Installer facilitates ROCm installation without using a native Linux package management system, with or without network or internet access. For more information, see the [ROCm Runfile Installer documentation](https://rocm.docs.amd.com/projects/install-on-linux/en/docs-6.3.1/install/rocm-runfile-installer.html).
---
### ROCm documentation updates
## ROCm 6.2.1 release notes
ROCm documentation continues to be updated to provide clearer and more comprehensive guidance for a wider variety of user needs and use cases.
The ROCm 6.2.1 release notes document newly added ecosystem support, ROCm Offline Installer Creator updates,
and improvements to several ROCm libraries and tools.
* Added documentation on training a model with ROCm Megatron-LM. AMD offers a Docker image for MI300X accelerators
containing essential components to get started, including ROCm libraries, PyTorch, and Megatron-LM utilities. See
[Training a model using ROCm Megatron-LM](https://rocm.docs.amd.com/en/docs-6.3.1/how-to/rocm-for-ai/train-a-model.html)
to get started.
- [Release highlights](release-highlights)
The new ROCm Megatron-LM training Docker accompanies the [ROCm vLLM inference
Docker](https://rocm.docs.amd.com/en/docs-6.3.1/how-to/performance-validation/mi300x/vllm-benchmark.html)
as a set of ready-to-use containerized solutions to get started with using ROCm
for AI.
- [Operating system and hardware support changes](operating-system-and-hardware-support-changes)
* Updated the [Instinct MI300X workload tuning
guide](https://rocm.docs.amd.com/en/docs-6.3.1/how-to/tuning-guides/mi300x/workload.html) with more current optimization
strategies. The updated sections include guidance on vLLM optimization, PyTorch TunableOp, and hipBLASLt tuning.
- [ROCm components versioning](rocm-components)
* HIP graph-safe libraries operate safely in HIP execution graphs. [HIP graphs](https://rocm.docs.amd.com/projects/HIP/en/docs-6.3.1/how-to/hip_runtime_api/hipgraph.html#how-to-hip-graph) are an alternative way of executing tasks on a GPU that can provide performance benefits over launching kernels using the standard method via streams. A topic that shows whether a [ROCm library is graph-safe](https://rocm.docs.amd.com/en/docs-6.3.1/reference/graph-safe-support.html) has been added.
- [Detailed component changes](detailed-component-changes)
* The [Device memory](https://rocm.docs.amd.com/projects/HIP/en/docs-6.3.1/how-to/hip_runtime_api/memory_management/device_memory.html) topic in the HIP memory management section has been updated.
- [ROCm known issues](rocm-known-issues)
* The HIP documentation has expanded with new resources for developers:
* [Multi device management](https://rocm.docs.amd.com/projects/HIP/en/docs-6.3.1/how-to/hip_runtime_api/multi_device.html)
* [OpenGL interoperability](https://rocm.docs.amd.com/projects/HIP/en/docs-6.3.1/how-to/hip_runtime_api/opengl_interop.html)
- [ROCm upcoming changes](rocm-upcoming-changes)
## Operating system and hardware support changes
### Release highlights
ROCm 6.3.1 adds support for Debian 12 (kernel: 6.1). Debian is supported only on AMD Instinct accelerators. See the installation instructions at [Debian native installation](https://rocm.docs.amd.com/projects/install-on-linux/en/docs-6.3.1/install/native-install/debian.html).
The following are notable new features and improvements in ROCm 6.2.1. For changes to individual components, see [Detailed component changes](#detailed-component-changes).
ROCm 6.3.1 enables support for AMD Instinct MI325X accelerator. For more information, see [AMD Instinct™ MI325X Accelerators](https://www.amd.com/en/products/accelerators/instinct/mi300/mi325x.html).
#### rocAL major version change
See the [Compatibility
matrix](https://rocm.docs.amd.com/en/docs-6.3.1/compatibility/compatibility-matrix.html)
for more information about operating system and hardware compatibility.
The new version of rocAL introduces many new features, but does not modify any of the existing public API functions. However, the version number was incremented from 1.3 to 2.0.
Applications linked to version 1.3 must be recompiled to link against version 2.0.
## ROCm components
See [the rocAL detailed changes](#rocal-2-0-0) for more information.
The following table lists the versions of ROCm components for ROCm 6.3.1, including any version
changes from 6.3.0 to 6.3.1. 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.
#### New support for FBGEMM (Facebook General Matrix Multiplication)
As of ROCm 6.2.1, ROCm supports Facebook General Matrix Multiplication (FBGEMM) and the related FBGEMM_GPU library.
FBGEMM is a low-precision, high-performance CPU kernel library for convolution and matrix multiplication. It is used for server-side inference and as a back end for PyTorch quantized operators. FBGEMM_GPU includes a collection of PyTorch GPU operator libraries for training and inference. For more information, see the ROCm [Model acceleration libraries guide](https://rocm.docs.amd.com/en/docs-6.2.1/how-to/llm-fine-tuning-optimization/model-acceleration-libraries.html)
and [PyTorch's FBGEMM GitHub repository](https://github.com/pytorch/FBGEMM).
#### ROCm Offline Installer Creator changes
The [ROCm Offline Installer Creator 6.2.1](https://rocm.docs.amd.com/projects/install-on-linux/en/docs-6.2.1/install/rocm-offline-installer.html) introduces several new features and improvements including:
* Logging support for create and install logs
* More stringent checks for Linux versions and distributions
* Updated prerequisite repositories
* Fixed CTest issues
#### ROCm documentation changes
There have been no changes to supported hardware or operating systems from ROCm 6.2.0 to ROCm 6.2.1.
* The Programming Model Reference and Understanding the Programming Model topics in HIP have been consolidated into one topic,
[HIP programming model (conceptual)](https://rocm.docs.amd.com/projects/HIP/en/docs-6.2.1/understand/programming_model.html).
* The [HIP virtual memory management](https://rocm.docs.amd.com/projects/HIP/en/docs-6.2.1/how-to/virtual_memory.html) and [HIP virtual memory management API](https://rocm.docs.amd.com/projects/HIP/en/docs-6.2.1/reference/virtual_memory_reference.html) topics have been added.
```{note}
The ROCm documentation, like all ROCm projects, is open source and available on GitHub. To contribute to ROCm documentation, see the [ROCm documentation contribution guidelines](https://rocm.docs.amd.com/en/latest/contribute/contributing.html).
```
### Operating system and hardware support changes
ROCm 6.2.1 adds support for Ubuntu 24.04.1 (kernel: 6.8 [GA]).
See the [Compatibility matrix](https://rocm.docs.amd.com/en/docs-6.2.1/compatibility/compatibility-matrix.html) for the full list of supported operating systems and hardware architectures.
### ROCm components
The following table lists the versions of ROCm components for ROCm 6.2.1, including any version changes from 6.2.0 to 6.2.1.
Click the component's updated version to go to a detailed list of its changes. Click <i class="fab fa-github fa-lg"></i> to go to the component's source code on GitHub.
<div class="pst-scrollable-table-container">
<table id="rocm-rn-components" class="table">
@@ -105,457 +119,486 @@ Click {fab}`github` to go to the component's source code on GitHub.
</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-6.3.1/index.html">Composable Kernel</a></td>
<th rowspan="8">Libraries</th>
<th rowspan="8">Machine learning and computer vision</th>
<td><a href="https://rocm.docs.amd.com/projects/composable_kernel/en/docs-6.2.1">Composable Kernel</a>
</td>
<td>1.1.0</td>
<td><a href="https://github.com/ROCm/composable_kernel"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://github.com/ROCm/composable_kernel/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/AMDMIGraphX/en/docs-6.3.1/index.html">MIGraphX</a></td>
<td>2.11.0</td>
<td><a href="https://github.com/ROCm/AMDMIGraphX"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/AMDMIGraphX/en/docs-6.2.1">MIGraphX</a></td>
<td>2.10</td>
<td><a href="https://github.com/ROCm/AMDMIGraphX/releases/tag/rocm-6.2.1"><i class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/MIOpen/en/docs-6.3.1/index.html">MIOpen</a></td>
<td>3.3.0</td>
<td><a href="https://github.com/ROCm/MIOpen"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/MIOpen/en/docs-6.2.1">MIOpen</a></td>
<td>3.2.0</td>
<td><a href="https://github.com/ROCm/MIOpen/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/MIVisionX/en/docs-6.3.1/index.html">MIVisionX</a></td>
<td>3.1.0&nbsp;&Rightarrow;&nbsp;<a href="#mivisionx-3-1-0">3.1.0</a></td>
<td><a href="https://github.com/ROCm/MIVisionX"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/MIVisionX/en/docs-6.2.1">MIVisionX</a></td>
<td>3.0.0</td>
<td><a href="https://github.com/ROCm/MIVisionX/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocAL/en/docs-6.3.1/index.html">rocAL</a></td>
<td>2.1.0</td>
<td><a href="https://github.com/ROCm/rocAL"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/rocAL/en/docs-6.2.1">rocAL</a></td>
<td>1.0.0&nbsp;&Rightarrow;&nbsp;<a href="#rocal-2-0-0">2.0.0</a></td>
<td><a href="https://github.com/ROCm/rocAL/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocDecode/en/docs-6.3.1/index.html">rocDecode</a></td>
<td>0.8.0</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-6.3.1/index.html">rocJPEG</a></td>
<td><a href="https://rocm.docs.amd.com/projects/rocDecode/en/docs-6.2.1">rocDecode</a></td>
<td>0.6.0</td>
<td><a href="https://github.com/ROCm/rocJPEG"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://github.com/ROCm/rocDecode/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocPyDecode/en/docs-6.3.1/index.html">rocPyDecode</a></td>
<td>0.2.0</td>
<td><a href="https://github.com/ROCm/rocPyDecode"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/rocPyDecode/en/docs-6.2.1">rocPyDecode</a></td>
<td>0.1.0</td>
<td><a href="https://github.com/ROCm/rocPyDecode/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rpp/en/docs-6.3.1/index.html">RPP</a></td>
<td>1.9.1</td>
<td><a href="https://github.com/ROCm/rpp"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/rpp/en/docs-6.2.1">RPP</a></td>
<td>1.8.0</td>
<td><a href="https://github.com/ROCm/rpp/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
</tbody>
<tbody class="rocm-components-libs rocm-components-communication tbody-reverse-zebra">
<tbody class="rocm-components-libs rocm-components-communication">
<tr>
<th rowspan="1"></th>
<th rowspan="1">Communication</th>
<td><a href="https://rocm.docs.amd.com/projects/rccl/en/docs-6.3.1/index.html">RCCL</a></td>
<td>2.21.5&nbsp;&Rightarrow;&nbsp;<a href="#rccl-2-21-5">2.21.5</a></td>
<td><a href="https://github.com/ROCm/rccl"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/rccl/en/docs-6.2.1">RCCL</a></td>
<td>2.20.5&nbsp;&Rightarrow;&nbsp;<a href="#rccl-2-20-5">2.20.5</a></td>
<td><a href="https://github.com/ROCm/rccl/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
</tbody>
<tbody class="rocm-components-libs rocm-components-math">
<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-6.3.1/index.html">hipBLAS</a></td>
<td>2.3.0</td>
<td><a href="https://github.com/ROCm/hipBLAS"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/hipBLAS/en/docs-6.2.1">hipBLAS</a></td>
<td>2.2.0</td>
<td><a href="https://github.com/ROCm/hipBLAS/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/hipBLASLt/en/docs-6.3.1/index.html">hipBLASLt</a></td>
<td>0.10.0</td>
<td><a href="https://github.com/ROCm/hipBLASLt"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/hipBLASLt/en/docs-6.2.1">hipBLASLt</a></td>
<td>0.8.0</td>
<td><a href="https://github.com/ROCm/hipBLASLt/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/hipFFT/en/docs-6.3.1/index.html">hipFFT</a></td>
<td>1.0.17</td>
<td><a href="https://github.com/ROCm/hipFFT"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/hipFFT/en/docs-6.2.1">hipFFT</a></td>
<td>1.0.15</td>
<td><a href="https://github.com/ROCm/hipFFT/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/hipfort/en/docs-6.3.1/index.html">hipfort</a></td>
<td>0.5.0</td>
<td><a href="https://github.com/ROCm/hipfort"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/hipfort/en/docs-6.2.1">hipfort</a></td>
<td>0.4.0</td>
<td><a href="https://github.com/ROCm/hipfort/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/hipRAND/en/docs-6.3.1/index.html">hipRAND</a></td>
<td>2.11.1</td>
<td><a href="https://github.com/ROCm/hipRAND"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/hipRAND/en/docs-6.2.1">hipRAND</a></td>
<td>2.11.0</td>
<td><a href="https://github.com/ROCm/hipRAND/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/hipSOLVER/en/docs-6.3.1/index.html">hipSOLVER</a></td>
<td>2.3.0</td>
<td><a href="https://github.com/ROCm/hipSOLVER"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/hipSOLVER/en/docs-6.2.1">hipSOLVER</a></td>
<td>2.2.0</td>
<td><a href="https://github.com/ROCm/hipSOLVER/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/hipSPARSE/en/docs-6.3.1/index.html">hipSPARSE</a></td>
<td>3.1.2</td>
<td><a href="https://github.com/ROCm/hipSPARSE"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/hipSPARSE/en/docs-6.2.1">hipSPARSE</a></td>
<td>3.1.1</td>
<td><a href="https://github.com/ROCm/hipSPARSE/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/hipSPARSELt/en/docs-6.3.1/index.html">hipSPARSELt</a></td>
<td>0.2.2</td>
<td><a href="https://github.com/ROCm/hipSPARSELt"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/hipSPARSELt/en/docs-6.2.1">hipSPARSELt</a></td>
<td>0.2.1</td>
<td><a href="https://github.com/ROCm/hipSPARSELt/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocALUTION/en/docs-6.3.1/index.html">rocALUTION</a></td>
<td>3.2.1</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-6.3.1/index.html">rocBLAS</a></td>
<td>4.3.0</td>
<td><a href="https://github.com/ROCm/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-6.3.1/index.html">rocFFT</a></td>
<td>1.0.31</td>
<td><a href="https://github.com/ROCm/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-6.3.1/index.html">rocRAND</a></td>
<td><a href="https://rocm.docs.amd.com/projects/rocALUTION/en/docs-6.2.1">rocALUTION</a></td>
<td>3.2.0</td>
<td><a href="https://github.com/ROCm/rocRAND"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://github.com/ROCm/rocALUTION/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocSOLVER/en/docs-6.3.1/index.html">rocSOLVER</a></td>
<td>3.27.0</td>
<td><a href="https://github.com/ROCm/rocSOLVER"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/rocBLAS/en/docs-6.2.1">rocBLAS</a></td>
<td>4.1.2&nbsp;&Rightarrow;&nbsp;<a href="#rocblas-4-2-1">4.2.1</a></td>
<td><a href="https://github.com/ROCm/rocBLAS/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocSPARSE/en/docs-6.3.1/index.html">rocSPARSE</a></td>
<td>3.3.0</td>
<td><a href="https://github.com/ROCm/rocSPARSE"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/rocFFT/en/docs-6.2.1">rocFFT</a></td>
<td>1.0.28&nbsp;&Rightarrow;&nbsp;<a href="#rocfft-1-0-29">1.0.29</a></td>
<td><a href="https://github.com/ROCm/rocFFT/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocWMMA/en/docs-6.3.1/index.html">rocWMMA</a></td>
<td>1.6.0</td>
<td><a href="https://github.com/ROCm/rocWMMA"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/rocRAND/en/docs-6.2.1">rocRAND</a></td>
<td>3.1.0</td>
<td><a href="https://github.com/ROCm/rocRAND/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/Tensile/en/docs-6.3.1/src/index.html">Tensile</a></td>
<td>4.42.0</td>
<td><a href="https://github.com/ROCm/Tensile"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/rocSOLVER/en/docs-6.2.1">rocSOLVER</a></td>
<td>3.26.0</td>
<td><a href="https://github.com/ROCm/rocSOLVER/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocSPARSE/en/docs-6.2.1">rocSPARSE</a></td>
<td>3.2.0</td>
<td><a href="https://github.com/ROCm/rocSPARSE/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocWMMA/en/docs-6.2.1">rocWMMA</a></td>
<td>1.5.0</td>
<td><a href="https://github.com/ROCm/rocWMMA/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://github.com/ROCm/Tensile">Tensile</a></td>
<td>4.41.0</td>
<td><a href="https://github.com/ROCm/tensile/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
</tbody>
<tbody class="rocm-components-libs rocm-components-primitives">
<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-6.3.1/index.html">hipCUB</a></td>
<td>3.3.0</td>
<td><a href="https://github.com/ROCm/hipCUB"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/hipCUB/en/docs-6.2.1">hipCUB</a></td>
<td>3.2.0</td>
<td><a href="https://github.com/ROCm/hipCUB/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/hipTensor/en/docs-6.3.1/index.html">hipTensor</a></td>
<td>1.4.0</td>
<td><a href="https://github.com/ROCm/hipTensor"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/hipTensor/en/docs-6.2.1">hipTensor</a></td>
<td>1.3.0</td>
<td><a href="https://github.com/ROCm/hipTensor/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocPRIM/en/docs-6.3.1/index.html">rocPRIM</a></td>
<td>3.3.0</td>
<td><a href="https://github.com/ROCm/rocPRIM"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/rocPRIM/en/docs-6.2.1">rocPRIM</a></td>
<td>3.2.0&nbsp;&Rightarrow;&nbsp;<a href="#rocprim-3-2-1">3.2.1</a></td>
<td><a href="https://github.com/ROCm/rocPRIM/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocThrust/en/docs-6.3.1/index.html">rocThrust</a></td>
<td>3.3.0</td>
<td><a href="https://github.com/ROCm/rocThrust"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/rocThrust/en/docs-6.2.1">rocThrust</a></td>
<td>3.1.0</td>
<td><a href="https://github.com/ROCm/rocThrust/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
</tbody>
<tbody class="rocm-components-tools rocm-components-system">
<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-6.3.1/index.html">AMD SMI</a></td>
<td>24.7.1&nbsp;&Rightarrow;&nbsp;<a href="#amd-smi-24-7-1">24.7.1</a></td>
<td><a href="https://github.com/ROCm/amdsmi"><i class="fab fa-github fa-lg"></i></a></td>
<th rowspan="6">Tools</th>
<th rowspan="6">System management</th>
<td><a href="https://rocm.docs.amd.com/projects/amdsmi/en/docs-6.2.1">AMD SMI</a></td>
<td>24.6.2&nbsp;&Rightarrow;&nbsp;<a href="#amd-smi-24-6-3">24.6.3</a></td>
<td><a href="https://github.com/ROCm/amdsmi/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rdc/en/docs-6.3.1/index.html">ROCm Data Center Tool</a></td>
<td>0.3.0</td>
<td><a href="https://github.com/ROCm/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-6.3.1/index.html">rocminfo</a></td>
<td><a href="https://rocm.docs.amd.com/projects/rocminfo/en/docs-6.2.1">rocminfo</a></td>
<td>1.0.0</td>
<td><a href="https://github.com/ROCm/rocminfo"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://github.com/ROCm/rocminfo/releases/tag/rocm-6.2.1"><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-6.3.1/index.html">ROCm SMI</a></td>
<td>7.4.0</td>
<td><a href="https://github.com/ROCm/rocm_smi_lib"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/rdc/en/docs-6.2.1">ROCm Data Center Tool</a></td>
<td>1.0.0</td>
<td><a href="https://github.com/ROCm/rdc/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/ROCmValidationSuite/en/docs-6.3.1/index.html">ROCmValidationSuite</a></td>
<td>1.1.0</td>
<td><a href="https://github.com/ROCm/ROCmValidationSuite"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/rocm_smi_lib/en/docs-6.2.1">ROCm SMI</a></td>
<td>7.3.0&nbsp;&Rightarrow;&nbsp;<a href="#rocm-smi-7-3-0">7.3.0</a></td>
<td><a href="https://github.com/ROCm/rocm_smi_lib/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/ROCmValidationSuite/en/docs-6.2.1">ROCm Validation Suite</a></td>
<td>1.0.0</td>
<td><a href="https://github.com/ROCm/ROCmValidationSuite/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
</tbody>
<tbody class="rocm-components-tools rocm-components-perf tbody-reverse-zebra">
<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-6.3.1/index.html">ROCm Bandwidth
<td><a href="https://rocm.docs.amd.com/projects/omniperf/en/docs-6.2.1">Omniperf</a></td>
<td>2.0.1</td>
<td><a href="https://github.com/ROCm/omniperf/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/omnitrace/en/docs-6.2.1">Omnitrace</a></td>
<td>1.11.2&nbsp;&Rightarrow;&nbsp;<a href="#omnitrace-1-11-2">1.11.2</a></td>
<td><a href="https://github.com/ROCm/omnitrace/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/rocm_bandwidth_test/en/docs-6.2.1">ROCm Bandwidth
Test</a></td>
<td>1.4.0</td>
<td><a href="https://github.com/ROCm/rocm_bandwidth_test/"><i
<td><a href="https://github.com/ROCm/rocm_bandwidth_test/releases/tag/rocm-6.2.1"><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-6.3.1/index.html">ROCm Compute Profiler</a></td>
<td>3.0.0&nbsp;&Rightarrow;&nbsp<a href="#rocm-compute-profiler-3-0-0">3.0.0</a></td>
<td><a href="https://github.com/ROCm/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-6.3.1/index.html">ROCm Systems Profiler</a></td>
<td>0.1.0&nbsp;&Rightarrow;&nbsp<a href="#rocm-systems-profiler-0-1-0">0.1.0</a></td>
<td><a href="https://github.com/ROCm/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-6.3.1/index.html">ROCProfiler</a></td>
<td><a href="https://rocm.docs.amd.com/projects/rocprofiler/en/docs-6.2.1/">ROCProfiler</a></td>
<td>2.0.0</td>
<td><a href="https://github.com/ROCm/ROCProfiler/"><i
<td><a href="https://github.com/ROCm/ROCProfiler/releases/tag/rocm-6.2.1"><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-6.3.1/index.html">ROCprofiler-SDK</a></td>
<td>0.5.0&nbsp;&Rightarrow;&nbsp;<a href="#rocprofiler-sdk-0-5-0">0.5.0</a></td>
<td><a href="https://github.com/ROCm/rocprofiler-sdk/"><i
<td><a href="https://rocm.docs.amd.com/projects/rocprofiler-sdk/en/docs-6.2.1">ROCprofiler-SDK</a></td>
<td>0.4.0</td>
<td><a href="https://github.com/ROCm/rocprofiler-sdk/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr >
<td><a href="https://rocm.docs.amd.com/projects/roctracer/en/docs-6.3.1/index.html">ROCTracer</a></td>
<td><a href="https://rocm.docs.amd.com/projects/roctracer/en/docs-6.2.1/">ROCTracer</a></td>
<td>4.1.0</td>
<td><a href="https://github.com/ROCm/ROCTracer/"><i
<td><a href="https://github.com/ROCm/ROCTracer/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
</tbody>
<tbody class="rocm-components-tools rocm-components-dev tbody-reverse-zebra">
<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-6.3.1/index.html">HIPIFY</a></td>
<td><a href="https://rocm.docs.amd.com/projects/HIPIFY/en/docs-6.2.1/">HIPIFY</a></td>
<td>18.0.0&nbsp;&Rightarrow;&nbsp;<a href="#hipify-18-0-0">18.0.0</a></td>
<td><a href="https://github.com/ROCm/HIPIFY/"><i
<td><a href="https://github.com/ROCm/HIPIFY/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/ROCdbgapi/en/docs-6.3.1/index.html">ROCdbgapi</a></td>
<td>0.77.0</td>
<td><a href="https://github.com/ROCm/ROCdbgapi/"><i
<td><a href="https://rocm.docs.amd.com/projects/ROCdbgapi/en/docs-6.2.1">ROCdbgapi</a></td>
<td>0.76.0</td>
<td><a href="https://github.com/ROCm/ROCdbgapi/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/ROCmCMakeBuildTools/en/docs-6.3.1/index.html">ROCm CMake</a></td>
<td>0.14.0</td>
<td><a href="https://github.com/ROCm/rocm-cmake/"><i
<td><a href="https://rocm.docs.amd.com/projects/ROCmCMakeBuildTools/en/docs-6.2.1/">ROCm CMake</a></td>
<td>0.13.0</td>
<td><a href="https://github.com/ROCm/rocm-cmake/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
<tr>
<td><a href="https://rocm.docs.amd.com/projects/ROCgdb/en/docs-6.3.1/index.html">ROCm Debugger (ROCgdb)</a>
<td><a href="https://rocm.docs.amd.com/projects/ROCgdb/en/docs-6.2.1">ROCm Debugger (ROCgdb)</a>
</td>
<td>15.2</td>
<td><a href="https://github.com/ROCm/ROCgdb/"><i
<td>14.2</td>
<td><a href="https://github.com/ROCm/ROCgdb/releases/tag/rocm-6.2.1"><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-6.3.1/index.html">ROCr Debug Agent</a>
<td><a href="https://rocm.docs.amd.com/projects/rocr_debug_agent/en/docs-6.2.1">ROCr Debug Agent</a>
</td>
<td>2.0.3</td>
<td><a href="https://github.com/ROCm/rocr_debug_agent/"><i
<td><a href="https://github.com/ROCm/rocr_debug_agent/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
</tbody>
<tbody class="rocm-components-compilers">
<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-6.3.1/index.html">HIPCC</a></td>
<td><a href="https://rocm.docs.amd.com/projects/HIPCC/en/docs-6.2.1">HIPCC</a></td>
<td>1.1.1</td>
<td><a href="https://github.com/ROCm/llvm-project/"><i
<td><a href="https://github.com/ROCm/llvm-project/releases/tag/rocm-6.2.1"><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-6.3.1/index.html">llvm-project</a></td>
<td><a href="https://rocm.docs.amd.com/projects/llvm-project/en/docs-6.2.1">llvm-project</a></td>
<td>18.0.0</td>
<td><a href="https://github.com/ROCm/llvm-project/"><i
<td><a href="https://github.com/ROCm/llvm-project/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
</tbody>
<tbody class="rocm-components-runtimes">
<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-6.3.1/index.html">HIP</a></td>
<td>6.3.0&nbsp;&Rightarrow;&nbsp;<a href="#hip-6-3-1">6.3.1</a></td>
<td><a href="https://github.com/ROCm/HIP/"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://rocm.docs.amd.com/projects/HIP/en/docs-6.2.1">HIP</a></td>
<td>6.2&nbsp;&Rightarrow;&nbsp;<a href="#hip-6-2-1">6.2.1</a></td>
<td><a href="https://github.com/ROCm/HIP/releases/tag/rocm-6.2.1"><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-6.3.1/index.html">ROCr Runtime</a></td>
<td><a href="https://rocm.docs.amd.com/projects/ROCR-Runtime/en/docs-6.2.1">ROCr Runtime</a></td>
<td>1.14.0</td>
<td><a href="https://github.com/ROCm/ROCR-Runtime/"><i class="fab fa-github fa-lg"></i></a></td>
<td><a href="https://github.com/ROCm/ROCR-Runtime/releases/tag/rocm-6.2.1"><i
class="fab fa-github fa-lg"></i></a></td>
</tr>
</tbody>
</table>
</div>
## Detailed component changes
### Detailed component changes
The following sections describe key changes to ROCm components.
### **AMD SMI** (24.7.1)
#### **AMD SMI** (24.6.3)
#### Changed
##### Changes
* `amd-smi monitor` displays `VCLOCK` and `DCLOCK` instead of `ENC_CLOCK` and `DEC_CLOCK`.
* Added `amd-smi static --ras` on Guest VMs. Guest VMs can view enabled/disabled RAS features on Host cards.
#### Resolved issues
##### Removals
* Fixed `amd-smi monitor`'s reporting of encode and decode information. `VCLOCK` and `DCLOCK` are
now associated with both `ENC_UTIL` and `DEC_UTIL`.
* Removed `amd-smi metric --ecc` & `amd-smi metric --ecc-blocks` on Guest VMs. Guest VMs do not support getting current ECC counts from the Host cards.
```{note}
See the full [AMD SMI changelog](https://github.com/ROCm/amdsmi/blob/6.3.x/CHANGELOG.md) for more details and examples.
```
##### Resolved issues
### **HIP** (6.3.1)
* Fixed TypeError in `amd-smi process -G`.
* Updated CLI error strings to handle empty and invalid GPU/CPU inputs.
* Fixed Guest VM showing passthrough options.
* Fixed firmware formatting where leading 0s were missing.
#### Added
#### **HIP** (6.2.1)
* An activeQueues set that tracks only the queues that have a command submitted to them, which allows fast iteration in `waitActiveStreams`.
##### Resolved issues
#### Optimized
* Soft hang when using `AMD_SERIALIZE_KERNEL`
* Memory leak in `hipIpcCloseMemHandle`
* Mechanism of preventing `hipLaunchKernel` latency degradation with number of idle streams is implemented for performance improvement.
#### **HIPIFY** (18.0.0)
### **HIPIFY** (18.0.0)
##### Changes
#### Added
* Added CUDA 12.5.1 support
* Added cuDNN 9.2.1 support
* Added LLVM 18.1.8 support
* Added `hipBLAS` 64-bit APIs support
* Added Support for math constants `math_constants.h`
* Support for:
* NVIDIA CUDA 12.6.2
* cuDNN 9.5.1
* LLVM 19.1.3
* Full `hipBLAS` 64-bit APIs
* Full `rocBLAS` 64-bit APIs
#### **Omnitrace** (1.11.2)
#### Resolved issues
##### Known issues
* Added missing support for device intrinsics and built-ins: `__all_sync`, `__any_sync`, `__ballot_sync`, `__activemask`, `__match_any_sync`, `__match_all_sync`, `__shfl_sync`, `__shfl_up_sync`, `__shfl_down_sync`, and `__shfl_xor_sync`.
Perfetto can no longer open Omnitrace proto files. Loading Perfetto trace output `.proto` files in the latest version of `ui.perfetto.dev` can result in a dialog with the message, "Oops, something went wrong! Please file a bug." The information in the dialog will refer to an "Unknown field type." The workaround is to open the files with the previous version of the Perfetto UI found at [https://ui.perfetto.dev/v46.0-35b3d9845/#!/](https://ui.perfetto.dev/v46.0-35b3d9845/#!/).
### **MIVisionX** (3.1.0)
See [issue #3767](https://github.com/ROCm/ROCm/issues/3767) on GitHub.
#### Changed
#### **RCCL** (2.20.5)
* AMD Clang is now the default CXX and C compiler.
* The dependency on rocDecode has been removed and automatic rocDecode installation is now disabled in the setup script.
##### Known issues
#### Resolved issues
On systems running Linux kernel 6.8.0, such as Ubuntu 24.04, Direct Memory Access (DMA) transfers between the GPU and NIC are disabled and impacts multi-node RCCL performance.
This issue was reproduced with RCCL 2.20.5 (ROCm 6.2.0 and 6.2.1) on systems with Broadcom Thor-2 NICs and affects other systems with RoCE networks using Linux 6.8.0 or newer.
Older RCCL versions are also impacted.
* Canny failure on Instinct MI300 has been fixed.
* Ubuntu 24.04 CTest failures have been fixed.
This issue will be addressed in a future ROCm release.
#### Known issues
See [issue #3772](https://github.com/ROCm/ROCm/issues/3772) on GitHub.
* CentOS, Red Hat, and SLES requires the manual installation of `OpenCV` and `FFMPEG`.
* Hardware decode requires that ROCm is installed with `--usecase=graphics`.
#### **rocAL** (2.0.0)
#### Upcoming changes
##### Changes
* The new version of rocAL introduces many new features, but does not modify any of the existing public API functions.However, the version number was incremented from 1.3 to 2.0.
Applications linked to version 1.3 must be recompiled to link against version 2.0.
* Added development and test packages.
* Added C++ rocAL audio unit test and Python script to run and compare the outputs.
* Added Python support for audio decoders.
* Added Pytorch iterator for audio.
* Added Python audio unit test and support to verify outputs.
* Added rocDecode for HW decode.
* Added support for:
* Audio loader and decoder, which uses libsndfile library to decode wav files
* Audio augmentation - PreEmphasis filter, Spectrogram, ToDecibels, Resample, NonSilentRegionDetection, MelFilterBank
* Generic augmentation - Slice, Normalize
* Reading from file lists in file reader
* Downmixing audio channels during decoding
* TensorTensorAdd and TensorScalarMultiply operations
* Uniform and Normal distribution nodes
* Image to tensor updates
* ROCm install - use case graphics removed
* Optimized audio augmentations support for VX_RPP.
##### Known issues
* Dependencies are not installed with the rocAL package installer. Dependencies must be installed with the prerequisite setup script provided. See the [rocAL README on GitHub](https://github.com/ROCm/rocAL/blob/docs/6.2.1/README.md#prerequisites-setup-script) for details.
### **RCCL** (2.21.5)
#### **rocBLAS** (4.2.1)
#### Changed
##### Removals
* Enhanced the user documentation.
* Removed Device_Memory_Allocation.pdf link in documentation.
#### Resolved Issues
##### Resolved issues
* Corrected some user help strings in `install.sh`.
* Fixed error/warning message during `rocblas_set_stream()` call.
### **ROCm Compute Profiler** (3.0.0)
#### **rocFFT** (1.0.29)
#### Resolved issues
##### Optimizations
* Fixed a minor issue for users upgrading to ROCm 6.3 from 6.2 post-rename from `omniperf`.
See [ROCm Compute Profiler and ROCm Systems Profiler post-upgrade issues](#rocm-compute-profiler-and-rocm-systems-profiler-post-upgrade-issues).
* Implemented 1D kernels for factorizable sizes less than 1024.
### **ROCm Systems Profiler** (0.1.0)
#### **ROCm SMI** (7.3.0)
#### Added
##### Optimizations
* Improvements to support OMPT target offload.
* Improved handling of UnicodeEncodeErrors with non UTF-8 locales. Non UTF-8 locales were causing crashes on UTF-8 special characters.
#### Resolved issues
##### Resolved issues
* Fixed an issue with generated Perfetto files. See [issue #3767](https://github.com/ROCm/ROCm/issues/3767) for more information.
* Fixed an issue where the Compute Partition tests segfaulted when AMDGPU was loaded with optional parameters.
* Fixed an issue with merging multiple `.proto` files.
##### Known issues
* Fixed an issue causing GPU resource data to be missing from traces of Instinct MI300A systems.
* When setting CPX as a partition mode, there is a DRM node limit of 64. This is a known limitation when multiple drivers are using the DRM nodes. The `ls /sys/class/drm` command can be used to see the number of DRM nodes, and the following steps can be used to remove unnecessary drivers:
1. Unload AMDGPU: `sudo rmmod amdgpu`.
2. Remove any unnecessary drivers using `rmmod`. For example, to remove an AST driver, run `sudo rmmod ast`.
3. Reload AMDGPU using `modprobe`: `sudo modprobe amdgpu`.
* Fixed a minor issue for users upgrading to ROCm 6.3 from 6.2 post-rename from `omnitrace`.
See [ROCm Compute Profiler and ROCm Systems Profiler post-upgrade issues](#rocm-compute-profiler-and-rocm-systems-profiler-post-upgrade-issues).
#### **rocPRIM** (3.2.1)
### **ROCprofiler-SDK** (0.5.0)
##### Optimizations
#### Added
* Improved performance of `block_reduce_warp_reduce` when warp size equals block size.
* SIMD_UTILIZATION metric.
* New <a href="https://rocm.docs.amd.com/projects/rdc/en/docs-6.3.1/index.html">ROCm Data Center (RDC)</a> ops metrics.
### ROCm known issues
## ROCm known issues
ROCm known issues are tracked on [GitHub](https://github.com/ROCm/ROCm/labels/Verified%20Issue). Known issues related to
individual components are listed in the [Detailed component changes](detailed-component-changes) section.
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).
#### Instinct MI300X GPU recovery failure on uncorrectable errors
### PCI Express Qualification Tool failure on Debian 12
For the AMD Instinct MI300X accelerator, GPU recovery resets triggered by uncorrectable errors (UE) might not complete
successfully, which can result in the system being left in an undefined state. A system reboot is needed to recover from
this state. Additionally, error logging might fail in these situations, hindering diagnostics.
The PCI Express Qualification Tool (PEQT) module present in the ROCm Validation Suite (RVS) might fail due to the segmentation issue in Debian 12 (bookworm). This will result in failure to determine the characteristics of the PCIe interconnect between the host platform and the GPU like support for Gen 3 atomic completers, DMA transfer statistics, link speed, and link width. The standard PCIe command `lspci` can be used as an alternative to view the characteristics of the PCIe bus interconnect with the GPU. This issue is under investigation and will be addressed in a future release. See [GitHub issue #4175](https://github.com/ROCm/ROCm/issues/4175).
This issue is under investigation and will be resolved in a future ROCm release.
## ROCm resolved issues
See [issue #3766](https://github.com/ROCm/ROCm/issues/3766) on GitHub.
The following are previously known issues resolved in this release. For resolved issues related to
individual components, review the [Detailed component changes](#detailed-component-changes).
### Instinct MI300 series: backward weights convolution performance issue
Fixed a performance issue affecting certain tensor shapes during backward weights convolution when using FP16 or FP32 data types on Instinct MI300 series accelerators. See [GitHub issue #4080](https://github.com/ROCm/ROCm/issues/4080).
### ROCm Compute Profiler and ROCm Systems Profiler post-upgrade issues
Packaging metadata for ROCm Compute Profiler (`rocprofiler-compute`) and ROCm Systems Profiler
(`rocprofiler-systems`) has been updated to handle the renaming from Omniperf and Omnitrace,
respectively. This fixes minor issues when upgrading from ROCm 6.2 to 6.3. For more information, see the GitHub issues
[#4082](https://github.com/ROCm/ROCm/issues/4082) and
[#4083](https://github.com/ROCm/ROCm/issues/4083).
### Stale file due to OpenCL ICD loader deprecation
When upgrading from ROCm 6.2.x to ROCm 6.3.0, the issue of removal of the `rocm-icd-loader` package
leaving a stale file in the old `rocm-6.2.x` directory has been resolved. The stale files left during
the upgrade from ROCm 6.2.x to ROCm 6.3.0 will be removed when upgrading to ROCm 6.3.1. For more
information, see [GitHub issue #4084](https://github.com/ROCm/ROCm/issues/4084).
## ROCm upcoming changes
### ROCm upcoming changes
The following changes to the ROCm software stack are anticipated for future releases.
### AMDGPU wavefront size compiler macro deprecation
#### rocm-llvm-alt
The `__AMDGCN_WAVEFRONT_SIZE__` macro will be deprecated in an upcoming
release. It is recommended to remove any use of this macro. For more information, see [AMDGPU
support](https://rocm.docs.amd.com/projects/llvm-project/en/docs-6.3.1/LLVM/clang/html/AMDGPUSupport.html).
The `rocm-llvm-alt` package will be removed in an upcoming release. Users relying on the functionality provided by the closed-source compiler should transition to the open-source compiler. Once the `rocm-llvm-alt` package is removed, any compilation requesting functionality provided by the closed-source compiler will result in a Clang warning: "*[AMD] proprietary optimization compiler has been removed*".
### HIPCC Perl scripts deprecation
The HIPCC Perl scripts (`hipcc.pl` and `hipconfig.pl`) will be removed in an upcoming release.
#### rccl-rdma-sharp-plugins
The RCCL plugin package, `rccl-rdma-sharp-plugins`, will be removed in an upcoming ROCm release.

View File

@@ -1,14 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="rocm-org" fetch="https://github.com/ROCm/" />
<default revision="refs/tags/rocm-6.3.1"
<default revision="refs/tags/rocm-6.2.2"
remote="rocm-org"
sync-c="true"
sync-j="4" />
<!--list of projects for ROCm-->
<project name="ROCK-Kernel-Driver" />
<project name="ROCR-Runtime" />
<project name="ROCT-Thunk-Interface" />
<project name="amdsmi" />
<project name="omniperf" />
<project name="omnitrace" />
<project name="rdc" />
<project name="rocm_bandwidth_test" />
<project name="rocm_smi_lib" />
@@ -18,8 +21,6 @@
<project name="rocprofiler" />
<project name="rocprofiler-register" />
<project name="rocprofiler-sdk" />
<project name="rocprofiler-compute" />
<project name="rocprofiler-systems" />
<project name="roctracer" />
<!--HIP Projects-->
<project name="HIP" />
@@ -41,7 +42,6 @@
<project groups="mathlibs" name="ROCmValidationSuite" />
<project groups="mathlibs" name="Tensile" />
<project groups="mathlibs" name="composable_kernel" />
<project groups="mathlibs" name="hipBLAS-common" />
<project groups="mathlibs" name="hipBLAS" />
<project groups="mathlibs" name="hipBLASLt" />
<project groups="mathlibs" name="hipCUB" />
@@ -57,7 +57,6 @@
<project groups="mathlibs" name="rocALUTION" />
<project groups="mathlibs" name="rocBLAS" />
<project groups="mathlibs" name="rocDecode" />
<project groups="mathlibs" name="rocJPEG" />
<project groups="mathlibs" name="rocPyDecode" />
<project groups="mathlibs" name="rocFFT" />
<project groups="mathlibs" name="rocPRIM" />
@@ -68,7 +67,6 @@
<project groups="mathlibs" name="rocWMMA" />
<project groups="mathlibs" name="rocm-cmake" />
<project groups="mathlibs" name="rpp" />
<project groups="mathlibs" name="TransferBench" />
<!-- Projects for OpenMP-Extras -->
<project name="aomp" path="openmp-extras/aomp" />
<project name="aomp-extras" path="openmp-extras/aomp-extras" />

View File

@@ -25,15 +25,15 @@ additional licenses. Please review individual repositories for more information.
<!-- spellcheck-disable -->
| Component | License |
|:---------------------|:-------------------------|
| [AMD Compute Language Runtime (CLR)](https://github.com/ROCm/clr) | [MIT](https://github.com/ROCm/clr/blob/amd-staging/LICENCE) |
| [AMD SMI](https://github.com/ROCm/amdsmi) | [MIT](https://github.com/ROCm/amdsmi/blob/amd-staging/LICENSE) |
| [AMD Common Language Runtime (CLR)](https://github.com/ROCm/clr) | [MIT](https://github.com/ROCm/clr/blob/develop/LICENCE) |
| [AMD SMI](https://github.com/ROCm/amdsmi) | [MIT](https://github.com/ROCm/amdsmi/blob/develop/LICENSE) |
| [aomp](https://github.com/ROCm/aomp/) | [Apache 2.0](https://github.com/ROCm/aomp/blob/aomp-dev/LICENSE) |
| [aomp-extras](https://github.com/ROCm/aomp-extras/) | [MIT](https://github.com/ROCm/aomp-extras/blob/aomp-dev/LICENSE) |
| [Code Object Manager (Comgr)](https://github.com/ROCm/llvm-project/tree/amd-staging/amd/comgr) | [The University of Illinois/NCSA](https://github.com/ROCm/llvm-project/blob/amd-staging/amd/comgr/LICENSE.txt) |
| [Composable Kernel](https://github.com/ROCm/composable_kernel) | [MIT](https://github.com/ROCm/composable_kernel/blob/develop/LICENSE) |
| [half](https://github.com/ROCm/half/) | [MIT](https://github.com/ROCm/half/blob/rocm/LICENSE.txt) |
| [HIP](https://github.com/ROCm/HIP/) | [MIT](https://github.com/ROCm/HIP/blob/amd-staging/LICENSE.txt) |
| [hipamd](https://github.com/ROCm/clr/tree/amd-staging/hipamd) | [MIT](https://github.com/ROCm/clr/blob/amd-staging/hipamd/LICENSE.txt) |
| [HIP](https://github.com/ROCm/HIP/) | [MIT](https://github.com/ROCm/HIP/blob/develop/LICENSE.txt) |
| [hipamd](https://github.com/ROCm/clr/tree/develop/hipamd) | [MIT](https://github.com/ROCm/clr/blob/develop/hipamd/LICENSE.txt) |
| [hipBLAS](https://github.com/ROCm/hipBLAS/) | [MIT](https://github.com/ROCm/hipBLAS/blob/develop/LICENSE.md) |
| [hipBLASLt](https://github.com/ROCm/hipBLASLt/) | [MIT](https://github.com/ROCm/hipBLASLt/blob/develop/LICENSE.md) |
| [HIPCC](https://github.com/ROCm/llvm-project/tree/amd-staging/amd/hipcc) | [MIT](https://github.com/ROCm/llvm-project/blob/amd-staging/amd/hipcc/LICENSE.txt) |
@@ -52,39 +52,39 @@ additional licenses. Please review individual repositories for more information.
| [MIGraphX](https://github.com/ROCm/AMDMIGraphX/) | [MIT](https://github.com/ROCm/AMDMIGraphX/blob/develop/LICENSE) |
| [MIOpen](https://github.com/ROCm/MIOpen/) | [MIT](https://github.com/ROCm/MIOpen/blob/develop/LICENSE.txt) |
| [MIVisionX](https://github.com/ROCm/MIVisionX/) | [MIT](https://github.com/ROCm/MIVisionX/blob/develop/LICENSE.txt) |
| [Omniperf](https://github.com/ROCm/omniperf) | [MIT](https://github.com/ROCm/omniperf/blob/main/LICENSE) |
| [Omnitrace](https://github.com/ROCm/omnitrace) | [MIT](https://github.com/ROCm/omnitrace/blob/main/LICENSE) |
| [rocAL](https://github.com/ROCm/rocAL) | [MIT](https://github.com/ROCm/rocAL/blob/develop/LICENSE.txt) |
| [rocALUTION](https://github.com/ROCm/rocALUTION/) | [MIT](https://github.com/ROCm/rocALUTION/blob/develop/LICENSE.md) |
| [rocBLAS](https://github.com/ROCm/rocBLAS/) | [MIT](https://github.com/ROCm/rocBLAS/blob/develop/LICENSE.md) |
| [ROCdbgapi](https://github.com/ROCm/ROCdbgapi/) | [MIT](https://github.com/ROCm/ROCdbgapi/blob/amd-staging/LICENSE.txt) |
| [rocDecode](https://github.com/ROCm/rocDecode) | [MIT](https://github.com/ROCm/rocDecode/blob/develop/LICENSE) |
| [rocFFT](https://github.com/ROCm/rocFFT/) | [MIT](https://github.com/ROCm/rocFFT/blob/develop/LICENSE.md) |
| [ROCgdb](https://github.com/ROCm/ROCgdb/) | [GNU General Public License v3.0](https://github.com/ROCm/ROCgdb/blob/amd-staging/COPYING3) |
| [rocJPEG](https://github.com/ROCm/rocJPEG/) | [MIT](https://github.com/ROCm/rocJPEG/blob/develop/LICENSE) |
| [ROCgdb](https://github.com/ROCm/ROCgdb/) | [GNU General Public License v2.0](https://github.com/ROCm/ROCgdb/blob/amd-master/COPYING) |
| [ROCK-Kernel-Driver](https://github.com/ROCm/ROCK-Kernel-Driver/) | [GPL 2.0 WITH Linux-syscall-note](https://github.com/ROCm/ROCK-Kernel-Driver/blob/master/COPYING) |
| [rocminfo](https://github.com/ROCm/rocminfo/) | [The University of Illinois/NCSA](https://github.com/ROCm/rocminfo/blob/amd-staging/License.txt) |
| [ROCm Bandwidth Test](https://github.com/ROCm/rocm_bandwidth_test/) | [MIT](https://github.com/ROCm/rocm_bandwidth_test/blob/master/LICENSE.txt) |
| [ROCm Bandwidth Test](https://github.com/ROCm/rocm_bandwidth_test/) | [The University of Illinois/NCSA](https://github.com/ROCm/rocm_bandwidth_test/blob/master/LICENSE.txt) |
| [ROCm CMake](https://github.com/ROCm/rocm-cmake/) | [MIT](https://github.com/ROCm/rocm-cmake/blob/develop/LICENSE) |
| [ROCm Communication Collectives Library (RCCL)](https://github.com/ROCm/rccl/) | [Custom](https://github.com/ROCm/rccl/blob/develop/LICENSE.txt) |
| [ROCm-Core](https://github.com/ROCm/rocm-core) | [MIT](https://github.com/ROCm/rocm-core/blob/master/copyright) |
| [ROCm Compute Profiler](https://github.com/ROCm/rocprofiler-compute) | [MIT](https://github.com/ROCm/rocprofiler-compute/blob/amd-staging/LICENSE) |
| [ROCm Data Center (RDC)](https://github.com/ROCm/rdc/) | [MIT](https://github.com/ROCm/rdc/blob/amd-staging/LICENSE) |
| [ROCm Data Center (RDC)](https://github.com/ROCm/rdc/) | [MIT](https://github.com/ROCm/rdc/blob/develop/LICENSE) |
| [ROCm-Device-Libs](https://github.com/ROCm/llvm-project/tree/amd-staging/amd/device-libs) | [The University of Illinois/NCSA](https://github.com/ROCm/llvm-project/blob/amd-staging/amd/device-libs/LICENSE.TXT) |
| [ROCm-OpenCL-Runtime](https://github.com/ROCm/clr/tree/amd-staging/opencl) | [MIT](https://github.com/ROCm/clr/blob/amd-staging/opencl/LICENSE.txt) |
| [ROCm-OpenCL-Runtime](https://github.com/ROCm/clr/tree/develop/opencl) | [MIT](https://github.com/ROCm/clr/blob/develop/opencl/LICENSE.txt) |
| [ROCm Performance Primitives (RPP)](https://github.com/ROCm/rpp) | [MIT](https://github.com/ROCm/rpp/blob/develop/LICENSE) |
| [ROCm SMI Lib](https://github.com/ROCm/rocm_smi_lib/) | [MIT](https://github.com/ROCm/rocm_smi_lib/blob/amd-staging/License.txt) |
| [ROCm Systems Profiler](https://github.com/ROCm/rocprofiler-systems) | [MIT](https://github.com/ROCm/rocprofiler-systems/blob/amd-staging/LICENSE) |
| [ROCm SMI Lib](https://github.com/ROCm/rocm_smi_lib/) | [MIT](https://github.com/ROCm/rocm_smi_lib/blob/develop/License.txt) |
| [ROCm Validation Suite](https://github.com/ROCm/ROCmValidationSuite/) | [MIT](https://github.com/ROCm/ROCmValidationSuite/blob/master/LICENSE) |
| [rocPRIM](https://github.com/ROCm/rocPRIM/) | [MIT](https://github.com/ROCm/rocPRIM/blob/develop/LICENSE.txt) |
| [ROCProfiler](https://github.com/ROCm/rocprofiler/) | [MIT](https://github.com/ROCm/rocprofiler/blob/amd-staging/LICENSE) |
| [ROCProfiler](https://github.com/ROCm/rocprofiler/) | [MIT](https://github.com/ROCm/rocprofiler/blob/amd-master/LICENSE) |
| [ROCprofiler-SDK](https://github.com/ROCm/rocprofiler-sdk) | [MIT](https://github.com/ROCm/rocprofiler-sdk/blob/amd-mainline/LICENSE) |
| [rocPyDecode](https://github.com/ROCm/rocPyDecode) | [MIT](https://github.com/ROCm/rocPyDecode/blob/develop/LICENSE) |
| [rocRAND](https://github.com/ROCm/rocRAND/) | [MIT](https://github.com/ROCm/rocRAND/blob/develop/LICENSE.txt) |
| [ROCr Debug Agent](https://github.com/ROCm/rocr_debug_agent/) | [The University of Illinois/NCSA](https://github.com/ROCm/rocr_debug_agent/blob/amd-staging/LICENSE.txt) |
| [ROCR-Runtime](https://github.com/ROCm/ROCR-Runtime/) | [The University of Illinois/NCSA](https://github.com/ROCm/ROCR-Runtime/blob/amd-staging/LICENSE.txt) |
| [ROCR-Runtime](https://github.com/ROCm/ROCR-Runtime/) | [The University of Illinois/NCSA](https://github.com/ROCm/ROCR-Runtime/blob/master/LICENSE.txt) |
| [rocSOLVER](https://github.com/ROCm/rocSOLVER/) | [BSD-2-Clause](https://github.com/ROCm/rocSOLVER/blob/develop/LICENSE.md) |
| [rocSPARSE](https://github.com/ROCm/rocSPARSE/) | [MIT](https://github.com/ROCm/rocSPARSE/blob/develop/LICENSE.md) |
| [rocThrust](https://github.com/ROCm/rocThrust/) | [Apache 2.0](https://github.com/ROCm/rocThrust/blob/develop/LICENSE) |
| [ROCTracer](https://github.com/ROCm/roctracer/) | [MIT](https://github.com/ROCm/roctracer/blob/amd-master/LICENSE) |
| [ROCT-Thunk-Interface](https://github.com/ROCm/ROCT-Thunk-Interface/) | [MIT](https://github.com/ROCm/ROCT-Thunk-Interface/blob/master/LICENSE.md) |
| [rocWMMA](https://github.com/ROCm/rocWMMA/) | [MIT](https://github.com/ROCm/rocWMMA/blob/develop/LICENSE.md) |
| [Tensile](https://github.com/ROCm/Tensile/) | [MIT](https://github.com/ROCm/Tensile/blob/develop/LICENSE.md) |
| [TransferBench](https://github.com/ROCm/TransferBench) | [MIT](https://github.com/ROCm/TransferBench/blob/develop/LICENSE.md) |
@@ -99,7 +99,7 @@ repositories to distinguish from open sourced packages.
The following additional terms and conditions apply to your use of ROCm technical documentation.
```
©2023 - 2025 Advanced Micro Devices, Inc. All rights reserved.
©2023 - 2024 Advanced Micro Devices, Inc. All rights reserved.
The information presented in this document is for informational purposes only
and may contain technical inaccuracies, omissions, and typographical errors. The

View File

@@ -1,129 +1,117 @@
ROCm Version,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>`,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, 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 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"
,RHEL 8.10,RHEL 8.10,"RHEL 8.10, 8.9","RHEL 8.10, 8.9","RHEL 8.10, 8.9","RHEL 8.10, 8.9","RHEL 8.9, 8.8","RHEL 8.9, 8.8","RHEL 8.9, 8.8","RHEL 8.9, 8.8","RHEL 8.9, 8.8","RHEL 8.9, 8.8"
,"SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP5, SP4","SLES 15 SP5, SP4","SLES 15 SP5, SP4","SLES 15 SP5, SP4","SLES 15 SP5, SP4","SLES 15 SP5, SP4"
,,,,,,,,CentOS 7.9,CentOS 7.9,CentOS 7.9,CentOS 7.9,CentOS 7.9
,Oracle Linux 8.10 [#mic300x-past-60]_,Oracle Linux 8.10 [#mic300x-past-60]_,Oracle Linux 8.9 [#mic300x-past-60]_,Oracle Linux 8.9 [#mic300x-past-60]_,Oracle Linux 8.9 [#mic300x-past-60]_,Oracle Linux 8.9 [#mic300x-past-60]_,Oracle Linux 8.9 [#mic300x-past-60]_,Oracle Linux 8.9 [#mic300x-past-60]_,Oracle Linux 8.9 [#mic300x-past-60]_,,,
,Debian 12 [#single-node-past-60]_,,,,,,,,,,,
,Azure Linux 3.0 [#mic300x-past-60]_,,,,,,,,,,,
,.. _architecture-support-compatibility-matrix-past-60:,,,,,,,,,,,
:doc:`Architecture <rocm-install-on-linux:reference/system-requirements>`,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3
,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2
,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA
,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3
,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2
,.. _gpu-support-compatibility-matrix-past-60:,,,,,,,,,,,
:doc:`GPU / LLVM target <rocm-install-on-linux:reference/system-requirements>`,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100
,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030
,gfx942,gfx942,gfx942 [#mi300_624-past-60]_,gfx942 [#mi300_622-past-60]_,gfx942 [#mi300_621-past-60]_,gfx942 [#mi300_620-past-60]_, gfx942 [#mi300_612-past-60]_, gfx942 [#mi300_612-past-60]_, gfx942 [#mi300_611-past-60]_, gfx942 [#mi300_610-past-60]_, gfx942 [#mi300_602-past-60]_, gfx942 [#mi300_600-past-60]_
,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a
,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908
,,,,,,,,,,,,
FRAMEWORK SUPPORT,.. _framework-support-compatibility-matrix-past-60:,,,,,,,,,,,
:doc:`PyTorch <../compatibility/ml-compatibility/pytorch-compatibility>`,"2.4, 2.3, 2.2, 2.1, 2.0, 1.13","2.4, 2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13"
:doc:`TensorFlow <../compatibility/ml-compatibility/tensorflow-compatibility>`,"2.17.0, 2.16.2, 2.15.1","2.17.0, 2.16.2, 2.15.1","2.16.1, 2.15.1, 2.14.1","2.16.1, 2.15.1, 2.14.1","2.16.1, 2.15.1, 2.14.1","2.16.1, 2.15.1, 2.14.1","2.15.0, 2.14.0, 2.13.1","2.15.0, 2.14.0, 2.13.1","2.15.0, 2.14.0, 2.13.1","2.15.0, 2.14.0, 2.13.1","2.14.0, 2.13.1, 2.12.1","2.14.0, 2.13.1, 2.12.1"
:doc:`JAX <../compatibility/ml-compatibility/jax-compatibility>`,0.4.31,0.4.31,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26
`ONNX Runtime <https://onnxruntime.ai/docs/build/eps.html#amd-migraphx>`_,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.14.1,1.14.1
,,,,,,,,,,,,
THIRD PARTY COMMS,.. _thirdpartycomms-support-compatibility-matrix-past-60:,,,,,,,,,,,
`UCC <https://github.com/ROCm/ucc>`_,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.2.0,>=1.2.0
`UCX <https://github.com/ROCm/ucx>`_,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.14.1,>=1.14.1,>=1.14.1,>=1.14.1,>=1.14.1,>=1.14.1
,,,,,,,,,,,,
THIRD PARTY ALGORITHM,.. _thirdpartyalgorithm-support-compatibility-matrix-past-60:,,,,,,,,,,,
Thrust,2.3.2,2.3.2,2.2.0,2.2.0,2.2.0,2.2.0,2.1.0,2.1.0,2.1.0,2.1.0,2.0.1,2.0.1
CUB,2.3.2,2.3.2,2.2.0,2.2.0,2.2.0,2.2.0,2.1.0,2.1.0,2.1.0,2.1.0,2.0.1,2.0.1
,,,,,,,,,,,,
,,,,,,,,,,,,
KMD & USER SPACE [#kfd_support-past-60]_,.. _kfd-userspace-support-compatibility-matrix-past-60:,,,,,,,,,,,
Tested user space versions,"6.3.x, 6.2.x, 6.1.x","6.3.x, 6.2.x, 6.1.x","6.3.x, 6.2.x, 6.1.x, 6.0.x","6.3.x, 6.2.x, 6.1.x, 6.0.x","6.3.x, 6.2.x, 6.1.x, 6.0.x","6.3.x, 6.2.x, 6.1.x, 6.0.x","6.3.x, 6.2.x, 6.1.x, 6.0.x, 5.7.x","6.3.x, 6.2.x, 6.1.x, 6.0.x, 5.7.x","6.3.x, 6.2.x, 6.1.x, 6.0.x, 5.7.x","6.3.x, 6.2.x, 6.1.x, 6.0.x, 5.7.x","6.2.x, 6.1.x, 6.0.x, 5.7.x, 5.6.x","6.2.x, 6.1.x, 6.0.x, 5.7.x, 5.6.x"
,,,,,,,,,,,,
ML & COMPUTER VISION,.. _mllibs-support-compatibility-matrix-past-60:,,,,,,,,,,,
:doc:`Composable Kernel <composable_kernel:index>`,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0
:doc:`MIGraphX <amdmigraphx:index>`,2.11.0,2.11.0,2.10.0,2.10.0,2.10.0,2.10.0,2.9.0,2.9.0,2.9.0,2.9.0,2.8.0,2.8.0
:doc:`MIOpen <miopen:index>`,3.3.0,3.3.0,3.2.0,3.2.0,3.2.0,3.2.0,3.1.0,3.1.0,3.1.0,3.1.0,3.0.0,3.0.0
:doc:`MIVisionX <mivisionx:index>`,3.1.0,3.1.0,3.0.0,3.0.0,3.0.0,3.0.0,2.5.0,2.5.0,2.5.0,2.5.0,2.5.0,2.5.0
:doc:`rocAL <rocal:index>`,2.1.0,2.1.0,2.0.0,2.0.0,2.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0
:doc:`rocDecode <rocdecode:index>`,0.8.0,0.8.0,0.6.0,0.6.0,0.6.0,0.6.0,0.6.0,0.6.0,0.5.0,0.5.0,N/A,N/A
:doc:`rocJPEG <rocjpeg:index>`,0.6.0,0.6.0,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A
:doc:`rocPyDecode <rocpydecode:index>`,0.2.0,0.2.0,0.1.0,0.1.0,0.1.0,0.1.0,N/A,N/A,N/A,N/A,N/A,N/A
:doc:`RPP <rpp:index>`,1.9.1,1.9.1,1.8.0,1.8.0,1.8.0,1.8.0,1.5.0,1.5.0,1.5.0,1.5.0,1.4.0,1.4.0
,,,,,,,,,,,,
COMMUNICATION,.. _commlibs-support-compatibility-matrix-past-60:,,,,,,,,,,,
:doc:`RCCL <rccl:index>`,2.21.5,2.21.5,2.20.5,2.20.5,2.20.5,2.20.5,2.18.6,2.18.6,2.18.6,2.18.6,2.18.3,2.18.3
,,,,,,,,,,,,
MATH LIBS,.. _mathlibs-support-compatibility-matrix-past-60:,,,,,,,,,,,
`half <https://github.com/ROCm/half>`_ ,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0
:doc:`hipBLAS <hipblas:index>`,2.3.0,2.3.0,2.2.0,2.2.0,2.2.0,2.2.0,2.1.0,2.1.0,2.1.0,2.1.0,2.0.0,2.0.0
:doc:`hipBLASLt <hipblaslt:index>`,0.10.0,0.10.0,0.8.0,0.8.0,0.8.0,0.8.0,0.7.0,0.7.0,0.7.0,0.7.0,0.6.0,0.6.0
:doc:`hipFFT <hipfft:index>`,1.0.17,1.0.17,1.0.16,1.0.15,1.0.15,1.0.14,1.0.14,1.0.14,1.0.14,1.0.14,1.0.13,1.0.13
:doc:`hipfort <hipfort:index>`,0.5.0,0.5.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0
:doc:`hipRAND <hiprand:index>`,2.11.1,2.11.0,2.11.1,2.11.0,2.11.0,2.11.0,2.10.16,2.10.16,2.10.16,2.10.16,2.10.16,2.10.16
,,,,,,,,,,,,
:doc:`hipSOLVER <hipsolver:index>`,2.3.0,2.3.0,2.2.0,2.2.0,2.2.0,2.2.0,2.1.1,2.1.1,2.1.1,2.1.0,2.0.0,2.0.0
:doc:`hipSPARSE <hipsparse:index>`,3.1.2,3.1.2,3.1.1,3.1.1,3.1.1,3.1.1,3.0.1,3.0.1,3.0.1,3.0.1,3.0.0,3.0.0
:doc:`hipSPARSELt <hipsparselt:index>`,0.2.2,0.2.2,0.2.1,0.2.1,0.2.1,0.2.1,0.2.0,0.2.0,0.1.0,0.1.0,0.1.0,0.1.0
:doc:`rocALUTION <rocalution:index>`,3.2.1,3.2.1,3.2.1,3.2.0,3.2.0,3.2.0,3.1.1,3.1.1,3.1.1,3.1.1,3.0.3,3.0.3
:doc:`rocBLAS <rocblas:index>`,4.3.0,4.3.0,4.2.4,4.2.1,4.2.1,4.2.0,4.1.2,4.1.2,4.1.0,4.1.0,4.0.0,4.0.0
:doc:`rocFFT <rocfft:index>`,1.0.31,1.0.31,1.0.30,1.0.29,1.0.29,1.0.28,1.0.27,1.0.27,1.0.27,1.0.26,1.0.25,1.0.23
:doc:`rocRAND <rocrand:index>`,3.2.0,3.2.0,3.1.1,3.1.0,3.1.0,3.1.0,3.0.1,3.0.1,3.0.1,3.0.1,3.0.0,2.10.17
:doc:`rocSOLVER <rocsolver:index>`,3.27.0,3.27.0,3.26.2,3.26.0,3.26.0,3.26.0,3.25.0,3.25.0,3.25.0,3.25.0,3.24.0,3.24.0
:doc:`rocSPARSE <rocsparse:index>`,3.3.0,3.3.0,3.2.1,3.2.0,3.2.0,3.2.0,3.1.2,3.1.2,3.1.2,3.1.2,3.0.2,3.0.2
:doc:`rocWMMA <rocwmma:index>`,1.6.0,1.6.0,1.5.0,1.5.0,1.5.0,1.5.0,1.4.0,1.4.0,1.4.0,1.4.0,1.3.0,1.3.0
:doc:`Tensile <tensile:src/index>`,4.42.0,4.42.0,4.41.0,4.41.0,4.41.0,4.41.0,4.40.0,4.40.0,4.40.0,4.40.0,4.39.0,4.39.0
,,,,,,,,,,,,
PRIMITIVES,.. _primitivelibs-support-compatibility-matrix-past-60:,,,,,,,,,,,
:doc:`hipCUB <hipcub:index>`,3.3.0,3.3.0,3.2.1,3.2.0,3.2.0,3.2.0,3.1.0,3.1.0,3.1.0,3.1.0,3.0.0,3.0.0
:doc:`hipTensor <hiptensor:index>`,1.4.0,1.4.0,1.3.0,1.3.0,1.3.0,1.3.0,1.2.0,1.2.0,1.2.0,1.2.0,1.1.0,1.1.0
:doc:`rocPRIM <rocprim:index>`,3.3.0,3.3.0,3.2.2,3.2.0,3.2.0,3.2.0,3.1.0,3.1.0,3.1.0,3.1.0,3.0.0,3.0.0
:doc:`rocThrust <rocthrust:index>`,3.3.0,3.3.0,3.1.1,3.1.0,3.1.0,3.0.1,3.0.1,3.0.1,3.0.1,3.0.1,3.0.0,3.0.0
,,,,,,,,,,,,
SUPPORT LIBS,,,,,,,,,,,,
`hipother <https://github.com/ROCm/hipother>`_,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>`_,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]_,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:,,,,,,,,,,,
:doc:`AMD SMI <amdsmi:index>`,24.7.1,24.7.1,24.6.3,24.6.3,24.6.3,24.6.2,24.5.1,24.5.1,24.5.1,24.4.1,23.4.2,23.4.2
:doc:`ROCm Data Center Tool <rdc:index>`,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0
:doc:`rocminfo <rocminfo:index>`,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0
:doc:`ROCm SMI <rocm_smi_lib:index>`,7.4.0,7.4.0,7.3.0,7.3.0,7.3.0,7.3.0,7.2.0,7.2.0,7.0.0,7.0.0,6.0.2,6.0.0
:doc:`ROCm Validation Suite <rocmvalidationsuite:index>`,1.1.0,1.1.0,1.0.60204,1.0.60202,1.0.60201,1.0.60200,1.0.60105,1.0.60102,1.0.60101,1.0.60100,1.0.60002,1.0.60000
,,,,,,,,,,,,
PERFORMANCE TOOLS,,,,,,,,,,,,
:doc:`ROCm Bandwidth Test <rocm_bandwidth_test:index>`,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.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>`,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.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>`,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.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>`,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
,,,,,,,,,,,,
:doc:`ROCm CMake <rocmcmakebuildtools:index>`,0.14.0,0.14.0,0.13.0,0.13.0,0.13.0,0.13.0,0.12.0,0.12.0,0.12.0,0.12.0,0.11.0,0.11.0
:doc:`ROCdbgapi <rocdbgapi:index>`,0.77.0,0.77.0,0.76.0,0.76.0,0.76.0,0.76.0,0.71.0,0.71.0,0.71.0,0.71.0,0.71.0,0.71.0
:doc:`ROCm Debugger (ROCgdb) <rocgdb:index>`,15.2.0,15.2.0,14.2.0,14.2.0,14.2.0,14.2.0,14.1.0,14.1.0,14.1.0,14.1.0,13.2.0,13.2.0
`rocprofiler-register <https://github.com/ROCm/rocprofiler-register>`_,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.3.0,0.3.0,0.3.0,0.3.0,N/A,N/A
:doc:`ROCr Debug Agent <rocr_debug_agent:index>`,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3
,,,,,,,,,,,,
COMPILERS,.. _compilers-support-compatibility-matrix-past-60:,,,,,,,,,,,
`clang-ocl <https://github.com/ROCm/clang-ocl>`_,N/A,N/A,N/A,N/A,N/A,N/A,0.5.0,0.5.0,0.5.0,0.5.0,0.5.0,0.5.0
:doc:`hipCC <hipcc:index>`,1.1.1,1.1.1,1.1.1,1.1.1,1.1.1,1.1.1,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0
`Flang <https://github.com/ROCm/flang>`_,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
:doc:`llvm-project <llvm-project:index>`,18.0.0.24455,18.0.0.24491,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
`OpenMP <https://github.com/ROCm/llvm-project/tree/amd-staging/openmp>`_,18.0.0.24455,18.0.0.24491,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
,,,,,,,,,,,,
,,,,,,,,,,,,
RUNTIMES,.. _runtime-support-compatibility-matrix-past-60:,,,,,,,,,,,
:doc:`AMD CLR <hip:understand/amd_clr>`,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
,,,,,,,,,,,,
:doc:`HIP <hip:index>`,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
,,,,,,,,,,,,
`OpenCL Runtime <https://github.com/ROCm/clr/tree/develop/opencl>`_,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0
:doc:`ROCr Runtime <rocr-runtime:index>`,1.14.0,1.14.0,1.14.0,1.14.0,1.14.0,1.13.0,1.13.0,1.13.0,1.13.0,1.13.0,1.12.0,1.12.0
ROCm Version,6.2.2,6.2.1,6.2.0, 6.1.2, 6.1.1, 6.1.0, 6.0.2, 6.0.0
:ref:`Operating systems & kernels <OS-kernel-versions>`,"Ubuntu 24.04.1, 24.04","Ubuntu 24.04.1, 24.04",Ubuntu 24.04,,,,,
,"Ubuntu 22.04.5, 22.04.4","Ubuntu 22.04.5, 22.04.4","Ubuntu 22.04.5, 22.04.4","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"
,"RHEL 9.4, 9.3","RHEL 9.4, 9.3","RHEL 9.4, 9.3","RHEL 9.4 [#red-hat94-past-60]_, 9.3, 9.2","RHEL 9.4 [#red-hat94-past-60]_, 9.3, 9.2","RHEL 9.4 [#red-hat94-past-60]_, 9.3, 9.2","RHEL 9.3, 9.2","RHEL 9.3, 9.2"
,"RHEL 8.10, 8.9","RHEL 8.10, 8.9","RHEL 8.10, 8.9","RHEL 8.9, 8.8","RHEL 8.9, 8.8","RHEL 8.9, 8.8","RHEL 8.9, 8.8","RHEL 8.9, 8.8"
,"SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP5, SP4","SLES 15 SP5, SP4","SLES 15 SP5, SP4","SLES 15 SP5, SP4","SLES 15 SP5, SP4"
,,,,CentOS 7.9,CentOS 7.9,CentOS 7.9,CentOS 7.9,CentOS 7.9
,Oracle Linux 8.9 [#oracle89-past-60]_,Oracle Linux 8.9 [#oracle89-past-60]_,Oracle Linux 8.9 [#oracle89-past-60]_,Oracle Linux 8.9 [#oracle89-past-60]_,Oracle Linux 8.9 [#oracle89-past-60]_,,,
,.. _architecture-support-compatibility-matrix-past-60:,,,,,,,
:doc:`Architecture <rocm-install-on-linux:reference/system-requirements>`,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3
,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2
,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA
,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3
,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2
,.. _gpu-support-compatibility-matrix-past-60:,,,,,,,
:doc:`GPU / LLVM target <rocm-install-on-linux:reference/system-requirements>`,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100
,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030
,gfx942 [#mi300_622-past-60]_,gfx942 [#mi300_621-past-60]_,gfx942 [#mi300_620-past-60]_, gfx942 [#mi300_612-past-60]_, gfx942 [#mi300_611-past-60]_, gfx942 [#mi300_610-past-60]_, gfx942 [#mi300_602-past-60]_, gfx942 [#mi300_600-past-60]_
,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a
,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908
,,,,,,,,
FRAMEWORK SUPPORT,.. _framework-support-compatibility-matrix-past-60:,,,,,,,
:doc:`PyTorch <rocm-install-on-linux:install/3rd-party/pytorch-install>`,"2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13"
:doc:`TensorFlow <rocm-install-on-linux:install/3rd-party/tensorflow-install>`,"2.16.1, 2.15.1, 2.14.1","2.16.1, 2.15.1, 2.14.1","2.16.1, 2.15.1, 2.14.1","2.15.0, 2.14.0, 2.13.1","2.15.0, 2.14.0, 2.13.1","2.15.0, 2.14.0, 2.13.1","2.14.0, 2.13.1, 2.12.1","2.14.0, 2.13.1, 2.12.1"
:doc:`JAX <rocm-install-on-linux:install/3rd-party/jax-install>`,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26
`ONNX Runtime <https://onnxruntime.ai/docs/build/eps.html#amd-migraphx>`_,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.14.1,1.14.1
,,,,,,,,
THIRD PARTY COMMS,.. _thirdpartycomms-support-compatibility-matrix-past-60:,,,,,,,
`UCC <https://github.com/ROCm/ucc>`_,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.2.0,>=1.2.0
`UCX <https://github.com/ROCm/ucx>`_,>=1.15.0,>=1.15.0,>=1.15.0,>=1.14.1,>=1.14.1,>=1.14.1,>=1.14.1,>=1.14.1
,,,,,,,,
THIRD PARTY ALGORITHM,.. _thirdpartyalgorithm-support-compatibility-matrix-past-60:,,,,,,,
Thrust,2.2.0,2.2.0,2.2.0,2.1.0,2.1.0,2.1.0,2.0.1,2.0.1
CUB,2.2.0,2.2.0,2.2.0,2.1.0,2.1.0,2.1.0,2.0.1,2.0.1
,,,,,,,,
KFD & USER SPACE [#kfd_support-past-60]_,.. _kfd-userspace-support-compatibility-matrix-past-60:,,,,,,,
Tested user space versions,"6.1.x, 6.0.x","6.1.x, 6.0.x","6.1.x, 6.0.x","6.2.x, 6.0.x, 5.7.x","6.2.x, 6.0.x, 5.7.x","6.2.x, 6.0.x, 5.7.x","6.2.x, 6.0.x, 5.7.x, 5.6.x","6.2.x, 6.0.x, 5.7.x, 5.6.x"
,,,,,,,,
ML & COMPUTER VISION,.. _mllibs-support-compatibility-matrix-past-60:,,,,,,,
:doc:`Composable Kernel <composable_kernel:index>`,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0
:doc:`MIGraphX <amdmigraphx:index>`,2.10.0,2.10.0,2.10.0,2.9.0,2.9.0,2.9.0,2.8.0,2.8.0
:doc:`MIOpen <miopen:index>`,3.2.0,3.2.0,3.2.0,3.1.0,3.1.0,3.1.0,3.0.0,3.0.0
:doc:`MIVisionX <mivisionx:index>`,3.0.0,3.0.0,3.0.0,2.5.0,2.5.0,2.5.0,2.5.0,2.5.0
:doc:`rocAL <rocal:index>`,2.0.0,2.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0
:doc:`rocDecode <rocdecode:index>`,0.6.0,0.6.0,0.6.0,0.6.0,0.5.0,0.5.0,N/A,N/A
:doc:`rocPyDecode <rocpydecode:index>`,0.1.0,0.1.0,0.1.0,N/A,N/A,N/A,N/A,N/A
:doc:`RPP <rpp:index>`,1.8.0,1.8.0,1.8.0,1.5.0,1.5.0,1.5.0,1.4.0,1.4.0
,,,,,,,,
COMMUNICATION,.. _commlibs-support-compatibility-matrix-past-60:,,,,,,,
:doc:`RCCL <rccl:index>`,2.20.5,2.20.5,2.20.5,2.18.6,2.18.6,2.18.6,2.18.3,2.18.3
,,,,,,,,
MATH LIBS,.. _mathlibs-support-compatibility-matrix-past-60:,,,,,,,
`half <https://github.com/ROCm/half>`_ ,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0
:doc:`hipBLAS <hipblas:index>`,2.2.0,2.2.0,2.2.0,2.1.0,2.1.0,2.1.0,2.0.0,2.0.0
:doc:`hipBLASLt <hipblaslt:index>`,0.8.0,0.8.0,0.8.0,0.7.0,0.7.0,0.7.0,0.6.0,0.6.0
:doc:`hipFFT <hipfft:index>`,1.0.15,1.0.15,1.0.14,1.0.14,1.0.14,1.0.14,1.0.13,1.0.13
:doc:`hipFORT <hipfort:index>`,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0
:doc:`hipRAND <hiprand:index>`,2.11.0,2.11.0,2.11.0,2.10.16,2.10.16,2.10.16,2.10.16,2.10.16
:doc:`hipSOLVER <hipsolver:index>`,2.2.0,2.2.0,2.2.0,2.1.1,2.1.1,2.1.0,2.0.0,2.0.0
:doc:`hipSPARSE <hipsparse:index>`,3.1.1,3.1.1,3.1.1,3.0.1,3.0.1,3.0.1,3.0.0,3.0.0
:doc:`hipSPARSELt <hipsparselt:index>`,0.2.1,0.2.1,0.2.1,0.2.0,0.1.0,0.1.0,0.1.0,0.1.0
:doc:`rocALUTION <rocalution:index>`,3.2.0,3.2.0,3.2.0,3.1.1,3.1.1,3.1.1,3.0.3,3.0.3
:doc:`rocBLAS <rocblas:index>`,4.2.1,4.2.1,4.2.0,4.1.2,4.1.0,4.1.0,4.0.0,4.0.0
:doc:`rocFFT <rocfft:index>`,1.0.29,1.0.29,1.0.28,1.0.27,1.0.27,1.0.26,1.0.25,1.0.23
:doc:`rocRAND <rocrand:index>`,3.1.0,3.1.0,3.1.0,3.0.1,3.0.1,3.0.1,3.0.0,2.10.17
:doc:`rocSOLVER <rocsolver:index>`,3.26.0,3.26.0,3.26.0,3.25.0,3.25.0,3.25.0,3.24.0,3.24.0
:doc:`rocSPARSE <rocsparse:index>`,3.2.0,3.2.0,3.2.0,3.1.2,3.1.2,3.1.2,3.0.2,3.0.2
:doc:`rocWMMA <rocwmma:index>`,1.5.0,1.5.0,1.5.0,1.4.0,1.4.0,1.4.0,1.3.0,1.3.0
`Tensile <https://github.com/ROCm/Tensile>`_,4.40.0,4.40.0,4.40.0,4.40.0,4.40.0,4.40.0,4.39.0,4.39.0
,,,,,,,,
PRIMITIVES,.. _primitivelibs-support-compatibility-matrix-past-60:,,,,,,,
:doc:`hipCUB <hipcub:index>`,3.2.0,3.2.0,3.2.0,3.1.0,3.1.0,3.1.0,3.0.0,3.0.0
:doc:`hipTensor <hiptensor:index>`,1.3.0,1.3.0,1.3.0,1.2.0,1.2.0,1.2.0,1.1.0,1.1.0
:doc:`rocPRIM <rocprim:index>`,3.2.0,3.2.0,3.2.0,3.1.0,3.1.0,3.1.0,3.0.0,3.0.0
:doc:`rocThrust <rocthrust:index>`,3.1.0,3.1.0,3.0.1,3.0.1,3.0.1,3.0.1,3.0.0,3.0.0
,,,,,,,,
SUPPORT LIBS,,,,,,,,
`hipother <https://github.com/ROCm/hipother>`_,6.2.41134,6.2.41134,6.2.41133,6.1.40093,6.1.40092,6.1.40091,6.1.32831,6.1.32830
`rocm-core <https://github.com/ROCm/rocm-core>`_,6.2.2,6.2.1,6.2.0,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>`_,20240607.4.05,20240607.4.05,20240607.1.4246,20240125.5.08,20240125.5.08,20240125.3.30,20231016.2.245,20231016.2.245
,,,,,,,,
SYSTEM MGMT TOOLS,.. _tools-support-compatibility-matrix-past-60:,,,,,,,
:doc:`AMD SMI <amdsmi:index>`,24.6.3,24.6.3,24.6.2,24.5.1,24.5.1,24.4.1,23.4.2,23.4.2
:doc:`ROCm Data Center Tool <rdc:index>`,1.0.0,1.0.0,1.0.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0
:doc:`rocminfo <rocminfo:index>`,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0
:doc:`ROCm SMI <rocm_smi_lib:index>`,7.3.0,7.3.0,7.3.0,7.2.0,7.0.0,7.0.0,6.0.2,6.0.0
:doc:`ROCm Validation Suite <rocmvalidationsuite:index>`,rocm-6.2.2,rocm-6.2.1,rocm-6.2.0,rocm-6.1.2,rocm-6.1.1,rocm-6.1.0,rocm-6.0.2,rocm-6.0.0
,,,,,,,,
PERFORMANCE TOOLS,,,,,,,,
:doc:`Omniperf <omniperf:index>`,2.0.1,2.0.1,2.0.1,N/A,N/A,N/A,N/A,N/A
:doc:`Omnitrace <omnitrace:index>`,1.11.2,1.11.2,1.11.2,N/A,N/A,N/A,N/A,N/A
:doc:`ROCm Bandwidth Test <rocm_bandwidth_test:index>`,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:`ROCProfiler <rocprofiler:index>`,2.0.60202,2.0.60201,2.0.60200,2.0.60102,2.0.60101,2.0.60100,2.0.60002,2.0.60000
:doc:`ROCprofiler-SDK <rocprofiler-sdk:index>`,0.4.0,0.4.0,0.4.0,N/A,N/A,N/A,N/A,N/A
:doc:`ROCTracer <roctracer:index>`,4.1.60202,4.1.60201,4.1.60200,4.1.60102,4.1.60101,4.1.60100,4.1.60002,4.1.60000
,,,,,,,,
DEVELOPMENT TOOLS,,,,,,,,
:doc:`HIPIFY <hipify:index>`,18.0.0.24355,18.0.0.24355,18.0.0.24232,17.0.0.24193,17.0.0.24154,17.0.0.24103,17.0.0.24012,17.0.0.23483
:doc:`ROCm CMake <rocmcmakebuildtools:index>`,0.13.0,0.13.0,0.13.0,0.12.0,0.12.0,0.12.0,0.11.0,0.11.0
:doc:`ROCdbgapi <rocdbgapi:index>`,0.76.0,0.76.0,0.76.0,0.71.0,0.71.0,0.71.0,0.71.0,0.71.0
:doc:`ROCm Debugger (ROCgdb) <rocgdb:index>`,14.2.0,14.2.0,14.2.0,14.1.0,14.1.0,14.1.0,13.2.0,13.2.0
`rocprofiler-register <https://github.com/ROCm/rocprofiler-register>`_,0.4.0,0.4.0,0.4.0,0.3.0,0.3.0,0.3.0,N/A,N/A
:doc:`ROCr Debug Agent <rocr_debug_agent:index>`,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3
,,,,,,,,
COMPILERS,.. _compilers-support-compatibility-matrix-past-60:,,,,,,,
`clang-ocl <https://github.com/ROCm/clang-ocl>`_,N/A,N/A,N/A,0.5.0,0.5.0,0.5.0,0.5.0,0.5.0
:doc:`hipCC <hipcc:index>`,1.1.1,1.1.1,1.1.1,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0
`Flang <https://github.com/ROCm/flang>`_,18.0.0.24355,18.0.0.24355,18.0.0.24232,17.0.0.24193,17.0.0.24154,17.0.0.24103,17.0.0.24012,17.0.0.23483
:doc:`llvm-project <llvm-project:index>`,18.0.0.24355,18.0.0.24355,18.0.0.24232,17.0.0.24193,17.0.0.24154,17.0.0.24103,17.0.0.24012,17.0.0.23483
`OpenMP <https://github.com/ROCm/llvm-project/tree/amd-staging/openmp>`_,18.0.0.24355,18.0.0.24355,18.0.0.24232,17.0.0.24193,17.0.0.24154,17.0.0.24103,17.0.0.24012,17.0.0.23483
,,,,,,,,
RUNTIMES,.. _runtime-support-compatibility-matrix-past-60:,,,,,,,
:doc:`AMD CLR <hip:understand/amd_clr>`,6.2.41134,6.2.41134,6.2.41133,6.1.40093,6.1.40092,6.1.40091,6.1.32831,6.1.32830
:doc:`HIP <hip:index>`,6.2.41134,6.2.41134,6.2.41133,6.1.40093,6.1.40092,6.1.40091,6.1.32831,6.1.32830
`OpenCL Runtime <https://github.com/ROCm/clr/tree/develop/opencl>`_,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0
:doc:`ROCR-Runtime <rocr-runtime:index>`,1.14.0,1.14.0,1.13.0,1.13.0,1.13.0,1.13.0,1.12.0,1.12.0
1 ROCm Version 6.3.1 6.2.2 6.3.0 6.2.1 6.2.4 6.2.0 6.1.2 6.1.1 6.1.0 6.1.5 6.0.2 6.0.0
2 :ref:`Operating systems & kernels <OS-kernel-versions>` Ubuntu 24.04.2 Ubuntu 24.04.1, 24.04 Ubuntu 24.04.2 Ubuntu 24.04.1, 24.04 Ubuntu 24.04.1, 24.04 Ubuntu 24.04
3 Ubuntu 22.04.5 Ubuntu 22.04.5, 22.04.4 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.4, 22.04.3 Ubuntu 22.04.4, 22.04.3 Ubuntu 22.04.4, 22.04.3 Ubuntu 22.04.5, 22.04.4, 22.04.3 Ubuntu 22.04.4, 22.04.3, 22.04.2 Ubuntu 22.04.4, 22.04.3, 22.04.2
4 Ubuntu 20.04.6, 20.04.5 Ubuntu 20.04.6, 20.04.5 Ubuntu 20.04.6, 20.04.5 Ubuntu 20.04.6, 20.04.5 Ubuntu 20.04.6, 20.04.5 Ubuntu 20.04.6, 20.04.5
5 RHEL 9.5, 9.4 RHEL 9.4, 9.3 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, 9.2 RHEL 9.4 [#red-hat94-past-60]_, 9.3, 9.2 RHEL 9.4, 9.3, 9.2 RHEL 9.4 [#red-hat94-past-60]_, 9.3, 9.2 RHEL 9.4, 9.3, 9.2 RHEL 9.4 [#red-hat94-past-60]_, 9.3, 9.2 RHEL 9.4, 9.3, 9.2 RHEL 9.3, 9.2 RHEL 9.3, 9.2
6 RHEL 8.10 RHEL 8.10, 8.9 RHEL 8.10 RHEL 8.10, 8.9 RHEL 8.10, 8.9 RHEL 8.10, 8.9 RHEL 8.9, 8.8 RHEL 8.9, 8.8 RHEL 8.9, 8.8 RHEL 8.9, 8.8 RHEL 8.9, 8.8 RHEL 8.9, 8.8
7 SLES 15 SP6, SP5 SLES 15 SP6, SP5 SLES 15 SP6, SP5 SLES 15 SP6, SP5 SLES 15 SP6, SP5 SLES 15 SP6, SP5 SLES 15 SP5, SP4 SLES 15 SP5, SP4 SLES 15 SP5, SP4 SLES 15 SP5, SP4 SLES 15 SP5, SP4 SLES 15 SP5, SP4
8 CentOS 7.9 CentOS 7.9 CentOS 7.9 CentOS 7.9 CentOS 7.9
9 Oracle Linux 8.10 [#mic300x-past-60]_ Oracle Linux 8.9 [#mic300x-past-60]_ Oracle Linux 8.9 [#oracle89-past-60]_ Oracle Linux 8.10 [#mic300x-past-60]_ Oracle Linux 8.9 [#mic300x-past-60]_ Oracle Linux 8.9 [#oracle89-past-60]_ Oracle Linux 8.9 [#mic300x-past-60]_ Oracle Linux 8.9 [#mic300x-past-60]_ Oracle Linux 8.9 [#oracle89-past-60]_ Oracle Linux 8.9 [#mic300x-past-60]_ Oracle Linux 8.9 [#oracle89-past-60]_ Oracle Linux 8.9 [#mic300x-past-60]_ Oracle Linux 8.9 [#oracle89-past-60]_ Oracle Linux 8.9 [#mic300x-past-60]_
10 Debian 12 [#single-node-past-60]_ .. _architecture-support-compatibility-matrix-past-60:
11 :doc:`Architecture <rocm-install-on-linux:reference/system-requirements>` Azure Linux 3.0 [#mic300x-past-60]_ CDNA3 CDNA3 CDNA3 CDNA3 CDNA3 CDNA3 CDNA3 CDNA3
12 .. _architecture-support-compatibility-matrix-past-60: CDNA2 CDNA2 CDNA2 CDNA2 CDNA2 CDNA2 CDNA2 CDNA2
13 :doc:`Architecture <rocm-install-on-linux:reference/system-requirements>` CDNA3 CDNA3 CDNA CDNA3 CDNA3 CDNA CDNA3 CDNA3 CDNA CDNA3 CDNA CDNA3 CDNA CDNA3 CDNA CDNA3 CDNA3 CDNA CDNA3 CDNA
14 CDNA2 CDNA2 RDNA3 CDNA2 CDNA2 RDNA3 CDNA2 CDNA2 RDNA3 CDNA2 RDNA3 CDNA2 RDNA3 CDNA2 RDNA3 CDNA2 CDNA2 RDNA3 CDNA2 RDNA3
15 CDNA CDNA RDNA2 CDNA CDNA RDNA2 CDNA CDNA RDNA2 CDNA RDNA2 CDNA RDNA2 CDNA RDNA2 CDNA CDNA RDNA2 CDNA RDNA2
16 RDNA3 RDNA3 .. _gpu-support-compatibility-matrix-past-60: RDNA3 RDNA3 RDNA3 RDNA3 RDNA3 RDNA3 RDNA3 RDNA3 RDNA3 RDNA3
17 :doc:`GPU / LLVM target <rocm-install-on-linux:reference/system-requirements>` RDNA2 RDNA2 gfx1100 RDNA2 RDNA2 gfx1100 RDNA2 RDNA2 gfx1100 RDNA2 gfx1100 RDNA2 gfx1100 RDNA2 gfx1100 RDNA2 RDNA2 gfx1100 RDNA2 gfx1100
18 .. _gpu-support-compatibility-matrix-past-60: gfx1030 gfx1030 gfx1030 gfx1030 gfx1030 gfx1030 gfx1030 gfx1030
19 :doc:`GPU / LLVM target <rocm-install-on-linux:reference/system-requirements>` gfx1100 gfx1100 gfx942 [#mi300_622-past-60]_ gfx1100 gfx1100 gfx942 [#mi300_621-past-60]_ gfx1100 gfx1100 gfx942 [#mi300_620-past-60]_ gfx1100 gfx942 [#mi300_612-past-60]_ gfx1100 gfx942 [#mi300_611-past-60]_ gfx1100 gfx942 [#mi300_610-past-60]_ gfx1100 gfx1100 gfx942 [#mi300_602-past-60]_ gfx1100 gfx942 [#mi300_600-past-60]_
20 gfx1030 gfx1030 gfx90a gfx1030 gfx1030 gfx90a gfx1030 gfx1030 gfx90a gfx1030 gfx90a gfx1030 gfx90a gfx1030 gfx90a gfx1030 gfx1030 gfx90a gfx1030 gfx90a
21 gfx942 gfx942 [#mi300_622-past-60]_ gfx908 gfx942 gfx942 [#mi300_621-past-60]_ gfx908 gfx942 [#mi300_624-past-60]_ gfx942 [#mi300_620-past-60]_ gfx908 gfx942 [#mi300_612-past-60]_ gfx908 gfx942 [#mi300_611-past-60]_ gfx908 gfx942 [#mi300_610-past-60]_ gfx908 gfx942 [#mi300_612-past-60]_ gfx942 [#mi300_602-past-60]_ gfx908 gfx942 [#mi300_600-past-60]_ gfx908
22 gfx90a gfx90a gfx90a gfx90a gfx90a gfx90a gfx90a gfx90a gfx90a gfx90a gfx90a gfx90a
23 FRAMEWORK SUPPORT gfx908 gfx908 .. _framework-support-compatibility-matrix-past-60: gfx908 gfx908 gfx908 gfx908 gfx908 gfx908 gfx908 gfx908 gfx908 gfx908
24 :doc:`PyTorch <rocm-install-on-linux:install/3rd-party/pytorch-install>` 2.3, 2.2, 2.1, 2.0, 1.13 2.3, 2.2, 2.1, 2.0, 1.13 2.3, 2.2, 2.1, 2.0, 1.13 2.1, 2.0, 1.13 2.1, 2.0, 1.13 2.1, 2.0, 1.13 2.1, 2.0, 1.13 2.1, 2.0, 1.13
25 FRAMEWORK SUPPORT :doc:`TensorFlow <rocm-install-on-linux:install/3rd-party/tensorflow-install>` .. _framework-support-compatibility-matrix-past-60: 2.16.1, 2.15.1, 2.14.1 2.16.1, 2.15.1, 2.14.1 2.16.1, 2.15.1, 2.14.1 2.15.0, 2.14.0, 2.13.1 2.15.0, 2.14.0, 2.13.1 2.15.0, 2.14.0, 2.13.1 2.14.0, 2.13.1, 2.12.1 2.14.0, 2.13.1, 2.12.1
26 :doc:`PyTorch <../compatibility/ml-compatibility/pytorch-compatibility>` :doc:`JAX <rocm-install-on-linux:install/3rd-party/jax-install>` 2.4, 2.3, 2.2, 2.1, 2.0, 1.13 2.3, 2.2, 2.1, 2.0, 1.13 0.4.26 2.4, 2.3, 2.2, 2.1, 2.0, 1.13 2.3, 2.2, 2.1, 2.0, 1.13 0.4.26 2.3, 2.2, 2.1, 2.0, 1.13 2.3, 2.2, 2.1, 2.0, 1.13 0.4.26 2.1, 2.0, 1.13 0.4.26 2.1, 2.0, 1.13 0.4.26 2.1, 2.0, 1.13 0.4.26 2.1, 2.0, 1.13 2.1, 2.0, 1.13 0.4.26 2.1, 2.0, 1.13 0.4.26
27 :doc:`TensorFlow <../compatibility/ml-compatibility/tensorflow-compatibility>` `ONNX Runtime <https://onnxruntime.ai/docs/build/eps.html#amd-migraphx>`_ 2.17.0, 2.16.2, 2.15.1 2.16.1, 2.15.1, 2.14.1 1.17.3 2.17.0, 2.16.2, 2.15.1 2.16.1, 2.15.1, 2.14.1 1.17.3 2.16.1, 2.15.1, 2.14.1 2.16.1, 2.15.1, 2.14.1 1.17.3 2.15.0, 2.14.0, 2.13.1 1.17.3 2.15.0, 2.14.0, 2.13.1 1.17.3 2.15.0, 2.14.0, 2.13.1 1.17.3 2.15.0, 2.14.0, 2.13.1 2.14.0, 2.13.1, 2.12.1 1.14.1 2.14.0, 2.13.1, 2.12.1 1.14.1
28 :doc:`JAX <../compatibility/ml-compatibility/jax-compatibility>` 0.4.31 0.4.26 0.4.31 0.4.26 0.4.26 0.4.26 0.4.26 0.4.26 0.4.26 0.4.26 0.4.26 0.4.26
29 `ONNX Runtime <https://onnxruntime.ai/docs/build/eps.html#amd-migraphx>`_ THIRD PARTY COMMS 1.17.3 1.17.3 .. _thirdpartycomms-support-compatibility-matrix-past-60: 1.17.3 1.17.3 1.17.3 1.17.3 1.17.3 1.17.3 1.17.3 1.17.3 1.14.1 1.14.1
30 `UCC <https://github.com/ROCm/ucc>`_ >=1.3.0 >=1.3.0 >=1.3.0 >=1.3.0 >=1.3.0 >=1.3.0 >=1.2.0 >=1.2.0
31 THIRD PARTY COMMS `UCX <https://github.com/ROCm/ucx>`_ .. _thirdpartycomms-support-compatibility-matrix-past-60: >=1.15.0 >=1.15.0 >=1.15.0 >=1.14.1 >=1.14.1 >=1.14.1 >=1.14.1 >=1.14.1
32 `UCC <https://github.com/ROCm/ucc>`_ >=1.3.0 >=1.3.0 >=1.3.0 >=1.3.0 >=1.3.0 >=1.3.0 >=1.3.0 >=1.3.0 >=1.3.0 >=1.3.0 >=1.2.0 >=1.2.0
33 `UCX <https://github.com/ROCm/ucx>`_ THIRD PARTY ALGORITHM >=1.15.0 >=1.15.0 .. _thirdpartyalgorithm-support-compatibility-matrix-past-60: >=1.15.0 >=1.15.0 >=1.15.0 >=1.15.0 >=1.14.1 >=1.14.1 >=1.14.1 >=1.14.1 >=1.14.1 >=1.14.1
34 Thrust 2.2.0 2.2.0 2.2.0 2.1.0 2.1.0 2.1.0 2.0.1 2.0.1
35 THIRD PARTY ALGORITHM CUB .. _thirdpartyalgorithm-support-compatibility-matrix-past-60: 2.2.0 2.2.0 2.2.0 2.1.0 2.1.0 2.1.0 2.0.1 2.0.1
36 Thrust 2.3.2 2.2.0 2.3.2 2.2.0 2.2.0 2.2.0 2.1.0 2.1.0 2.1.0 2.1.0 2.0.1 2.0.1
37 CUB KFD & USER SPACE [#kfd_support-past-60]_ 2.3.2 2.2.0 .. _kfd-userspace-support-compatibility-matrix-past-60: 2.3.2 2.2.0 2.2.0 2.2.0 2.1.0 2.1.0 2.1.0 2.1.0 2.0.1 2.0.1
38 Tested user space versions 6.1.x, 6.0.x 6.1.x, 6.0.x 6.1.x, 6.0.x 6.2.x, 6.0.x, 5.7.x 6.2.x, 6.0.x, 5.7.x 6.2.x, 6.0.x, 5.7.x 6.2.x, 6.0.x, 5.7.x, 5.6.x 6.2.x, 6.0.x, 5.7.x, 5.6.x
39
40 KMD & USER SPACE [#kfd_support-past-60]_ ML & COMPUTER VISION .. _kfd-userspace-support-compatibility-matrix-past-60: .. _mllibs-support-compatibility-matrix-past-60:
41 Tested user space versions :doc:`Composable Kernel <composable_kernel:index>` 6.3.x, 6.2.x, 6.1.x 6.3.x, 6.2.x, 6.1.x, 6.0.x 1.1.0 6.3.x, 6.2.x, 6.1.x 6.3.x, 6.2.x, 6.1.x, 6.0.x 1.1.0 6.3.x, 6.2.x, 6.1.x, 6.0.x 6.3.x, 6.2.x, 6.1.x, 6.0.x 1.1.0 6.3.x, 6.2.x, 6.1.x, 6.0.x, 5.7.x 1.1.0 6.3.x, 6.2.x, 6.1.x, 6.0.x, 5.7.x 1.1.0 6.3.x, 6.2.x, 6.1.x, 6.0.x, 5.7.x 1.1.0 6.3.x, 6.2.x, 6.1.x, 6.0.x, 5.7.x 6.2.x, 6.1.x, 6.0.x, 5.7.x, 5.6.x 1.1.0 6.2.x, 6.1.x, 6.0.x, 5.7.x, 5.6.x 1.1.0
42 :doc:`MIGraphX <amdmigraphx:index>` 2.10.0 2.10.0 2.10.0 2.9.0 2.9.0 2.9.0 2.8.0 2.8.0
43 ML & COMPUTER VISION :doc:`MIOpen <miopen:index>` .. _mllibs-support-compatibility-matrix-past-60: 3.2.0 3.2.0 3.2.0 3.1.0 3.1.0 3.1.0 3.0.0 3.0.0
44 :doc:`Composable Kernel <composable_kernel:index>` :doc:`MIVisionX <mivisionx:index>` 1.1.0 1.1.0 3.0.0 1.1.0 1.1.0 3.0.0 1.1.0 1.1.0 3.0.0 1.1.0 2.5.0 1.1.0 2.5.0 1.1.0 2.5.0 1.1.0 1.1.0 2.5.0 1.1.0 2.5.0
45 :doc:`MIGraphX <amdmigraphx:index>` :doc:`rocAL <rocal:index>` 2.11.0 2.10.0 2.0.0 2.11.0 2.10.0 2.0.0 2.10.0 2.10.0 1.0.0 2.9.0 1.0.0 2.9.0 1.0.0 2.9.0 1.0.0 2.9.0 2.8.0 1.0.0 2.8.0 1.0.0
46 :doc:`MIOpen <miopen:index>` :doc:`rocDecode <rocdecode:index>` 3.3.0 3.2.0 0.6.0 3.3.0 3.2.0 0.6.0 3.2.0 3.2.0 0.6.0 3.1.0 0.6.0 3.1.0 0.5.0 3.1.0 0.5.0 3.1.0 3.0.0 N/A 3.0.0 N/A
47 :doc:`MIVisionX <mivisionx:index>` :doc:`rocPyDecode <rocpydecode:index>` 3.1.0 3.0.0 0.1.0 3.1.0 3.0.0 0.1.0 3.0.0 3.0.0 0.1.0 2.5.0 N/A 2.5.0 N/A 2.5.0 N/A 2.5.0 2.5.0 N/A 2.5.0 N/A
48 :doc:`rocAL <rocal:index>` :doc:`RPP <rpp:index>` 2.1.0 2.0.0 1.8.0 2.1.0 2.0.0 1.8.0 2.0.0 1.0.0 1.8.0 1.0.0 1.5.0 1.0.0 1.5.0 1.0.0 1.5.0 1.0.0 1.0.0 1.4.0 1.0.0 1.4.0
49 :doc:`rocDecode <rocdecode:index>` 0.8.0 0.6.0 0.8.0 0.6.0 0.6.0 0.6.0 0.6.0 0.5.0 0.5.0 0.6.0 N/A N/A
50 :doc:`rocJPEG <rocjpeg:index>` COMMUNICATION 0.6.0 N/A .. _commlibs-support-compatibility-matrix-past-60: 0.6.0 N/A N/A N/A N/A N/A N/A N/A N/A N/A
51 :doc:`rocPyDecode <rocpydecode:index>` :doc:`RCCL <rccl:index>` 0.2.0 0.1.0 2.20.5 0.2.0 0.1.0 2.20.5 0.1.0 0.1.0 2.20.5 N/A 2.18.6 N/A 2.18.6 N/A 2.18.6 N/A N/A 2.18.3 N/A 2.18.3
52 :doc:`RPP <rpp:index>` 1.9.1 1.8.0 1.9.1 1.8.0 1.8.0 1.8.0 1.5.0 1.5.0 1.5.0 1.5.0 1.4.0 1.4.0
53 MATH LIBS .. _mathlibs-support-compatibility-matrix-past-60:
54 COMMUNICATION `half <https://github.com/ROCm/half>`_ .. _commlibs-support-compatibility-matrix-past-60: 1.12.0 1.12.0 1.12.0 1.12.0 1.12.0 1.12.0 1.12.0 1.12.0
55 :doc:`RCCL <rccl:index>` :doc:`hipBLAS <hipblas:index>` 2.21.5 2.20.5 2.2.0 2.21.5 2.20.5 2.2.0 2.20.5 2.20.5 2.2.0 2.18.6 2.1.0 2.18.6 2.1.0 2.18.6 2.1.0 2.18.6 2.18.3 2.0.0 2.18.3 2.0.0
56 :doc:`hipBLASLt <hipblaslt:index>` 0.8.0 0.8.0 0.8.0 0.7.0 0.7.0 0.7.0 0.6.0 0.6.0
57 MATH LIBS :doc:`hipFFT <hipfft:index>` .. _mathlibs-support-compatibility-matrix-past-60: 1.0.15 1.0.15 1.0.14 1.0.14 1.0.14 1.0.14 1.0.13 1.0.13
58 `half <https://github.com/ROCm/half>`_ :doc:`hipFORT <hipfort:index>` 1.12.0 1.12.0 0.4.0 1.12.0 1.12.0 0.4.0 1.12.0 1.12.0 0.4.0 1.12.0 0.4.0 1.12.0 0.4.0 1.12.0 0.4.0 1.12.0 1.12.0 0.4.0 1.12.0 0.4.0
59 :doc:`hipBLAS <hipblas:index>` :doc:`hipRAND <hiprand:index>` 2.3.0 2.2.0 2.11.0 2.3.0 2.2.0 2.11.0 2.2.0 2.2.0 2.11.0 2.1.0 2.10.16 2.1.0 2.10.16 2.1.0 2.10.16 2.1.0 2.0.0 2.10.16 2.0.0 2.10.16
60 :doc:`hipBLASLt <hipblaslt:index>` :doc:`hipSOLVER <hipsolver:index>` 0.10.0 0.8.0 2.2.0 0.10.0 0.8.0 2.2.0 0.8.0 0.8.0 2.2.0 0.7.0 2.1.1 0.7.0 2.1.1 0.7.0 2.1.0 0.7.0 0.6.0 2.0.0 0.6.0 2.0.0
61 :doc:`hipFFT <hipfft:index>` :doc:`hipSPARSE <hipsparse:index>` 1.0.17 1.0.15 3.1.1 1.0.17 1.0.15 3.1.1 1.0.16 1.0.14 3.1.1 1.0.14 3.0.1 1.0.14 3.0.1 1.0.14 3.0.1 1.0.14 1.0.13 3.0.0 1.0.13 3.0.0
62 :doc:`hipfort <hipfort:index>` :doc:`hipSPARSELt <hipsparselt:index>` 0.5.0 0.4.0 0.2.1 0.5.0 0.4.0 0.2.1 0.4.0 0.4.0 0.2.1 0.4.0 0.2.0 0.4.0 0.1.0 0.4.0 0.1.0 0.4.0 0.4.0 0.1.0 0.4.0 0.1.0
63 :doc:`hipRAND <hiprand:index>` :doc:`rocALUTION <rocalution:index>` 2.11.1 2.11.0 3.2.0 2.11.0 2.11.0 3.2.0 2.11.1 2.11.0 3.2.0 2.10.16 3.1.1 2.10.16 3.1.1 2.10.16 3.1.1 2.10.16 2.10.16 3.0.3 2.10.16 3.0.3
64 :doc:`rocBLAS <rocblas:index>` 4.2.1 4.2.1 4.2.0 4.1.2 4.1.0 4.1.0 4.0.0 4.0.0
65 :doc:`hipSOLVER <hipsolver:index>` :doc:`rocFFT <rocfft:index>` 2.3.0 2.2.0 1.0.29 2.3.0 2.2.0 1.0.29 2.2.0 2.2.0 1.0.28 2.1.1 1.0.27 2.1.1 1.0.27 2.1.0 1.0.26 2.1.1 2.0.0 1.0.25 2.0.0 1.0.23
66 :doc:`hipSPARSE <hipsparse:index>` :doc:`rocRAND <rocrand:index>` 3.1.2 3.1.1 3.1.0 3.1.2 3.1.1 3.1.0 3.1.1 3.1.1 3.1.0 3.0.1 3.0.1 3.0.1 3.0.1 3.0.0 3.0.0 2.10.17
67 :doc:`hipSPARSELt <hipsparselt:index>` :doc:`rocSOLVER <rocsolver:index>` 0.2.2 0.2.1 3.26.0 0.2.2 0.2.1 3.26.0 0.2.1 0.2.1 3.26.0 0.2.0 3.25.0 0.1.0 3.25.0 0.1.0 3.25.0 0.2.0 0.1.0 3.24.0 0.1.0 3.24.0
68 :doc:`rocALUTION <rocalution:index>` :doc:`rocSPARSE <rocsparse:index>` 3.2.1 3.2.0 3.2.1 3.2.0 3.2.1 3.2.0 3.1.1 3.1.2 3.1.1 3.1.2 3.1.1 3.1.2 3.1.1 3.0.3 3.0.2 3.0.3 3.0.2
69 :doc:`rocBLAS <rocblas:index>` :doc:`rocWMMA <rocwmma:index>` 4.3.0 4.2.1 1.5.0 4.3.0 4.2.1 1.5.0 4.2.4 4.2.0 1.5.0 4.1.2 1.4.0 4.1.0 1.4.0 4.1.0 1.4.0 4.1.2 4.0.0 1.3.0 4.0.0 1.3.0
70 :doc:`rocFFT <rocfft:index>` `Tensile <https://github.com/ROCm/Tensile>`_ 1.0.31 1.0.29 4.40.0 1.0.31 1.0.29 4.40.0 1.0.30 1.0.28 4.40.0 1.0.27 4.40.0 1.0.27 4.40.0 1.0.26 4.40.0 1.0.27 1.0.25 4.39.0 1.0.23 4.39.0
71 :doc:`rocRAND <rocrand:index>` 3.2.0 3.1.0 3.2.0 3.1.0 3.1.1 3.1.0 3.0.1 3.0.1 3.0.1 3.0.1 3.0.0 2.10.17
72 :doc:`rocSOLVER <rocsolver:index>` PRIMITIVES 3.27.0 3.26.0 .. _primitivelibs-support-compatibility-matrix-past-60: 3.27.0 3.26.0 3.26.2 3.26.0 3.25.0 3.25.0 3.25.0 3.25.0 3.24.0 3.24.0
73 :doc:`rocSPARSE <rocsparse:index>` :doc:`hipCUB <hipcub:index>` 3.3.0 3.2.0 3.3.0 3.2.0 3.2.1 3.2.0 3.1.2 3.1.0 3.1.2 3.1.0 3.1.2 3.1.0 3.1.2 3.0.2 3.0.0 3.0.2 3.0.0
74 :doc:`rocWMMA <rocwmma:index>` :doc:`hipTensor <hiptensor:index>` 1.6.0 1.5.0 1.3.0 1.6.0 1.5.0 1.3.0 1.5.0 1.5.0 1.3.0 1.4.0 1.2.0 1.4.0 1.2.0 1.4.0 1.2.0 1.4.0 1.3.0 1.1.0 1.3.0 1.1.0
75 :doc:`Tensile <tensile:src/index>` :doc:`rocPRIM <rocprim:index>` 4.42.0 4.41.0 3.2.0 4.42.0 4.41.0 3.2.0 4.41.0 4.41.0 3.2.0 4.40.0 3.1.0 4.40.0 3.1.0 4.40.0 3.1.0 4.40.0 4.39.0 3.0.0 4.39.0 3.0.0
76 :doc:`rocThrust <rocthrust:index>` 3.1.0 3.1.0 3.0.1 3.0.1 3.0.1 3.0.1 3.0.0 3.0.0
77 PRIMITIVES .. _primitivelibs-support-compatibility-matrix-past-60:
78 :doc:`hipCUB <hipcub:index>` SUPPORT LIBS 3.3.0 3.2.0 3.3.0 3.2.0 3.2.1 3.2.0 3.1.0 3.1.0 3.1.0 3.1.0 3.0.0 3.0.0
79 :doc:`hipTensor <hiptensor:index>` `hipother <https://github.com/ROCm/hipother>`_ 1.4.0 1.3.0 6.2.41134 1.4.0 1.3.0 6.2.41134 1.3.0 1.3.0 6.2.41133 1.2.0 6.1.40093 1.2.0 6.1.40092 1.2.0 6.1.40091 1.2.0 1.1.0 6.1.32831 1.1.0 6.1.32830
80 :doc:`rocPRIM <rocprim:index>` `rocm-core <https://github.com/ROCm/rocm-core>`_ 3.3.0 3.2.0 6.2.2 3.3.0 3.2.0 6.2.1 3.2.2 3.2.0 6.2.0 3.1.0 6.1.2 3.1.0 6.1.1 3.1.0 6.1.0 3.1.0 3.0.0 6.0.2 3.0.0 6.0.0
81 :doc:`rocThrust <rocthrust:index>` `ROCT-Thunk-Interface <https://github.com/ROCm/ROCT-Thunk-Interface>`_ 3.3.0 3.1.0 20240607.4.05 3.3.0 3.1.0 20240607.4.05 3.1.1 3.0.1 20240607.1.4246 3.0.1 20240125.5.08 3.0.1 20240125.5.08 3.0.1 20240125.3.30 3.0.1 3.0.0 20231016.2.245 3.0.0 20231016.2.245
82
83 SUPPORT LIBS SYSTEM MGMT TOOLS .. _tools-support-compatibility-matrix-past-60:
84 `hipother <https://github.com/ROCm/hipother>`_ :doc:`AMD SMI <amdsmi:index>` 6.3.42133 6.2.41134 24.6.3 6.3.42131 6.2.41134 24.6.3 6.2.41134 6.2.41133 24.6.2 6.1.40093 24.5.1 6.1.40092 24.5.1 6.1.40091 24.4.1 6.1.40093 6.1.32831 23.4.2 6.1.32830 23.4.2
85 :doc:`ROCm Data Center Tool <rdc:index>` 1.0.0 1.0.0 1.0.0 0.3.0 0.3.0 0.3.0 0.3.0 0.3.0
86 `rocm-core <https://github.com/ROCm/rocm-core>`_ :doc:`rocminfo <rocminfo:index>` 6.3.1 6.2.2 1.0.0 6.3.0 6.2.1 1.0.0 6.2.4 6.2.0 1.0.0 6.1.2 1.0.0 6.1.1 1.0.0 6.1.0 1.0.0 6.1.5 6.0.2 1.0.0 6.0.0 1.0.0
87 `ROCT-Thunk-Interface <https://github.com/ROCm/ROCT-Thunk-Interface>`_ :doc:`ROCm SMI <rocm_smi_lib:index>` N/A [#ROCT-rocr-past-60]_ 20240607.5.7 7.3.0 N/A [#ROCT-rocr-past-60]_ 20240607.4.05 7.3.0 20240607.5.7 20240607.1.4246 7.3.0 20240125.5.08 7.2.0 20240125.5.08 7.0.0 20240125.3.30 7.0.0 20240125.5.08 20231016.2.245 6.0.2 20231016.2.245 6.0.0
88 :doc:`ROCm Validation Suite <rocmvalidationsuite:index>` rocm-6.2.2 rocm-6.2.1 rocm-6.2.0 rocm-6.1.2 rocm-6.1.1 rocm-6.1.0 rocm-6.0.2 rocm-6.0.0
89 SYSTEM MGMT TOOLS .. _tools-support-compatibility-matrix-past-60:
90 :doc:`AMD SMI <amdsmi:index>` PERFORMANCE TOOLS 24.7.1 24.6.3 24.7.1 24.6.3 24.6.3 24.6.2 24.5.1 24.5.1 24.4.1 24.5.1 23.4.2 23.4.2
91 :doc:`ROCm Data Center Tool <rdc:index>` :doc:`Omniperf <omniperf:index>` 0.3.0 0.3.0 2.0.1 0.3.0 0.3.0 2.0.1 0.3.0 0.3.0 2.0.1 0.3.0 N/A 0.3.0 N/A 0.3.0 N/A 0.3.0 0.3.0 N/A 0.3.0 N/A
92 :doc:`rocminfo <rocminfo:index>` :doc:`Omnitrace <omnitrace:index>` 1.0.0 1.0.0 1.11.2 1.0.0 1.0.0 1.11.2 1.0.0 1.0.0 1.11.2 1.0.0 N/A 1.0.0 N/A 1.0.0 N/A 1.0.0 1.0.0 N/A 1.0.0 N/A
93 :doc:`ROCm SMI <rocm_smi_lib:index>` :doc:`ROCm Bandwidth Test <rocm_bandwidth_test:index>` 7.4.0 7.3.0 1.4.0 7.4.0 7.3.0 1.4.0 7.3.0 7.3.0 1.4.0 7.2.0 1.4.0 7.0.0 1.4.0 7.0.0 1.4.0 7.2.0 6.0.2 1.4.0 6.0.0 1.4.0
94 :doc:`ROCm Validation Suite <rocmvalidationsuite:index>` :doc:`ROCProfiler <rocprofiler:index>` 1.1.0 1.0.60202 2.0.60202 1.1.0 1.0.60201 2.0.60201 1.0.60204 1.0.60200 2.0.60200 1.0.60102 2.0.60102 1.0.60101 2.0.60101 1.0.60100 2.0.60100 1.0.60105 1.0.60002 2.0.60002 1.0.60000 2.0.60000
95 :doc:`ROCprofiler-SDK <rocprofiler-sdk:index>` 0.4.0 0.4.0 0.4.0 N/A N/A N/A N/A N/A
96 PERFORMANCE TOOLS :doc:`ROCTracer <roctracer:index>` 4.1.60202 4.1.60201 4.1.60200 4.1.60102 4.1.60101 4.1.60100 4.1.60002 4.1.60000
97 :doc:`ROCm Bandwidth Test <rocm_bandwidth_test:index>` 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
98 :doc:`ROCm Compute Profiler <rocprofiler-compute:index>` DEVELOPMENT TOOLS 3.0.0 2.0.1 3.0.0 2.0.1 2.0.1 2.0.1 N/A N/A N/A N/A N/A N/A
99 :doc:`ROCm Systems Profiler <rocprofiler-systems:index>` :doc:`HIPIFY <hipify:index>` 0.1.0 1.11.2 18.0.0.24355 0.1.0 1.11.2 18.0.0.24355 1.11.2 1.11.2 18.0.0.24232 N/A 17.0.0.24193 N/A 17.0.0.24154 N/A 17.0.0.24103 N/A N/A 17.0.0.24012 N/A 17.0.0.23483
100 :doc:`ROCProfiler <rocprofiler:index>` :doc:`ROCm CMake <rocmcmakebuildtools:index>` 2.0.60301 2.0.60202 0.13.0 2.0.60300 2.0.60201 0.13.0 2.0.60204 2.0.60200 0.13.0 2.0.60102 0.12.0 2.0.60101 0.12.0 2.0.60100 0.12.0 2.0.60105 2.0.60002 0.11.0 2.0.60000 0.11.0
101 :doc:`ROCdbgapi <rocdbgapi:index>` 0.76.0 0.76.0 0.76.0 0.71.0 0.71.0 0.71.0 0.71.0 0.71.0
102 :doc:`ROCprofiler-SDK <rocprofiler-sdk:index>` :doc:`ROCm Debugger (ROCgdb) <rocgdb:index>` 0.5.0 0.4.0 14.2.0 0.5.0 0.4.0 14.2.0 0.4.0 0.4.0 14.2.0 N/A 14.1.0 N/A 14.1.0 N/A 14.1.0 N/A N/A 13.2.0 N/A 13.2.0
103 :doc:`ROCTracer <roctracer:index>` `rocprofiler-register <https://github.com/ROCm/rocprofiler-register>`_ 4.1.60301 4.1.60202 0.4.0 4.1.60300 4.1.60201 0.4.0 4.1.60204 4.1.60200 0.4.0 4.1.60102 0.3.0 4.1.60101 0.3.0 4.1.60100 0.3.0 4.1.60105 4.1.60002 N/A 4.1.60000 N/A
104 :doc:`ROCr Debug Agent <rocr_debug_agent:index>` 2.0.3 2.0.3 2.0.3 2.0.3 2.0.3 2.0.3 2.0.3 2.0.3
105
106 DEVELOPMENT TOOLS COMPILERS .. _compilers-support-compatibility-matrix-past-60:
107 :doc:`HIPIFY <hipify:index>` `clang-ocl <https://github.com/ROCm/clang-ocl>`_ 18.0.0.24491 18.0.0.24355 N/A 18.0.0.24455 18.0.0.24355 N/A 18.0.0.24392 18.0.0.24232 N/A 17.0.0.24193 0.5.0 17.0.0.24154 0.5.0 17.0.0.24103 0.5.0 17.0.0.24193 17.0.0.24012 0.5.0 17.0.0.23483 0.5.0
108 :doc:`hipCC <hipcc:index>` 1.1.1 1.1.1 1.1.1 1.0.0 1.0.0 1.0.0 1.0.0 1.0.0
109 :doc:`ROCm CMake <rocmcmakebuildtools:index>` `Flang <https://github.com/ROCm/flang>`_ 0.14.0 0.13.0 18.0.0.24355 0.14.0 0.13.0 18.0.0.24355 0.13.0 0.13.0 18.0.0.24232 0.12.0 17.0.0.24193 0.12.0 17.0.0.24154 0.12.0 17.0.0.24103 0.12.0 0.11.0 17.0.0.24012 0.11.0 17.0.0.23483
110 :doc:`ROCdbgapi <rocdbgapi:index>` :doc:`llvm-project <llvm-project:index>` 0.77.0 0.76.0 18.0.0.24355 0.77.0 0.76.0 18.0.0.24355 0.76.0 0.76.0 18.0.0.24232 0.71.0 17.0.0.24193 0.71.0 17.0.0.24154 0.71.0 17.0.0.24103 0.71.0 0.71.0 17.0.0.24012 0.71.0 17.0.0.23483
111 :doc:`ROCm Debugger (ROCgdb) <rocgdb:index>` `OpenMP <https://github.com/ROCm/llvm-project/tree/amd-staging/openmp>`_ 15.2.0 14.2.0 18.0.0.24355 15.2.0 14.2.0 18.0.0.24355 14.2.0 14.2.0 18.0.0.24232 14.1.0 17.0.0.24193 14.1.0 17.0.0.24154 14.1.0 17.0.0.24103 14.1.0 13.2.0 17.0.0.24012 13.2.0 17.0.0.23483
112 `rocprofiler-register <https://github.com/ROCm/rocprofiler-register>`_ 0.4.0 0.4.0 0.4.0 0.4.0 0.4.0 0.4.0 0.3.0 0.3.0 0.3.0 0.3.0 N/A N/A
113 :doc:`ROCr Debug Agent <rocr_debug_agent:index>` RUNTIMES 2.0.3 2.0.3 .. _runtime-support-compatibility-matrix-past-60: 2.0.3 2.0.3 2.0.3 2.0.3 2.0.3 2.0.3 2.0.3 2.0.3 2.0.3 2.0.3
114 :doc:`AMD CLR <hip:understand/amd_clr>` 6.2.41134 6.2.41134 6.2.41133 6.1.40093 6.1.40092 6.1.40091 6.1.32831 6.1.32830
115 COMPILERS :doc:`HIP <hip:index>` .. _compilers-support-compatibility-matrix-past-60: 6.2.41134 6.2.41134 6.2.41133 6.1.40093 6.1.40092 6.1.40091 6.1.32831 6.1.32830
116 `clang-ocl <https://github.com/ROCm/clang-ocl>`_ `OpenCL Runtime <https://github.com/ROCm/clr/tree/develop/opencl>`_ N/A N/A 2.0.0 N/A N/A 2.0.0 N/A N/A 2.0.0 0.5.0 2.0.0 0.5.0 2.0.0 0.5.0 2.0.0 0.5.0 0.5.0 2.0.0 0.5.0 2.0.0
117 :doc:`hipCC <hipcc:index>` :doc:`ROCR-Runtime <rocr-runtime:index>` 1.1.1 1.1.1 1.14.0 1.1.1 1.1.1 1.14.0 1.1.1 1.1.1 1.13.0 1.0.0 1.13.0 1.0.0 1.13.0 1.0.0 1.13.0 1.0.0 1.0.0 1.12.0 1.0.0 1.12.0
`Flang <https://github.com/ROCm/flang>`_ 18.0.0.24491 18.0.0.24355 18.0.0.24455 18.0.0.24355 18.0.0.24392 18.0.0.24232 17.0.0.24193 17.0.0.24154 17.0.0.24103 17.0.0.24193 17.0.0.24012 17.0.0.23483
:doc:`llvm-project <llvm-project:index>` 18.0.0.24455 18.0.0.24355 18.0.0.24491 18.0.0.24355 18.0.0.24392 18.0.0.24232 17.0.0.24193 17.0.0.24154 17.0.0.24103 17.0.0.24193 17.0.0.24012 17.0.0.23483
`OpenMP <https://github.com/ROCm/llvm-project/tree/amd-staging/openmp>`_ 18.0.0.24455 18.0.0.24355 18.0.0.24491 18.0.0.24355 18.0.0.24392 18.0.0.24232 17.0.0.24193 17.0.0.24154 17.0.0.24103 17.0.0.24193 17.0.0.24012 17.0.0.23483
RUNTIMES .. _runtime-support-compatibility-matrix-past-60:
:doc:`AMD CLR <hip:understand/amd_clr>` 6.3.42133 6.2.41134 6.3.42131 6.2.41134 6.2.41134 6.2.41133 6.1.40093 6.1.40092 6.1.40091 6.1.40093 6.1.32831 6.1.32830
:doc:`HIP <hip:index>` 6.3.42133 6.2.41134 6.3.42131 6.2.41134 6.2.41134 6.2.41133 6.1.40093 6.1.40092 6.1.40091 6.1.40093 6.1.32831 6.1.32830
`OpenCL Runtime <https://github.com/ROCm/clr/tree/develop/opencl>`_ 2.0.0 2.0.0 2.0.0 2.0.0 2.0.0 2.0.0 2.0.0 2.0.0 2.0.0 2.0.0 2.0.0 2.0.0
:doc:`ROCr Runtime <rocr-runtime:index>` 1.14.0 1.14.0 1.14.0 1.14.0 1.14.0 1.13.0 1.13.0 1.13.0 1.13.0 1.13.0 1.12.0 1.12.0

View File

@@ -10,11 +10,10 @@ Use this matrix to view the ROCm compatibility and system requirements across su
You can also refer to the :ref:`past versions of ROCm compatibility matrix<past-rocm-compatibility-matrix>`.
Accelerators and GPUs listed in the following table support compute workloads (no display
information or graphics). If youre using ROCm with AMD Radeon or Radeon Pro GPUs for graphics
workloads, see the `Use ROCm on Radeon GPU documentation
<https://rocm.docs.amd.com/projects/radeon/en/latest/docs/compatibility.html>`_ to verify
compatibility and system requirements.
.. note::
Like AMD Instinct accelerators, AMD Radeon and Radeon Pro GPUs can be used in environments for compute purposes (no display information or graphics). If using AMD Radeon or Radeon Pro GPUs with ROCm for graphics-related purposes (for example, display connected), review the `Compatibility matrices <https://rocm.docs.amd.com/projects/radeon/en/latest/docs/compatibility.html>`_ in the Use ROCm on Radeon GPU documentation to confirm system requirements.
.. |br| raw:: html
@@ -22,18 +21,18 @@ compatibility and system requirements.
.. container:: format-big-table
.. csv-table::
:header: "ROCm Version", "6.3.1", "6.3.0", "6.2.0"
.. csv-table::
:header: "ROCm Version", "6.2.2", "6.2.1", "6.1.0"
:stub-columns: 1
:ref:`Operating systems & kernels <OS-kernel-versions>`,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04
,Ubuntu 22.04.5,Ubuntu 22.04.5,"Ubuntu 22.04.5, 22.04.4"
,"RHEL 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.4, 9.3"
,RHEL 8.10,RHEL 8.10,"RHEL 8.10, 8.9"
,"SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5"
,Oracle Linux 8.10 [#mi300x]_,Oracle Linux 8.10 [#mi300x]_,Oracle Linux 8.9 [#mi300x]_
,Debian 12 [#single-node]_,,
,Azure Linux 3.0 [#mi300x]_,,
:ref:`Operating systems & kernels <OS-kernel-versions>`,"Ubuntu 24.04.1, 24.04","Ubuntu 24.04.1, 24.04",Ubuntu 24.04
,"Ubuntu 22.04.5, 22.04.4","Ubuntu 22.04.5, 22.04.4","Ubuntu 22.04.4, 22.04.3"
,,,"Ubuntu 20.04.6, 20.04.5"
,"RHEL 9.4, 9.3","RHEL 9.4, 9.3","RHEL 9.4 [#red-hat94]_, 9.3, 9.2"
,"RHEL 8.10, 8.9","RHEL 8.10, 8.9","RHEL 8.9, 8.8"
,"SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP5, SP4"
,,,CentOS 7.9
,Oracle Linux 8.9 [#oracle89]_,Oracle Linux 8.9 [#oracle89]_,
,.. _architecture-support-compatibility-matrix:,,
:doc:`Architecture <rocm-install-on-linux:reference/system-requirements>`,CDNA3,CDNA3,CDNA3
,CDNA2,CDNA2,CDNA2
@@ -43,149 +42,154 @@ compatibility and system requirements.
,.. _gpu-support-compatibility-matrix:,,
:doc:`GPU / LLVM target <rocm-install-on-linux:reference/system-requirements>`,gfx1100,gfx1100,gfx1100
,gfx1030,gfx1030,gfx1030
,gfx942,gfx942,gfx942 [#mi300_620]_
,gfx942 [#mi300_622]_,gfx942 [#mi300_621]_, gfx942 [#mi300_610]_
,gfx90a,gfx90a,gfx90a
,gfx908,gfx908,gfx908
,,,
FRAMEWORK SUPPORT,.. _framework-support-compatibility-matrix:,,
:doc:`PyTorch <../compatibility/ml-compatibility/pytorch-compatibility>`,"2.4, 2.3, 2.2, 1.13","2.4, 2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13"
:doc:`TensorFlow <../compatibility/ml-compatibility/tensorflow-compatibility>`,"2.17.0, 2.16.2, 2.15.1","2.17.0, 2.16.2, 2.15.1","2.16.1, 2.15.1, 2.14.1"
:doc:`JAX <../compatibility/ml-compatibility/jax-compatibility>`,0.4.31,0.4.31,0.4.26
:doc:`PyTorch <rocm-install-on-linux:install/3rd-party/pytorch-install>`,"2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.1, 2.0, 1.13"
:doc:`TensorFlow <rocm-install-on-linux:install/3rd-party/tensorflow-install>`,"2.16.1, 2.15.1, 2.14.1","2.16.1, 2.15.1, 2.14.1","2.15, 2.14, 2.13"
:doc:`JAX <rocm-install-on-linux:install/3rd-party/jax-install>`,0.4.26,0.4.26,0.4.26
`ONNX Runtime <https://onnxruntime.ai/docs/build/eps.html#amd-migraphx>`_,1.17.3,1.17.3,1.17.3
,,,
THIRD PARTY COMMS,.. _thirdpartycomms-support-compatibility-matrix:,,
`UCC <https://github.com/ROCm/ucc>`_,>=1.3.0,>=1.3.0,>=1.3.0
`UCX <https://github.com/ROCm/ucx>`_,>=1.15.0,>=1.15.0,>=1.15.0
`UCX <https://github.com/ROCm/ucx>`_,>=1.15.0,>=1.15.0,>=1.14.1
,,,
THIRD PARTY ALGORITHM,.. _thirdpartyalgorithm-support-compatibility-matrix:,,
Thrust,2.3.2,2.3.2,2.2.0
CUB,2.3.2,2.3.2,2.2.0
Thrust,2.2.0,2.2.0,2.1.0
CUB,2.2.0,2.2.0,2.1.0
,,,
KMD & USER SPACE [#kfd_support]_,.. _kfd-userspace-support-compatibility-matrix:,,
Tested user space versions,"6.3.x, 6.2.x, 6.1.x","6.3.x, 6.2.x, 6.1.x","6.3.x, 6.2.x, 6.1.x, 6.0.x"
KFD & USER SPACE [#kfd_support]_,.. _kfd-userspace-support-compatibility-matrix:,,
Tested user space versions,"6.1.x, 6.0.x","6.1.x, 6.0.x","6.2.x, 6.0.x, 5.7.x"
,,,
ML & COMPUTER VISION,.. _mllibs-support-compatibility-matrix:,,
:doc:`Composable Kernel <composable_kernel:index>`,1.1.0,1.1.0,1.1.0
:doc:`MIGraphX <amdmigraphx:index>`,2.11.0,2.11.0,2.10.0
:doc:`MIOpen <miopen:index>`,3.3.0,3.3.0,3.2.0
:doc:`MIVisionX <mivisionx:index>`,3.1.0,3.1.0,3.0.0
:doc:`rocAL <rocal:index>`,2.1.0,2.1.0,1.0.0
:doc:`rocDecode <rocdecode:index>`,0.8.0,0.8.0,0.6.0
:doc:`rocJPEG <rocjpeg:index>`,0.6.0,0.6.0,N/A
:doc:`rocPyDecode <rocpydecode:index>`,0.2.0,0.2.0,0.1.0
:doc:`RPP <rpp:index>`,1.9.1,1.9.1,1.8.0
:doc:`MIGraphX <amdmigraphx:index>`,2.10.0,2.10.0,2.9.0
:doc:`MIOpen <miopen:index>`,3.2.0,3.2.0,3.1.0
:doc:`MIVisionX <mivisionx:index>`,3.0.0,3.0.0,2.5.0
:doc:`rocAL <rocal:index>`,2.0.0,2.0.0,1.0.0
:doc:`rocDecode <rocdecode:index>`,0.6.0,0.6.0,0.5.0
:doc:`rocPyDecode <rocpydecode:index>`,0.1.0,0.1.0,N/A
:doc:`RPP <rpp:index>`,1.8.0,1.8.0,1.5.0
,,,
COMMUNICATION,.. _commlibs-support-compatibility-matrix:,,
:doc:`RCCL <rccl:index>`,2.21.5,2.21.5,2.20.5
:doc:`RCCL <rccl:index>`,2.20.5,2.20.5,2.18.6
,,,
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>`,2.3.0,2.3.0,2.2.0
:doc:`hipBLASLt <hipblaslt:index>`,0.10.0,0.10.0,0.8.0
:doc:`hipFFT <hipfft:index>`,1.0.17,1.0.17,1.0.14
:doc:`hipfort <hipfort:index>`,0.5.0,0.5.0,0.4.0
:doc:`hipRAND <hiprand:index>`,2.11.1,2.11.0,2.11.0
:doc:`hipSOLVER <hipsolver:index>`,2.3.0,2.3.0,2.2.0
:doc:`hipSPARSE <hipsparse:index>`,3.1.2,3.1.2,3.1.1
:doc:`hipSPARSELt <hipsparselt:index>`,0.2.2,0.2.2,0.2.1
:doc:`rocALUTION <rocalution:index>`,3.2.1,3.2.1,3.2.0
:doc:`rocBLAS <rocblas:index>`,4.3.0,4.3.0,4.2.0
:doc:`rocFFT <rocfft:index>`,1.0.31,1.0.31,1.0.28
:doc:`rocRAND <rocrand:index>`,3.2.0,3.2.0,3.1.0
:doc:`rocSOLVER <rocsolver:index>`,3.27.0,3.27.0,3.26.0
:doc:`rocSPARSE <rocsparse:index>`,3.3.0,3.3.0,3.2.0
:doc:`rocWMMA <rocwmma:index>`,1.6.0,1.6.0,1.5.0
:doc:`Tensile <tensile:src/index>`,4.42.0,4.42.0,4.41.0
:doc:`hipBLAS <hipblas:index>`,2.2.0,2.2.0,2.1.0
:doc:`hipBLASLt <hipblaslt:index>`,0.8.0,0.8.0,0.7.0
:doc:`hipFFT <hipfft:index>`,1.0.15,1.0.15,1.0.14
:doc:`hipFORT <hipfort:index>`,0.4.0,0.4.0,0.4.0
:doc:`hipRAND <hiprand:index>`,2.11.0,2.11.0,2.10.16
:doc:`hipSOLVER <hipsolver:index>`,2.2.0,2.2.0,2.1.0
:doc:`hipSPARSE <hipsparse:index>`,3.1.1,3.1.1,3.0.1
:doc:`hipSPARSELt <hipsparselt:index>`,0.2.1,0.2.1,0.1.0
:doc:`rocALUTION <rocalution:index>`,3.2.0,3.2.0,3.1.1
:doc:`rocBLAS <rocblas:index>`,4.2.1,4.2.1,4.1.0
:doc:`rocFFT <rocfft:index>`,1.0.29,1.0.29,1.0.26
:doc:`rocRAND <rocrand:index>`,3.1.0,3.1.0,3.0.1
:doc:`rocSOLVER <rocsolver:index>`,3.26.0,3.26.0,3.25.0
:doc:`rocSPARSE <rocsparse:index>`,3.2.0,3.2.0,3.1.2
:doc:`rocWMMA <rocwmma:index>`,1.5.0,1.5.0,1.4.0
`Tensile <https://github.com/ROCm/Tensile>`_,4.40.0,4.40.0,4.40.0
,,,
PRIMITIVES,.. _primitivelibs-support-compatibility-matrix:,,
:doc:`hipCUB <hipcub:index>`,3.3.0,3.3.0,3.2.0
:doc:`hipTensor <hiptensor:index>`,1.4.0,1.4.0,1.3.0
:doc:`rocPRIM <rocprim:index>`,3.3.0,3.3.0,3.2.0
:doc:`rocThrust <rocthrust:index>`,3.3.0,3.3.0,3.0.1
:doc:`hipCUB <hipcub:index>`,3.2.0,3.2.0,3.1.0
:doc:`hipTensor <hiptensor:index>`,1.3.0,1.3.0,1.2.0
:doc:`rocPRIM <rocprim:index>`,3.2.0,3.2.0,3.1.0
:doc:`rocThrust <rocthrust:index>`,3.1.0,3.1.0,3.0.1
,,,
SUPPORT LIBS,,,
`hipother <https://github.com/ROCm/hipother>`_,6.3.42133,6.3.42131,6.2.41133
`rocm-core <https://github.com/ROCm/rocm-core>`_,6.3.1,6.3.0,6.2.0
`ROCT-Thunk-Interface <https://github.com/ROCm/ROCT-Thunk-Interface>`_,N/A [#ROCT-rocr]_,N/A [#ROCT-rocr]_,20240607.1.4246
`hipother <https://github.com/ROCm/hipother>`_,6.2.41134,6.2.41134,6.1.40091
`rocm-core <https://github.com/ROCm/rocm-core>`_,6.2.2,6.2.1,6.1.0
`ROCT-Thunk-Interface <https://github.com/ROCm/ROCT-Thunk-Interface>`_,20240607.4.05,20240607.4.05,20240125.3.30
,,,
SYSTEM MGMT TOOLS,.. _tools-support-compatibility-matrix:,,
:doc:`AMD SMI <amdsmi:index>`,24.7.1,24.7.1,24.6.2
:doc:`ROCm Data Center Tool <rdc:index>`,0.3.0,0.3.0,0.3.0
:doc:`AMD SMI <amdsmi:index>`,24.6.3,24.6.3,24.4.1
:doc:`ROCm Data Center Tool <rdc:index>`,1.0.0,1.0.0,0.3.0
:doc:`rocminfo <rocminfo:index>`,1.0.0,1.0.0,1.0.0
:doc:`ROCm SMI <rocm_smi_lib:index>`,7.4.0,7.4.0,7.3.0
:doc:`ROCm Validation Suite <rocmvalidationsuite:index>`,1.1.0,1.1.0,1.0.60200
:doc:`ROCm SMI <rocm_smi_lib:index>`,7.3.0,7.3.0,7.0.0
:doc:`ROCm Validation Suite <rocmvalidationsuite:index>`,rocm-6.2.2,rocm-6.2.1,rocm-6.1.0
,,,
PERFORMANCE TOOLS,,,
:doc:`Omniperf <omniperf:index>`,2.0.1,2.0.1,N/A
:doc:`Omnitrace <omnitrace:index>`,1.11.2,1.11.2,N/A
:doc:`ROCm Bandwidth Test <rocm_bandwidth_test:index>`,1.4.0,1.4.0,1.4.0
:doc:`ROCm Compute Profiler <rocprofiler-compute:index>`,3.0.0,3.0.0,2.0.1
:doc:`ROCm Systems Profiler <rocprofiler-systems:index>`,0.1.0,0.1.0,1.11.2
:doc:`ROCProfiler <rocprofiler:index>`,2.0.60301,2.0.60300,2.0.60200
:doc:`ROCprofiler-SDK <rocprofiler-sdk:index>`,0.5.0,0.5.0,0.4.0
:doc:`ROCTracer <roctracer:index>`,4.1.60301,4.1.60300,4.1.60200
:doc:`ROCProfiler <rocprofiler:index>`,2.0.60202,2.0.60201,2.0.60100
:doc:`ROCprofiler-SDK <rocprofiler-sdk:index>`,0.4.0,0.4.0,N/A
:doc:`ROCTracer <roctracer:index>`,4.1.60202,4.1.60201,4.1.60100
,,,
DEVELOPMENT TOOLS,,,
:doc:`HIPIFY <hipify:index>`,18.0.0.24491,18.0.0.24455,18.0.0.24232
:doc:`ROCm CMake <rocmcmakebuildtools:index>`,0.14.0,0.14.0,0.13.0
:doc:`ROCdbgapi <rocdbgapi:index>`,0.77.0,0.77.0,0.76.0
:doc:`ROCm Debugger (ROCgdb) <rocgdb:index>`,15.2.0,15.2.0,14.2.0
`rocprofiler-register <https://github.com/ROCm/rocprofiler-register>`_,0.4.0,0.4.0,0.4.0
:doc:`HIPIFY <hipify:index>`,18.0.0.24355,18.0.0.24355,17.0.0.24103
:doc:`ROCm CMake <rocmcmakebuildtools:index>`,0.13.0,0.13.0,0.12.0
:doc:`ROCdbgapi <rocdbgapi:index>`,0.76.0,0.76.0,0.71.0
:doc:`ROCm Debugger (ROCgdb) <rocgdb:index>`,14.2.0,14.2.0,14.1.0
`rocprofiler-register <https://github.com/ROCm/rocprofiler-register>`_,0.4.0,0.4.0,0.3.0
:doc:`ROCr Debug Agent <rocr_debug_agent:index>`,2.0.3,2.0.3,2.0.3
,,,
COMPILERS,.. _compilers-support-compatibility-matrix:,,
`clang-ocl <https://github.com/ROCm/clang-ocl>`_,N/A,N/A,N/A
:doc:`hipCC <hipcc:index>`,1.1.1,1.1.1,1.1.1
`Flang <https://github.com/ROCm/flang>`_,18.0.0.24491,18.0.0.24455,18.0.0.24232
:doc:`llvm-project <llvm-project:index>`,18.0.0.24491,18.0.0.24455,18.0.0.24232
`OpenMP <https://github.com/ROCm/llvm-project/tree/amd-staging/openmp>`_,18.0.0.24491,18.0.0.24455,18.0.0.24232
`clang-ocl <https://github.com/ROCm/clang-ocl>`_,N/A,N/A,0.5.0
:doc:`hipCC <hipcc:index>`,1.1.1,1.1.1,1.0.0
`Flang <https://github.com/ROCm/flang>`_,18.0.0.24355,18.0.0.24355,17.0.0.24103
:doc:`llvm-project <llvm-project:index>`,18.0.0.24355,18.0.0.24355,17.0.0.24103
`OpenMP <https://github.com/ROCm/llvm-project/tree/amd-staging/openmp>`_,18.0.0.24355,18.0.0.24355,17.0.0.24103
,,,
RUNTIMES,.. _runtime-support-compatibility-matrix:,,
:doc:`AMD CLR <hip:understand/amd_clr>`,6.3.42133,6.3.42131,6.2.41133
:doc:`HIP <hip:index>`,6.3.42133,6.3.42131,6.2.41133
:doc:`AMD CLR <hip:understand/amd_clr>`,6.2.41134,6.2.41134,6.1.40091
:doc:`HIP <hip:index>`,6.2.41134,6.2.41134,6.1.40091
`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.14.0,1.14.0,1.13.0
:doc:`ROCR-Runtime <rocr-runtime:index>`,1.14.0,1.14.0,1.13.0
.. rubric:: Footnotes
.. [#mi300x] Oracle Linux and Azure Linux are supported only on AMD Instinct MI300X.
.. [#single-node] Debian 12 is supported only on AMD Instinct MI300X for single-node functionality.
.. [#mi300_620] **For ROCm 6.2.0** - MI300X (gfx942) is supported on listed operating systems *except* Ubuntu 22.04.5 [6.8 HWE] and Ubuntu 22.04.4 [6.5 HWE].
.. [#kfd_support] ROCm provides forward and backward compatibility between the AMD Kernel-mode GPU Driver (KMD) and its user space software for +/- 2 releases. The tested 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 kernel-space 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.
.. [#red-hat94] RHEL 9.4 is supported only on AMD Instinct MI300A.
.. [#oracle89] Oracle Linux is supported only on AMD Instinct MI300X.
.. [#mi300_622] **For ROCm 6.2.2** - MI300X (gfx942) is supported on listed operating systems *except* Ubuntu 22.04.5 [6.8 HWE] and Ubuntu 22.04.4 [6.5 HWE].
.. [#mi300_621] **For ROCm 6.2.1** - MI300X (gfx942) is supported on listed operating systems *except* Ubuntu 22.04.5 [6.8 HWE] and Ubuntu 22.04.4 [6.5 HWE].
.. [#mi300_610] **For ROCm 6.1.0** - MI300A (gfx942) is supported on Ubuntu 22.04.4, RHEL 9.4, RHEL 9.3, RHEL 8.9, and SLES 15 SP5. MI300X (gfx942) is only supported on Ubuntu 22.04.4.
.. [#kfd_support] ROCm provides forward and backward compatibility between the Kernel Fusion Driver (KFD) and its user space software for +/- 2 releases. These are the compatibility combinations that are currently supported.
.. _OS-kernel-versions:
Operating systems and kernel versions
*************************************
Use this lookup table to confirm which operating system and kernel versions are supported with ROCm.
Use this look up table to confirm which operating system and kernel versions are supported with ROCm.
.. csv-table::
:header: "OS", "Version", "Kernel"
:widths: 40, 20, 40
:stub-columns: 1
`Ubuntu <https://ubuntu.com/about/release-cycle#ubuntu-kernel-release-cycle>`_, 24.04.2, "6.8 GA, 6.11 HWE"
`Ubuntu <https://ubuntu.com/about/release-cycle#ubuntu-kernel-release-cycle>`_, 24.04.1, "6.8 GA"
, 24.04, "6.8 GA"
`Ubuntu <https://ubuntu.com/about/release-cycle#ubuntu-kernel-release-cycle>`_, 22.04.05, "5.15 GA, 6.8 HWE"
, 22.04.04, "5.15 GA, 6.5 HWE"
, 22.04.03, "5.15 GA, 6.2 HWE"
, 22.04.02, "5.15 GA, 5.19 HWE"
`Ubuntu <https://ubuntu.com/about/release-cycle#ubuntu-kernel-release-cycle>`_, 20.04.06, "5.15 HWE"
, 20.04.05, "5.15 HWE"
,,
`Ubuntu <https://ubuntu.com/about/release-cycle#ubuntu-kernel-release-cycle>`_, 22.04.5, "5.15 GA, 6.8 HWE"
, 22.04.4, "5.15 GA, 6.5 HWE"
,,
`Red Hat Enterprise Linux (RHEL) <https://access.redhat.com/articles/3078#RHEL9>`_, 9.5, 5.14.0
,9.4, 5.14.0
`Red Hat Enterprise Linux (RHEL) <https://access.redhat.com/articles/3078#RHEL9>`_, 9.4, 5.14.0
,9.3, 5.14.0
,9.2, 5.14.0
,,
`Red Hat Enterprise Linux (RHEL) <https://access.redhat.com/articles/3078#RHEL8>`_, 8.10, 4.18.0
,8.9, 4.18.0
,8.8, 4.18.0
,,
`CentOS <https://access.redhat.com/articles/3078#RHEL7>`_, 7.9, 3.10
,,
`SUSE Linux Enterprise Server (SLES) <https://www.suse.com/support/kb/doc/?id=000019587#SLE15SP4>`_, 15 SP6, 6.4.0
,15 SP5, 5.14.21
,15 SP4, 5.14.21
,,
`Oracle Linux <https://blogs.oracle.com/scoter/post/oracle-linux-and-unbreakable-enterprise-kernel-uek-releases>`_, 8.10, 5.15.0
,8.9, 5.15.0
,,
`Debian <https://www.debian.org/download>`_,12, 6.1
`Azure Linux <https://techcommunity.microsoft.com/blog/linuxandopensourceblog/azure-linux-3-0-now-in-preview-on-azure-kubernetes-service-v1-31/4287229>`_,3.0, 6.6
`Oracle Linux <https://blogs.oracle.com/scoter/post/oracle-linux-and-unbreakable-enterprise-kernel-uek-releases>`_, 8.9, 5.15.0
..
Footnotes and ref anchors in below historical tables should be appended with "-past-60", to differentiate from the
@@ -210,12 +214,11 @@ Expand for full historical view of:
:file: compatibility-matrix-historical-6.0.csv
:header-rows: 1
:stub-columns: 1
.. rubric:: Footnotes
.. [#mic300x-past-60] Oracle Linux and Azure Linux are supported only on AMD Instinct MI300X.
.. [#single-node-past-60] Debian 12 is supported only on AMD Instinct MI300X for single-node functionality.
.. [#mi300_624-past-60] **For ROCm 6.2.4** - MI300X (gfx942) is supported on listed operating systems *except* Ubuntu 22.04.5 [6.8 HWE] and Ubuntu 22.04.4 [6.5 HWE].
.. [#red-hat94-past-60] RHEL 9.4 is supported only on AMD Instinct MI300A.
.. [#oracle89-past-60] Oracle Linux is supported only on AMD Instinct MI300X.
.. [#mi300_622-past-60] **For ROCm 6.2.2** - MI300X (gfx942) is supported on listed operating systems *except* Ubuntu 22.04.5 [6.8 HWE] and Ubuntu 22.04.4 [6.5 HWE].
.. [#mi300_621-past-60] **For ROCm 6.2.1** - MI300X (gfx942) is supported on listed operating systems *except* Ubuntu 22.04.5 [6.8 HWE] and Ubuntu 22.04.4 [6.5 HWE].
.. [#mi300_620-past-60] **For ROCm 6.2.0** - MI300X (gfx942) is supported on listed operating systems *except* Ubuntu 22.04.5 [6.8 HWE] and Ubuntu 22.04.4 [6.5 HWE].
@@ -224,5 +227,4 @@ Expand for full historical view of:
.. [#mi300_610-past-60] **For ROCm 6.1.0** - MI300A (gfx942) is supported on Ubuntu 22.04.4, RHEL 9.4, RHEL 9.3, RHEL 8.9, and SLES 15 SP5. MI300X (gfx942) is only supported on Ubuntu 22.04.4.
.. [#mi300_602-past-60] **For ROCm 6.0.2** - MI300A (gfx942) is supported on Ubuntu 22.04.3, RHEL 8.9, and SLES 15 SP5. MI300X (gfx942) is only supported on Ubuntu 22.04.3.
.. [#mi300_600-past-60] **For ROCm 6.0.0** - MI300A (gfx942) is supported on Ubuntu 22.04.3, RHEL 8.9, and SLES 15 SP5. MI300X (gfx942) is only supported on Ubuntu 22.04.3.
.. [#kfd_support-past-60] ROCm provides forward and backward compatibility between the AMD Kernel-mode GPU Driver (KMD) and its user space software for +/- 2 releases. The tested 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 kernel-space 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.
.. [#kfd_support-past-60] ROCm provides forward and backward compatibility between the Kernel Fusion Driver (KFD) and its user space software for +/- 2 releases. These are the compatibility combinations that are currently supported.

View File

@@ -1,663 +0,0 @@
.. meta::
:description: JAX compatibility
:keywords: GPU, JAX compatibility
*******************************************************************************
JAX compatibility
*******************************************************************************
JAX provides a NumPy-like API, which 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 just-in-time (JIT) compilation,
automatic vectorization, and parallelization. To learn about JAX, including profiling and
optimizations, see the official `JAX documentation
<https://jax.readthedocs.io/en/latest/notebooks/quickstart.html>`_.
ROCm support for JAX is upstreamed and users can build the official source code with ROCm
support:
- ROCm JAX release:
- Offers AMD-validated and community :ref:`Docker images <jax-docker-compat>` with ROCm and JAX pre-installed.
- ROCm JAX repository: `<https://github.com/ROCm/jax>`__
- See the :doc:`ROCm JAX installation guide <rocm-install-on-linux:install/3rd-party/jax-install>`
to get started.
- Official JAX release:
- Official JAX repository: `<https://github.com/jax-ml/jax>`__
- See the `AMD GPU (Linux) installation section
<https://jax.readthedocs.io/en/latest/installation.html#amd-gpu-linux>`_ in the JAX
documentation.
.. note::
AMD releases official `ROCm JAX Docker images <https://hub.docker.com/r/rocm/jax>`_
quarterly alongside new ROCm releases. These images undergo full AMD testing.
`Community ROCm JAX Docker images <https://hub.docker.com/r/rocm/jax-community>`_
follow upstream JAX releases and use the latest available ROCm version.
.. _jax-docker-compat:
Docker image compatibility
================================================================================
.. |docker-icon| raw:: html
<i class="fab fa-docker"></i>
AMD validates and publishes ready-made `JAX <https://hub.docker.com/r/rocm/jax/>`_
images with ROCm backends on Docker Hub. The following Docker image tags and
associated inventories are validated for
`ROCm 6.3.1 <https://repo.radeon.com/rocm/apt/6.3.1/>`_. Click the |docker-icon|
icon to view the image on Docker Hub.
.. list-table:: JAX Docker image components
:header-rows: 1
* - Docker image
- JAX
- Linux
- Python
* - .. raw:: html
<a href="https://hub.docker.com/layers/rocm/jax/rocm6.3.1-jax0.4.31-py3.12/images/sha256-085a0cd5207110922f1fca684933a9359c66d42db6c5aba4760ed5214fdabde0"><i class="fab fa-docker fa-lg"></i> rocm/jax</a>
- `0.4.31 <https://github.com/ROCm/jax/releases/tag/rocm-jax-v0.4.31>`_
- Ubuntu 24.04
- `3.12.7 <https://www.python.org/downloads/release/python-3127/>`_
* - .. raw:: html
<a href="https://hub.docker.com/layers/rocm/jax/rocm6.3.1-jax0.4.31-py3.10/images/sha256-f88eddad8f47856d8640b694da4da347ffc1750d7363175ab7dc872e82b43324"><i class="fab fa-docker fa-lg"></i> rocm/jax</a>
- `0.4.31 <https://github.com/ROCm/jax/releases/tag/rocm-jax-v0.4.31>`_
- Ubuntu 22.04
- `3.10.14 <https://www.python.org/downloads/release/python-31014/>`_
AMD publishes community `JAX <https://hub.docker.com/r/rocm/jax-community>`_
images with ROCm backends on Docker Hub. The following Docker image tags and
associated inventories are tested for `ROCm 6.2.4 <https://repo.radeon.com/rocm/apt/6.2.4/>`_.
.. list-table:: JAX community Docker image components
:header-rows: 1
* - Docker image
- JAX
- Linux
- Python
* - .. raw:: html
<a href="https://hub.docker.com/layers/rocm/jax-community/rocm6.2.4-jax0.4.35-py3.12.7/images/sha256-a6032d89c07573b84c44e42c637bf9752b1b7cd2a222d39344e603d8f4c63beb?context=explore"><i class="fab fa-docker fa-lg"></i> rocm/jax-community</a>
- `0.4.35 <https://github.com/ROCm/jax/releases/tag/rocm-jax-v0.4.35>`_
- Ubuntu 22.04
- `3.12.7 <https://www.python.org/downloads/release/python-3127/>`_
* - .. raw:: html
<a href="https://hub.docker.com/layers/rocm/jax-community/rocm6.2.4-jax0.4.35-py3.11.10/images/sha256-d462f7e445545fba2f3b92234a21beaa52fe6c5f550faabcfdcd1bf53486d991?context=explore"><i class="fab fa-docker fa-lg"></i> rocm/jax-community</a>
- `0.4.35 <https://github.com/ROCm/jax/releases/tag/rocm-jax-v0.4.35>`_
- Ubuntu 22.04
- `3.11.10 <https://www.python.org/downloads/release/python-31110/>`_
* - .. raw:: html
<a href="https://hub.docker.com/layers/rocm/jax-community/rocm6.2.4-jax0.4.35-py3.10.15/images/sha256-6f2d4d0f529378d9572f0e8cfdcbc101d1e1d335bd626bb3336fff87814e9d60?context=explore"><i class="fab fa-docker fa-lg"></i> rocm/jax-community</a>
- `0.4.35 <https://github.com/ROCm/jax/releases/tag/rocm-jax-v0.4.35>`_
- Ubuntu 22.04
- `3.10.15 <https://www.python.org/downloads/release/python-31015/>`_
Critical ROCm libraries for JAX
================================================================================
The functionality of JAX with ROCm is determined by its underlying library
dependencies. These critical ROCm components affect the capabilities,
performance, and feature set available to developers.
.. list-table::
:header-rows: 1
* - ROCm library
- Version
- Purpose
- Used in
* - `hipBLAS <https://github.com/ROCm/hipBLAS>`_
- 2.3.0
- Provides GPU-accelerated Basic Linear Algebra Subprograms (BLAS) for
matrix and vector operations.
- Matrix multiplication in ``jax.numpy.matmul``, ``jax.lax.dot`` and
``jax.lax.dot_general``, operations like ``jax.numpy.dot``, which
involve vector and matrix computations and batch matrix multiplications
``jax.numpy.einsum`` with matrix-multiplication patterns algebra
operations.
* - `hipBLASLt <https://github.com/ROCm/hipBLASLt>`_
- 0.10.0
- hipBLASLt is an extension of hipBLAS, providing additional
features like epilogues fused into the matrix multiplication kernel or
use of integer tensor cores.
- Matrix multiplication in ``jax.numpy.matmul`` or ``jax.lax.dot``, and
the XLA (Accelerated Linear Algebra) use hipBLASLt for optimized matrix
operations, mixed-precision support, and hardware-specific
optimizations.
* - `hipCUB <https://github.com/ROCm/hipCUB>`_
- 3.3.0
- Provides a C++ template library for parallel algorithms for reduction,
scan, sort and select.
- Reduction functions (``jax.numpy.sum``, ``jax.numpy.mean``,
``jax.numpy.prod``, ``jax.numpy.max`` and ``jax.numpy.min``), prefix sum
(``jax.numpy.cumsum``, ``jax.numpy.cumprod``) and sorting
(``jax.numpy.sort``, ``jax.numpy.argsort``).
* - `hipFFT <https://github.com/ROCm/hipFFT>`_
- 1.0.17
- Provides GPU-accelerated Fast Fourier Transform (FFT) operations.
- Used in functions like ``jax.numpy.fft``.
* - `hipRAND <https://github.com/ROCm/hipRAND>`_
- 2.11.0
- Provides fast random number generation for GPUs.
- The ``jax.random.uniform``, ``jax.random.normal``,
``jax.random.randint`` and ``jax.random.split``.
* - `hipSOLVER <https://github.com/ROCm/hipSOLVER>`_
- 2.3.0
- Provides GPU-accelerated solvers for linear systems, eigenvalues, and
singular value decompositions (SVD).
- Solving linear systems (``jax.numpy.linalg.solve``), matrix
factorizations, SVD (``jax.numpy.linalg.svd``) and eigenvalue problems
(``jax.numpy.linalg.eig``).
* - `hipSPARSE <https://github.com/ROCm/hipSPARSE>`_
- 3.1.2
- Accelerates operations on sparse matrices, such as sparse matrix-vector
or matrix-matrix products.
- Sparse matrix multiplication (``jax.numpy.matmul``), sparse
matrix-vector and matrix-matrix products
(``jax.experimental.sparse.dot``), sparse linear system solvers and
sparse data handling.
* - `hipSPARSELt <https://github.com/ROCm/hipSPARSELt>`_
- 0.2.2
- Accelerates operations on sparse matrices, such as sparse matrix-vector
or matrix-matrix products.
- Sparse matrix multiplication (``jax.numpy.matmul``), sparse
matrix-vector and matrix-matrix products
(``jax.experimental.sparse.dot``) and sparse linear system solvers.
* - `MIOpen <https://github.com/ROCm/MIOpen>`_
- 3.3.0
- Optimized for 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
``jax.nn.conv``, ``jax.nn.relu``, and ``jax.nn.batch_norm``.
* - `RCCL <https://github.com/ROCm/rccl>`_
- 2.21.5
- Optimized for multi-GPU communication for operations like all-reduce,
broadcast, and scatter.
- Distribute computations across multiple GPU with ``pmap`` and
``jax.distributed``. XLA automatically uses rccl when executing
operations across multiple GPUs on AMD hardware.
* - `rocThrust <https://github.com/ROCm/rocThrust>`_
- 3.3.0
- Provides a C++ template library for parallel algorithms like sorting,
reduction, and scanning.
- Reduction operations like ``jax.numpy.sum``, ``jax.pmap`` for
distributed training, which involves parallel reductions or
operations like ``jax.numpy.cumsum`` can use rocThrust.
Supported and unsupported features
===============================================================================
The following table maps GPU-accelerated JAX modules to their supported
ROCm and JAX versions.
.. list-table::
:header-rows: 1
* - Module
- Description
- Since JAX
- Since ROCm
* - ``jax.numpy``
- Implements the NumPy API, using the primitives in ``jax.lax``.
- 0.1.56
- 5.0.0
* - ``jax.scipy``
- Provides GPU-accelerated and differentiable implementations of many
functions from the SciPy library, leveraging JAX's transformations
(e.g., ``grad``, ``jit``, ``vmap``).
- 0.1.56
- 5.0.0
* - ``jax.lax``
- A library of primitives operations that underpins libraries such as
``jax.numpy.`` Transformation rules, such as Jacobian-vector product
(JVP) and batching rules, are typically defined as transformations on
``jax.lax`` primitives.
- 0.1.57
- 5.0.0
* - ``jax.random``
- Provides a number of routines for deterministic generation of sequences
of pseudorandom numbers.
- 0.1.58
- 5.0.0
* - ``jax.sharding``
- Allows to define partitioning and distributing arrays across multiple
devices.
- 0.3.20
- 5.1.0
* - ``jax.dlpack``
- For exchanging tensor data between JAX and other libraries that support the
DLPack standard.
- 0.1.57
- 5.0.0
* - ``jax.distributed``
- Enables the scaling of computations across multiple devices on a single
machine or across multiple machines.
- 0.1.74
- 5.0.0
* - ``jax.dtypes``
- Provides utilities for working with and managing data types in JAX
arrays and computations.
- 0.1.66
- 5.0.0
* - ``jax.image``
- Contains image manipulation functions like resize, scale and translation.
- 0.1.57
- 5.0.0
* - ``jax.nn``
- Contains common functions for neural network libraries.
- 0.1.56
- 5.0.0
* - ``jax.ops``
- Computes the minimum, maximum, sum or product within segments of an
array.
- 0.1.57
- 5.0.0
* - ``jax.profiler``
- Contains JAXs tracing and time profiling features.
- 0.1.57
- 5.0.0
* - ``jax.stages``
- Contains interfaces to stages of the compiled execution process.
- 0.3.4
- 5.0.0
* - ``jax.tree``
- Provides utilities for working with tree-like container data structures.
- 0.4.26
- 5.6.0
* - ``jax.tree_util``
- Provides utilities for working with nested data structures, or
``pytrees``.
- 0.1.65
- 5.0.0
* - ``jax.typing``
- Provides JAX-specific static type annotations.
- 0.3.18
- 5.1.0
* - ``jax.extend``
- Provides modules for access to JAX internal machinery module. The
``jax.extend`` module defines a library view of some of JAXs internal
components.
- 0.4.15
- 5.5.0
* - ``jax.example_libraries``
- Serves as a collection of example code and libraries that demonstrate
various capabilities of JAX.
- 0.1.74
- 5.0.0
* - ``jax.experimental``
- Namespace for experimental features and APIs that are in development or
are not yet fully stable for production use.
- 0.1.56
- 5.0.0
* - ``jax.lib``
- Set of internal tools and types for bridging between JAXs Python
frontend and its XLA backend.
- 0.4.6
- 5.3.0
* - ``jax_triton``
- Library that integrates the Triton deep learning compiler with JAX.
- jax_triton 0.2.0
- 6.2.4
jax.scipy module
-------------------------------------------------------------------------------
A SciPy-like API for scientific computing.
.. list-table::
:header-rows: 1
* - Module
- Since JAX
- Since ROCm
* - ``jax.scipy.cluster``
- 0.3.11
- 5.1.0
* - ``jax.scipy.fft``
- 0.1.71
- 5.0.0
* - ``jax.scipy.integrate``
- 0.4.15
- 5.5.0
* - ``jax.scipy.interpolate``
- 0.1.76
- 5.0.0
* - ``jax.scipy.linalg``
- 0.1.56
- 5.0.0
* - ``jax.scipy.ndimage``
- 0.1.56
- 5.0.0
* - ``jax.scipy.optimize``
- 0.1.57
- 5.0.0
* - ``jax.scipy.signal``
- 0.1.56
- 5.0.0
* - ``jax.scipy.spatial.transform``
- 0.4.12
- 5.4.0
* - ``jax.scipy.sparse.linalg``
- 0.1.56
- 5.0.0
* - ``jax.scipy.special``
- 0.1.56
- 5.0.0
* - ``jax.scipy.stats``
- 0.1.56
- 5.0.0
jax.scipy.stats module
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. list-table::
:header-rows: 1
* - Module
- Since JAX
- Since ROCm
* - ``jax.scipy.stats.bernouli``
- 0.1.56
- 5.0.0
* - ``jax.scipy.stats.beta``
- 0.1.56
- 5.0.0
* - ``jax.scipy.stats.betabinom``
- 0.1.61
- 5.0.0
* - ``jax.scipy.stats.binom``
- 0.4.14
- 5.4.0
* - ``jax.scipy.stats.cauchy``
- 0.1.56
- 5.0.0
* - ``jax.scipy.stats.chi2``
- 0.1.61
- 5.0.0
* - ``jax.scipy.stats.dirichlet``
- 0.1.56
- 5.0.0
* - ``jax.scipy.stats.expon``
- 0.1.56
- 5.0.0
* - ``jax.scipy.stats.gamma``
- 0.1.56
- 5.0.0
* - ``jax.scipy.stats.gennorm``
- 0.3.15
- 5.2.0
* - ``jax.scipy.stats.geom``
- 0.1.56
- 5.0.0
* - ``jax.scipy.stats.laplace``
- 0.1.56
- 5.0.0
* - ``jax.scipy.stats.logistic``
- 0.1.56
- 5.0.0
* - ``jax.scipy.stats.multinomial``
- 0.3.18
- 5.1.0
* - ``jax.scipy.stats.multivariate_normal``
- 0.1.56
- 5.0.0
* - ``jax.scipy.stats.nbinom``
- 0.1.72
- 5.0.0
* - ``jax.scipy.stats.norm``
- 0.1.56
- 5.0.0
* - ``jax.scipy.stats.pareto``
- 0.1.56
- 5.0.0
* - ``jax.scipy.stats.poisson``
- 0.1.56
- 5.0.0
* - ``jax.scipy.stats.t``
- 0.1.56
- 5.0.0
* - ``jax.scipy.stats.truncnorm``
- 0.4.0
- 5.3.0
* - ``jax.scipy.stats.uniform``
- 0.1.56
- 5.0.0
* - ``jax.scipy.stats.vonmises``
- 0.4.2
- 5.3.0
* - ``jax.scipy.stats.wrapcauchy``
- 0.4.20
- 5.6.0
jax.extend module
-------------------------------------------------------------------------------
Modules for JAX extensions.
.. list-table::
:header-rows: 1
* - Module
- Since JAX
- Since ROCm
* - ``jax.extend.ffi``
- 0.4.30
- 6.0.0
* - ``jax.extend.linear_util``
- 0.4.17
- 5.6.0
* - ``jax.extend.mlir``
- 0.4.26
- 5.6.0
* - ``jax.extend.random``
- 0.4.15
- 5.5.0
jax.experimental module
-------------------------------------------------------------------------------
Experimental modules and APIs.
.. list-table::
:header-rows: 1
* - Module
- Since JAX
- Since ROCm
* - ``jax.experimental.checkify``
- 0.1.75
- 5.0.0
* - ``jax.experimental.compilation_cache.compilation_cache``
- 0.1.68
- 5.0.0
* - ``jax.experimental.custom_partitioning``
- 0.4.0
- 5.3.0
* - ``jax.experimental.jet``
- 0.1.56
- 5.0.0
* - ``jax.experimental.key_reuse``
- 0.4.26
- 5.6.0
* - ``jax.experimental.mesh_utils``
- 0.1.76
- 5.0.0
* - ``jax.experimental.multihost_utils``
- 0.3.2
- 5.0.0
* - ``jax.experimental.pallas``
- 0.4.15
- 5.5.0
* - ``jax.experimental.pjit``
- 0.1.61
- 5.0.0
* - ``jax.experimental.serialize_executable``
- 0.4.0
- 5.3.0
* - ``jax.experimental.shard_map``
- 0.4.3
- 5.3.0
* - ``jax.experimental.sparse``
- 0.1.75
- 5.0.0
.. list-table::
:header-rows: 1
* - API
- Since JAX
- Since ROCm
* - ``jax.experimental.enable_x64``
- 0.1.60
- 5.0.0
* - ``jax.experimental.disable_x64``
- 0.1.60
- 5.0.0
jax.experimental.pallas module
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Module for Pallas, a JAX extension for custom kernels.
.. list-table::
:header-rows: 1
* - Module
- Since JAX
- Since ROCm
* - ``jax.experimental.pallas.mosaic_gpu``
- 0.4.31
- 6.1.3
* - ``jax.experimental.pallas.tpu``
- 0.4.15
- 5.5.0
* - ``jax.experimental.pallas.triton``
- 0.4.32
- 6.1.3
jax.experimental.sparse module
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Experimental support for sparse matrix operations.
.. list-table::
:header-rows: 1
* - Module
- Since JAX
- Since ROCm
* - ``jax.experimental.sparse.linalg``
- 0.3.15
- 5.2.0
* - ``jax.experimental.sparse.sparsify``
- 0.3.25
- ❌
.. list-table::
:header-rows: 1
* - ``sparse`` data structure API
- Since JAX
- Since ROCm
* - ``jax.experimental.sparse.BCOO``
- 0.1.72
- 5.0.0
* - ``jax.experimental.sparse.BCSR``
- 0.3.20
- 5.1.0
* - ``jax.experimental.sparse.CSR``
- 0.1.75
- 5.0.0
* - ``jax.experimental.sparse.NM``
- 0.4.27
- 5.6.0
* - ``jax.experimental.sparse.COO``
- 0.1.75
- 5.0.0
Unsupported JAX features
------------------------
The following are GPU-accelerated JAX features not currently supported by
ROCm.
.. list-table::
:header-rows: 1
* - Feature
- Description
- Since JAX
* - Mixed Precision with TF32
- Mixed precision with TF32 is used for matrix multiplications,
convolutions, and other linear algebra operations, particularly in
deep learning workloads like CNNs and transformers.
- 0.2.25
* - RNN support
- Currently only LSTM with double bias is supported with float32 input
and weight.
- 0.3.25
* - XLA int4 support
- 4-bit integer (int4) precision in the XLA compiler.
- 0.4.0
* - ``jax.experimental.sparsify``
- Converts a dense matrix to a sparse matrix representation.
- Experimental
Use cases and recommendations
================================================================================
* The `nanoGPT in JAX <https://rocm.blogs.amd.com/artificial-intelligence/nanoGPT-JAX/README.html>`_
blog explores the implementation and training of a Generative Pre-trained
Transformer (GPT) model in JAX, inspired by Andrej Karpathys PyTorch-based
nanoGPT. By comparing how essential GPT components—such as self-attention
mechanisms and optimizers—are realized in PyTorch and JAX, also highlight
JAXs unique features.
* The `Optimize GPT Training: Enabling Mixed Precision Training in JAX using
ROCm on AMD GPUs <https://rocm.blogs.amd.com/artificial-intelligence/jax-mixed-precision/README.html>`_
blog post provides a comprehensive guide on enhancing the training efficiency
of GPT models by implementing mixed precision techniques in JAX, specifically
tailored for AMD GPUs utilizing the ROCm platform.
* The `Supercharging JAX with Triton Kernels on AMD GPUs <https://rocm.blogs.amd.com/artificial-intelligence/jax-triton/README.html>`_
blog demonstrates how to develop a custom fused dropout-activation kernel for
matrices using Triton, integrate it with JAX, and benchmark its performance
using ROCm.
* The `Distributed fine-tuning with JAX on AMD GPUs <https://rocm.blogs.amd.com/artificial-intelligence/distributed-sft-jax/README.html>`_
outlines the process of fine-tuning a Bidirectional Encoder Representations
from Transformers (BERT)-based large language model (LLM) using JAX for a text
classification task. The blog post discuss 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
accelerator 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>`_.

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