Compare commits

..

17 Commits

Author SHA1 Message Date
Peter Park
cef7e945be remove "mi300x" from fp4 inf page (#5385) 2025-09-18 12:29:42 -04:00
Peter Park
bc59cb8bef [docs/7.0-beta] Add pointers to latest documentation 2025-09-18 12:16:54 -04:00
Peter Park
fc8f998f8a [docs/7.0-beta] Add SGLang benchmark doc (#5242) 2025-09-02 09:17:25 -04:00
Peter Park
eb334335d0 Add training/inference user guides for 7.0 beta preview Dockers (#5234)
Update
docs/preview/benchmark-docker/inference-vllm-llama-3.1-405b-fp4.rst

Co-authored-by: dyokelso <dewi.yokelson@amd.com>

Update
docs/preview/benchmark-docker/inference-vllm-llama-3.1-405b-fp4.rst

Co-authored-by: dyokelso <dewi.yokelson@amd.com>

Update
docs/preview/benchmark-docker/inference-sglang-deepseek-r1-fp4.rst

Co-authored-by: dyokelso <dewi.yokelson@amd.com>
2025-08-28 23:24:44 -04:00
Peter Park
e7b032c3dc [docs/7.0-beta] Update preview versions list (#5169) 2025-08-08 10:11:05 -04:00
Peter Park
00a96635ae update wording 2025-07-24 17:42:19 -04:00
Peter Park
f8ce4a9113 [docs/7.0-beta] 7.0 beta preview docs
fix mi210 virtu OSes

update wording

words

improve look

update heading

fix preview versions list url
2025-07-24 16:48:38 -04:00
Peter Park
b5598e581d Remove extra files 2025-07-22 14:35:50 -04:00
Pratik Basyal
75216b8fcc Post 642 update in Alpha release documentation (#5076)
* Stable release version update

* Stable ROCm version updated
2025-07-21 17:39:29 -04:00
Peter Park
a94a616f42 Add Alpha 2 docs 2025-07-10 16:39:29 -04:00
Peter Park
2c60d2f776 remove extra xref in training.rst 2025-07-02 19:32:35 -04:00
Peter Park
f62339a857 update .wordlist.txt 2025-07-02 19:30:44 -04:00
Peter Park
dc5cac0fbf add alpha training docker docs 2025-07-02 19:28:26 -04:00
Alex Xu
8c7378ba71 use rocm-docs-core develop branch 2025-06-26 16:57:18 -04:00
Alex Xu
dcc949f441 upgrade rocm-docs-core to 1.21.1 2025-06-26 16:49:21 -04:00
Alex Xu
a4b1b2cc67 rocm-docs-core experiment 2025-06-26 15:58:18 -04:00
Peter Park
4f592f8949 [docs/7.0.0-alpha] Add docs for 7.0 alpha (#4978) 2025-06-26 15:47:42 -04:00
320 changed files with 4365 additions and 19378 deletions

View File

@@ -0,0 +1,42 @@
variables:
- group: common
- template: /.azuredevops/variables-global.yml
resources:
repositories:
- repository: aomp_repo
type: github
endpoint: ROCm
name: ROCm/aomp
ref: amd-mainline
- repository: aomp-extras_repo
type: github
endpoint: ROCm
name: ROCm/aomp-extras
ref: amd-mainline
- repository: flang_repo
type: github
endpoint: ROCm
name: ROCm/flang
ref: amd-mainline
- repository: llvm-project_repo
type: github
endpoint: ROCm
name: ROCm/llvm-project
ref: amd-mainline
pipelines:
- pipeline: rocr-runtime_pipeline
source: \ROCR-Runtime
trigger:
branches:
include:
- amd-mainline
# 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

@@ -1,29 +1,10 @@
parameters: parameters:
- name: componentName
type: string
default: AMDMIGraphX
- name: checkoutRepo - name: checkoutRepo
type: string type: string
default: 'self' default: 'self'
- name: checkoutRef - name: checkoutRef
type: string type: string
default: '' default: ''
# monorepo related parameters
# - name: sparseCheckoutDir
# type: string
# default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack # set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline # and dependencies are pulled from same pipeline
- name: aggregatePipeline - name: aggregatePipeline
@@ -112,11 +93,7 @@ parameters:
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} - job: AMDMIGraphX_build_${{ job.target }}
${{ if parameters.buildDependsOn }}:
dependsOn:
- ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_ubuntu2204_${{ job.target }}
variables: variables:
- group: common - group: common
- template: /.azuredevops/variables-global.yml - template: /.azuredevops/variables-global.yml
@@ -144,8 +121,6 @@ jobs:
dependencyList: ${{ parameters.rocmDependencies }} dependencyList: ${{ parameters.rocmDependencies }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
aggregatePipeline: ${{ parameters.aggregatePipeline }} aggregatePipeline: ${{ parameters.aggregatePipeline }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters: parameters:
extraBuildFlags: >- extraBuildFlags: >-
@@ -171,12 +146,12 @@ jobs:
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
- ${{ each job in parameters.jobMatrix.testJobs }}: - ${{ each job in parameters.jobMatrix.testJobs }}:
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }} - job: AMDMIGraphX_test_${{ job.target }}
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} dependsOn: AMDMIGraphX_build_${{ job.target }}
condition: condition:
and(succeeded(), and(succeeded(),
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
eq(${{ parameters.aggregatePipeline }}, False) eq(${{ parameters.aggregatePipeline }}, False)
) )
variables: variables:
@@ -208,8 +183,6 @@ jobs:
checkoutRef: ${{ parameters.checkoutRef }} checkoutRef: ${{ parameters.checkoutRef }}
dependencyList: ${{ parameters.rocmTestDependencies }} dependencyList: ${{ parameters.rocmTestDependencies }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
- task: CMake@1 - task: CMake@1
displayName: MIGraphXTest CMake Flags displayName: MIGraphXTest CMake Flags
inputs: inputs:
@@ -226,7 +199,7 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters: parameters:
componentName: ${{ parameters.componentName }} componentName: AMDMIGraphX
testExecutable: make testExecutable: make
testParameters: -j$(nproc) check testParameters: -j$(nproc) check
testPublishResults: false testPublishResults: false

View File

@@ -1,29 +1,10 @@
parameters: parameters:
- name: componentName
type: string
default: hip_clr_combined
- name: checkoutRepo - name: checkoutRepo
type: string type: string
default: 'self' default: 'self'
- name: checkoutRef - name: checkoutRef
type: string type: string
default: '' default: ''
# monorepo related parameters
- name: sparseCheckoutDir
type: string
default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack # set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline # and dependencies are pulled from same pipeline
- name: aggregatePipeline - name: aggregatePipeline
@@ -54,24 +35,93 @@ parameters:
type: object type: object
default: default:
- llvm-project - llvm-project
- ROCR-Runtime
# hip and clr are tightly-coupled
# run this same template for both repos
# any changes for clr should just trigger HIP pipeline
# similarly for hipother repo, for Nvidia backend
- name: jobMatrix - name: jobMatrix
type: object type: object
default: default:
buildJobs: buildJobs:
- { os: ubuntu2204, packageManager: apt, platform: amd } - { os: ubuntu2204, packageManager: apt }
- { os: ubuntu2204, packageManager: apt, platform: nvidia } - { os: almalinux8, packageManager: dnf }
- { os: almalinux8, packageManager: dnf, platform: amd }
- { os: almalinux8, packageManager: dnf, platform: nvidia }
# HIP with AMD backend
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: ${{ parameters.componentName }}_${{ job.os }}_${{ job.platform }} - job: hip_clr_combined_${{ job.os }}_amd
${{ if parameters.buildDependsOn }}: pool:
dependsOn: vmImage: 'ubuntu-22.04'
- ${{ each build in parameters.buildDependsOn }}: ${{ if eq(job.os, 'almalinux8') }}:
- ${{ build }}_${{ job.os }} container:
image: rocmexternalcicd.azurecr.io/manylinux228:latest
endpoint: ContainerService3
variables:
- group: common
- template: /.azuredevops/variables-global.yml
workspace:
clean: all
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }}
packageManager: ${{ job.packageManager }}
# checkout triggering repo (either HIP or clr)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters:
checkoutRepo: ${{ parameters.checkoutRepo }}
# if this is triggered by HIP repo, matching repo is clr
# if this is triggered by clr repo, matching repo is HIP
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters:
checkoutRepo: matching_repo
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters:
checkoutRepo: hipother_repo
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters:
checkoutRef: ${{ parameters.checkoutRef }}
dependencyList: ${{ parameters.rocmDependenciesAMD }}
aggregatePipeline: ${{ parameters.aggregatePipeline }}
os: ${{ job.os }}
# compile clr
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters:
componentName: clr
cmakeBuildDir: '$(Build.SourcesDirectory)/clr/build'
cmakeSourceDir: '$(Build.SourcesDirectory)/clr'
os: ${{ job.os }}
useAmdclang: false
extraBuildFlags: >-
-DHIP_COMMON_DIR=$(Build.SourcesDirectory)/HIP
-DHIP_PLATFORM=amd
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
-DHIPCC_BIN_DIR=$(Agent.BuildDirectory)/rocm/bin
-DCLR_BUILD_HIP=ON
-DCLR_BUILD_OCL=ON
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
artifactName: amd
os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
artifactName: amd
os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
# parameters:
# aptPackages: ${{ parameters.aptPackages }}
# pipModules: ${{ parameters.pipModules }}
# environment: amd
# HIP with Nvidia backend
- ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: hip_clr_combined_${{ job.os }}_nvidia
pool: pool:
vmImage: 'ubuntu-22.04' vmImage: 'ubuntu-22.04'
${{ if eq(job.os, 'almalinux8') }}: ${{ if eq(job.os, 'almalinux8') }}:
@@ -90,45 +140,49 @@ jobs:
pipModules: ${{ parameters.pipModules }} pipModules: ${{ parameters.pipModules }}
packageManager: ${{ job.packageManager }} packageManager: ${{ job.packageManager }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
# full checkout of rocm-systems superrepo, we need clr, hip, and hipother # checkout triggering repo (either HIP or clr)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} checkoutRepo: ${{ parameters.checkoutRepo }}
# sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} # if this is triggered by HIP repo, matching repo is clr
# if this is triggered by clr repo, matching repo is HIP
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters:
checkoutRepo: matching_repo
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters:
checkoutRepo: hipother_repo
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters: parameters:
checkoutRef: ${{ parameters.checkoutRef }} checkoutRef: ${{ parameters.checkoutRef }}
dependencyList: ${{ parameters.rocmDependenciesNvidia }}
aggregatePipeline: ${{ parameters.aggregatePipeline }} aggregatePipeline: ${{ parameters.aggregatePipeline }}
os: ${{ job.os }} os: ${{ job.os }}
${{ if eq(job.platform, 'amd') }}: - script: 'ls -1R $(Agent.BuildDirectory)/rocm'
dependencyList: ${{ parameters.rocmDependenciesAMD }} displayName: 'Artifact listing'
${{ elseif eq(job.platform, 'nvidia') }}: # compile clr
dependencyList: ${{ parameters.rocmDependenciesNvidia }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters: parameters:
componentName: clr componentName: clr
cmakeBuildDir: $(Agent.BuildDirectory)/s/projects/clr/build cmakeBuildDir: '$(Build.SourcesDirectory)/clr/build'
cmakeSourceDir: $(Agent.BuildDirectory)/s/projects/clr cmakeSourceDir: '$(Build.SourcesDirectory)/clr'
os: ${{ job.os }} os: ${{ job.os }}
useAmdclang: false useAmdclang: false
extraBuildFlags: >- extraBuildFlags: >-
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm -DHIP_COMMON_DIR=$(Build.SourcesDirectory)/HIP
-DROCM_PATH=$(Agent.BuildDirectory)/rocm -DHIP_PLATFORM=nvidia
-DHIPCC_BIN_DIR=$(Agent.BuildDirectory)/rocm/bin -DHIPCC_BIN_DIR=$(Agent.BuildDirectory)/rocm/bin
-DHIP_COMMON_DIR=$(Agent.BuildDirectory)/s/projects/hip
-DHIPNV_DIR=$(Agent.BuildDirectory)/s/projects/hipother/hipnv
-DHIP_PLATFORM=${{ job.platform }}
-DCLR_BUILD_HIP=ON -DCLR_BUILD_HIP=ON
-DCLR_BUILD_OCL=ON -DCLR_BUILD_OCL=OFF
-DHIPNV_DIR=$(Build.SourcesDirectory)/hipother/hipnv
-GNinja -GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
artifactName: ${{ job.platform }}
os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters: parameters:
artifactName: ${{ job.platform }} artifactName: nvidia
os: ${{ job.os }} os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
# parameters:
# aptPackages: ${{ parameters.aptPackages }}
# pipModules: ${{ parameters.pipModules }}
# environment: nvidia

View File

@@ -79,7 +79,7 @@ jobs:
aptPackages: ${{ parameters.aptPackages }} aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }} pipModules: ${{ parameters.pipModules }}
packageManager: ${{ job.packageManager }} packageManager: ${{ job.packageManager }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
- task: Bash@3 - task: Bash@3
displayName: Add lit to PATH displayName: Add lit to PATH
inputs: inputs:

View File

@@ -1,29 +1,10 @@
parameters: parameters:
- name: componentName
type: string
default: MIOpen
- name: checkoutRepo - name: checkoutRepo
type: string type: string
default: 'self' default: 'self'
- name: checkoutRef - name: checkoutRef
type: string type: string
default: '' default: ''
# monorepo related parameters
- name: sparseCheckoutDir
type: string
default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack # set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline # and dependencies are pulled from same pipeline
- name: aggregatePipeline - name: aggregatePipeline
@@ -93,37 +74,16 @@ parameters:
target: gfx942 target: gfx942
- gfx90a: - gfx90a:
target: gfx90a target: gfx90a
- name: downstreamComponentMatrix
type: object
default:
- MIVisionX:
name: MIVisionX
checkoutRepo: mivisionx_repo
sparseCheckoutDir: ''
skipUnifiedBuild: 'false'
buildDependsOn:
- MIOpen_build
- AMDMIGraphX:
name: AMDMIGraphX
checkoutRepo: amdmigraphx_repo
sparseCheckoutDir: ''
skipUnifiedBuild: 'false'
buildDependsOn:
- MIOpen_build
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} - job: MIOpen_build_${{ job.target }}
${{ if parameters.buildDependsOn }}:
dependsOn:
- ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_ubuntu2204_${{ job.target }}
variables: variables:
- group: common - group: common
- template: /.azuredevops/variables-global.yml - template: /.azuredevops/variables-global.yml
- name: ROCM_PATH - name: ROCM_PATH
value: $(Agent.BuildDirectory)/rocm value: $(Agent.BuildDirectory)/rocm
pool: ${{ variables.MEDIUM_BUILD_POOL }} pool: ${{ variables.HIGH_BUILD_POOL }}
workspace: workspace:
clean: all clean: all
steps: steps:
@@ -131,12 +91,10 @@ jobs:
parameters: parameters:
aptPackages: ${{ parameters.aptPackages }} aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }} pipModules: ${{ parameters.pipModules }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/miopen-get-ck-build.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/miopen-get-ck-build.yml
parameters: parameters:
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
@@ -146,14 +104,11 @@ jobs:
dependencyList: ${{ parameters.rocmDependencies }} dependencyList: ${{ parameters.rocmDependencies }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
aggregatePipeline: ${{ parameters.aggregatePipeline }} aggregatePipeline: ${{ parameters.aggregatePipeline }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
- task: Bash@3 - task: Bash@3
displayName: Build and install other dependencies displayName: Build and install other dependencies
retryCountOnTaskFailure: 3
inputs: inputs:
targetType: inline targetType: inline
workingDirectory: $(Agent.BuildDirectory)/s workingDirectory: $(Build.SourcesDirectory)
script: | script: |
sed -i '/composable_kernel/d' requirements.txt sed -i '/composable_kernel/d' requirements.txt
mkdir -p $(Agent.BuildDirectory)/miopen-deps mkdir -p $(Agent.BuildDirectory)/miopen-deps
@@ -175,10 +130,8 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters: parameters:
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
@@ -190,9 +143,9 @@ jobs:
- miopen-deps - miopen-deps
- ${{ each job in parameters.jobMatrix.testJobs }}: - ${{ each job in parameters.jobMatrix.testJobs }}:
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }} - job: MIOpen_test_${{ job.target }}
timeoutInMinutes: 180 timeoutInMinutes: 180
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} dependsOn: MIOpen_build_${{ job.target }}
condition: condition:
and(succeeded(), and(succeeded(),
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
@@ -212,12 +165,10 @@ jobs:
parameters: parameters:
aptPackages: ${{ parameters.aptPackages }} aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }} pipModules: ${{ parameters.pipModules }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/miopen-get-ck-build.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/miopen-get-ck-build.yml
parameters: parameters:
@@ -227,14 +178,11 @@ jobs:
checkoutRef: ${{ parameters.checkoutRef }} checkoutRef: ${{ parameters.checkoutRef }}
dependencyList: ${{ parameters.rocmTestDependencies }} dependencyList: ${{ parameters.rocmTestDependencies }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
- task: Bash@3 - task: Bash@3
displayName: Build and install other dependencies displayName: Build and install other dependencies
retryCountOnTaskFailure: 3
inputs: inputs:
targetType: inline targetType: inline
workingDirectory: $(Agent.BuildDirectory)/s workingDirectory: $(Build.SourcesDirectory)
script: | script: |
sed -i '/composable_kernel/d' requirements.txt sed -i '/composable_kernel/d' requirements.txt
mkdir -p $(Agent.BuildDirectory)/miopen-deps mkdir -p $(Agent.BuildDirectory)/miopen-deps
@@ -245,7 +193,7 @@ jobs:
displayName: 'MIOpen Test CMake Flags' displayName: 'MIOpen Test CMake Flags'
inputs: inputs:
cmakeArgs: >- cmakeArgs: >-
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/s/bin;$(Agent.BuildDirectory)/miopen-deps -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Build.SourcesDirectory)/bin;$(Agent.BuildDirectory)/miopen-deps
-DCMAKE_INSTALL_PREFIX=$(Agent.BuildDirectory)/rocm -DCMAKE_INSTALL_PREFIX=$(Agent.BuildDirectory)/rocm
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
@@ -255,19 +203,19 @@ jobs:
-DBUILD_DEV=OFF -DBUILD_DEV=OFF
-DMIOPEN_USE_MLIR=ON -DMIOPEN_USE_MLIR=ON
-DMIOPEN_GPU_SYNC=OFF -DMIOPEN_GPU_SYNC=OFF
$(Agent.BuildDirectory)/s ..
- task: Bash@3 - task: Bash@3
displayName: 'MIOpen Test Build' displayName: 'MIOpen Test Build'
inputs: inputs:
targetType: inline targetType: inline
workingDirectory: build
script: | script: |
cmake --build . --target tests -- -j$(nproc) 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/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters: parameters:
componentName: ${{ parameters.componentName }} componentName: MIOpen
testParameters: '--output-on-failure --force-new-ctest-process --output-junit test_output.xml --exclude-regex "test_rnn_seq_api|GPU_Conv2dTuningAsm_FP32|GPU_Conv2dTuningAsmBwdWrw_FP32"' testParameters: '--output-on-failure --force-new-ctest-process --output-junit test_output.xml --exclude-regex "test_rnn_seq_api|GPU_Conv2dTuningAsm_FP32"'
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
parameters: parameters:
aptPackages: ${{ parameters.aptPackages }} aptPackages: ${{ parameters.aptPackages }}
@@ -276,15 +224,3 @@ jobs:
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
extraCopyDirectories: extraCopyDirectories:
- miopen-deps - miopen-deps
# - ${{ if parameters.triggerDownstreamJobs }}:
# - ${{ each component in parameters.downstreamComponentMatrix }}:
# - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
# - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
# parameters:
# checkoutRepo: ${{ component.checkoutRepo }}
# # sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
# buildDependsOn: ${{ component.buildDependsOn }}
# downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
# triggerDownstreamJobs: true
# unifiedBuild: ${{ parameters.unifiedBuild }}

View File

@@ -1,29 +1,10 @@
parameters: parameters:
- name: componentName
type: string
default: MIVisionX
- name: checkoutRepo - name: checkoutRepo
type: string type: string
default: 'self' default: 'self'
- name: checkoutRef - name: checkoutRef
type: string type: string
default: '' default: ''
# monorepo related parameters
# - name: sparseCheckoutDir
# type: string
# default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack # set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline # and dependencies are pulled from same pipeline
- name: aggregatePipeline - name: aggregatePipeline
@@ -79,7 +60,6 @@ parameters:
- name: rocmTestDependencies - name: rocmTestDependencies
type: object type: object
default: default:
- aomp
- clr - clr
- half - half
- hipBLAS-common - hipBLAS-common
@@ -108,11 +88,7 @@ parameters:
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} - job: MIVisionX_build_${{ job.target }}
${{ if parameters.buildDependsOn }}:
dependsOn:
- ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_ubuntu2204_${{ job.target }}
variables: variables:
- group: common - group: common
- template: /.azuredevops/variables-global.yml - template: /.azuredevops/variables-global.yml
@@ -134,8 +110,6 @@ jobs:
dependencyList: ${{ parameters.rocmDependencies }} dependencyList: ${{ parameters.rocmDependencies }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
aggregatePipeline: ${{ parameters.aggregatePipeline }} aggregatePipeline: ${{ parameters.aggregatePipeline }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters: parameters:
extraBuildFlags: >- extraBuildFlags: >-
@@ -157,12 +131,12 @@ jobs:
# gpuTarget: ${{ job.target }} # gpuTarget: ${{ job.target }}
- ${{ each job in parameters.jobMatrix.testJobs }}: - ${{ each job in parameters.jobMatrix.testJobs }}:
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }} - job: MIVisionX_test_${{ job.target }}
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} dependsOn: MIVisionX_build_${{ job.target }}
condition: condition:
and(succeeded(), and(succeeded(),
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
eq(${{ parameters.aggregatePipeline }}, False) eq(${{ parameters.aggregatePipeline }}, False)
) )
variables: variables:
@@ -187,8 +161,6 @@ jobs:
checkoutRef: ${{ parameters.checkoutRef }} checkoutRef: ${{ parameters.checkoutRef }}
dependencyList: ${{ parameters.rocmTestDependencies }} dependencyList: ${{ parameters.rocmTestDependencies }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
- task: Bash@3 - task: Bash@3
displayName: Build MIVisionX tests displayName: Build MIVisionX tests
inputs: inputs:
@@ -202,7 +174,7 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters: parameters:
componentName: ${{ parameters.componentName }} componentName: MIVisionX
testDir: 'mivisionx-tests' testDir: 'mivisionx-tests'
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
parameters: parameters:

View File

@@ -1,29 +1,10 @@
parameters: parameters:
- name: componentName
type: string
default: ROCR-Runtime
- name: checkoutRepo - name: checkoutRepo
type: string type: string
default: 'self' default: 'self'
- name: checkoutRef - name: checkoutRef
type: string type: string
default: '' default: ''
# monorepo related parameters
- name: sparseCheckoutDir
type: string
default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack # set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline # and dependencies are pulled from same pipeline
- name: aggregatePipeline - name: aggregatePipeline
@@ -47,8 +28,8 @@ parameters:
- name: rocmTestDependencies - name: rocmTestDependencies
type: object type: object
default: default:
- amdsmi
- llvm-project - llvm-project
- rocm_smi_lib
- rocprofiler-register - rocprofiler-register
- name: jobMatrix - name: jobMatrix
@@ -64,10 +45,6 @@ parameters:
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: ROCR_Runtime_build_${{ job.os }} - job: ROCR_Runtime_build_${{ job.os }}
${{ if parameters.buildDependsOn }}:
dependsOn:
- ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_${{ job.os }}
pool: pool:
vmImage: 'ubuntu-22.04' vmImage: 'ubuntu-22.04'
${{ if eq(job.os, 'almalinux8') }}: ${{ if eq(job.os, 'almalinux8') }}:
@@ -88,18 +65,14 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters: parameters:
checkoutRef: ${{ parameters.checkoutRef }} checkoutRef: ${{ parameters.checkoutRef }}
dependencyList: ${{ parameters.rocmDependencies }} dependencyList: ${{ parameters.rocmDependencies }}
aggregatePipeline: ${{ parameters.aggregatePipeline }} aggregatePipeline: ${{ parameters.aggregatePipeline }}
os: ${{ job.os }} os: ${{ job.os }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
os: ${{ job.os }} os: ${{ job.os }}
useAmdclang: false useAmdclang: false
extraBuildFlags: >- extraBuildFlags: >-
@@ -109,112 +82,109 @@ jobs:
-GNinja -GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
os: ${{ job.os }} os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
os: ${{ job.os }} os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
# parameters: # parameters:
# aptPackages: ${{ parameters.aptPackages }} # aptPackages: ${{ parameters.aptPackages }}
- ${{ if eq(parameters.unifiedBuild, False) }}: - ${{ each job in parameters.jobMatrix.testJobs }}:
- ${{ each job in parameters.jobMatrix.testJobs }}: - job: ROCR_Runtime_test_${{ job.os }}_${{ job.target }}
- job: ROCR_Runtime_test_${{ job.os }}_${{ job.target }} dependsOn: ROCR_Runtime_build_${{ job.os }}
dependsOn: ROCR_Runtime_build_${{ job.os }} condition:
condition: and(succeeded(),
and(succeeded(), eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), eq(${{ parameters.aggregatePipeline }}, False)
eq(${{ parameters.aggregatePipeline }}, False) )
) variables:
variables: - group: common
- group: common - template: /.azuredevops/variables-global.yml
- template: /.azuredevops/variables-global.yml pool: ${{ job.target }}_test_pool
pool: ${{ job.target }}_test_pool workspace:
workspace: clean: all
clean: all steps:
steps: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml parameters:
parameters: aptPackages: ${{ parameters.aptPackages }}
aptPackages: ${{ parameters.aptPackages }} packageManager: ${{ job.packageManager }}
packageManager: ${{ job.packageManager }} - task: Bash@3
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml displayName: Install libhwloc5
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml inputs:
parameters: targetType: 'inline'
os: ${{ job.os }} script: |
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml wget http://ftp.us.debian.org/debian/pool/main/h/hwloc/libhwloc5_1.11.12-3_amd64.deb
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml wget http://ftp.us.debian.org/debian/pool/main/h/hwloc/libhwloc-dev_1.11.12-3_amd64.deb
parameters: sudo apt install -y --allow-downgrades ./libhwloc5_1.11.12-3_amd64.deb ./libhwloc-dev_1.11.12-3_amd64.deb
checkoutRef: ${{ parameters.checkoutRef }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
dependencyList: ${{ parameters.rocmTestDependencies }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
gpuTarget: ${{ job.target }} parameters:
os: ${{ job.os }} os: ${{ job.os }}
${{ if parameters.triggerDownstreamJobs }}: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml parameters:
parameters: checkoutRef: ${{ parameters.checkoutRef }}
checkoutRepo: ${{ parameters.checkoutRepo }} dependencyList: ${{ parameters.rocmTestDependencies }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml os: ${{ job.os }}
parameters: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
runRocminfo: false parameters:
- task: Bash@3 checkoutRepo: ${{ parameters.checkoutRepo }}
displayName: Build kfdtest - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
inputs: parameters:
targetType: 'inline' runRocminfo: false
workingDirectory: $(Agent.BuildDirectory)/s/libhsakmt/tests/kfdtest - task: Bash@3
script: | displayName: Build kfdtest
if [ -e /opt/rh/gcc-toolset-14/enable ]; then inputs:
source /opt/rh/gcc-toolset-14/enable targetType: 'inline'
fi workingDirectory: $(Build.SourcesDirectory)/libhsakmt/tests/kfdtest
mkdir build && cd build script: |
cmake -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm .. if [ -e /opt/rh/gcc-toolset-14/enable ]; then
make source /opt/rh/gcc-toolset-14/enable
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml fi
parameters: mkdir build && cd build
componentName: kfdtest cmake -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm ..
testExecutable: BIN_DIR=$(Agent.BuildDirectory)/s/libhsakmt/tests/kfdtest/build ./run_kfdtest.sh make
testParameters: '-p core --gtest_output=xml:./test_output.xml --gtest_color=yes' - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
testDir: $(Agent.BuildDirectory)/s/libhsakmt/tests/kfdtest/scripts parameters:
os: ${{ job.os }} componentName: kfdtest
- task: Bash@3 testExecutable: BIN_DIR=$(Build.SourcesDirectory)/libhsakmt/tests/kfdtest/build ./run_kfdtest.sh
displayName: Build rocrtst testParameters: '-p core --gtest_output=xml:./test_output.xml --gtest_color=yes'
inputs: testDir: $(Build.SourcesDirectory)/libhsakmt/tests/kfdtest/scripts
targetType: 'inline' os: ${{ job.os }}
workingDirectory: $(Agent.BuildDirectory)/s/rocrtst/suites/test_common - task: Bash@3
script: | displayName: Build rocrtst
echo $(Agent.BuildDirectory)/s/rocrtst/thirdparty/lib | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf inputs:
sudo cat /etc/ld.so.conf.d/rocm-ci.conf targetType: 'inline'
sudo ldconfig -v workingDirectory: $(Build.SourcesDirectory)/rocrtst/suites/test_common
ldconfig -p script: |
if [ -e /opt/rh/gcc-toolset-14/enable ]; then if [ -e /opt/rh/gcc-toolset-14/enable ]; then
source /opt/rh/gcc-toolset-14/enable source /opt/rh/gcc-toolset-14/enable
fi fi
BASE_CLANG_DIR=$(Agent.BuildDirectory)/rocm/llvm/lib/clang BASE_CLANG_DIR=$(Agent.BuildDirectory)/rocm/llvm/lib/clang
export NEWEST_CLANG_VER=$(ls -1 $BASE_CLANG_DIR | sort -V | tail -n 1) export NEWEST_CLANG_VER=$(ls -1 $BASE_CLANG_DIR | sort -V | tail -n 1)
mkdir build && cd build mkdir build && cd build
cmake .. \ cmake .. \
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm \ -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm \
-DTARGET_DEVICES=${{ job.target }} \ -DTARGET_DEVICES=${{ job.target }} \
-DROCM_DIR=$(Agent.BuildDirectory)/rocm \ -DROCM_DIR=$(Agent.BuildDirectory)/rocm \
-DLLVM_DIR=$(Agent.BuildDirectory)/rocm/llvm/bin \ -DLLVM_DIR=$(Agent.BuildDirectory)/rocm/llvm/bin \
-DOPENCL_INC_DIR=$BASE_CLANG_DIR/$NEWEST_CLANG_VER/include -DOPENCL_INC_DIR=$BASE_CLANG_DIR/$NEWEST_CLANG_VER/include
make make
make rocrtst_kernels make rocrtst_kernels
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters: parameters:
componentName: rocrtst componentName: rocrtst
testExecutable: ./rocrtst64 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:rocrtstFunc.Memory_Max_Mem" --gtest_output=xml:./test_output.xml --gtest_color=yes'
testDir: $(Agent.BuildDirectory)/s//rocrtst/suites/test_common/build/${{ job.target }} testDir: $(Build.SourcesDirectory)/rocrtst/suites/test_common/build/${{ job.target }}
os: ${{ job.os }} os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
parameters: parameters:
aptPackages: ${{ parameters.aptPackages }} aptPackages: ${{ parameters.aptPackages }}
environment: test environment: test
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
# docker image will be missing libhwloc5 # docker image will be missing libhwloc5

View File

@@ -86,7 +86,8 @@ jobs:
value: $(Agent.BuildDirectory)/rocm value: $(Agent.BuildDirectory)/rocm
- name: HIP_INC_DIR - name: HIP_INC_DIR
value: $(Agent.BuildDirectory)/rocm value: $(Agent.BuildDirectory)/rocm
pool: ${{ variables.MEDIUM_BUILD_POOL }} pool:
vmImage: ${{ variables.BASE_BUILD_POOL }}
workspace: workspace:
clean: all clean: all
steps: steps:

View File

@@ -33,9 +33,8 @@ parameters:
type: object type: object
default: default:
- cmake - cmake
- libboost-filesystem-dev
- libboost-program-options-dev
- libmsgpack-dev - libmsgpack-dev
- libboost-program-options-dev
- name: pipModules - name: pipModules
type: object type: object
default: default:
@@ -171,7 +170,6 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- task: DownloadPipelineArtifact@2 - task: DownloadPipelineArtifact@2
displayName: 'Download Pipeline Wheel Files' displayName: 'Download Pipeline Wheel Files'
retryCountOnTaskFailure: 3
inputs: inputs:
itemPattern: '**/*${{ job.os }}*.whl' itemPattern: '**/*${{ job.os }}*.whl'
targetPath: $(Agent.BuildDirectory) targetPath: $(Agent.BuildDirectory)

View File

@@ -1,174 +0,0 @@
parameters:
- name: componentName
type: string
default: aqlprofile
- name: checkoutRepo
type: string
default: 'self'
- name: checkoutRef
type: string
default: ''
# monorepo related parameters
- name: sparseCheckoutDir
type: string
default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline
- name: aggregatePipeline
type: boolean
default: false
- name: aptPackages
type: object
default:
- cmake
- git
- ninja-build
- python3-pip
- name: rocmDependencies
type: object
default:
- clr
- llvm-project
- ROCR-Runtime
- name: rocmTestDependencies
type: object
default:
- clr
- llvm-project
- ROCR-Runtime
- rocprofiler-register
- name: jobMatrix
type: object
default:
buildJobs:
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
testJobs:
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
${{ if parameters.buildDependsOn }}:
dependsOn:
- ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_${{ job.os }}
variables:
- group: common
- template: /.azuredevops/variables-global.yml
pool: ${{ variables.MEDIUM_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
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters:
checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
parameters:
dependencyList:
- gtest
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters:
checkoutRef: ${{ parameters.checkoutRef }}
dependencyList: ${{ parameters.rocmDependencies }}
gpuTarget: ${{ job.target }}
os: ${{ job.os }}
aggregatePipeline: ${{ parameters.aggregatePipeline }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters:
os: ${{ job.os }}
consolidateBuildAndInstall: true
extraBuildFlags: >-
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/aqlprofile/cmake_modules
-DAQLPROFILE_BUILD_TESTS=ON
-DGPU_TARGETS=${{ job.target }}
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
componentName: ${{ parameters.componentName }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
gpuTarget: ${{ job.target }}
os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
componentName: ${{ parameters.componentName }}
gpuTarget: ${{ job.target }}
os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
- ${{ if eq(job.os, 'ubuntu2204') }}:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
gpuTarget: ${{ job.target }}
- ${{ if eq(parameters.unifiedBuild, False) }}:
- ${{ each job in parameters.jobMatrix.testJobs }}:
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
condition:
and(succeeded(),
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
eq(${{ parameters.aggregatePipeline }}, False)
)
variables:
- group: common
- template: /.azuredevops/variables-global.yml
pool: ${{ job.target }}_test_pool
workspace:
clean: all
steps:
- checkout: none
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
packageManager: ${{ job.packageManager }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
parameters:
preTargetFilter: ${{ parameters.componentName }}
gpuTarget: ${{ job.target }}
os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters:
checkoutRef: ${{ parameters.checkoutRef }}
dependencyList: ${{ parameters.rocmTestDependencies }}
gpuTarget: ${{ job.target }}
os: ${{ job.os }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: ${{ parameters.componentName }}
testDir: $(Agent.BuildDirectory)/rocm/share/hsa-amd-aqlprofile/
testExecutable: ./run_tests.sh
testParameters: ''
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
environment: test
gpuTarget: ${{ job.target }}

View File

@@ -107,7 +107,6 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters: parameters:
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
# if this artifact name is changed, please also update $ARTIFACT_URL inside miopen-get-ck-build.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters: parameters:
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}

View File

@@ -39,6 +39,4 @@ jobs:
parameters: parameters:
os: ${{ job.os }} os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
inputs:
os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml

View File

@@ -1,29 +1,10 @@
parameters: parameters:
- name: componentName
type: string
default: hip-tests
- name: checkoutRepo - name: checkoutRepo
type: string type: string
default: 'self' default: 'self'
- name: checkoutRef - name: checkoutRef
type: string type: string
default: '' default: ''
# monorepo related parameters
- name: sparseCheckoutDir
type: string
default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack # set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline # and dependencies are pulled from same pipeline
- name: aggregatePipeline - name: aggregatePipeline
@@ -79,10 +60,6 @@ parameters:
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: hip_tests_build_${{ job.target }} - job: hip_tests_build_${{ job.target }}
${{ if parameters.buildDependsOn }}:
dependsOn:
- ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_${{ job.target }}
variables: variables:
- group: common - group: common
- template: /.azuredevops/variables-global.yml - template: /.azuredevops/variables-global.yml
@@ -99,18 +76,15 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters: parameters:
checkoutRef: ${{ parameters.checkoutRef }} checkoutRef: ${{ parameters.checkoutRef }}
dependencyList: ${{ parameters.rocmDependencies }} dependencyList: ${{ parameters.rocmDependencies }}
aggregatePipeline: ${{ parameters.aggregatePipeline }} aggregatePipeline: ${{ parameters.aggregatePipeline }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
# compile hip-tests # compile hip-tests
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters: parameters:
componentName: ${{ parameters.componentName }} componentName: hip-tests
cmakeSourceDir: '../catch' cmakeSourceDir: '../catch'
customBuildTarget: build_tests customBuildTarget: build_tests
extraBuildFlags: >- extraBuildFlags: >-
@@ -122,12 +96,9 @@ jobs:
-GNinja -GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
@@ -137,56 +108,52 @@ jobs:
extraEnvVars: extraEnvVars:
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm - HIP_ROCCLR_HOME:::/home/user/workspace/rocm
- ${{ if eq(parameters.unifiedBuild, False) }}: - ${{ each job in parameters.jobMatrix.testJobs }}:
- ${{ each job in parameters.jobMatrix.testJobs }}: - job: hip_tests_test_${{ job.target }}
- job: hip_tests_test_${{ job.target }} timeoutInMinutes: 240
timeoutInMinutes: 240 dependsOn: hip_tests_build_${{ job.target }}
dependsOn: hip_tests_build_${{ job.target }} condition:
condition: and(succeeded(),
and(succeeded(), eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), eq(${{ parameters.aggregatePipeline }}, False)
eq(${{ parameters.aggregatePipeline }}, False) )
) variables:
variables: - group: common
- group: common - template: /.azuredevops/variables-global.yml
- template: /.azuredevops/variables-global.yml pool: ${{ job.target }}_test_pool
pool: ${{ job.target }}_test_pool workspace:
workspace: clean: all
clean: all steps:
steps: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
- checkout: none parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml aptPackages: ${{ parameters.aptPackages }}
parameters: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
aptPackages: ${{ parameters.aptPackages }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml gpuTarget: ${{ job.target }}
parameters: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
gpuTarget: ${{ job.target }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml checkoutRef: ${{ parameters.checkoutRef }}
parameters: dependencyList: ${{ parameters.rocmTestDependencies }}
checkoutRef: ${{ parameters.checkoutRef }} gpuTarget: ${{ job.target }}
dependencyList: ${{ parameters.rocmTestDependencies }} - task: Bash@3
gpuTarget: ${{ job.target }} displayName: Symlink rocm_agent_enumerator
${{ if parameters.triggerDownstreamJobs }}: inputs:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} targetType: inline
- task: Bash@3 script: |
displayName: Symlink rocm_agent_enumerator # Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral
inputs: sudo mkdir -p /opt/rocm/bin
targetType: inline sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rocm_agent_enumerator /opt/rocm/bin/rocm_agent_enumerator
script: | - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
# Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
sudo mkdir -p /opt/rocm/bin parameters:
sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rocm_agent_enumerator /opt/rocm/bin/rocm_agent_enumerator componentName: hip_tests
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml testDir: $(Agent.BuildDirectory)/rocm/share/hip
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
parameters: parameters:
componentName: ${{ parameters.componentName }} aptPackages: ${{ parameters.aptPackages }}
testDir: $(Agent.BuildDirectory)/rocm/share/hip environment: test
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml gpuTarget: ${{ job.target }}
parameters: optSymLink: true
aptPackages: ${{ parameters.aptPackages }}
environment: test
gpuTarget: ${{ job.target }}
optSymLink: true

View File

@@ -51,15 +51,15 @@ parameters:
buildJobs: buildJobs:
- { os: ubuntu2204, packageManager: apt } - { os: ubuntu2204, packageManager: apt }
- { os: almalinux8, packageManager: dnf } - { os: almalinux8, packageManager: dnf }
- name: downstreamComponentMatrix # - name: downstreamComponentMatrix
type: object # type: object
default: # default:
- hipBLASLt: # - hipBLASLt:
name: hipBLASLt # name: hipBLASLt
sparseCheckoutDir: projects/hipblaslt # sparseCheckoutDir: projects/hipblaslt
skipUnifiedBuild: 'false' # skipUnifiedBuild: 'false'
buildDependsOn: # buildDependsOn:
- hipBLAS_common_build # - hipBLAS_common_build
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
@@ -122,14 +122,14 @@ jobs:
# extraEnvVars: # extraEnvVars:
# - ROCM_PATH:::/home/user/workspace/rocm # - ROCM_PATH:::/home/user/workspace/rocm
- ${{ if parameters.triggerDownstreamJobs }}: # - ${{ if parameters.triggerDownstreamJobs }}:
- ${{ each component in parameters.downstreamComponentMatrix }}: # - ${{ each component in parameters.downstreamComponentMatrix }}:
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}: # - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo # - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
parameters: # parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} # checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ component.sparseCheckoutDir }} # sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
buildDependsOn: ${{ component.buildDependsOn }} # buildDependsOn: ${{ component.buildDependsOn }}
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }} # downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
triggerDownstreamJobs: true # triggerDownstreamJobs: true
unifiedBuild: ${{ parameters.unifiedBuild }} # unifiedBuild: ${{ parameters.unifiedBuild }}

View File

@@ -1,29 +1,10 @@
parameters: parameters:
- name: componentName
type: string
default: hipBLAS
- name: checkoutRepo - name: checkoutRepo
type: string type: string
default: 'self' default: 'self'
- name: checkoutRef - name: checkoutRef
type: string type: string
default: '' default: ''
# monorepo related parameters
- name: sparseCheckoutDir
type: string
default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack # set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline # and dependencies are pulled from same pipeline
- name: aggregatePipeline - name: aggregatePipeline
@@ -88,30 +69,10 @@ parameters:
target: gfx942 target: gfx942
- gfx90a: - gfx90a:
target: gfx90a target: gfx90a
# MIOpen depends on both rocRAND and hipBLAS
# for a unified build, hipBLAS will be the one to call MIOpen
- name: downstreamComponentMatrix
type: object
default:
- MIOpen:
name: MIOpen
sparseCheckoutDir: projects/miopen
skipUnifiedBuild: 'false'
buildDependsOn:
- hipBLAS_build
unifiedBuild:
downstreamAggregateNames: hipBLAS+rocRAND
buildDependsOn:
- hipBLAS_build
- rocRAND_build
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} - job: hipBLAS_build_${{ job.target }}
${{ if parameters.buildDependsOn }}:
dependsOn:
- ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_ubuntu2204_${{ job.target }}
variables: variables:
- group: common - group: common
- template: /.azuredevops/variables-global.yml - template: /.azuredevops/variables-global.yml
@@ -127,7 +88,6 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aocl.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aocl.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters: parameters:
@@ -135,8 +95,6 @@ jobs:
dependencyList: ${{ parameters.rocmDependencies }} dependencyList: ${{ parameters.rocmDependencies }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
aggregatePipeline: ${{ parameters.aggregatePipeline }} aggregatePipeline: ${{ parameters.aggregatePipeline }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters: parameters:
extraBuildFlags: >- extraBuildFlags: >-
@@ -151,12 +109,9 @@ jobs:
-GNinja -GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
@@ -166,67 +121,46 @@ jobs:
installAOCL: true installAOCL: true
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
- ${{ if eq(parameters.unifiedBuild, False) }}: - ${{ each job in parameters.jobMatrix.testJobs }}:
- ${{ each job in parameters.jobMatrix.testJobs }}: - job: hipBLAS_test_${{ job.target }}
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }} dependsOn: hipBLAS_build_${{ job.target }}
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} condition:
condition: and(succeeded(),
and(succeeded(), eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), eq(${{ parameters.aggregatePipeline }}, False)
eq(${{ parameters.aggregatePipeline }}, False) )
) variables:
variables: - group: common
- group: common - template: /.azuredevops/variables-global.yml
- template: /.azuredevops/variables-global.yml pool: ${{ job.target }}_test_pool
pool: ${{ job.target }}_test_pool workspace:
workspace: clean: all
clean: all steps:
steps: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
- checkout: none parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml aptPackages: ${{ parameters.aptPackages }}
parameters: pipModules: ${{ parameters.pipModules }}
aptPackages: ${{ parameters.aptPackages }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
pipModules: ${{ parameters.pipModules }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml gpuTarget: ${{ job.target }}
parameters: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
preTargetFilter: ${{ parameters.componentName }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
gpuTarget: ${{ job.target }} parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml checkoutRef: ${{ parameters.checkoutRef }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml dependencyList: ${{ parameters.rocmTestDependencies }}
parameters: gpuTarget: ${{ job.target }}
checkoutRef: ${{ parameters.checkoutRef }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
dependencyList: ${{ parameters.rocmTestDependencies }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
gpuTarget: ${{ job.target }} parameters:
${{ if parameters.triggerDownstreamJobs }}: componentName: hipBLAS
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} testExecutable: $(Agent.BuildDirectory)/rocm/bin/hipblas-test
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml testParameters: '--yaml hipblas_smoke.yaml --gtest_output=xml:./test_output.xml --gtest_color=yes'
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml testDir: '$(Agent.BuildDirectory)/rocm/bin'
parameters: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
componentName: ${{ parameters.componentName }} parameters:
testExecutable: $(Agent.BuildDirectory)/rocm/bin/hipblas-test aptPackages: ${{ parameters.aptPackages }}
testParameters: '--yaml hipblas_smoke.yaml --gtest_output=xml:./test_output.xml --gtest_color=yes' pipModules: ${{ parameters.pipModules }}
testDir: '$(Agent.BuildDirectory)/rocm/bin' environment: test
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml gpuTarget: ${{ job.target }}
parameters:
aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }}
environment: test
gpuTarget: ${{ job.target }}
- ${{ if parameters.triggerDownstreamJobs }}:
- ${{ each component in parameters.downstreamComponentMatrix }}:
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
parameters:
checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
triggerDownstreamJobs: true
unifiedBuild: ${{ parameters.unifiedBuild }}
${{ if parameters.unifiedBuild }}:
buildDependsOn: ${{ component.unifiedBuild.buildDependsOn }}
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ component.unifiedBuild.downstreamAggregateNames }}
${{ else }}:
buildDependsOn: ${{ component.buildDependsOn }}
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}

View File

@@ -35,13 +35,9 @@ parameters:
- ccache - ccache
- gfortran - gfortran
- git - git
- libboost-filesystem-dev
- libboost-program-options-dev
- libdrm-dev - libdrm-dev
- liblapack-dev
- libmsgpack-dev - libmsgpack-dev
- libnuma-dev - libnuma-dev
- libopenblas-dev
- ninja-build - ninja-build
- python3-pip - python3-pip
- python3-venv - python3-venv
@@ -50,12 +46,6 @@ parameters:
default: default:
- joblib - joblib
- "packaging>=22.0" - "packaging>=22.0"
- pyyaml
- msgpack
- simplejson
- ujson
- orjson
- yappi
- --upgrade - --upgrade
- name: rocmDependencies - name: rocmDependencies
type: object type: object
@@ -77,7 +67,6 @@ parameters:
- clr - clr
- hipBLAS-common - hipBLAS-common
- llvm-project - llvm-project
- rocm-cmake
- rocminfo - rocminfo
- rocm_smi_lib - rocm_smi_lib
- rocprofiler-register - rocprofiler-register
@@ -88,28 +77,28 @@ parameters:
type: object type: object
default: default:
buildJobs: buildJobs:
- { pool: rocm-ci_ultra_build_pool, os: ubuntu2204, packageManager: apt, target: gfx942 } - { os: ubuntu2204, packageManager: apt, target: gfx942 }
- { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx90a } - { os: ubuntu2204, packageManager: apt, target: gfx90a }
- { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx1201 } - { os: ubuntu2204, packageManager: apt, target: gfx1201 }
- { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx1100 } # - { os: ubuntu2204, packageManager: apt, target: gfx1100 }
#- { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx1030 } - { os: ubuntu2204, packageManager: apt, target: gfx1030 }
- { pool: rocm-ci_ultra_build_pool, os: almalinux8, packageManager: dnf, target: gfx942 } # - { os: almalinux8, packageManager: dnf, target: gfx942 }
- { pool: rocm-ci_medium_build_pool, os: almalinux8, packageManager: dnf, target: gfx90a } # - { os: almalinux8, packageManager: dnf, target: gfx90a }
- { pool: rocm-ci_medium_build_pool, os: almalinux8, packageManager: dnf, target: gfx1201 } # - { os: almalinux8, packageManager: dnf, target: gfx1201 }
- { pool: rocm-ci_medium_build_pool, os: almalinux8, packageManager: dnf, target: gfx1100 } # - { os: almalinux8, packageManager: dnf, target: gfx1100 }
#- { pool: rocm-ci_medium_build_pool, os: almalinux8, packageManager: dnf, target: gfx1030 } # - { os: almalinux8, packageManager: dnf, target: gfx1030 }
testJobs: testJobs:
- { os: ubuntu2204, packageManager: apt, target: gfx942 } - { os: ubuntu2204, packageManager: apt, target: gfx942 }
- { os: ubuntu2204, packageManager: apt, target: gfx90a } - { os: ubuntu2204, packageManager: apt, target: gfx90a }
- name: downstreamComponentMatrix # - name: downstreamComponentMatrix
type: object # type: object
default: # default:
- rocBLAS: # - rocBLAS:
name: rocBLAS # name: rocBLAS
sparseCheckoutDir: projects/rocblas # sparseCheckoutDir: projects/rocblas
skipUnifiedBuild: 'false' # skipUnifiedBuild: 'false'
buildDependsOn: # buildDependsOn:
- hipBLASLt_build # - hipBLASLt_build
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
@@ -132,7 +121,7 @@ jobs:
value: $(Agent.BuildDirectory)/rocm value: $(Agent.BuildDirectory)/rocm
- name: DAY_STRING - name: DAY_STRING
value: $[format('{0:ddMMyyyy}', pipeline.startTime)] value: $[format('{0:ddMMyyyy}', pipeline.startTime)]
pool: ${{ job.pool }} pool: ${{ variables.ULTRA_BUILD_POOL }}
${{ if eq(job.os, 'almalinux8') }}: ${{ if eq(job.os, 'almalinux8') }}:
container: container:
image: rocmexternalcicd.azurecr.io/manylinux228:latest image: rocmexternalcicd.azurecr.io/manylinux228:latest
@@ -145,16 +134,12 @@ jobs:
aptPackages: ${{ parameters.aptPackages }} aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }} pipModules: ${{ parameters.pipModules }}
packageManager: ${{ job.packageManager }} packageManager: ${{ job.packageManager }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
parameters:
dependencyList:
- gtest
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters: parameters:
checkoutRef: ${{ parameters.checkoutRef }} checkoutRef: ${{ parameters.checkoutRef }}
@@ -171,16 +156,19 @@ jobs:
script: | script: |
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin" echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin" echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
# hipBLASLt has a script for gtest and lapack
# https://github.com/ROCm/hipBLASLt/blob/develop/deps/CMakeLists.txt
# $(Agent.BuildDirectory)/deps is a temporary folder for the build process
# $(Agent.BuildDirectory)/s/deps is part of the hipBLASLt repo
- task: Bash@3 - task: Bash@3
displayName: Build and install LAPACK displayName: Build and install external dependencies
inputs: inputs:
targetType: inline targetType: inline
script: | script: |
mkdir -p $(Agent.BuildDirectory)/temp-deps mkdir -p $(Agent.BuildDirectory)/deps
cd $(Agent.BuildDirectory)/temp-deps cd $(Agent.BuildDirectory)/deps
# position-independent LAPACK is required for almalinux8 builds cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON $(Agent.BuildDirectory)/s/deps
cmake -DBUILD_GTEST=OFF -DBUILD_LAPACK=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON $(Agent.BuildDirectory)/sparse/projects/hipblaslt/deps make
make -j
sudo make install sudo make install
- script: | - script: |
mkdir -p $(CCACHE_DIR) mkdir -p $(CCACHE_DIR)
@@ -198,21 +186,15 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters: parameters:
os: ${{ job.os }} os: ${{ job.os }}
cmakeSourceDir: $(Agent.BuildDirectory)/sparse/projects/hipblaslt
cmakeBuildDir: $(Agent.BuildDirectory)/sparse/projects/hipblaslt/build
extraBuildFlags: >- extraBuildFlags: >-
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
-DCMAKE_INCLUDE_PATH=$(Agent.BuildDirectory)/rocm/llvm/include -DCMAKE_INCLUDE_PATH=$(Agent.BuildDirectory)/rocm/llvm/include
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache
-DAMDGPU_TARGETS=${{ job.target }} -DAMDGPU_TARGETS=${{ job.target }}
-DGPU_TARGETS=${{ job.target }}
-DBUILD_CLIENTS_TESTS=ON -DBUILD_CLIENTS_TESTS=ON
-DHIPBLASLT_ENABLE_ROCROLLER=ON
-DHIPBLASLT_ENABLE_FETCH=ON
-DHIPBLASLT_ENABLE_BLIS=OFF
-GNinja -GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters: parameters:
@@ -262,7 +244,6 @@ jobs:
workspace: workspace:
clean: all clean: all
steps: steps:
- checkout: none
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters: parameters:
aptPackages: ${{ parameters.aptPackages }} aptPackages: ${{ parameters.aptPackages }}
@@ -299,14 +280,14 @@ jobs:
environment: test environment: test
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
- ${{ if parameters.triggerDownstreamJobs }}: # - ${{ if parameters.triggerDownstreamJobs }}:
- ${{ each component in parameters.downstreamComponentMatrix }}: # - ${{ each component in parameters.downstreamComponentMatrix }}:
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}: # - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo # - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
parameters: # parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} # checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ component.sparseCheckoutDir }} # sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
buildDependsOn: ${{ component.buildDependsOn }} # buildDependsOn: ${{ component.buildDependsOn }}
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }} # downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
triggerDownstreamJobs: true # triggerDownstreamJobs: true
unifiedBuild: ${{ parameters.unifiedBuild }} # unifiedBuild: ${{ parameters.unifiedBuild }}

View File

@@ -80,11 +80,11 @@ parameters:
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} - job: ${{ parameters.componentName }}_build_${{ job.target }}
${{ if parameters.buildDependsOn }}: ${{ if parameters.buildDependsOn }}:
dependsOn: dependsOn:
- ${{ each build in parameters.buildDependsOn }}: - ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_ubuntu2204_${{ job.target }} - ${{ build }}_${{ job.target }} # todo: add OS
variables: variables:
- group: common - group: common
- template: /.azuredevops/variables-global.yml - template: /.azuredevops/variables-global.yml
@@ -141,12 +141,12 @@ jobs:
# gpuTarget: ${{ job.target }} # gpuTarget: ${{ job.target }}
- ${{ each job in parameters.jobMatrix.testJobs }}: - ${{ each job in parameters.jobMatrix.testJobs }}:
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }} - job: ${{ parameters.componentName }}_test_${{ job.target }}
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} dependsOn: ${{ parameters.componentName }}_build_${{ job.target }}
condition: condition:
and(succeeded(), and(succeeded(),
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
eq(${{ parameters.aggregatePipeline }}, False) eq(${{ parameters.aggregatePipeline }}, False)
) )
variables: variables:
@@ -156,7 +156,6 @@ jobs:
workspace: workspace:
clean: all clean: all
steps: steps:
- checkout: none
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters: parameters:
aptPackages: ${{ parameters.aptPackages }} aptPackages: ${{ parameters.aptPackages }}

View File

@@ -72,15 +72,15 @@ parameters:
testJobs: testJobs:
- { os: ubuntu2204, packageManager: apt, target: gfx942 } - { os: ubuntu2204, packageManager: apt, target: gfx942 }
- { os: ubuntu2204, packageManager: apt, target: gfx90a } - { os: ubuntu2204, packageManager: apt, target: gfx90a }
- name: downstreamComponentMatrix # - name: downstreamComponentMatrix
type: object # type: object
default: # default:
- rocFFT: # - rocFFT:
name: rocFFT # name: rocFFT
sparseCheckoutDir: projects/rocfft # sparseCheckoutDir: projects/rocfft
skipUnifiedBuild: 'false' # skipUnifiedBuild: 'false'
buildDependsOn: # buildDependsOn:
- hipRAND_build # - hipRAND_build
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
@@ -206,14 +206,14 @@ jobs:
environment: test environment: test
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
- ${{ if parameters.triggerDownstreamJobs }}: # - ${{ if parameters.triggerDownstreamJobs }}:
- ${{ each component in parameters.downstreamComponentMatrix }}: # - ${{ each component in parameters.downstreamComponentMatrix }}:
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}: # - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo # - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
parameters: # parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} # checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ component.sparseCheckoutDir }} # sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
buildDependsOn: ${{ component.buildDependsOn }} # buildDependsOn: ${{ component.buildDependsOn }}
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }} # downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
triggerDownstreamJobs: true # triggerDownstreamJobs: true
unifiedBuild: ${{ parameters.unifiedBuild }} # unifiedBuild: ${{ parameters.unifiedBuild }}

View File

@@ -1,29 +1,10 @@
parameters: parameters:
- name: componentName
type: string
default: hipSOLVER
- name: checkoutRepo - name: checkoutRepo
type: string type: string
default: 'self' default: 'self'
- name: checkoutRef - name: checkoutRef
type: string type: string
default: '' default: ''
# monorepo related parameters
- name: sparseCheckoutDir
type: string
default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack # set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline # and dependencies are pulled from same pipeline
- name: aggregatePipeline - name: aggregatePipeline
@@ -85,15 +66,12 @@ parameters:
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} - job: hipSOLVER_build_${{ job.target }}
${{ if parameters.buildDependsOn }}:
dependsOn:
- ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_ubuntu2204_${{ job.target }}
variables: variables:
- group: common - group: common
- template: /.azuredevops/variables-global.yml - template: /.azuredevops/variables-global.yml
pool: ${{ variables.MEDIUM_BUILD_POOL }} pool:
vmImage: ${{ variables.BASE_BUILD_POOL }}
workspace: workspace:
clean: all clean: all
steps: steps:
@@ -104,21 +82,18 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters: parameters:
checkoutRef: ${{ parameters.checkoutRef }} checkoutRef: ${{ parameters.checkoutRef }}
dependencyList: ${{ parameters.rocmDependencies }} dependencyList: ${{ parameters.rocmDependencies }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
aggregatePipeline: ${{ parameters.aggregatePipeline }} aggregatePipeline: ${{ parameters.aggregatePipeline }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
# build external gtest and lapack # build external gtest and lapack
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters: parameters:
componentName: external componentName: external
cmakeBuildDir: '$(Agent.BuildDirectory)/s/deps/build' cmakeBuildDir: '$(Build.SourcesDirectory)/deps/build'
cmakeSourceDir: '$(Agent.BuildDirectory)/s/deps' cmakeSourceDir: '$(Build.SourcesDirectory)/deps'
installDir: '$(Pipeline.Workspace)/deps-install' installDir: '$(Pipeline.Workspace)/deps-install'
extraBuildFlags: >- extraBuildFlags: >-
-DBUILD_BOOST=OFF -DBUILD_BOOST=OFF
@@ -137,10 +112,8 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters: parameters:
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
@@ -150,49 +123,44 @@ jobs:
# extraCopyDirectories: # extraCopyDirectories:
# - deps-install # - deps-install
- ${{ if eq(parameters.unifiedBuild, False) }}: - ${{ each job in parameters.jobMatrix.testJobs }}:
- ${{ each job in parameters.jobMatrix.testJobs }}: - job: hipSOLVER_test_${{ job.target }}
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }} dependsOn: hipSOLVER_build_${{ job.target }}
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} condition:
condition: and(succeeded(),
and(succeeded(), eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), eq(${{ parameters.aggregatePipeline }}, False)
eq(${{ parameters.aggregatePipeline }}, False) )
) variables:
variables: - group: common
- group: common - template: /.azuredevops/variables-global.yml
- template: /.azuredevops/variables-global.yml pool: ${{ job.target }}_test_pool
pool: ${{ job.target }}_test_pool workspace:
workspace: clean: all
clean: all steps:
steps: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
- checkout: none parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml aptPackages: ${{ parameters.aptPackages }}
parameters: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
aptPackages: ${{ parameters.aptPackages }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml gpuTarget: ${{ job.target }}
parameters: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
preTargetFilter: ${{ parameters.componentName }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
gpuTarget: ${{ job.target }} parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml checkoutRef: ${{ parameters.checkoutRef }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml dependencyList: ${{ parameters.rocmTestDependencies }}
parameters: gpuTarget: ${{ job.target }}
checkoutRef: ${{ parameters.checkoutRef }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
dependencyList: ${{ parameters.rocmTestDependencies }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
gpuTarget: ${{ job.target }} parameters:
${{ if parameters.triggerDownstreamJobs }}: componentName: hipSOLVER
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} testDir: '$(Agent.BuildDirectory)/rocm/bin'
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml testExecutable: './hipsolver-test'
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml testParameters: '--gtest_filter="*checkin*" --gtest_output=xml:./test_output.xml --gtest_color=yes'
parameters: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
componentName: ${{ parameters.componentName }} parameters:
testDir: '$(Agent.BuildDirectory)/rocm/bin' aptPackages: ${{ parameters.aptPackages }}
testExecutable: './hipsolver-test' environment: test
testParameters: '--gtest_filter="*checkin*" --gtest_output=xml:./test_output.xml --gtest_color=yes' gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
environment: test
gpuTarget: ${{ job.target }}

View File

@@ -1,29 +1,10 @@
parameters: parameters:
- name: componentName
type: string
default: hipSPARSE
- name: checkoutRepo - name: checkoutRepo
type: string type: string
default: 'self' default: 'self'
- name: checkoutRef - name: checkoutRef
type: string type: string
default: '' default: ''
# monorepo related parameters
- name: sparseCheckoutDir
type: string
default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack # set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline # and dependencies are pulled from same pipeline
- name: aggregatePipeline - name: aggregatePipeline
@@ -33,11 +14,13 @@ parameters:
type: object type: object
default: default:
- cmake - cmake
- gfortran
- git
- libboost-program-options-dev
- libfftw3-dev
- ninja-build - ninja-build
- libboost-program-options-dev
- googletest
- libfftw3-dev
- git
- gfortran
- libgtest-dev
- python3-pip - python3-pip
- name: rocmDependencies - name: rocmDependencies
type: object type: object
@@ -66,31 +49,19 @@ parameters:
type: object type: object
default: default:
buildJobs: buildJobs:
- { os: ubuntu2204, packageManager: apt, target: gfx942 } - gfx942:
- { os: ubuntu2204, packageManager: apt, target: gfx90a } target: gfx942
- { os: ubuntu2204, packageManager: apt, target: gfx1201 } - gfx90a:
#- { os: ubuntu2204, packageManager: apt, target: gfx1030 } target: gfx90a
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
testJobs: testJobs:
- { os: ubuntu2204, packageManager: apt, target: gfx942 } - gfx942:
- { os: ubuntu2204, packageManager: apt, target: gfx90a } target: gfx942
- name: downstreamComponentMatrix - gfx90a:
type: object target: gfx90a
default:
- hipSPARSELt:
name: hipSPARSELt
sparseCheckoutDir: projects/hipsparselt
skipUnifiedBuild: 'false'
buildDependsOn:
- hipSPARSE_build
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - job: hipSPARSE_build_${{ job.target }}
${{ if parameters.buildDependsOn }}:
dependsOn:
- ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_${{ job.os }}_${{ job.target }}
variables: variables:
- group: common - group: common
- template: /.azuredevops/variables-global.yml - template: /.azuredevops/variables-global.yml
@@ -102,57 +73,42 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters: parameters:
aptPackages: ${{ parameters.aptPackages }} aptPackages: ${{ parameters.aptPackages }}
packageManager: ${{ job.packageManager }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
parameters:
dependencyList:
- gtest
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters: parameters:
checkoutRef: ${{ parameters.checkoutRef }} checkoutRef: ${{ parameters.checkoutRef }}
dependencyList: ${{ parameters.rocmDependencies }} dependencyList: ${{ parameters.rocmDependencies }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
os: ${{ job.os }}
aggregatePipeline: ${{ parameters.aggregatePipeline }} aggregatePipeline: ${{ parameters.aggregatePipeline }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters: parameters:
os: ${{ job.os }}
extraBuildFlags: >- extraBuildFlags: >-
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang
-DCMAKE_BUILD_TYPE=Release -DCMAKE_BUILD_TYPE=Release
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/share/rocm/cmake/
-DBUILD_CLIENTS_TESTS=ON -DBUILD_CLIENTS_TESTS=ON
-DBUILD_CLIENTS_SAMPLES=OFF -DBUILD_CLIENTS_SAMPLES=OFF
-GNinja -GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters: parameters:
componentName: ${{ parameters.componentName }} artifactName: hipSPARSE
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters: parameters:
componentName: ${{ parameters.componentName }} artifactName: hipSPARSE
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
os: ${{ job.os }}
publish: false publish: false
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
parameters: parameters:
sourceDir: $(Agent.BuildDirectory)/s/build/clients sourceDir: $(Build.SourcesDirectory)/build/clients
contentsString: matrices/** contentsString: matrices/**
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
artifactName: testMatrices artifactName: testMatrices
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
# parameters: # parameters:
@@ -160,65 +116,44 @@ jobs:
# environment: test # environment: test
# gpuTarget: ${{ job.target }} # gpuTarget: ${{ job.target }}
- ${{ if eq(parameters.unifiedBuild, False) }}: - ${{ each job in parameters.jobMatrix.testJobs }}:
- ${{ each job in parameters.jobMatrix.testJobs }}: - job: hipSPARSE_test_${{ job.target }}
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }} dependsOn: hipSPARSE_build_${{ job.target }}
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} condition:
condition: and(succeeded(),
and(succeeded(), eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), eq(${{ parameters.aggregatePipeline }}, False)
eq(${{ parameters.aggregatePipeline }}, False) )
) variables:
variables: - group: common
- group: common - template: /.azuredevops/variables-global.yml
- template: /.azuredevops/variables-global.yml pool: ${{ job.target }}_test_pool
pool: ${{ job.target }}_test_pool workspace:
workspace: clean: all
clean: all steps:
steps: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
- checkout: none parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml aptPackages: ${{ parameters.aptPackages }}
parameters: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
aptPackages: ${{ parameters.aptPackages }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
packageManager: ${{ job.packageManager }} parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
parameters: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
preTargetFilter: ${{ parameters.componentName }} parameters:
gpuTarget: ${{ job.target }} checkoutRef: ${{ parameters.checkoutRef }}
os: ${{ job.os }} dependencyList: ${{ parameters.rocmTestDependencies }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
parameters: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
checkoutRef: ${{ parameters.checkoutRef }} parameters:
dependencyList: ${{ parameters.rocmTestDependencies }} componentName: hipSPARSE
gpuTarget: ${{ job.target }} testDir: '$(Agent.BuildDirectory)/rocm/bin'
os: ${{ job.os }} testExecutable: './hipsparse-test'
${{ if parameters.triggerDownstreamJobs }}: testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml aptPackages: ${{ parameters.aptPackages }}
parameters: environment: test
componentName: ${{ parameters.componentName }} gpuTarget: ${{ job.target }}
os: ${{ job.os }}
testDir: '$(Agent.BuildDirectory)/rocm/bin'
testExecutable: './hipsparse-test'
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
environment: test
gpuTarget: ${{ job.target }}
- ${{ if parameters.triggerDownstreamJobs }}:
- ${{ each component in parameters.downstreamComponentMatrix }}:
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
parameters:
checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
buildDependsOn: ${{ component.buildDependsOn }}
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
triggerDownstreamJobs: true
unifiedBuild: ${{ parameters.unifiedBuild }}

View File

@@ -1,29 +1,10 @@
parameters: parameters:
- name: componentName
type: string
default: hipSPARSELt
- name: checkoutRepo - name: checkoutRepo
type: string type: string
default: 'self' default: 'self'
- name: checkoutRef - name: checkoutRef
type: string type: string
default: '' default: ''
# monorepo related parameters
- name: sparseCheckoutDir
type: string
default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack # set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline # and dependencies are pulled from same pipeline
- name: aggregatePipeline - name: aggregatePipeline
@@ -40,12 +21,10 @@ parameters:
- gfortran - gfortran
- libgfortran5 - libgfortran5
- libopenblas-dev - libopenblas-dev
- liblapack-dev
- name: pipModules - name: pipModules
type: object type: object
default: default:
- joblib - joblib
- msgpack
- name: rocmDependencies - name: rocmDependencies
type: object type: object
default: default:
@@ -54,7 +33,6 @@ parameters:
- hipSPARSE - hipSPARSE
- llvm-project - llvm-project
- rocBLAS - rocBLAS
- rocm-cmake
- rocm_smi_lib - rocm_smi_lib
- rocminfo - rocminfo
- rocprofiler-register - rocprofiler-register
@@ -68,7 +46,6 @@ parameters:
- llvm-project - llvm-project
- hipBLAS-common - hipBLAS-common
- hipBLASLt - hipBLASLt
- rocm-cmake
- rocBLAS - rocBLAS
- rocminfo - rocminfo
- rocprofiler-register - rocprofiler-register
@@ -79,17 +56,15 @@ parameters:
type: object type: object
default: default:
buildJobs: buildJobs:
- { os: ubuntu2204, packageManager: apt, target: gfx942 } - gfx942:
target: gfx942
testJobs: testJobs:
- { os: ubuntu2204, packageManager: apt, target: gfx942 } - gfx942:
target: gfx942
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - job: hipSPARSELt_build_${{ job.target }}
${{ if parameters.buildDependsOn }}:
dependsOn:
- ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_${{ job.os }}_${{ job.target }}
variables: variables:
- group: common - group: common
- template: /.azuredevops/variables-global.yml - template: /.azuredevops/variables-global.yml
@@ -111,37 +86,25 @@ jobs:
parameters: parameters:
aptPackages: ${{ parameters.aptPackages }} aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }} pipModules: ${{ parameters.pipModules }}
packageManager: ${{ job.packageManager }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} checkoutRepo: ${{ parameters.checkoutRepo }}
# ignore sparse checkout for monorepo case, we want access to hipblaslt directory
# sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters: parameters:
checkoutRef: ${{ parameters.checkoutRef }} checkoutRef: ${{ parameters.checkoutRef }}
dependencyList: ${{ parameters.rocmDependencies }} dependencyList: ${{ parameters.rocmDependencies }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
os: ${{ job.os }}
aggregatePipeline: ${{ parameters.aggregatePipeline }} aggregatePipeline: ${{ parameters.aggregatePipeline }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
# NOTE: content between `---` is for transition support between old/new build systems
# and should be removed once transition is complete.
# -----------------------------
# Build and install gtest and lapack # Build and install gtest and lapack
# $(Pipeline.Workspace)/deps is a temporary folder for the build process # $(Pipeline.Workspace)/deps is a temporary folder for the build process
# $(Pipeline.Workspace)/s/deps is part of the hipSPARSELt repo # $(Pipeline.Workspace)/s/deps is part of the hipSPARSELt repo
- script: mkdir -p $(Pipeline.Workspace)/deps - script: mkdir $(Pipeline.Workspace)/deps
displayName: Create temp folder for external dependencies displayName: Create temp folder for external dependencies
# hipSPARSELt already has a CMake script for external deps, so we can just run that # hipSPARSELt already has a CMake script for external deps, so we can just run that
# https://github.com/ROCm/hipSPARSELt/blob/develop/deps/CMakeLists.txt # https://github.com/ROCm/hipSPARSELt/blob/develop/deps/CMakeLists.txt
- ${{ if ne(parameters.sparseCheckoutDir, '') }}: - script: cmake $(Pipeline.Workspace)/s/deps
script: cmake $(Pipeline.Workspace)/s/projects/hipsparselt/deps
${{ else }}:
script: cmake $(Pipeline.Workspace)/s/deps
displayName: Configure hipSPARSELt external dependencies displayName: Configure hipSPARSELt external dependencies
workingDirectory: $(Pipeline.Workspace)/deps workingDirectory: $(Pipeline.Workspace)/deps
- script: make - script: make
@@ -150,115 +113,81 @@ jobs:
- script: sudo make install - script: sudo make install
displayName: Install hipSPARSELt external dependencies displayName: Install hipSPARSELt external dependencies
workingDirectory: $(Pipeline.Workspace)/deps workingDirectory: $(Pipeline.Workspace)/deps
# -----------------------------
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters: parameters:
os: ${{ job.os }}
# NOTE: the following options are old build only
# and can be removed after full transition to new build
# -DAMDGPU_TARGETS=${{ job.target }}
# -DCMAKE_Fortran_COMPILER=f95
# -DTensile_LOGIC=
# -DTensile_CPU_THREADS=
# -DTensile_LIBRARY_FORMAT=msgpack
# -DROCM_PATH=$(Agent.BuildDirectory)/rocm
# -DBUILD_CLIENTS_TESTS=ON
# -DBUILD_USE_LOCAL_TENSILE=OFF
extraBuildFlags: >- extraBuildFlags: >-
-DCMAKE_BUILD_TYPE=Release -DCMAKE_BUILD_TYPE=Release
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm"
-DGPU_TARGETS=${{ job.target }}
-DAMDGPU_TARGETS=${{ job.target }}
-DCMAKE_Fortran_COMPILER=f95 -DCMAKE_Fortran_COMPILER=f95
-DAMDGPU_TARGETS=${{ job.target }}
-DTensile_LOGIC= -DTensile_LOGIC=
-DTensile_CPU_THREADS= -DTensile_CPU_THREADS=
-DTensile_LIBRARY_FORMAT=msgpack -DTensile_LIBRARY_FORMAT=msgpack
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm"
-DROCM_PATH=$(Agent.BuildDirectory)/rocm -DROCM_PATH=$(Agent.BuildDirectory)/rocm
-DBUILD_CLIENTS_TESTS=ON -DBUILD_CLIENTS_TESTS=ON
-DBUILD_USE_LOCAL_TENSILE=OFF
-DHIPSPARSELT_ENABLE_FETCH=ON
-GNinja -GNinja
${{ if ne(parameters.sparseCheckoutDir, '') }}:
cmakeSourceDir: $(Build.SourcesDirectory)/projects/hipsparselt
cmakeBuildDir: $(Build.SourcesDirectory)/projects/hipsparselt
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
os: ${{ job.os }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
- ${{ if eq(job.os, 'ubuntu2204') }}: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml parameters:
parameters: aptPackages: ${{ parameters.aptPackages }}
aptPackages: ${{ parameters.aptPackages }} pipModules: ${{ parameters.pipModules }}
pipModules: ${{ parameters.pipModules }} gpuTarget: ${{ job.target }}
gpuTarget: ${{ job.target }} extraCopyDirectories:
extraCopyDirectories: - deps
- deps extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin
extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin extraEnvVars:
extraEnvVars: - HIP_ROCCLR_HOME:::/home/user/workspace/rocm
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm - TENSILE_ROCM_ASSEMBLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang
- TENSILE_ROCM_ASSEMBLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang - CMAKE_CXX_COMPILER:::/home/user/workspace/rocm/llvm/bin/hipcc
- CMAKE_CXX_COMPILER:::/home/user/workspace/rocm/llvm/bin/hipcc - TENSILE_ROCM_OFFLOAD_BUNDLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang-offload-bundler
- TENSILE_ROCM_OFFLOAD_BUNDLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang-offload-bundler installLatestCMake: true
installLatestCMake: true
- ${{ if eq(parameters.unifiedBuild, False) }}: - ${{ each job in parameters.jobMatrix.testJobs }}:
- ${{ each job in parameters.jobMatrix.testJobs }}: - job: hipSPARSELt_test_${{ job.target }}
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }} dependsOn: hipSPARSELt_build_${{ job.target }}
timeoutInMinutes: 120 condition:
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} and(succeeded(),
condition: eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
and(succeeded(), not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), eq(${{ parameters.aggregatePipeline }}, False)
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), )
eq(${{ parameters.aggregatePipeline }}, False) variables:
) - group: common
variables: - template: /.azuredevops/variables-global.yml
- group: common pool: ${{ job.target }}_test_pool
- template: /.azuredevops/variables-global.yml workspace:
pool: ${{ job.target }}_test_pool clean: all
workspace: steps:
clean: all - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
steps: parameters:
- checkout: none aptPackages: ${{ parameters.aptPackages }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
parameters: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
aptPackages: ${{ parameters.aptPackages }} parameters:
packageManager: ${{ job.packageManager }} gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml parameters:
parameters: checkoutRef: ${{ parameters.checkoutRef }}
preTargetFilter: ${{ parameters.componentName }} dependencyList: ${{ parameters.rocmTestDependencies }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
os: ${{ job.os }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters: parameters:
checkoutRef: ${{ parameters.checkoutRef }} componentName: hipSPARSELt
dependencyList: ${{ parameters.rocmTestDependencies }} testDir: '$(Agent.BuildDirectory)/rocm/bin'
gpuTarget: ${{ job.target }} testExecutable: './hipsparselt-test'
os: ${{ job.os }} testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes --gtest_filter=*pre_checkin*'
${{ if parameters.triggerDownstreamJobs }}: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml aptPackages: ${{ parameters.aptPackages }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml pipModules: ${{ parameters.pipModules }}
parameters: environment: test
componentName: ${{ parameters.componentName }} gpuTarget: ${{ job.target }}
os: ${{ job.os }}
testDir: '$(Agent.BuildDirectory)/rocm/bin'
testExecutable: './hipsparselt-test'
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes --gtest_filter=*pre_checkin*'
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }}
environment: test
gpuTarget: ${{ job.target }}

View File

@@ -77,7 +77,6 @@ jobs:
extraBuildFlags: >- extraBuildFlags: >-
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/llvm -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/llvm
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
-DROCM_PATH=$(Agent.BuildDirectory)/rocm -DROCM_PATH=$(Agent.BuildDirectory)/rocm
-DCMAKE_BUILD_TYPE=Release -DCMAKE_BUILD_TYPE=Release
-DHIPTENSOR_BUILD_TESTS=ON -DHIPTENSOR_BUILD_TESTS=ON

View File

@@ -71,7 +71,7 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters: parameters:
aptPackages: ${{ parameters.aptPackages }} aptPackages: ${{ parameters.aptPackages }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:

View File

@@ -30,7 +30,7 @@ parameters:
default: default:
buildJobs: buildJobs:
- { os: ubuntu2204, packageManager: apt } - { os: ubuntu2204, packageManager: apt }
# - { os: ubuntu2404, packageManager: apt } - { os: ubuntu2404, packageManager: apt }
- { os: almalinux8, packageManager: dnf } - { os: almalinux8, packageManager: dnf }
jobs: jobs:
@@ -67,6 +67,7 @@ jobs:
parameters: parameters:
checkoutRef: ${{ parameters.checkoutRef }} checkoutRef: ${{ parameters.checkoutRef }}
dependencyList: ${{ parameters.rocmDependencies }} dependencyList: ${{ parameters.rocmDependencies }}
skipLlvmSymlink: true
aggregatePipeline: ${{ parameters.aggregatePipeline }} aggregatePipeline: ${{ parameters.aggregatePipeline }}
os: ${{ job.os }} os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml

View File

@@ -1,251 +0,0 @@
parameters:
- name: componentName
type: string
default: origami
- name: checkoutRepo
type: string
default: 'self'
- name: checkoutRef
type: string
default: ''
# monorepo related parameters
- name: sparseCheckoutDir
type: string
default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline
- name: aggregatePipeline
type: boolean
default: false
- name: aptPackages
type: object
default:
- cmake
- git
- ninja-build
- wget
- python3
- python3-dev
- python3-pip
- libgtest-dev
- libboost-filesystem-dev
- libboost-program-options-dev
- name: pipModules
type: object
default:
- nanobind>=2.0.0
- name: rocmDependencies
type: object
default:
- clr
- llvm-project
- rocm-cmake
- rocminfo
- ROCR-Runtime
- rocprofiler-register
- name: rocmTestDependencies
type: object
default:
- clr
- llvm-project
- rocm-cmake
- rocminfo
- ROCR-Runtime
- rocprofiler-register
- name: jobMatrix
type: object
default:
buildJobs:
- { os: ubuntu2204, packageManager: apt }
- { os: almalinux8, packageManager: dnf }
testJobs:
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
- name: downstreamComponentMatrix
type: object
default:
- hipBLASLt:
name: hipBLASLt
sparseCheckoutDir: projects/hipblaslt
skipUnifiedBuild: 'false'
buildDependsOn:
- origami_build
jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: origami_build_${{ job.os }}
${{ if parameters.buildDependsOn }}:
dependsOn:
- ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_${{ job.os }}
variables:
- group: common
- template: /.azuredevops/variables-global.yml
- name: ROCM_PATH
value: $(Agent.BuildDirectory)/rocm
pool:
vmImage: ${{ variables.BASE_BUILD_POOL }}
${{ if eq(job.os, 'almalinux8') }}:
container:
image: rocmexternalcicd.azurecr.io/manylinux228:latest
endpoint: ContainerService3
workspace:
clean: all
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }}
packageManager: ${{ job.packageManager }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
parameters:
dependencyList:
- gtest
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters:
checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters:
checkoutRef: ${{ parameters.checkoutRef }}
dependencyList: ${{ parameters.rocmDependencies }}
os: ${{ job.os }}
aggregatePipeline: ${{ parameters.aggregatePipeline }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters:
os: ${{ job.os }}
extraBuildFlags: >-
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
-DORIGAMI_BUILD_SHARED_LIBS=ON
-DORIGAMI_ENABLE_PYTHON=ON
-DORIGAMI_BUILD_TESTING=ON
-GNinja
- ${{ if ne(job.os, 'almalinux8') }}:
- task: PublishPipelineArtifact@1
displayName: 'Publish Build Directory Artifact'
inputs:
targetPath: '$(Agent.BuildDirectory)/s/build'
artifact: '${{ parameters.componentName }}_${{ job.os }}_build_dir'
publishLocation: 'pipeline'
- task: PublishPipelineArtifact@1
displayName: 'Publish Python Source Artifact'
inputs:
targetPath: '$(Agent.BuildDirectory)/s/python'
artifact: '${{ parameters.componentName }}_${{ job.os }}_python_src'
publishLocation: 'pipeline'
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
componentName: ${{ parameters.componentName }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
os: ${{ job.os }}
componentName: ${{ parameters.componentName }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
- ${{ if eq(parameters.unifiedBuild, False) }}:
- ${{ each job in parameters.jobMatrix.testJobs }}:
- job: origami_test_${{ job.os }}_${{ job.target }}
timeoutInMinutes: 120
dependsOn: origami_build_${{ job.os }}
condition:
and(succeeded(),
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
eq(${{ parameters.aggregatePipeline }}, False)
)
variables:
- group: common
- template: /.azuredevops/variables-global.yml
pool: ${{ job.target }}_test_pool
workspace:
clean: all
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters:
checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }}
packageManager: ${{ job.packageManager }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
parameters:
preTargetFilter: ${{ parameters.componentName }}
os: ${{ job.os }}
- task: DownloadPipelineArtifact@2
displayName: 'Download Build Directory Artifact'
inputs:
artifact: '${{ parameters.componentName }}_${{ job.os }}_build_dir'
path: '$(Agent.BuildDirectory)/s/build'
- task: DownloadPipelineArtifact@2
displayName: 'Download Python Source Artifact'
inputs:
artifact: '${{ parameters.componentName }}_${{ job.os }}_python_src'
path: '$(Agent.BuildDirectory)/s/python'
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters:
checkoutRef: ${{ parameters.checkoutRef }}
dependencyList: ${{ parameters.rocmTestDependencies }}
os: ${{ job.os }}
gpuTarget: ${{ job.target }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters:
componentName: ${{ parameters.componentName }}
os: ${{ job.os }}
testDir: '$(Agent.BuildDirectory)/rocm/bin'
testExecutable: './origami-tests'
testParameters: '--yaml origami-tests.yaml --gtest_output=xml:./test_output.xml --gtest_color=yes'
- script: |
set -e
export PYTHONPATH=$(Agent.BuildDirectory)/s/build/python:$PYTHONPATH
echo "--- Running origami_test.py ---"
python3 $(Agent.BuildDirectory)/s/python/origami_test.py
echo "--- Running origami_grid_test.py ---"
python3 $(Agent.BuildDirectory)/s/python/origami_grid_test.py
displayName: 'Run Python Binding Tests'
condition: succeeded()
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }}
environment: test
gpuTarget: ${{ job.target }}
- ${{ if parameters.triggerDownstreamJobs }}:
- ${{ each component in parameters.downstreamComponentMatrix }}:
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
parameters:
checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
buildDependsOn: ${{ component.buildDependsOn }}
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
triggerDownstreamJobs: true
unifiedBuild: ${{ parameters.unifiedBuild }}

View File

@@ -76,14 +76,14 @@ jobs:
- template: /.azuredevops/variables-global.yml - template: /.azuredevops/variables-global.yml
- name: HIP_ROCCLR_HOME - name: HIP_ROCCLR_HOME
value: $(Build.BinariesDirectory)/rocm value: $(Build.BinariesDirectory)/rocm
pool: ${{ variables.MEDIUM_BUILD_POOL }} pool: ${{ variables.HIGH_BUILD_POOL }}
workspace: workspace:
clean: all clean: all
steps: steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters: parameters:
aptPackages: ${{ parameters.aptPackages }} aptPackages: ${{ parameters.aptPackages }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:

View File

@@ -1,29 +1,10 @@
parameters: parameters:
- name: componentName
type: string
default: rdc
- name: checkoutRepo - name: checkoutRepo
type: string type: string
default: 'self' default: 'self'
- name: checkoutRef - name: checkoutRef
type: string type: string
default: '' default: ''
# monorepo related parameters
- name: sparseCheckoutDir
type: string
default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack # set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline # and dependencies are pulled from same pipeline
- name: aggregatePipeline - name: aggregatePipeline
@@ -52,7 +33,6 @@ parameters:
- clr - clr
- hipBLAS-common - hipBLAS-common
- hipBLASLt - hipBLASLt
- hipRAND
- llvm-project - llvm-project
- rocBLAS - rocBLAS
- rocm-cmake - rocm-cmake
@@ -63,7 +43,6 @@ parameters:
- rocprofiler - rocprofiler
- rocprofiler-register - rocprofiler-register
- rocprofiler-sdk - rocprofiler-sdk
- rocRAND
- ROCR-Runtime - ROCR-Runtime
- name: rocmTestDependencies - name: rocmTestDependencies
type: object type: object
@@ -95,11 +74,7 @@ parameters:
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: ${{ parameters.componentName }}_build_${{ job.target }} - job: rdc_build_${{ job.target }}
${{ if parameters.buildDependsOn }}:
dependsOn:
- ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_${{ job.target }}
variables: variables:
- group: common - group: common
- template: /.azuredevops/variables-global.yml - template: /.azuredevops/variables-global.yml
@@ -110,22 +85,16 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters: parameters:
aptPackages: ${{ parameters.aptPackages }} aptPackages: ${{ parameters.aptPackages }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
parameters:
cmakeVersion: '3.25.0'
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters: parameters:
checkoutRef: ${{ parameters.checkoutRef }} checkoutRef: ${{ parameters.checkoutRef }}
dependencyList: ${{ parameters.rocmDependencies }} dependencyList: ${{ parameters.rocmDependencies }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
aggregatePipeline: ${{ parameters.aggregatePipeline }} aggregatePipeline: ${{ parameters.aggregatePipeline }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
# Build grpc # Build grpc
- task: Bash@3 - task: Bash@3
displayName: 'git clone grpc' displayName: 'git clone grpc'
@@ -135,7 +104,6 @@ jobs:
workingDirectory: $(Build.SourcesDirectory) workingDirectory: $(Build.SourcesDirectory)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
cmakeBuildDir: $(Build.SourcesDirectory)/grpc/build cmakeBuildDir: $(Build.SourcesDirectory)/grpc/build
cmakeSourceDir: $(Build.SourcesDirectory)/grpc cmakeSourceDir: $(Build.SourcesDirectory)/grpc
installDir: $(Build.SourcesDirectory)/bin installDir: $(Build.SourcesDirectory)/bin
@@ -149,7 +117,6 @@ jobs:
-GNinja -GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
extraBuildFlags: >- extraBuildFlags: >-
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
-DGRPC_ROOT="$(Build.SourcesDirectory)/bin" -DGRPC_ROOT="$(Build.SourcesDirectory)/bin"
@@ -159,12 +126,9 @@ jobs:
-DAMDGPU_TARGETS=${{ job.target }} -DAMDGPU_TARGETS=${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
@@ -172,64 +136,60 @@ jobs:
aptPackages: ${{ parameters.aptPackages }} aptPackages: ${{ parameters.aptPackages }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
- ${{ if eq(parameters.unifiedBuild, False) }}: - ${{ each job in parameters.jobMatrix.testJobs }}:
- ${{ each job in parameters.jobMatrix.testJobs }}: - job: rdc_test_${{ job.target }}
- job: ${{ parameters.componentName }}_test_${{ job.target }} dependsOn: rdc_build_${{ job.target }}
dependsOn: ${{ parameters.componentName }}_build_${{ job.target }} condition:
condition: and(succeeded(),
and(succeeded(), eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), eq(${{ parameters.aggregatePipeline }}, False)
eq(${{ parameters.aggregatePipeline }}, False) )
) variables:
variables: - group: common
- group: common - template: /.azuredevops/variables-global.yml
- template: /.azuredevops/variables-global.yml - name: ROCM_PATH
- name: ROCM_PATH value: $(Agent.BuildDirectory)/rocm
value: $(Agent.BuildDirectory)/rocm - name: ROCM_DIR
- name: ROCM_DIR value: $(Agent.BuildDirectory)/rocm
value: $(Agent.BuildDirectory)/rocm pool: ${{ job.target }}_test_pool
pool: ${{ job.target }}_test_pool workspace:
workspace: clean: all
clean: all steps:
steps: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
- checkout: none parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml aptPackages: ${{ parameters.aptPackages }}
parameters: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
aptPackages: ${{ parameters.aptPackages }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml gpuTarget: ${{ job.target }}
parameters: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
gpuTarget: ${{ job.target }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml checkoutRef: ${{ parameters.checkoutRef }}
parameters: dependencyList: ${{ parameters.rocmTestDependencies }}
checkoutRef: ${{ parameters.checkoutRef }} gpuTarget: ${{ job.target }}
dependencyList: ${{ parameters.rocmTestDependencies }} - task: Bash@3
gpuTarget: ${{ job.target }} displayName: Setup test environment
${{ if parameters.triggerDownstreamJobs }}: inputs:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} targetType: inline
- task: Bash@3 script: |
displayName: Setup test environment sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rdcd /usr/sbin/rdcd
inputs: echo $(Agent.BuildDirectory)/rocm/lib/rdc/grpc/lib | sudo tee /etc/ld.so.conf.d/grpc.conf
targetType: inline sudo ldconfig -v
script: | - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rdcd /usr/sbin/rdcd - task: Bash@3
echo $(Agent.BuildDirectory)/rocm/lib/rdc/grpc/lib | sudo tee /etc/ld.so.conf.d/grpc.conf displayName: Test rdc
sudo ldconfig -v inputs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml targetType: inline
- task: Bash@3 script: >-
displayName: Test rdc $(Agent.BuildDirectory)/rocm/share/rdc/rdctst_tests/rdctst
inputs: --batch_mode
targetType: inline --start_rdcd
script: >- --unauth_comm
$(Agent.BuildDirectory)/rocm/share/rdc/rdctst_tests/rdctst - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
--batch_mode parameters:
--start_rdcd aptPackages: ${{ parameters.aptPackages }}
--unauth_comm environment: test
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml gpuTarget: ${{ job.target }}
parameters: extraPaths: /home/user/workspace/rocm/bin
aptPackages: ${{ parameters.aptPackages }}
environment: test
gpuTarget: ${{ job.target }}
extraPaths: /home/user/workspace/rocm/bin

View File

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

View File

@@ -73,7 +73,8 @@ jobs:
- template: /.azuredevops/variables-global.yml - template: /.azuredevops/variables-global.yml
- name: HIP_ROCCLR_HOME - name: HIP_ROCCLR_HOME
value: $(Build.BinariesDirectory)/rocm value: $(Build.BinariesDirectory)/rocm
pool: ${{ variables.MEDIUM_BUILD_POOL }} pool:
vmImage: ${{ variables.BASE_BUILD_POOL }}
workspace: workspace:
clean: all clean: all
steps: steps:

View File

@@ -33,15 +33,17 @@ parameters:
type: object type: object
default: default:
- cmake - cmake
- git
- gfortran
- libdrm-dev
- libmsgpack-dev
- libopenblas-dev
- ninja-build - ninja-build
- python3-pip
- python3-venv - python3-venv
- git
- libmsgpack-dev
- gfortran
- libopenblas-dev
- googletest
- libgtest-dev
- wget - wget
- python3-pip
- libdrm-dev
- name: pipModules - name: pipModules
type: object type: object
default: default:
@@ -50,17 +52,18 @@ parameters:
- name: rocmDependencies - name: rocmDependencies
type: object type: object
default: default:
- aomp
- clr
- hipBLAS-common
- hipBLASLt
- llvm-project
- rocm-cmake - rocm-cmake
- rocm-core - llvm-project
- rocm_smi_lib - ROCR-Runtime
- clr
- rocminfo - rocminfo
- rocprofiler-register - rocprofiler-register
- ROCR-Runtime - rocm_smi_lib
- rocm-core
- aomp
- aomp-extras
- hipBLAS-common
- hipBLASLt
- roctracer - roctracer
- name: rocmTestDependencies - name: rocmTestDependencies
type: object type: object
@@ -70,7 +73,6 @@ parameters:
- hipBLAS-common - hipBLAS-common
- hipBLASLt - hipBLASLt
- llvm-project - llvm-project
- rocm-cmake
- rocminfo - rocminfo
- rocprofiler-register - rocprofiler-register
- rocm_smi_lib - rocm_smi_lib
@@ -84,45 +86,32 @@ parameters:
- { os: ubuntu2204, packageManager: apt, target: gfx942 } - { os: ubuntu2204, packageManager: apt, target: gfx942 }
- { os: ubuntu2204, packageManager: apt, target: gfx90a } - { os: ubuntu2204, packageManager: apt, target: gfx90a }
- { os: ubuntu2204, packageManager: apt, target: gfx1201 } - { os: ubuntu2204, packageManager: apt, target: gfx1201 }
- { os: ubuntu2204, packageManager: apt, target: gfx1100 } # - { os: ubuntu2204, packageManager: apt, target: gfx1100 }
#- { os: ubuntu2204, packageManager: apt, target: gfx1030 } - { os: ubuntu2204, packageManager: apt, target: gfx1030 }
- { os: almalinux8, packageManager: dnf, target: gfx942 } # - { os: almalinux8, packageManager: dnf, target: gfx942 }
- { os: almalinux8, packageManager: dnf, target: gfx90a } # - { os: almalinux8, packageManager: dnf, target: gfx90a }
- { os: almalinux8, packageManager: dnf, target: gfx1201 } # - { os: almalinux8, packageManager: dnf, target: gfx1201 }
- { os: almalinux8, packageManager: dnf, target: gfx1100 } # - { os: almalinux8, packageManager: dnf, target: gfx1100 }
#- { os: almalinux8, packageManager: dnf, target: gfx1030 } # - { os: almalinux8, packageManager: dnf, target: gfx1030 }
testJobs: testJobs:
- { os: ubuntu2204, packageManager: apt, target: gfx942 } - { os: ubuntu2204, packageManager: apt, target: gfx942 }
- { os: ubuntu2204, packageManager: apt, target: gfx90a } - { os: ubuntu2204, packageManager: apt, target: gfx90a }
- name: downstreamComponentMatrix # - name: downstreamComponentMatrix
type: object # type: object
default: # default:
- rocSPARSE: # # rocSOLVER depends on both rocBLAS and rocPRIM
name: rocSPARSE # # for a unified build, rocBLAS will be the one to call rocSOLVER
sparseCheckoutDir: projects/rocsparse # - rocSOLVER:
skipUnifiedBuild: 'false' # name: rocSOLVER
buildDependsOn: # sparseCheckoutDir: projects/rocsolver
- rocBLAS_build # skipUnifiedBuild: 'false'
# rocSOLVER depends on both rocBLAS and rocPRIM # buildDependsOn:
# for a unified build, rocBLAS will be the one to call rocSOLVER # - rocBLAS_build
# - rocSOLVER: # unifiedBuild:
# name: rocSOLVER # downstreamAggregateNames: rocBLAS+rocPRIM
# sparseCheckoutDir: projects/rocsolver # buildDependsOn:
# skipUnifiedBuild: 'false' # - rocBLAS_build
# buildDependsOn: # - rocPRIM_build
# - rocBLAS_build
# unifiedBuild:
# downstreamAggregateNames: rocBLAS+rocPRIM
# buildDependsOn:
# - rocBLAS_build
# - rocPRIM_build
# temporary rocblas->hipblas downstream path while the SOLVERs are disabled
- hipBLAS:
name: hipBLAS
sparseCheckoutDir: projects/hipblas
skipUnifiedBuild: 'false'
buildDependsOn:
- rocBLAS_build
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
@@ -155,19 +144,13 @@ jobs:
aptPackages: ${{ parameters.aptPackages }} aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }} pipModules: ${{ parameters.pipModules }}
packageManager: ${{ job.packageManager }} packageManager: ${{ job.packageManager }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aocl.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aocl.yml
parameters:
os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
parameters:
dependencyList:
- gtest
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters: parameters:
checkoutRef: ${{ parameters.checkoutRef }} checkoutRef: ${{ parameters.checkoutRef }}
@@ -180,15 +163,22 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters: parameters:
os: ${{ job.os }} os: ${{ job.os }}
cmakeSourceDir: $(Agent.BuildDirectory)/sparse/projects/rocblas
cmakeBuildDir: $(Agent.BuildDirectory)/sparse/projects/rocblas/build
extraBuildFlags: >- extraBuildFlags: >-
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor -DCMAKE_TOOLCHAIN_FILE=toolchain-linux.cmake
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm
-DCMAKE_BUILD_TYPE=Release -DCMAKE_BUILD_TYPE=Release
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang++ -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang++
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang
-DGPU_TARGETS=${{ job.target }} -DGPU_TARGETS=${{ job.target }}
-DTensile_CODE_OBJECT_VERSION=default
-DTensile_LOGIC=asm_full
-DTensile_SEPARATE_ARCHITECTURES=ON
-DTensile_LAZY_LIBRARY_LOADING=ON
-DTensile_LIBRARY_FORMAT=msgpack
-DBUILD_CLIENTS_TESTS=ON -DBUILD_CLIENTS_TESTS=ON
-DBUILD_CLIENTS_BENCHMARKS=OFF
-DBUILD_CLIENTS_SAMPLES=OFF
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
-GNinja -GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters: parameters:
@@ -218,7 +208,6 @@ jobs:
- ${{ if eq(parameters.unifiedBuild, False) }}: - ${{ if eq(parameters.unifiedBuild, False) }}:
- ${{ each job in parameters.jobMatrix.testJobs }}: - ${{ each job in parameters.jobMatrix.testJobs }}:
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }} - job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
timeoutInMinutes: 120
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
condition: condition:
and(succeeded(), and(succeeded(),
@@ -233,7 +222,6 @@ jobs:
workspace: workspace:
clean: all clean: all
steps: steps:
- checkout: none
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters: parameters:
aptPackages: ${{ parameters.aptPackages }} aptPackages: ${{ parameters.aptPackages }}
@@ -270,18 +258,18 @@ jobs:
environment: test environment: test
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
- ${{ if parameters.triggerDownstreamJobs }}: # - ${{ if parameters.triggerDownstreamJobs }}:
- ${{ each component in parameters.downstreamComponentMatrix }}: # - ${{ each component in parameters.downstreamComponentMatrix }}:
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}: # - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo # - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
parameters: # parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} # checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ component.sparseCheckoutDir }} # sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
triggerDownstreamJobs: true # triggerDownstreamJobs: true
unifiedBuild: ${{ parameters.unifiedBuild }} # unifiedBuild: ${{ parameters.unifiedBuild }}
${{ if parameters.unifiedBuild }}: # ${{ if parameters.unifiedBuild }}:
buildDependsOn: ${{ component.unifiedBuild.buildDependsOn }} # buildDependsOn: ${{ component.unifiedBuild.buildDependsOn }}
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ component.unifiedBuild.downstreamAggregateNames }} # downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ component.unifiedBuild.downstreamAggregateNames }}
${{ else }}: # ${{ else }}:
buildDependsOn: ${{ component.buildDependsOn }} # buildDependsOn: ${{ component.buildDependsOn }}
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }} # downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}

View File

@@ -8,25 +8,6 @@ parameters:
- name: checkoutRef - name: checkoutRef
type: string type: string
default: '' default: ''
- name: rocPyDecodeRepo
type: string
default: rocpydecode_repo
# monorepo related parameters
- name: sparseCheckoutDir
type: string
default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack # set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline # and dependencies are pulled from same pipeline
- name: aggregatePipeline - name: aggregatePipeline
@@ -75,23 +56,10 @@ parameters:
testJobs: testJobs:
- { os: ubuntu2204, packageManager: apt, target: gfx942 } - { os: ubuntu2204, packageManager: apt, target: gfx942 }
- { os: ubuntu2204, packageManager: apt, target: gfx90a } - { os: ubuntu2204, packageManager: apt, target: gfx90a }
- name: downstreamComponentMatrix
type: object
default:
- rocPyDecode:
name: rocPyDecode
sparseCheckoutDir: ''
skipUnifiedBuild: 'false'
buildDependsOn:
- rocDecode_build
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: ${{ parameters.componentName }}_build_${{ job.os }} - job: ${{ parameters.componentName }}_build_${{ job.os }}
${{ if parameters.buildDependsOn }}:
dependsOn:
- ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_${{ job.os }}
variables: variables:
- group: common - group: common
- template: /.azuredevops/variables-global.yml - template: /.azuredevops/variables-global.yml
@@ -115,15 +83,12 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters: parameters:
checkoutRef: ${{ parameters.checkoutRef }} checkoutRef: ${{ parameters.checkoutRef }}
dependencyList: ${{ parameters.rocmDependencies }} dependencyList: ${{ parameters.rocmDependencies }}
os: ${{ job.os }} os: ${{ job.os }}
aggregatePipeline: ${{ parameters.aggregatePipeline }} aggregatePipeline: ${{ parameters.aggregatePipeline }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters: parameters:
os: ${{ job.os }} os: ${{ job.os }}
@@ -204,15 +169,3 @@ jobs:
registerROCmPackages: true registerROCmPackages: true
environment: test environment: test
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
- ${{ if parameters.triggerDownstreamJobs }}:
- ${{ each component in parameters.downstreamComponentMatrix }}:
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
parameters:
checkoutRepo: ${{ parameters.rocPyDecodeRepo }}
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
buildDependsOn: ${{ component.buildDependsOn }}
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
triggerDownstreamJobs: true
unifiedBuild: ${{ parameters.unifiedBuild }}

View File

@@ -78,19 +78,19 @@ parameters:
target: gfx942 target: gfx942
- gfx90a: - gfx90a:
target: gfx90a target: gfx90a
- name: downstreamComponentMatrix # - name: downstreamComponentMatrix
type: object # type: object
default: # default:
- hipFFT: # - hipFFT:
name: hipFFT # name: hipFFT
sparseCheckoutDir: projects/hipfft # sparseCheckoutDir: projects/hipfft
skipUnifiedBuild: 'false' # skipUnifiedBuild: 'false'
buildDependsOn: # buildDependsOn:
- rocFFT_build # - rocFFT_build
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} - job: ${{ parameters.componentName }}_build_${{ job.target }}
${{ if parameters.buildDependsOn }}: ${{ if parameters.buildDependsOn }}:
dependsOn: dependsOn:
- ${{ each build in parameters.buildDependsOn }}: - ${{ each build in parameters.buildDependsOn }}:
@@ -151,12 +151,12 @@ jobs:
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm - HIP_ROCCLR_HOME:::/home/user/workspace/rocm
- ${{ each job in parameters.jobMatrix.testJobs }}: - ${{ each job in parameters.jobMatrix.testJobs }}:
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }} - job: ${{ parameters.componentName }}_test_${{ job.target }}
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} dependsOn: ${{ parameters.componentName }}_build_${{ job.target }}
condition: condition:
and(succeeded(), and(succeeded(),
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
eq(${{ parameters.aggregatePipeline }}, False) eq(${{ parameters.aggregatePipeline }}, False)
) )
variables: variables:
@@ -166,7 +166,6 @@ jobs:
workspace: workspace:
clean: all clean: all
steps: steps:
- checkout: none
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters: parameters:
aptPackages: ${{ parameters.aptPackages }} aptPackages: ${{ parameters.aptPackages }}
@@ -196,14 +195,14 @@ jobs:
environment: test environment: test
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
- ${{ if parameters.triggerDownstreamJobs }}: # - ${{ if parameters.triggerDownstreamJobs }}:
- ${{ each component in parameters.downstreamComponentMatrix }}: # - ${{ each component in parameters.downstreamComponentMatrix }}:
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}: # - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo # - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
parameters: # parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} # checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ component.sparseCheckoutDir }} # sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
buildDependsOn: ${{ component.buildDependsOn }} # buildDependsOn: ${{ component.buildDependsOn }}
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }} # downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
triggerDownstreamJobs: true # triggerDownstreamJobs: true
unifiedBuild: ${{ parameters.unifiedBuild }} # unifiedBuild: ${{ parameters.unifiedBuild }}

View File

@@ -27,7 +27,6 @@ parameters:
- numpy - numpy
- tomli - tomli
- scipy - scipy
- pybind11
- name: rocmDependencies - name: rocmDependencies
type: object type: object
default: default:

View File

@@ -91,12 +91,12 @@ parameters:
- rocPRIM_build - rocPRIM_build
# rocSOLVER depends on both rocBLAS and rocPRIM # rocSOLVER depends on both rocBLAS and rocPRIM
# for a unified build, rocBLAS will be the one to call rocSOLVER # for a unified build, rocBLAS will be the one to call rocSOLVER
# - rocSOLVER: # - rocSOLVER:
# name: rocSOLVER # name: rocSOLVER
# sparseCheckoutDir: projects/rocsolver # sparseCheckoutDir: projects/rocsolver
# skipUnifiedBuild: 'true' # skipUnifiedBuild: 'true'
# buildDependsOn: # buildDependsOn:
# - rocPRIM_build # - rocPRIM_build
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:

View File

@@ -5,22 +5,6 @@ parameters:
- name: checkoutRef - name: checkoutRef
type: string type: string
default: '' default: ''
# monorepo related parameters
- name: sparseCheckoutDir
type: string
default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack # set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline # and dependencies are pulled from same pipeline
- name: aggregatePipeline - name: aggregatePipeline
@@ -52,7 +36,6 @@ parameters:
- clr - clr
- llvm-project - llvm-project
- rocDecode - rocDecode
- rocJPEG
- rocm-cmake - rocm-cmake
- rocm-core - rocm-core
- rocminfo - rocminfo
@@ -63,19 +46,19 @@ parameters:
type: object type: object
default: default:
buildJobs: buildJobs:
- { os: ubuntu2204, packageManager: apt, target: gfx942 } - gfx942:
- { os: ubuntu2204, packageManager: apt, target: gfx90a } target: gfx942
- gfx90a:
target: gfx90a
testJobs: testJobs:
- { os: ubuntu2204, packageManager: apt, target: gfx942 } - gfx942:
- { os: ubuntu2204, packageManager: apt, target: gfx90a } target: gfx942
- gfx90a:
target: gfx90a
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: rocPyDecode_build_${{ job.target }} - job: rocPyDecode_build_${{ job.target }}
${{ if parameters.buildDependsOn }}:
dependsOn:
- ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_${{ job.os }}
variables: variables:
- group: common - group: common
- template: /.azuredevops/variables-global.yml - template: /.azuredevops/variables-global.yml
@@ -90,20 +73,16 @@ jobs:
parameters: parameters:
aptPackages: ${{ parameters.aptPackages }} aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }} pipModules: ${{ parameters.pipModules }}
packageManager: ${{ job.packageManager }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters: parameters:
checkoutRef: ${{ parameters.checkoutRef }} checkoutRef: ${{ parameters.checkoutRef }}
dependencyList: ${{ parameters.rocmDependencies }} dependencyList: ${{ parameters.rocmDependencies }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
aggregatePipeline: ${{ parameters.aggregatePipeline }} aggregatePipeline: ${{ parameters.aggregatePipeline }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
- task: Bash@3 - task: Bash@3
displayName: 'Save Python Package Paths' displayName: 'Save Python Package Paths'
inputs: inputs:
@@ -210,13 +189,12 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- task: DownloadPipelineArtifact@2 - task: DownloadPipelineArtifact@2
displayName: 'Download Pipeline Wheel Files' displayName: 'Download Pipeline Wheel Files'
retryCountOnTaskFailure: 3
inputs: inputs:
itemPattern: '**/*.whl' itemPattern: '**/*.whl'
targetPath: $(Agent.BuildDirectory) targetPath: $(Agent.BuildDirectory)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
gpuTarget: ${{ job.target }} checkoutRepo: ${{ parameters.checkoutRepo }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters: parameters:
@@ -243,17 +221,25 @@ jobs:
- task: CMake@1 - task: CMake@1
displayName: 'rocPyDecode Test CMake Flags' displayName: 'rocPyDecode Test CMake Flags'
inputs: inputs:
workingDirectory: $(Agent.BuildDirectory)/rocm/share/rocpydecode/tests
cmakeArgs: >- cmakeArgs: >-
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(PYTHON_USER_SITE)/pybind11;$(PYTHON_DIST_PACKAGES)/pybind11;$(PYBIND11_PATH) -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(PYTHON_USER_SITE)/pybind11;$(PYTHON_DIST_PACKAGES)/pybind11;$(PYBIND11_PATH)
-DCMAKE_BUILD_TYPE=Release -DCMAKE_BUILD_TYPE=Release
-DGPU_TARGETS=${{ job.target }} -DGPU_TARGETS=${{ job.target }}
. ..
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters: parameters:
componentName: rocPyDecode componentName: rocPyDecode
testDir: $(Agent.BuildDirectory)/rocm/share/rocpydecode/tests testDir: $(Build.SourcesDirectory)/build
# 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
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
parameters: parameters:
aptPackages: ${{ parameters.aptPackages }} aptPackages: ${{ parameters.aptPackages }}

View File

@@ -79,12 +79,6 @@ parameters:
skipUnifiedBuild: 'false' skipUnifiedBuild: 'false'
buildDependsOn: buildDependsOn:
- rocRAND_build - rocRAND_build
- MIOpen:
name: MIOpen
sparseCheckoutDir: projects/miopen
skipUnifiedBuild: 'true'
buildDependsOn:
- rocRAND_build
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:

View File

@@ -33,11 +33,13 @@ parameters:
type: object type: object
default: default:
- cmake - cmake
- gfortran
- git
- libfmt-dev
- libsuitesparse-dev
- ninja-build - ninja-build
- libsuitesparse-dev
- gfortran
- libfmt-dev
- git
- googletest
- libgtest-dev
- python3-pip - python3-pip
- name: rocmDependencies - name: rocmDependencies
type: object type: object
@@ -73,38 +75,16 @@ parameters:
- { os: ubuntu2204, packageManager: apt, target: gfx942 } - { os: ubuntu2204, packageManager: apt, target: gfx942 }
- { os: ubuntu2204, packageManager: apt, target: gfx90a } - { os: ubuntu2204, packageManager: apt, target: gfx90a }
- { os: ubuntu2204, packageManager: apt, target: gfx1201 } - { os: ubuntu2204, packageManager: apt, target: gfx1201 }
- { os: ubuntu2204, packageManager: apt, target: gfx1100 } # - { os: ubuntu2204, packageManager: apt, target: gfx1100 }
#- { os: ubuntu2204, packageManager: apt, target: gfx1030 } - { os: ubuntu2204, packageManager: apt, target: gfx1030 }
- { os: almalinux8, packageManager: dnf, target: gfx942 } # - { os: almalinux8, packageManager: dnf, target: gfx942 }
- { os: almalinux8, packageManager: dnf, target: gfx90a } # - { os: almalinux8, packageManager: dnf, target: gfx90a }
- { os: almalinux8, packageManager: dnf, target: gfx1201 } # - { os: almalinux8, packageManager: dnf, target: gfx1201 }
- { os: almalinux8, packageManager: dnf, target: gfx1100 } # - { os: almalinux8, packageManager: dnf, target: gfx1100 }
#- { os: almalinux8, packageManager: dnf, target: gfx1030 } # - { os: almalinux8, packageManager: dnf, target: gfx1030 }
testJobs: testJobs:
- { os: ubuntu2204, packageManager: apt, target: gfx942 } - { os: ubuntu2204, packageManager: apt, target: gfx942 }
- { os: ubuntu2204, packageManager: apt, target: gfx90a } - { os: ubuntu2204, packageManager: apt, target: gfx90a }
- name: downstreamComponentMatrix
type: object
default:
- hipBLAS:
name: hipBLAS
sparseCheckoutDir: projects/hipblas
skipUnifiedBuild: 'false'
buildDependsOn:
- rocSOLVER_build
# hipSOLVER depends on both rocSOLVER and rocSPARSE
# for a unified build, rocSOLVER will be the one to call hipSOLVER
# - hipSOLVER:
# name: hipSOLVER
# sparseCheckoutDir: projects/hipsolver
# skipUnifiedBuild: 'false'
# buildDependsOn:
# - rocSOLVER_build
# unifiedBuild:
# downstreamAggregateNames: rocSOLVER+rocSPARSE
# buildDependsOn:
# - rocSOLVER_build
# - rocSPARSE_build
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
@@ -139,10 +119,6 @@ jobs:
targetType: inline targetType: inline
script: git clone --depth 1 --branch v3.9.1 https://github.com/Reference-LAPACK/lapack script: git clone --depth 1 --branch v3.9.1 https://github.com/Reference-LAPACK/lapack
workingDirectory: '$(Build.SourcesDirectory)' workingDirectory: '$(Build.SourcesDirectory)'
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
parameters:
dependencyList:
- gtest
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters: parameters:
checkoutRef: ${{ parameters.checkoutRef }} checkoutRef: ${{ parameters.checkoutRef }}
@@ -158,7 +134,6 @@ jobs:
os: ${{ job.os }} os: ${{ job.os }}
extraBuildFlags: >- extraBuildFlags: >-
-DCMAKE_BUILD_TYPE=Release -DCMAKE_BUILD_TYPE=Release
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
-DCMAKE_Fortran_FLAGS=-fno-optimize-sibling-calls -DCMAKE_Fortran_FLAGS=-fno-optimize-sibling-calls
-DBUILD_TESTING=OFF -DBUILD_TESTING=OFF
-DCBLAS=ON -DCBLAS=ON
@@ -171,7 +146,7 @@ jobs:
parameters: parameters:
os: ${{ job.os }} os: ${{ job.os }}
extraBuildFlags: >- extraBuildFlags: >-
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Pipeline.Workspace)/deps-install;$(Agent.BuildDirectory)/vendor -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Pipeline.Workspace)/deps-install
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
-DAMDGPU_TARGETS=${{ job.target }} -DAMDGPU_TARGETS=${{ job.target }}
@@ -216,7 +191,6 @@ jobs:
workspace: workspace:
clean: all clean: all
steps: steps:
- checkout: none
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters: parameters:
aptPackages: ${{ parameters.aptPackages }} aptPackages: ${{ parameters.aptPackages }}
@@ -250,19 +224,3 @@ jobs:
aptPackages: ${{ parameters.aptPackages }} aptPackages: ${{ parameters.aptPackages }}
environment: test environment: test
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
- ${{ if parameters.triggerDownstreamJobs }}:
- ${{ each component in parameters.downstreamComponentMatrix }}:
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
parameters:
checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
triggerDownstreamJobs: true
unifiedBuild: ${{ parameters.unifiedBuild }}
${{ if parameters.unifiedBuild }}:
buildDependsOn: ${{ component.unifiedBuild.buildDependsOn }}
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ component.unifiedBuild.downstreamAggregateNames }}
${{ else }}:
buildDependsOn: ${{ component.buildDependsOn }}
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}

View File

@@ -1,29 +1,10 @@
parameters: parameters:
- name: componentName
type: string
default: rocSPARSE
- name: checkoutRepo - name: checkoutRepo
type: string type: string
default: 'self' default: 'self'
- name: checkoutRef - name: checkoutRef
type: string type: string
default: '' default: ''
# monorepo related parameters
- name: sparseCheckoutDir
type: string
default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack # set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline # and dependencies are pulled from same pipeline
- name: aggregatePipeline - name: aggregatePipeline
@@ -32,25 +13,27 @@ parameters:
- name: aptPackages - name: aptPackages
type: object type: object
default: default:
- cmake
- gfortran
- git
- libboost-program-options-dev
- libdrm-dev
- libfftw3-dev
- ninja-build
- python3-pip - python3-pip
- cmake
- ninja-build
- libboost-program-options-dev
- googletest
- libfftw3-dev
- git
- gfortran
- libgtest-dev
- libdrm-dev
- name: rocmDependencies - name: rocmDependencies
type: object type: object
default: default:
- clr
- llvm-project
- rocBLAS
- rocm-cmake - rocm-cmake
- llvm-project
- ROCR-Runtime
- clr
- rocBLAS
- rocminfo - rocminfo
- rocPRIM - rocPRIM
- rocprofiler-register - rocprofiler-register
- ROCR-Runtime
- roctracer - roctracer
- name: rocmTestDependencies - name: rocmTestDependencies
type: object type: object
@@ -69,39 +52,19 @@ parameters:
type: object type: object
default: default:
buildJobs: buildJobs:
- { os: ubuntu2204, packageManager: apt, target: gfx942 } - gfx942:
- { os: ubuntu2204, packageManager: apt, target: gfx90a } target: gfx942
- { os: ubuntu2204, packageManager: apt, target: gfx1201 } - gfx90a:
- { os: ubuntu2204, packageManager: apt, target: gfx1100 } target: gfx90a
#- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
testJobs: testJobs:
- { os: ubuntu2204, packageManager: apt, target: gfx942 } - gfx942:
- { os: ubuntu2204, packageManager: apt, target: gfx90a } target: gfx942
- name: downstreamComponentMatrix - gfx90a:
type: object target: gfx90a
default:
- hipSPARSE:
name: hipSPARSE
sparseCheckoutDir: projects/hipsparse
skipUnifiedBuild: 'false'
buildDependsOn:
- rocSPARSE_build
# hipSOLVER depends on both rocSOLVER and rocSPARSE
# for a unified build, rocSOLVER will be the one to call hipSOLVER
# - hipSOLVER:
# name: hipSOLVER
# sparseCheckoutDir: projects/hipsolver
# skipUnifiedBuild: 'true'
# buildDependsOn:
# - rocSPARSE_build
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - job: rocSPARSE_build_${{ job.target }}
${{ if parameters.buildDependsOn }}:
dependsOn:
- ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_${{ job.os }}_${{ job.target }}
variables: variables:
- group: common - group: common
- template: /.azuredevops/variables-global.yml - template: /.azuredevops/variables-global.yml
@@ -114,32 +77,22 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters: parameters:
aptPackages: ${{ parameters.aptPackages }} aptPackages: ${{ parameters.aptPackages }}
packageManager: ${{ job.packageManager }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
parameters:
dependencyList:
- gtest
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters: parameters:
checkoutRef: ${{ parameters.checkoutRef }} checkoutRef: ${{ parameters.checkoutRef }}
dependencyList: ${{ parameters.rocmDependencies }} dependencyList: ${{ parameters.rocmDependencies }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
os: ${{ job.os }}
aggregatePipeline: ${{ parameters.aggregatePipeline }} aggregatePipeline: ${{ parameters.aggregatePipeline }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters: parameters:
os: ${{ job.os }}
extraBuildFlags: >- extraBuildFlags: >-
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang++ -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
-DROCM_PATH=$(Agent.BuildDirectory)/rocm -DROCM_PATH=$(Agent.BuildDirectory)/rocm
-DCMAKE_BUILD_TYPE=Release -DCMAKE_BUILD_TYPE=Release
-DAMDGPU_TARGETS=${{ job.target }} -DAMDGPU_TARGETS=${{ job.target }}
@@ -150,94 +103,68 @@ jobs:
-GNinja -GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters: parameters:
componentName: ${{ parameters.componentName }} artifactName: rocSPARSE
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters: parameters:
componentName: ${{ parameters.componentName }} artifactName: rocSPARSE
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
os: ${{ job.os }}
publish: false publish: false
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
parameters: parameters:
sourceDir: $(Agent.BuildDirectory)/s/build/clients sourceDir: $(Build.SourcesDirectory)/build/clients
contentsString: matrices/** contentsString: matrices/**
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
artifactName: testMatrices artifactName: testMatrices
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
- ${{ if eq(job.os, 'ubuntu2204') }}: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml parameters:
parameters: aptPackages: ${{ parameters.aptPackages }}
aptPackages: ${{ parameters.aptPackages }} gpuTarget: ${{ job.target }}
gpuTarget: ${{ job.target }} extraEnvVars:
extraEnvVars: - HIP_ROCCLR_HOME:::/home/user/workspace/rocm
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
- ${{ if eq(parameters.unifiedBuild, False) }}: - ${{ each job in parameters.jobMatrix.testJobs }}:
- ${{ each job in parameters.jobMatrix.testJobs }}: - job: rocSPARSE_test_${{ job.target }}
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }} timeoutInMinutes: 90
timeoutInMinutes: 120 dependsOn: rocSPARSE_build_${{ job.target }}
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} condition:
condition: and(succeeded(),
and(succeeded(), eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), eq(${{ parameters.aggregatePipeline }}, False)
eq(${{ parameters.aggregatePipeline }}, False) )
) variables:
variables: - group: common
- group: common - template: /.azuredevops/variables-global.yml
- template: /.azuredevops/variables-global.yml pool: ${{ job.target }}_test_pool
pool: ${{ job.target }}_test_pool workspace:
workspace: clean: all
clean: all steps:
steps: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
- checkout: none parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml aptPackages: ${{ parameters.aptPackages }}
parameters: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
aptPackages: ${{ parameters.aptPackages }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
packageManager: ${{ job.packageManager }} parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
parameters: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
preTargetFilter: ${{ parameters.componentName }} parameters:
gpuTarget: ${{ job.target }} checkoutRef: ${{ parameters.checkoutRef }}
os: ${{ job.os }} dependencyList: ${{ parameters.rocmTestDependencies }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
parameters: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
checkoutRef: ${{ parameters.checkoutRef }} parameters:
dependencyList: ${{ parameters.rocmTestDependencies }} componentName: rocSPARSE
gpuTarget: ${{ job.target }} testDir: '$(Agent.BuildDirectory)/rocm/bin'
os: ${{ job.os }} testExecutable: './rocsparse-test'
${{ if parameters.triggerDownstreamJobs }}: testParameters: '--gtest_filter="*quick*" --gtest_output=xml:./test_output.xml --gtest_color=yes'
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml aptPackages: ${{ parameters.aptPackages }}
parameters: environment: test
componentName: ${{ parameters.componentName }} gpuTarget: ${{ job.target }}
os: ${{ job.os }}
testDir: '$(Agent.BuildDirectory)/rocm/bin'
testExecutable: './rocsparse-test'
testParameters: '--gtest_filter="*quick*" --gtest_output=xml:./test_output.xml --gtest_color=yes'
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
environment: test
gpuTarget: ${{ job.target }}
- ${{ if parameters.triggerDownstreamJobs }}:
- ${{ each component in parameters.downstreamComponentMatrix }}:
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
parameters:
checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
buildDependsOn: ${{ component.buildDependsOn }}
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
triggerDownstreamJobs: true
unifiedBuild: ${{ parameters.unifiedBuild }}

View File

@@ -70,7 +70,7 @@ jobs:
variables: variables:
- group: common - group: common
- template: /.azuredevops/variables-global.yml - template: /.azuredevops/variables-global.yml
pool: ${{ variables.MEDIUM_BUILD_POOL }} pool: ${{ variables.HIGH_BUILD_POOL }}
workspace: workspace:
clean: all clean: all
steps: steps:

View File

@@ -1,29 +1,10 @@
parameters: parameters:
- name: componentName
type: string
default: rocm-core
- name: checkoutRepo - name: checkoutRepo
type: string type: string
default: 'self' default: 'self'
- name: checkoutRef - name: checkoutRef
type: string type: string
default: '' default: ''
# monorepo related parameters
- name: sparseCheckoutDir
type: string
default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack # set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline # and dependencies are pulled from same pipeline
- name: aggregatePipeline - name: aggregatePipeline
@@ -46,10 +27,6 @@ parameters:
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: rocm_core_${{ job.os }} - job: rocm_core_${{ job.os }}
${{ if parameters.buildDependsOn }}:
dependsOn:
- ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_${{ job.os }}
pool: pool:
${{ if eq(job.os, 'ubuntu2404') }}: ${{ if eq(job.os, 'ubuntu2404') }}:
vmImage: 'ubuntu-24.04' vmImage: 'ubuntu-24.04'
@@ -73,10 +50,8 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
os: ${{ job.os }} os: ${{ job.os }}
useAmdclang: false useAmdclang: false
extraBuildFlags: >- extraBuildFlags: >-
@@ -90,12 +65,9 @@ jobs:
-GNinja -GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
os: ${{ job.os }} os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
os: ${{ job.os }} os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml

View File

@@ -14,11 +14,9 @@ parameters:
type: object type: object
default: default:
- cmake - cmake
- libdw-dev
- libglfw3-dev - libglfw3-dev
- libmsgpack-dev - libmsgpack-dev
- libtbb-dev - libtbb-dev
- libva-amdgpu-dev
- ninja-build - ninja-build
- python3-pip - python3-pip
- name: rocmDependencies - name: rocmDependencies
@@ -35,21 +33,16 @@ parameters:
- hipRAND - hipRAND
- hipSOLVER - hipSOLVER
- hipSPARSE - hipSPARSE
- hipTensor
- llvm-project - llvm-project
- MIOpen
- rocBLAS - rocBLAS
- rocFFT - rocFFT
- rocJPEG
- rocPRIM - rocPRIM
- rocprofiler-register - rocprofiler-register
- rocprofiler-sdk
- ROCR-Runtime - ROCR-Runtime
- rocRAND - rocRAND
- rocSOLVER - rocSOLVER
- rocSPARSE - rocSPARSE
- rocThrust - rocThrust
- rocWMMA
- name: rocmTestDependencies - name: rocmTestDependencies
type: object type: object
default: default:
@@ -64,22 +57,18 @@ parameters:
- hipRAND - hipRAND
- hipSOLVER - hipSOLVER
- hipSPARSE - hipSPARSE
- hipTensor
- llvm-project - llvm-project
- rocBLAS - rocBLAS
- rocFFT - rocFFT
- rocminfo - rocminfo
- rocPRIM - rocPRIM
- rocJPEG
- rocprofiler-register - rocprofiler-register
- rocprofiler-sdk
- ROCR-Runtime - ROCR-Runtime
- rocRAND - rocRAND
- rocSOLVER - rocSOLVER
- rocSPARSE - rocSPARSE
- rocThrust - rocThrust
- roctracer - roctracer
- rocWMMA
- name: jobMatrix - name: jobMatrix
type: object type: object
@@ -108,10 +97,6 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters: parameters:
aptPackages: ${{ parameters.aptPackages }} aptPackages: ${{ parameters.aptPackages }}
registerROCmPackages: true
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
parameters:
cmakeVersion: '3.25.0'
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
@@ -173,10 +158,6 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters: parameters:
aptPackages: ${{ parameters.aptPackages }} aptPackages: ${{ parameters.aptPackages }}
registerROCmPackages: true
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
parameters:
cmakeVersion: '3.25.0'
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
@@ -203,7 +184,7 @@ jobs:
parameters: parameters:
componentName: rocm-examples componentName: rocm-examples
testDir: $(Build.SourcesDirectory)/build testDir: $(Build.SourcesDirectory)/build
testParameters: '--output-on-failure --force-new-ctest-process --output-junit test_output.xml' testParameters: '--output-on-failure --force-new-ctest-process --output-junit test_output.xml --exclude-regex "rocfft_callback"'
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
parameters: parameters:
aptPackages: ${{ parameters.aptPackages }} aptPackages: ${{ parameters.aptPackages }}

View File

@@ -1,181 +0,0 @@
parameters:
- name: componentName
type: string
default: rocm_libraries
- name: checkoutRepo
type: string
default: 'self'
- name: checkoutRef
type: string
default: ''
# monorepo related parameters
- name: sparseCheckoutDir
type: string
default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline
- name: aggregatePipeline
type: boolean
default: false
- name: aptPackages
type: object
default:
- ccache
- gfortran
- git
- libdrm-dev
- liblapack-dev
- libmsgpack-dev
- libnuma-dev
- libopenblas-dev
- ninja-build
- python3-pip
- python3-venv
- name: pipModules
type: object
default:
- joblib
- "packaging>=22.0"
- pytest
- pytest-cmake
- --upgrade
- name: rocmDependencies
type: object
default:
- aomp
- clr
- llvm-project
- rocminfo
- rocm-cmake
- rocm_smi_lib
- rocprofiler-register
- ROCR-Runtime
- roctracer
- name: rocmTestDependencies
type: object
default:
- aomp
- clr
- llvm-project
- rocminfo
- rocm_smi_lib
- rocprofiler-register
- ROCR-Runtime
- roctracer
- name: jobMatrix
type: object
default:
buildJobs:
- { pool: rocm-ci_ultra_build_pool, os: ubuntu2204, packageManager: apt, target: gfx942 }
jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
timeoutInMinutes: 300
${{ if parameters.buildDependsOn }}:
dependsOn:
- ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_${{ job.os }}
variables:
- group: common
- template: /.azuredevops/variables-global.yml
- name: DAY_STRING
value: $[format('{0:ddMMyyyy}', pipeline.startTime)]
pool: ${{ job.pool }}
${{ if eq(job.os, 'almalinux8') }}:
container:
image: rocmexternalcicd.azurecr.io/manylinux228:latest
endpoint: ContainerService3
workspace:
clean: all
steps:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }}
packageManager: ${{ job.packageManager }}
- 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-vendor.yml
parameters:
dependencyList:
- gtest
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters:
checkoutRef: ${{ parameters.checkoutRef }}
dependencyList: ${{ parameters.rocmDependencies }}
os: ${{ job.os }}
gpuTarget: ${{ job.target }}
aggregatePipeline: ${{ parameters.aggregatePipeline }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
- script: |
mkdir -p $(CCACHE_DIR)
echo "##vso[task.prependpath]/usr/lib/ccache"
displayName: Update path for ccache
- task: Cache@2
displayName: Ccache caching
inputs:
key: rocm-libraries | ${{ job.os }} | ${{ job.target }} | $(DAY_STRING) | $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
path: $(CCACHE_DIR)
restoreKeys: |
rocm-libraries | ${{ job.os }} | ${{ job.target }} | $(DAY_STRING)
rocm-libraries | ${{ job.os }} | ${{ job.target }}
rocm-libraries | ${{ job.os }}
- task: Bash@3
displayName: Add paths for CMake and Python site-packages binaries
inputs:
targetType: inline
script: |
USER_BASE=$(python3 -m site --user-base)
echo "##vso[task.prependpath]$USER_BASE/bin"
echo "##vso[task.setvariable variable=PytestCmakePath]$USER_BASE/share/Pytest/cmake"
displayName: Set cmake configure paths
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters:
os: ${{ job.os }}
extraBuildFlags: >-
-D CMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor;$(PytestCmakePath)
-D CMAKE_INCLUDE_PATH=$(Agent.BuildDirectory)/rocm/llvm/include
-D CMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
-D CMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
-D CMAKE_CXX_COMPILER_LAUNCHER=ccache
-D CMAKE_C_COMPILER_LAUNCHER=ccache
-G Ninja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters:
componentName: ${{ parameters.componentName }}
os: ${{ job.os }}
gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
componentName: ${{ parameters.componentName }}
os: ${{ job.os }}
gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
- ${{ if eq(job.os, 'ubuntu2204') }}:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }}
gpuTarget: ${{ job.target }}
extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin
installLatestCMake: true
extraCopyDirectories:
- deps

View File

@@ -1,29 +1,10 @@
parameters: parameters:
- name: componentName
type: string
default: rocm_smi_lib
- name: checkoutRepo - name: checkoutRepo
type: string type: string
default: 'self' default: 'self'
- name: checkoutRef - name: checkoutRef
type: string type: string
default: '' default: ''
# monorepo related parameters
- name: sparseCheckoutDir
type: string
default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack # set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline # and dependencies are pulled from same pipeline
- name: aggregatePipeline - name: aggregatePipeline
@@ -51,10 +32,6 @@ parameters:
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: rocm_smi_lib_build_${{ job.os }} - job: rocm_smi_lib_build_${{ job.os }}
${{ if parameters.buildDependsOn }}:
dependsOn:
- ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_${{ job.os }}
pool: pool:
${{ if eq(job.os, 'ubuntu2404') }}: ${{ if eq(job.os, 'ubuntu2404') }}:
vmImage: 'ubuntu-24.04' vmImage: 'ubuntu-24.04'
@@ -78,10 +55,8 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
os: ${{ job.os }} os: ${{ job.os }}
useAmdclang: false useAmdclang: false
extraBuildFlags: >- extraBuildFlags: >-
@@ -90,56 +65,51 @@ jobs:
-GNinja -GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
os: ${{ job.os }} os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
os: ${{ job.os }} os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
# parameters: # parameters:
# aptPackages: ${{ parameters.aptPackages }} # aptPackages: ${{ parameters.aptPackages }}
- ${{ if eq(parameters.unifiedBuild, False) }}: - ${{ each job in parameters.jobMatrix.testJobs }}:
- ${{ each job in parameters.jobMatrix.testJobs }}: - job: rocm_smi_lib_test_${{ job.os }}_${{ job.target }}
- job: rocm_smi_lib_test_${{ job.os }}_${{ job.target }} dependsOn: rocm_smi_lib_build_${{ job.os }}
dependsOn: rocm_smi_lib_build_${{ job.os }} condition:
condition: and(succeeded(),
and(succeeded(), eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), eq(${{ parameters.aggregatePipeline }}, False)
eq(${{ parameters.aggregatePipeline }}, False) )
) variables:
variables: - group: common
- group: common - template: /.azuredevops/variables-global.yml
- template: /.azuredevops/variables-global.yml pool: ${{ job.target }}_test_pool
pool: ${{ job.target }}_test_pool workspace:
workspace: clean: all
clean: all steps:
steps: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
- checkout: none parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml aptPackages: ${{ parameters.aptPackages }}
parameters: packageManager: ${{ job.packageManager }}
aptPackages: ${{ parameters.aptPackages }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
packageManager: ${{ job.packageManager }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml os: ${{ job.os }}
parameters: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
os: ${{ job.os }} parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml runRocminfo: false
parameters: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
runRocminfo: false parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml componentName: rocm_smi_lib
parameters: testDir: '$(Agent.BuildDirectory)'
componentName: ${{ parameters.componentName }} testExecutable: 'sudo ./rocm/share/rocm_smi/rsmitst_tests/rsmitst'
testDir: '$(Agent.BuildDirectory)' testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
testExecutable: 'sudo ./rocm/share/rocm_smi/rsmitst_tests/rsmitst' os: ${{ job.os }}
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes' - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
os: ${{ job.os }} parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml aptPackages: ${{ parameters.aptPackages }}
parameters: environment: test
aptPackages: ${{ parameters.aptPackages }} gpuTarget: ${{ job.target }}
environment: test
gpuTarget: ${{ job.target }}

View File

@@ -1,29 +1,10 @@
parameters: parameters:
- name: componentName
type: string
default: rocminfo
- name: checkoutRepo - name: checkoutRepo
type: string type: string
default: 'self' default: 'self'
- name: checkoutRef - name: checkoutRef
type: string type: string
default: '' default: ''
# monorepo related parameters
- name: sparseCheckoutDir
type: string
default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack # set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline # and dependencies are pulled from same pipeline
- name: aggregatePipeline - name: aggregatePipeline
@@ -59,11 +40,7 @@ parameters:
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: ${{ parameters.componentName }}_build_${{ job.os }} - job: rocminfo_build_${{ job.os }}
${{ if parameters.buildDependsOn }}:
dependsOn:
- ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_${{ job.os }}
pool: pool:
vmImage: 'ubuntu-22.04' vmImage: 'ubuntu-22.04'
${{ if eq(job.os, 'almalinux8') }}: ${{ if eq(job.os, 'almalinux8') }}:
@@ -85,18 +62,15 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters: parameters:
checkoutRef: ${{ parameters.checkoutRef }} checkoutRef: ${{ parameters.checkoutRef }}
dependencyList: ${{ parameters.rocmDependencies }} dependencyList: ${{ parameters.rocmDependencies }}
aggregatePipeline: ${{ parameters.aggregatePipeline }} aggregatePipeline: ${{ parameters.aggregatePipeline }}
skipLlvmSymlink: true
os: ${{ job.os }} os: ${{ job.os }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
os: ${{ job.os }} os: ${{ job.os }}
useAmdclang: false useAmdclang: false
extraBuildFlags: >- extraBuildFlags: >-
@@ -105,71 +79,65 @@ jobs:
-GNinja -GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
os: ${{ job.os }} os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
os: ${{ job.os }} os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
- ${{ if eq(parameters.unifiedBuild, False) }}: - ${{ each job in parameters.jobMatrix.testJobs }}:
- ${{ each job in parameters.jobMatrix.testJobs }}: - job: rocminfo_test_${{ job.target }}
- job: rocminfo_test_${{ job.target }} dependsOn: rocminfo_build_${{ job.os }}
dependsOn: rocminfo_build_${{ job.os }} condition:
condition: and(succeeded(),
and(succeeded(), eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), eq(${{ parameters.aggregatePipeline }}, False)
eq(${{ parameters.aggregatePipeline }}, False) )
) variables:
variables: - group: common
- group: common - template: /.azuredevops/variables-global.yml
- template: /.azuredevops/variables-global.yml pool: ${{ job.target }}_test_pool
pool: ${{ job.target }}_test_pool workspace:
workspace: clean: all
clean: all steps:
steps: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml parameters:
parameters: aptPackages: ${{ parameters.aptPackages }}
aptPackages: ${{ parameters.aptPackages }} packageManager: ${{ job.packageManager }}
packageManager: ${{ job.packageManager }} registerROCmPackages: true
registerROCmPackages: true - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml parameters:
parameters: os: ${{ job.os }}
os: ${{ job.os }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml parameters:
parameters: checkoutRef: ${{ parameters.checkoutRef }}
checkoutRef: ${{ parameters.checkoutRef }} dependencyList: ${{ parameters.rocmTestDependencies }}
dependencyList: ${{ parameters.rocmTestDependencies }} gpuTarget: ${{ job.target }}
gpuTarget: ${{ job.target }} os: ${{ job.os }}
os: ${{ job.os }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
${{ if parameters.triggerDownstreamJobs }}: parameters:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} runRocminfo: false
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters: parameters:
runRocminfo: false componentName: rocminfo
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml testDir: '$(Agent.BuildDirectory)'
parameters: testExecutable: './rocm/bin/rocminfo'
componentName: ${{ parameters.componentName }} testParameters: ''
testDir: '$(Agent.BuildDirectory)' testPublishResults: false
testExecutable: './rocm/bin/rocminfo' os: ${{ job.os }}
testParameters: '' - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
testPublishResults: false parameters:
os: ${{ job.os }} componentName: rocm_agent_enumerator
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml testDir: '$(Agent.BuildDirectory)'
parameters: testExecutable: './rocm/bin/rocm_agent_enumerator'
componentName: rocm_agent_enumerator testParameters: ''
testDir: '$(Agent.BuildDirectory)' testPublishResults: false
testExecutable: './rocm/bin/rocm_agent_enumerator' os: ${{ job.os }}
testParameters: '' - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
testPublishResults: false parameters:
os: ${{ job.os }} aptPackages: ${{ parameters.aptPackages }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml registerROCmPackages: true
parameters: environment: test
aptPackages: ${{ parameters.aptPackages }} gpuTarget: ${{ job.target }}
registerROCmPackages: true
environment: test
gpuTarget: ${{ job.target }}

View File

@@ -1,29 +1,10 @@
parameters: parameters:
- name: componentName
type: string
default: rocprofiler-compute
- name: checkoutRepo - name: checkoutRepo
type: string type: string
default: 'self' default: 'self'
- name: checkoutRef - name: checkoutRef
type: string type: string
default: '' default: ''
# monorepo related parameters
- name: sparseCheckoutDir
type: string
default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack # set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline # and dependencies are pulled from same pipeline
- name: aggregatePipeline - name: aggregatePipeline
@@ -55,7 +36,6 @@ parameters:
- pymongo - pymongo
- pyyaml - pyyaml
- setuptools - setuptools
- sqlalchemy
- tabulate - tabulate
- textual - textual
- textual_plotext - textual_plotext
@@ -85,23 +65,43 @@ parameters:
type: object type: object
default: default:
buildJobs: buildJobs:
- gfx942: - gfx942-staging:
name: gfx942_staging
target: gfx942 target: gfx942
- gfx90a: dependencySource: staging
- gfx942-mainline:
name: gfx942_mainline
target: gfx942
dependencySource: mainline
- gfx90a-staging:
name: gfx90a_staging
target: gfx90a target: gfx90a
dependencySource: staging
- gfx90a-mainline:
name: gfx90a_mainline
target: gfx90a
dependencySource: mainline
testJobs: testJobs:
- gfx942: - gfx942-staging:
name: gfx942_staging
target: gfx942 target: gfx942
- gfx90a: dependencySource: staging
- gfx942-mainline:
name: gfx942_mainline
target: gfx942
dependencySource: mainline
- gfx90a-staging:
name: gfx90a_staging
target: gfx90a target: gfx90a
dependencySource: staging
- gfx90a-mainline:
name: gfx90a_mainline
target: gfx90a
dependencySource: mainline
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: rocprofiler_compute_build_${{ job.target }} - job: rocprofiler_compute_build_${{ job.name }}
${{ if parameters.buildDependsOn }}:
dependsOn:
- ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_${{ job.os }}_${{ job.target }}
variables: variables:
- group: common - group: common
- template: /.azuredevops/variables-global.yml - template: /.azuredevops/variables-global.yml
@@ -118,19 +118,17 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters: parameters:
extraBuildFlags: >- extraBuildFlags: >-
-GNinja -GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters: parameters:
componentName: ${{ parameters.componentName }} artifactName: ${{ job.dependencySource }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters: parameters:
componentName: ${{ parameters.componentName }} artifactName: ${{ job.dependencySource }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
@@ -139,83 +137,80 @@ jobs:
# pipModules: ${{ parameters.pipModules }} # pipModules: ${{ parameters.pipModules }}
# gpuTarget: ${{ job.target }} # gpuTarget: ${{ job.target }}
- ${{ if eq(parameters.unifiedBuild, False) }}: - ${{ each job in parameters.jobMatrix.testJobs }}:
- ${{ each job in parameters.jobMatrix.testJobs }}: - job: rocprofiler_compute_test_${{ job.name }}
- job: rocprofiler_compute_test_${{ job.target }} timeoutInMinutes: 120
timeoutInMinutes: 120 dependsOn: rocprofiler_compute_build_${{ job.name }}
dependsOn: rocprofiler_compute_build_${{ job.target }} condition:
condition: and(succeeded(),
and(succeeded(), eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), eq(${{ parameters.aggregatePipeline }}, False)
eq(${{ parameters.aggregatePipeline }}, False) )
) variables:
variables: - group: common
- group: common - template: /.azuredevops/variables-global.yml
- template: /.azuredevops/variables-global.yml - name: PYTHON_VERSION
- name: PYTHON_VERSION value: 3.10
value: 3.10 pool: ${{ job.target }}_test_pool
pool: ${{ job.target }}_test_pool workspace:
workspace: clean: all
clean: all steps:
steps: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml parameters:
parameters: aptPackages: ${{ parameters.aptPackages }}
aptPackages: ${{ parameters.aptPackages }} pipModules: ${{ parameters.pipModules }}
pipModules: ${{ parameters.pipModules }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml parameters:
parameters: checkoutRepo: ${{ parameters.checkoutRepo }}
checkoutRepo: ${{ parameters.checkoutRepo }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml postTargetFilter: ${{ job.dependencySource }}
parameters: gpuTarget: ${{ job.target }}
preTargetFilter: ${{ parameters.componentName }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
gpuTarget: ${{ job.target }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml checkoutRef: ${{ parameters.checkoutRef }}
parameters: dependencyList: ${{ parameters.rocmTestDependencies }}
checkoutRef: ${{ parameters.checkoutRef }} dependencySource: ${{ job.dependencySource }}
dependencyList: ${{ parameters.rocmTestDependencies }} gpuTarget: ${{ job.target }}
gpuTarget: ${{ job.target }} - task: Bash@3
${{ if parameters.triggerDownstreamJobs }}: displayName: Add en_US.UTF-8 locale
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} inputs:
- task: Bash@3 targetType: inline
displayName: Add en_US.UTF-8 locale script: |
inputs: sudo locale-gen en_US.UTF-8
targetType: inline sudo update-locale
script: | locale -a
sudo locale-gen en_US.UTF-8 - task: Bash@3
sudo update-locale displayName: Add ROCm binaries to PATH
locale -a inputs:
- task: Bash@3 targetType: inline
displayName: Add ROCm binaries to PATH script: |
inputs: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
targetType: inline echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
script: | - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin" parameters:
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin" extraBuildFlags: >-
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml -DCMAKE_HIP_ARCHITECTURES=${{ job.target }}
parameters: -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
extraBuildFlags: >- -DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
-DCMAKE_HIP_ARCHITECTURES=${{ job.target }} -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang -DROCM_PATH=$(Agent.BuildDirectory)/rocm
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip -DCMAKE_BUILD_TYPE=Release
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm -DENABLE_TESTS=ON
-DROCM_PATH=$(Agent.BuildDirectory)/rocm -DINSTALL_TESTS=ON
-DCMAKE_BUILD_TYPE=Release -GNinja
-DENABLE_TESTS=ON - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
-DINSTALL_TESTS=ON - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
-GNinja parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml componentName: rocprofiler-compute
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml testDir: $(Build.BinariesDirectory)/libexec/rocprofiler-compute
parameters: testExecutable: ROCM_PATH=$(Agent.BuildDirectory)/rocm ctest
componentName: ${{ parameters.componentName }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
testDir: $(Build.BinariesDirectory)/libexec/rocprofiler-compute parameters:
testExecutable: ROCM_PATH=$(Agent.BuildDirectory)/rocm ctest aptPackages: ${{ parameters.aptPackages }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml pipModules: ${{ parameters.pipModules }}
parameters: environment: test
aptPackages: ${{ parameters.aptPackages }} gpuTarget: ${{ job.target }}
pipModules: ${{ parameters.pipModules }}
environment: test
gpuTarget: ${{ job.target }}

View File

@@ -1,29 +1,10 @@
parameters: parameters:
- name: componentName
type: string
default: rocprofiler-register
- name: checkoutRepo - name: checkoutRepo
type: string type: string
default: 'self' default: 'self'
- name: checkoutRef - name: checkoutRef
type: string type: string
default: '' default: ''
# monorepo related parameters
- name: sparseCheckoutDir
type: string
default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack # set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline # and dependencies are pulled from same pipeline
- name: aggregatePipeline - name: aggregatePipeline
@@ -46,10 +27,6 @@ parameters:
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: rocprofiler_register_${{ job.os }} - job: rocprofiler_register_${{ job.os }}
${{ if parameters.buildDependsOn }}:
dependsOn:
- ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_${{ job.os }}
pool: pool:
${{ if eq(job.os, 'ubuntu2404') }}: ${{ if eq(job.os, 'ubuntu2404') }}:
vmImage: 'ubuntu-24.04' vmImage: 'ubuntu-24.04'
@@ -73,10 +50,9 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters: parameters:
componentName: ${{ parameters.componentName }} componentName: rocprofiler-register
os: ${{ job.os }} os: ${{ job.os }}
useAmdclang: false useAmdclang: false
extraBuildFlags: >- extraBuildFlags: >-
@@ -86,16 +62,12 @@ jobs:
-GNinja -GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
parameters: parameters:
componentName: ${{ parameters.componentName }} componentName: rocprofiler-register
testDir: $(Agent.BuildDirectory)/s/build
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
os: ${{ job.os }} os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
os: ${{ job.os }} os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml

View File

@@ -1,29 +1,10 @@
parameters: parameters:
- name: componentName
type: string
default: rocprofiler-sdk
- name: checkoutRepo - name: checkoutRepo
type: string type: string
default: 'self' default: 'self'
- name: checkoutRef - name: checkoutRef
type: string type: string
default: '' default: ''
# monorepo related parameters
- name: sparseCheckoutDir
type: string
default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack # set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline # and dependencies are pulled from same pipeline
- name: aggregatePipeline - name: aggregatePipeline
@@ -92,10 +73,6 @@ parameters:
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: rocprofiler_sdk_build_${{ job.target }} - job: rocprofiler_sdk_build_${{ job.target }}
${{ if parameters.buildDependsOn }}:
dependsOn:
- ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_${{ job.target }}
variables: variables:
- group: common - group: common
- template: /.azuredevops/variables-global.yml - template: /.azuredevops/variables-global.yml
@@ -112,7 +89,6 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters: parameters:
@@ -120,8 +96,6 @@ jobs:
dependencyList: ${{ parameters.rocmDependencies }} dependencyList: ${{ parameters.rocmDependencies }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
aggregatePipeline: ${{ parameters.aggregatePipeline }} aggregatePipeline: ${{ parameters.aggregatePipeline }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
- task: Bash@3 - task: Bash@3
displayName: Add Python site-packages binaries to path displayName: Add Python site-packages binaries to path
inputs: inputs:
@@ -131,7 +105,6 @@ jobs:
echo "##vso[task.prependpath]$USER_BASE/bin" echo "##vso[task.prependpath]$USER_BASE/bin"
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
extraBuildFlags: >- extraBuildFlags: >-
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
-DROCPROFILER_BUILD_TESTS=ON -DROCPROFILER_BUILD_TESTS=ON
@@ -141,12 +114,9 @@ jobs:
-GNinja -GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
@@ -156,68 +126,62 @@ jobs:
# gpuTarget: ${{ job.target }} # gpuTarget: ${{ job.target }}
# registerROCmPackages: true # registerROCmPackages: true
- ${{ if eq(parameters.unifiedBuild, False) }}: - ${{ each job in parameters.jobMatrix.testJobs }}:
- ${{ each job in parameters.jobMatrix.testJobs }}: - job: rocprofiler_sdk_test_${{ job.target }}
- job: rocprofiler_sdk_test_${{ job.target }} dependsOn: rocprofiler_sdk_build_${{ job.target }}
dependsOn: rocprofiler_sdk_build_${{ job.target }} condition:
condition: and(succeeded(),
and(succeeded(), eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), eq(${{ parameters.aggregatePipeline }}, False)
eq(${{ parameters.aggregatePipeline }}, False) )
) variables:
variables: - group: common
- group: common - template: /.azuredevops/variables-global.yml
- template: /.azuredevops/variables-global.yml pool: ${{ job.target }}_test_pool
pool: ${{ job.target }}_test_pool workspace:
workspace: clean: all
clean: all steps:
steps: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml parameters:
parameters: aptPackages: ${{ parameters.aptPackages }}
aptPackages: ${{ parameters.aptPackages }} pipModules: ${{ parameters.pipModules }}
pipModules: ${{ parameters.pipModules }} registerROCmPackages: true
registerROCmPackages: true - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml parameters:
parameters: checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
checkoutRepo: ${{ parameters.checkoutRepo }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml checkoutRef: ${{ parameters.checkoutRef }}
parameters: dependencyList: ${{ parameters.rocmDependencies }}
checkoutRef: ${{ parameters.checkoutRef }} gpuTarget: ${{ job.target }}
dependencyList: ${{ parameters.rocmDependencies }} - task: Bash@3
gpuTarget: ${{ job.target }} displayName: Add Python and ROCm binaries to path
${{ if parameters.triggerDownstreamJobs }}: inputs:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} targetType: inline
- task: Bash@3 script: |
displayName: Add Python and ROCm binaries to path USER_BASE=$(python3 -m site --user-base)
inputs: echo "##vso[task.prependpath]$USER_BASE/bin"
targetType: inline echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
script: | - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
USER_BASE=$(python3 -m site --user-base) parameters:
echo "##vso[task.prependpath]$USER_BASE/bin" extraBuildFlags: >-
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin" -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml -DROCPROFILER_BUILD_TESTS=ON
parameters: -DROCPROFILER_BUILD_SAMPLES=ON
componentName: ${{ parameters.componentName }} -DROCPROFILER_BUILD_RELEASE=ON
extraBuildFlags: >- -DGPU_TARGETS=${{ job.target }}
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm -GNinja
-DROCPROFILER_BUILD_TESTS=ON - template: ${{ variables.CI_TEMPLATE_PATH}}/steps/gpu-diagnostics.yml
-DROCPROFILER_BUILD_SAMPLES=ON - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
-DROCPROFILER_BUILD_RELEASE=ON parameters:
-DGPU_TARGETS=${{ job.target }} componentName: rocprofiler-sdk
-GNinja - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
- template: ${{ variables.CI_TEMPLATE_PATH}}/steps/gpu-diagnostics.yml parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml aptPackages: ${{ parameters.aptPackages }}
parameters: pipModules: ${{ parameters.pipModules }}
componentName: ${{ parameters.componentName }} environment: test
testDir: $(Agent.BuildDirectory)/s/build gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml registerROCmPackages: true
parameters:
aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }}
environment: test
gpuTarget: ${{ job.target }}
registerROCmPackages: true

View File

@@ -6,25 +6,6 @@ parameters:
- name: checkoutRef - name: checkoutRef
type: string type: string
default: '' default: ''
# monorepo related parameters
- name: componentName
type: string
default: rocprofiler-systems
- name: sparseCheckoutDir
type: string
default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack # set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline # and dependencies are pulled from same pipeline
- name: aggregatePipeline - name: aggregatePipeline
@@ -56,7 +37,6 @@ parameters:
- libpfm4-dev - libpfm4-dev
- libtool - libtool
- libopenmpi-dev - libopenmpi-dev
- libsqlite3-dev
- m4 - m4
- ninja-build - ninja-build
- openmpi-bin - openmpi-bin
@@ -106,10 +86,6 @@ parameters:
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: rocprofiler_systems_build_${{ job.target }} - job: rocprofiler_systems_build_${{ job.target }}
${{ if parameters.buildDependsOn }}:
dependsOn:
- ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_${{ job.os }}
variables: variables:
- group: common - group: common
- template: /.azuredevops/variables-global.yml - template: /.azuredevops/variables-global.yml
@@ -128,7 +104,6 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters: parameters:
@@ -160,16 +135,12 @@ jobs:
-DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/include/rocjpeg -DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/include/rocjpeg
-DGPU_TARGETS=${{ job.target }} -DGPU_TARGETS=${{ job.target }}
-GNinja -GNinja
componentName: ${{ parameters.componentName }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters: parameters:
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
componentName: ${{ parameters.componentName }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters: parameters:
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
componentName: ${{ parameters.componentName }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
parameters: parameters:
@@ -179,93 +150,85 @@ jobs:
registerROCmPackages: true registerROCmPackages: true
extraPaths: /home/user/workspace/rocm/bin:/home/user/workspace/rocm/llvm/bin extraPaths: /home/user/workspace/rocm/bin:/home/user/workspace/rocm/llvm/bin
- ${{ if eq(parameters.unifiedBuild, False) }}: - ${{ each job in parameters.jobMatrix.testJobs }}:
- ${{ each job in parameters.jobMatrix.testJobs }}: - job: rocprofiler_systems_test_${{ job.target }}
- job: rocprofiler_systems_test_${{ job.target }} dependsOn: rocprofiler_systems_build_${{ job.target }}
dependsOn: rocprofiler_systems_build_${{ job.target }} condition:
condition: and(succeeded(),
and(succeeded(), eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), eq(${{ parameters.aggregatePipeline }}, False)
eq(${{ parameters.aggregatePipeline }}, False) )
) timeoutInMinutes: 180
timeoutInMinutes: 180 variables:
variables: - group: common
- group: common - template: /.azuredevops/variables-global.yml
- template: /.azuredevops/variables-global.yml - name: ROCM_PATH
- name: ROCM_PATH value: $(Agent.BuildDirectory)/rocm
value: $(Agent.BuildDirectory)/rocm pool:
pool: name: ${{ job.target }}_test_pool
name: ${{ job.target }}_test_pool workspace:
workspace: clean: all
clean: all steps:
steps: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml parameters:
parameters: aptPackages: ${{ parameters.aptPackages }}
aptPackages: ${{ parameters.aptPackages }} pipModules: ${{ parameters.pipModules }}
pipModules: ${{ parameters.pipModules }} registerROCmPackages: true
registerROCmPackages: true - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml parameters:
parameters: checkoutRepo: ${{ parameters.checkoutRepo }}
checkoutRepo: ${{ parameters.checkoutRepo }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml parameters:
parameters: checkoutRef: ${{ parameters.checkoutRef }}
checkoutRef: ${{ parameters.checkoutRef }} dependencyList: ${{ parameters.rocmDependencies }}
dependencyList: ${{ parameters.rocmDependencies }} gpuTarget: ${{ job.target }}
gpuTarget: ${{ job.target }} - task: Bash@3
${{ if parameters.triggerDownstreamJobs }}: displayName: Add ROCm binaries to PATH
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} inputs:
- task: Bash@3 targetType: inline
displayName: Add ROCm binaries to PATH script: |
inputs: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
targetType: inline echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
script: | - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin" parameters:
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin" # build flags reference: https://rocm.docs.amd.com/projects/omnitrace/en/latest/install/install.html
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml extraBuildFlags: >-
parameters: -DROCPROFSYS_BUILD_TESTING=ON
cmakeSourceDir: $(Agent.BuildDirectory)/s/projects/rocprofiler-systems -DROCPROFSYS_BUILD_DYNINST=ON
# build flags reference: https://rocm.docs.amd.com/projects/omnitrace/en/latest/install/install.html -DROCPROFSYS_BUILD_LIBUNWIND=ON
extraBuildFlags: >- -DROCPROFSYS_DISABLE_EXAMPLES="openmp-target"
-DCMAKE_INSTALL_PREFIX=$(Agent.BuildDirectory)/rocprofiler-systems -DDYNINST_BUILD_TBB=ON
-DROCPROFSYS_USE_PYTHON=ON -DDYNINST_BUILD_ELFUTILS=ON
-DROCPROFSYS_BUILD_TESTING=ON -DDYNINST_BUILD_LIBIBERTY=ON
-DROCPROFSYS_BUILD_DYNINST=ON -DDYNINST_BUILD_BOOST=ON
-DROCPROFSYS_BUILD_LIBUNWIND=ON -DROCPROFSYS_USE_PAPI=ON
-DROCPROFSYS_DISABLE_EXAMPLES="openmp-target" -DROCPROFSYS_USE_MPI=ON
-DDYNINST_BUILD_TBB=ON -DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/include/rocjpeg
-DDYNINST_BUILD_ELFUTILS=ON -DGPU_TARGETS=${{ job.target }}
-DDYNINST_BUILD_LIBIBERTY=ON -GNinja
-DDYNINST_BUILD_BOOST=ON - task: Bash@3
-DROCPROFSYS_USE_PAPI=ON displayName: Set up rocprofiler-systems env
-DROCPROFSYS_USE_MPI=ON inputs:
-DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/include/rocjpeg targetType: inline
-DGPU_TARGETS=${{ job.target }} script: source share/rocprofiler-systems/setup-env.sh
-GNinja workingDirectory: build
- task: Bash@3 - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
displayName: Set up rocprofiler-systems env parameters:
inputs: componentName: rocprofiler-systems
targetType: inline - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
script: source $(Agent.BuildDirectory)/rocprofiler-systems/share/rocprofiler-systems/setup-env.sh parameters:
workingDirectory: $(Agent.BuildDirectory)/rocprofiler-systems/share/rocprofiler-systems gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters: parameters:
componentName: ${{ parameters.componentName }} gpuTarget: ${{ job.target }}
testDir: $(Agent.BuildDirectory)/s/build/tests/ - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
testParameters: '--output-on-failure' parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml aptPackages: ${{ parameters.aptPackages }}
parameters: pipModules: ${{ parameters.pipModules }}
gpuTarget: ${{ job.target }} environment: test
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml registerROCmPackages: true
parameters: gpuTarget: ${{ job.target }}
gpuTarget: ${{ job.target }} extraPaths: /home/user/workspace/rocm/bin:/home/user/workspace/rocm/llvm/bin
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }}
environment: test
registerROCmPackages: true
gpuTarget: ${{ job.target }}
extraPaths: /home/user/workspace/rocm/bin:/home/user/workspace/rocm/llvm/bin

View File

@@ -8,22 +8,6 @@ parameters:
- name: checkoutRef - name: checkoutRef
type: string type: string
default: '' default: ''
# monorepo related parameters
- name: sparseCheckoutDir
type: string
default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack # set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline # and dependencies are pulled from same pipeline
- name: aggregatePipeline - name: aggregatePipeline
@@ -86,10 +70,6 @@ parameters:
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
${{ if parameters.buildDependsOn }}:
dependsOn:
- ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_${{ job.os }}_${{ job.target }}
variables: variables:
- group: common - group: common
- template: /.azuredevops/variables-global.yml - template: /.azuredevops/variables-global.yml
@@ -114,7 +94,6 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
parameters: parameters:
dependencyList: dependencyList:
@@ -129,8 +108,6 @@ jobs:
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
os: ${{ job.os }} os: ${{ job.os }}
aggregatePipeline: ${{ parameters.aggregatePipeline }} aggregatePipeline: ${{ parameters.aggregatePipeline }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters: parameters:
os: ${{ job.os }} os: ${{ job.os }}
@@ -138,7 +115,6 @@ jobs:
extraBuildFlags: >- extraBuildFlags: >-
-DCMAKE_MODULE_PATH=$(Build.SourcesDirectory)/cmake_modules;$(Agent.BuildDirectory)/rocm/lib/cmake;$(Agent.BuildDirectory)/rocm/lib/cmake/hip;$(Agent.BuildDirectory)/rocm/lib64/cmake;$(Agent.BuildDirectory)/rocm/lib64/cmake/hip -DCMAKE_MODULE_PATH=$(Build.SourcesDirectory)/cmake_modules;$(Agent.BuildDirectory)/rocm/lib/cmake;$(Agent.BuildDirectory)/rocm/lib/cmake/hip;$(Agent.BuildDirectory)/rocm/lib64/cmake;$(Agent.BuildDirectory)/rocm/lib64/cmake/hip
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor" -DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor"
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
-DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON
-DENABLE_LDCONFIG=OFF -DENABLE_LDCONFIG=OFF
-DUSE_PROF_API=1 -DUSE_PROF_API=1
@@ -146,13 +122,10 @@ jobs:
multithreadFlag: -- -j32 multithreadFlag: -- -j32
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
os: ${{ job.os }} os: ${{ job.os }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
os: ${{ job.os }} os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
@@ -166,68 +139,63 @@ jobs:
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm - HIP_ROCCLR_HOME:::/home/user/workspace/rocm
- ROCM_PATH:::/home/user/workspace/rocm - ROCM_PATH:::/home/user/workspace/rocm
- ${{ if eq(parameters.unifiedBuild, False) }}: - ${{ each job in parameters.jobMatrix.testJobs }}:
- ${{ each job in parameters.jobMatrix.testJobs }}: - job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }} dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} condition:
condition: and(succeeded(),
and(succeeded(), eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])), eq(${{ parameters.aggregatePipeline }}, False)
eq(${{ parameters.aggregatePipeline }}, False) )
) variables:
variables: - group: common
- group: common - template: /.azuredevops/variables-global.yml
- template: /.azuredevops/variables-global.yml - name: ROCM_PATH
- name: ROCM_PATH value: $(Agent.BuildDirectory)/rocm
value: $(Agent.BuildDirectory)/rocm - name: LD_LIBRARY_PATH
- name: LD_LIBRARY_PATH value: $(Agent.BuildDirectory)/rocm/lib/rocprofiler:$(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1/test:$(Agent.BuildDirectory)/rocm/share/rocprofiler/tests
value: $(Agent.BuildDirectory)/rocm/lib/rocprofiler:$(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1/test:$(Agent.BuildDirectory)/rocm/share/rocprofiler/tests pool: ${{ job.target }}_test_pool
pool: ${{ job.target }}_test_pool workspace:
workspace: clean: all
clean: all steps:
steps: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
- checkout: none parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml aptPackages: ${{ parameters.aptPackages }}
parameters: packageManager: ${{ job.packageManager }}
aptPackages: ${{ parameters.aptPackages }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
packageManager: ${{ job.packageManager }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml gpuTarget: ${{ job.target }}
parameters: os: ${{ job.os }}
preTargetFilter: ${{ parameters.componentName }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
gpuTarget: ${{ job.target }} parameters:
os: ${{ job.os }} os: ${{ job.os }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters: parameters:
os: ${{ job.os }} checkoutRef: ${{ parameters.checkoutRef }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml dependencyList: ${{ parameters.rocmDependencies }}
parameters: gpuTarget: ${{ job.target }}
checkoutRef: ${{ parameters.checkoutRef }} os: ${{ job.os }}
dependencyList: ${{ parameters.rocmDependencies }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
gpuTarget: ${{ job.target }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
os: ${{ job.os }} parameters:
${{ if parameters.triggerDownstreamJobs }}: componentName: rocprofilerV1
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} testDir: $(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml testExecutable: ./run.sh
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml testParameters: ''
parameters: testPublishResults: false
componentName: rocprofilerV1 os: ${{ job.os }}
testDir: $(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1 - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
testExecutable: ./run.sh parameters:
testParameters: '' componentName: rocprofilerV2
testPublishResults: false testDir: $(Agent.BuildDirectory)/rocm
os: ${{ job.os }} testExecutable: share/rocprofiler/tests/runUnitTests
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
parameters: os: ${{ job.os }}
componentName: rocprofilerV2 - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
testDir: $(Agent.BuildDirectory)/rocm parameters:
testExecutable: share/rocprofiler/tests/runUnitTests aptPackages: ${{ parameters.aptPackages }}
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes' pipModules: ${{ parameters.pipModules }}
os: ${{ job.os }} environment: test
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml gpuTarget: ${{ job.target }}
parameters:
aptPackages: ${{ parameters.aptPackages }}
pipModules: ${{ parameters.pipModules }}
environment: test
gpuTarget: ${{ job.target }}

View File

@@ -8,22 +8,6 @@ parameters:
- name: checkoutRef - name: checkoutRef
type: string type: string
default: '' default: ''
# monorepo related parameters
- name: sparseCheckoutDir
type: string
default: ''
- name: triggerDownstreamJobs
type: boolean
default: false
- name: downstreamAggregateNames
type: string
default: ''
- name: buildDependsOn
type: object
default: null
- name: unifiedBuild
type: boolean
default: false
# set to true if doing full build of ROCm stack # set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline # and dependencies are pulled from same pipeline
- name: aggregatePipeline - name: aggregatePipeline
@@ -81,10 +65,6 @@ parameters:
jobs: jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}: - ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
${{ if parameters.buildDependsOn }}:
dependsOn:
- ${{ each build in parameters.buildDependsOn }}:
- ${{ build }}_${{ job.os }}_${{ job.target }}
variables: variables:
- group: common - group: common
- template: /.azuredevops/variables-global.yml - template: /.azuredevops/variables-global.yml
@@ -107,7 +87,6 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
parameters: parameters:
checkoutRepo: ${{ parameters.checkoutRepo }} checkoutRepo: ${{ parameters.checkoutRepo }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters: parameters:
checkoutRef: ${{ parameters.checkoutRef }} checkoutRef: ${{ parameters.checkoutRef }}
@@ -115,8 +94,6 @@ jobs:
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
aggregatePipeline: ${{ parameters.aggregatePipeline }} aggregatePipeline: ${{ parameters.aggregatePipeline }}
os: ${{ job.os }} os: ${{ job.os }}
${{ if parameters.triggerDownstreamJobs }}:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
# the linker flags will not affect ubuntu2204 builds as the paths do not exist # the linker flags will not affect ubuntu2204 builds as the paths do not exist
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters: parameters:
@@ -132,13 +109,10 @@ jobs:
-GNinja -GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
os: ${{ job.os }} os: ${{ job.os }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters: parameters:
componentName: ${{ parameters.componentName }}
os: ${{ job.os }} os: ${{ job.os }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
@@ -149,57 +123,53 @@ jobs:
# gpuTarget: ${{ job.target }} # gpuTarget: ${{ job.target }}
# registerROCmPackages: true # registerROCmPackages: true
- ${{ if eq(parameters.unifiedBuild, False) }}: - ${{ each job in parameters.jobMatrix.testJobs }}:
- ${{ each job in parameters.jobMatrix.testJobs }}: - job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }} dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} condition:
condition: and(succeeded(),
and(succeeded(), eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), eq(${{ parameters.aggregatePipeline }}, False)
eq(${{ parameters.aggregatePipeline }}, False) )
) variables:
variables: - group: common
- group: common - template: /.azuredevops/variables-global.yml
- template: /.azuredevops/variables-global.yml pool: ${{ job.target }}_test_pool
pool: ${{ job.target }}_test_pool workspace:
workspace: clean: all
clean: all steps:
steps: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml parameters:
parameters: aptPackages: ${{ parameters.aptPackages }}
aptPackages: ${{ parameters.aptPackages }} pipModules: ${{ parameters.pipModules }}
pipModules: ${{ parameters.pipModules }} packageManager: ${{ job.packageManager }}
packageManager: ${{ job.packageManager }} registerROCmPackages: true
registerROCmPackages: true - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml parameters:
parameters: gpuTarget: ${{ job.target }}
preTargetFilter: ${{ parameters.componentName }} os: ${{ job.os }}
gpuTarget: ${{ job.target }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
os: ${{ job.os }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml parameters:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml checkoutRef: ${{ parameters.checkoutRef }}
parameters: dependencyList: ${{ parameters.rocmTestDependencies }}
checkoutRef: ${{ parameters.checkoutRef }} gpuTarget: ${{ job.target }}
dependencyList: ${{ parameters.rocmTestDependencies }} os: ${{ job.os }}
gpuTarget: ${{ job.target }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
os: ${{ job.os }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
${{ if parameters.triggerDownstreamJobs }}: parameters:
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} componentName: roctracer
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml testExecutable: $(Agent.BuildDirectory)/rocm/share/roctracer/run_tests.sh
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml testParameters: ''
parameters: testDir: $(Agent.BuildDirectory)
componentName: ${{ parameters.componentName }} testPublishResults: false
testExecutable: $(Agent.BuildDirectory)/rocm/share/roctracer/run_tests.sh os: ${{ job.os }}
testParameters: '' - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
testDir: $(Agent.BuildDirectory) parameters:
testPublishResults: false aptPackages: ${{ parameters.aptPackages }}
os: ${{ job.os }} pipModules: ${{ parameters.pipModules }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml environment: test
parameters: gpuTarget: ${{ job.target }}
aptPackages: ${{ parameters.aptPackages }} registerROCmPackages: true
pipModules: ${{ parameters.pipModules }}
environment: test
gpuTarget: ${{ job.target }}
registerROCmPackages: true

View File

@@ -40,6 +40,7 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters: parameters:
dependencyList: ${{ parameters.rocmDependencies }} dependencyList: ${{ parameters.rocmDependencies }}
dependencySource: staging
- task: Bash@3 - task: Bash@3
displayName: Add ROCm binaries to PATH displayName: Add ROCm binaries to PATH
inputs: inputs:

View File

@@ -1,63 +0,0 @@
parameters:
- name: checkoutRepo
type: string
default: 'self'
- name: checkoutRef
type: string
default: ''
- name: catch2Version
type: string
default: ''
- name: aptPackages
type: object
default:
- cmake
- git
- ninja-build
- name: jobMatrix
type: object
default:
buildJobs:
- { os: ubuntu2204, packageManager: apt}
- { os: almalinux8, packageManager: dnf}
jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: catch2_${{ job.os }}
variables:
- group: common
- template: /.azuredevops/variables-global.yml
pool:
vmImage: 'ubuntu-22.04'
${{ if eq(job.os, 'almalinux8') }}:
container:
image: rocmexternalcicd.azurecr.io/manylinux228:latest
endpoint: ContainerService3
workspace:
clean: all
steps:
- checkout: none
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
packageManager: ${{ job.packageManager }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- task: Bash@3
displayName: Clone catch2 ${{ parameters.catch2Version }}
inputs:
targetType: inline
script: git clone https://github.com/catchorg/Catch2.git -b ${{ parameters.catch2Version }}
workingDirectory: $(Agent.BuildDirectory)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters:
os: ${{ job.os }}
cmakeBuildDir: $(Agent.BuildDirectory)/Catch2/build
cmakeSourceDir: $(Agent.BuildDirectory)/Catch2
useAmdclang: false
extraBuildFlags: >-
-DCMAKE_BUILD_TYPE=Release
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
os: ${{ job.os }}

View File

@@ -1,67 +0,0 @@
parameters:
- name: checkoutRepo
type: string
default: 'self'
- name: checkoutRef
type: string
default: ''
- name: fmtlibVersion
type: string
default: ''
- name: aptPackages
type: object
default:
- cmake
- git
- ninja-build
- libfmt-dev
- name: jobMatrix
type: object
default:
buildJobs:
- { os: ubuntu2204, packageManager: apt}
- { os: almalinux8, packageManager: dnf}
jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: fmtlib_${{ job.os }}
variables:
- group: common
- template: /.azuredevops/variables-global.yml
pool:
vmImage: 'ubuntu-22.04'
${{ if eq(job.os, 'almalinux8') }}:
container:
image: rocmexternalcicd.azurecr.io/manylinux228:latest
endpoint: ContainerService3
workspace:
clean: all
steps:
- checkout: none
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
packageManager: ${{ job.packageManager }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- task: Bash@3
displayName: Clone fmtlib ${{ parameters.fmtlibVersion }}
inputs:
targetType: inline
script: git clone https://github.com/fmtlib/fmt.git -b ${{ parameters.fmtlibVersion }}
workingDirectory: $(Agent.BuildDirectory)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters:
os: ${{ job.os }}
cmakeBuildDir: $(Agent.BuildDirectory)/fmt/build
cmakeSourceDir: $(Agent.BuildDirectory)/fmt
useAmdclang: false
extraBuildFlags: >-
-DCMAKE_BUILD_TYPE=Release
-DFMT_SYSTEM_HEADERS=ON
-DFMT_INSTALL=ON
-DFMT_TEST=OFF
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
os: ${{ job.os }}

View File

@@ -1,64 +0,0 @@
parameters:
- name: checkoutRepo
type: string
default: 'self'
- name: checkoutRef
type: string
default: ''
- name: libdivideVersion
type: string
default: ''
- name: aptPackages
type: object
default:
- cmake
- git
- ninja-build
- name: jobMatrix
type: object
default:
buildJobs:
- { os: ubuntu2204, packageManager: apt}
- { os: almalinux8, packageManager: dnf}
jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: libdivide_${{ job.os }}
variables:
- group: common
- template: /.azuredevops/variables-global.yml
pool:
vmImage: 'ubuntu-22.04'
${{ if eq(job.os, 'almalinux8') }}:
container:
image: rocmexternalcicd.azurecr.io/manylinux228:latest
endpoint: ContainerService3
workspace:
clean: all
steps:
- checkout: none
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
packageManager: ${{ job.packageManager }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- task: Bash@3
displayName: Clone libdivide ${{ parameters.libdivideVersion }}
inputs:
targetType: inline
script: git clone https://github.com/ridiculousfish/libdivide.git -b ${{ parameters.libdivideVersion }}
workingDirectory: $(Agent.BuildDirectory)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters:
os: ${{ job.os }}
cmakeBuildDir: $(Agent.BuildDirectory)/libdivide/build
cmakeSourceDir: $(Agent.BuildDirectory)/libdivide
useAmdclang: false
extraBuildFlags: >-
-DCMAKE_BUILD_TYPE=Release
-DLIBDIVIDE_BUILD_TESTS=OFF
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
os: ${{ job.os }}

View File

@@ -1,71 +0,0 @@
parameters:
- name: checkoutRepo
type: string
default: 'self'
- name: checkoutRef
type: string
default: ''
- name: spdlogVersion
type: string
default: ''
- name: aptPackages
type: object
default:
- cmake
- git
- ninja-build
- name: jobMatrix
type: object
default:
buildJobs:
- { os: ubuntu2204, packageManager: apt}
- { os: almalinux8, packageManager: dnf}
jobs:
- ${{ each job in parameters.jobMatrix.buildJobs }}:
- job: spdlog_${{ job.os }}
variables:
- group: common
- template: /.azuredevops/variables-global.yml
pool:
vmImage: 'ubuntu-22.04'
${{ if eq(job.os, 'almalinux8') }}:
container:
image: rocmexternalcicd.azurecr.io/manylinux228:latest
endpoint: ContainerService3
workspace:
clean: all
steps:
- checkout: none
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
parameters:
aptPackages: ${{ parameters.aptPackages }}
packageManager: ${{ job.packageManager }}
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
parameters:
dependencyList:
- fmtlib
- task: Bash@3
displayName: Clone spdlog ${{ parameters.spdlogVersion }}
inputs:
targetType: inline
script: git clone https://github.com/gabime/spdlog.git -b ${{ parameters.spdlogVersion }}
workingDirectory: $(Agent.BuildDirectory)
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
parameters:
os: ${{ job.os }}
cmakeBuildDir: $(Agent.BuildDirectory)/spdlog/build
cmakeSourceDir: $(Agent.BuildDirectory)/spdlog
useAmdclang: false
extraBuildFlags: >-
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/vendor
-DCMAKE_BUILD_TYPE=Release
-DSPDLOG_USE_STD_FORMAT=OFF
-DSPDLOG_FMT_EXTERNAL_HO=ON
-DSPDLOG_INSTALL=ON
-GNinja
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
parameters:
os: ${{ job.os }}

View File

@@ -219,6 +219,7 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters: parameters:
dependencyList: ${{ parameters.rocmDependencies }} dependencyList: ${{ parameters.rocmDependencies }}
dependencySource: staging
gpuTarget: $(JOB_GPU_TARGET) gpuTarget: $(JOB_GPU_TARGET)
setupHIPLibrarySymlinks: true setupHIPLibrarySymlinks: true
- task: Bash@3 - task: Bash@3
@@ -397,7 +398,6 @@ jobs:
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
- task: DownloadPipelineArtifact@2 - task: DownloadPipelineArtifact@2
displayName: 'Download Pipeline Wheel Files' displayName: 'Download Pipeline Wheel Files'
retryCountOnTaskFailure: 3
inputs: inputs:
itemPattern: '**/*.whl' itemPattern: '**/*.whl'
targetPath: $(Agent.BuildDirectory) targetPath: $(Agent.BuildDirectory)
@@ -406,6 +406,8 @@ jobs:
parameters: parameters:
dependencyList: ${{ parameters.rocmTestDependencies }} dependencyList: ${{ parameters.rocmTestDependencies }}
gpuTarget: $(JOB_GPU_TARGET) gpuTarget: $(JOB_GPU_TARGET)
dependencySource: staging
skipLlvmSymlink: true
# get sources to run test scripts # get sources to run test scripts
- task: Bash@3 - task: Bash@3
displayName: git clone upstream pytorch displayName: git clone upstream pytorch

View File

@@ -3,21 +3,21 @@ parameters:
- name: jobList - name: jobList
type: object type: object
default: default:
- { os: ubuntu2204, packageManager: apt, target: gfx942 } - { os: ubuntu2204, target: gfx942, source: staging }
- { os: ubuntu2204, packageManager: apt, target: gfx90a } - { os: ubuntu2204, target: gfx90a, source: staging }
- { os: ubuntu2204, packageManager: apt, target: gfx1201 } - { os: ubuntu2204, target: gfx1201, source: staging }
- { os: ubuntu2204, packageManager: apt, target: gfx1100 } - { os: ubuntu2204, target: gfx1100, source: staging }
- { os: ubuntu2204, packageManager: apt, target: gfx1030 } - { os: ubuntu2204, target: gfx1030, source: staging }
- { os: ubuntu2404, packageManager: apt, target: gfx942 } - { os: ubuntu2404, target: gfx942, source: staging }
- { os: ubuntu2404, packageManager: apt, target: gfx90a } - { os: ubuntu2404, target: gfx90a, source: staging }
- { os: ubuntu2404, packageManager: apt, target: gfx1201 } - { os: ubuntu2404, target: gfx1201, source: staging }
- { os: ubuntu2404, packageManager: apt, target: gfx1100 } - { os: ubuntu2404, target: gfx1100, source: staging }
- { os: ubuntu2404, packageManager: apt, target: gfx1030 } - { os: ubuntu2404, target: gfx1030, source: staging }
- { os: almalinux8, packageManager: dnf, target: gfx942 } - { os: almalinux8, target: gfx942, source: staging }
- { os: almalinux8, packageManager: dnf, target: gfx90a } - { os: almalinux8, target: gfx90a, source: staging }
- { os: almalinux8, packageManager: dnf, target: gfx1201 } - { os: almalinux8, target: gfx1201, source: staging }
- { os: almalinux8, packageManager: dnf, target: gfx1100 } - { os: almalinux8, target: gfx1100, source: staging }
- { os: almalinux8, packageManager: dnf, target: gfx1030 } - { os: almalinux8, target: gfx1030, source: staging }
- name: rocmDependencies - name: rocmDependencies
type: object type: object
default: default:
@@ -92,8 +92,7 @@ schedules:
jobs: jobs:
- ${{ each job in parameters.jobList }}: - ${{ each job in parameters.jobList }}:
- job: nightly_${{ job.os }}_${{ job.target }} - job: rocm_nightly_${{ job.os }}_${{ job.target }}_${{ job.source }}
timeoutInMinutes: 120
variables: variables:
- group: common - group: common
- template: /.azuredevops/variables-global.yml - template: /.azuredevops/variables-global.yml
@@ -116,9 +115,11 @@ jobs:
displayName: System disk space before ROCm displayName: System disk space before ROCm
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
parameters: parameters:
dependencySource: ${{ job.source }}
dependencyList: ${{ parameters.rocmDependencies }} dependencyList: ${{ parameters.rocmDependencies }}
os: ${{ job.os }} os: ${{ job.os }}
gpuTarget: ${{ job.target }} gpuTarget: ${{ job.target }}
skipLibraryLinking: true
- script: df -h - script: df -h
displayName: System disk space after ROCm displayName: System disk space after ROCm
- script: du -sh $(Agent.BuildDirectory)/rocm - script: du -sh $(Agent.BuildDirectory)/rocm
@@ -131,7 +132,7 @@ jobs:
includeRootFolder: false includeRootFolder: false
archiveType: tar archiveType: tar
tarCompression: gz tarCompression: gz
archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.DefinitionName)_$(Build.BuildNumber)_${{ job.os }}_${{ job.target }}.tar.gz archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.DefinitionName)_$(Build.BuildNumber)_ubuntu2204_${{ job.target }}.tar.gz
- script: du -sh $(Build.ArtifactStagingDirectory) - script: du -sh $(Build.ArtifactStagingDirectory)
displayName: Compressed ROCm size displayName: Compressed ROCm size
- task: PublishPipelineArtifact@1 - task: PublishPipelineArtifact@1
@@ -144,96 +145,5 @@ jobs:
inputs: inputs:
workingDirectory: $(Pipeline.Workspace) workingDirectory: $(Pipeline.Workspace)
targetType: inline targetType: inline
script: echo "$(Build.DefinitionName)_$(Build.BuildNumber)_${{ job.os }}_${{ job.target }}.tar.gz" >> pipelineArtifacts.txt script: echo "$(Build.DefinitionName)_$(Build.BuildNumber)_ubuntu2204_${{ job.target }}.tar.gz" >> pipelineArtifacts.txt
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
- ${{ if eq(job.packageManager, 'apt') }}:
- task: Bash@3
displayName: Create Dockerfile
inputs:
workingDirectory: $(Agent.BuildDirectory)
targetType: inline
script: |
cat <<'EOF' > Dockerfile
${{ iif(eq(job.os, 'ubuntu2204'), 'FROM ubuntu:22.04', '') }}
${{ iif(eq(job.os, 'ubuntu2404'), 'FROM ubuntu:24.04', '') }}
WORKDIR /root
RUN mkdir rocm
RUN apt update \
&& apt upgrade -y \
&& apt install -y cmake curl git gcc g++ gpg lsb-release lsof ninja-build pkg-config python3 python3-pip wget zip libdrm-dev libelf-dev libgtest-dev libhsakmt-dev libhwloc-dev libnuma-dev libstdc++-12-dev libtbb-dev jq \
&& apt clean all
RUN PACKAGE_NAME=$(curl -s https://repo.radeon.com/rocm/apt/latest/pool/main/h/hsa-amd-aqlprofile/ | grep -oP "href=\"\K[^\"]*$(lsb_release -rs)[^\"]*\.deb") \
&& wget -nv --retry-connrefused https://repo.radeon.com/rocm/apt/latest/pool/main/h/hsa-amd-aqlprofile/$PACKAGE_NAME \
&& mkdir hsa-amd-aqlprofile \
&& dpkg-deb -R $PACKAGE_NAME hsa-amd-aqlprofile \
&& cp -R hsa-amd-aqlprofile/opt/rocm-*/* rocm
RUN ARTIFACT_URL="https://dev.azure.com/ROCm-CI/ROCm-CI/_apis/build/builds/$(Build.BuildId)/artifacts?artifactName=nightly${{ job.os }}${{ job.target }}&api-version=7.1" \
&& DOWNLOAD_URL=$(curl -s $ARTIFACT_URL | jq ".resource.downloadUrl" | tr -d '"') \
&& wget -nv --retry-connrefused $DOWNLOAD_URL -O nightly.zip \
&& unzip nightly.zip \
&& tar -xf nightly${{ job.os }}${{ job.target }}/rocm-nightly*${{ job.os }}*${{ job.target }}*.tar.gz -C rocm
RUN echo /root/rocm/lib | tee /etc/ld.so.conf.d/rocm-ci.conf
RUN echo /root/rocm/llvm/lib | tee -a /etc/ld.so.conf.d/rocm-ci.conf
RUN echo /root/rocm/lib64 | tee -a /etc/ld.so.conf.d/rocm-ci.conf
RUN echo /root/rocm/llvm/lib64 | tee -a /etc/ld.so.conf.d/rocm-ci.conf
RUN ldconfig -v
ENV PATH="$PATH:/root/rocm/bin"
ENTRYPOINT ["/bin/bash"]
EOF
cat Dockerfile
- ${{ elseif eq(job.packageManager, 'dnf') }}:
- task: Bash@3
displayName: Create Dockerfile
inputs:
workingDirectory: $(Agent.BuildDirectory)
targetType: inline
script: |
cat <<'EOF' > Dockerfile
${{ iif(eq(job.os, 'almalinux8'), 'FROM almalinux:8', '') }}
WORKDIR /root
RUN mkdir rocm
RUN dnf install -y cmake curl git gcc gcc-c++ gnupg2 redhat-lsb-core lsof pkgconf python3 python3-pip wget zip libdrm-devel elfutils-libelf-devel numactl-devel libstdc++-devel tbb-devel jq \
&& dnf clean all
RUN PACKAGE_NAME=$(curl -s https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/ | grep -oP "hsa-amd-aqlprofile-[^\"]+\.rpm" | head -n1) \
&& wget -nv --retry-connrefused https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/$PACKAGE_NAME \
&& mkdir hsa-amd-aqlprofile \
&& dnf -y install rpm-build cpio \
&& rpm2cpio $PACKAGE_NAME | (cd hsa-amd-aqlprofile && cpio -idmv) \
&& cp -R hsa-amd-aqlprofile/opt/rocm-*/* rocm
RUN ARTIFACT_URL="https://dev.azure.com/ROCm-CI/ROCm-CI/_apis/build/builds/$(Build.BuildId)/artifacts?artifactName=nightly${{ job.os }}${{ job.target }}&api-version=7.1" \
&& DOWNLOAD_URL=$(curl -s $ARTIFACT_URL | jq ".resource.downloadUrl" | tr -d '"') \
&& wget -nv --retry-connrefused $DOWNLOAD_URL -O nightly.zip \
&& UNZIP_DISABLE_ZIPBOMB_DETECTION=TRUE unzip nightly.zip \
&& tar -xf nightly${{ job.os }}${{ job.target }}/rocm-nightly*${{ job.os }}*${{ job.target }}*.tar.gz -C rocm
RUN echo /root/rocm/lib | tee /etc/ld.so.conf.d/rocm-ci.conf
RUN echo /root/rocm/llvm/lib | tee -a /etc/ld.so.conf.d/rocm-ci.conf
RUN echo /root/rocm/lib64 | tee -a /etc/ld.so.conf.d/rocm-ci.conf
RUN echo /root/rocm/llvm/lib64 | tee -a /etc/ld.so.conf.d/rocm-ci.conf
RUN ldconfig -v
ENV PATH="$PATH:/root/rocm/bin"
ENTRYPOINT ["/bin/bash"]
EOF
cat Dockerfile
- task: Docker@2
displayName: Build and upload Docker image
retryCountOnTaskFailure: 3
inputs:
containerRegistry: ContainerService3
repository: 'nightly-${{ job.os }}-${{ job.target }}'
Dockerfile: '$(Agent.BuildDirectory)/Dockerfile'
buildContext: '$(Agent.BuildDirectory)'
- task: Bash@3
displayName: '!! Docker Run Command !!'
inputs:
targetType: inline
script: echo "docker run -it --network=host --device=/dev/kfd --device=/dev/dri --security-opt seccomp=unconfined rocmexternalcicd.azurecr.io/nightly-${{ job.os }}-${{ job.target }}:$(Build.BuildId)" | tr '[:upper:]' '[:lower:]'

View File

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

View File

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

View File

@@ -1,23 +0,0 @@
variables:
- group: common
- template: /.azuredevops/variables-global.yml
parameters:
- name: libdivideVersion
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 }}/libdivide.yml
parameters:
libdivideVersion: ${{ parameters.libdivideVersion }}

View File

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

View File

@@ -12,9 +12,6 @@ parameters:
- name: fileFilter - name: fileFilter
type: string type: string
default: '' default: ''
- name: extractAndDeleteFiles
type: boolean
default: true
# set to true if doing full build of ROCm stack # set to true if doing full build of ROCm stack
# and dependencies are pulled from same pipeline # and dependencies are pulled from same pipeline
- name: aggregatePipeline - name: aggregatePipeline
@@ -24,12 +21,8 @@ parameters:
steps: steps:
- task: DownloadPipelineArtifact@2 - task: DownloadPipelineArtifact@2
displayName: Download ${{ parameters.componentName }} displayName: Download ${{ parameters.componentName }}
retryCountOnTaskFailure: 3
inputs: inputs:
${{ if eq(parameters.componentName, 'clr') }}: itemPattern: '**/*${{ parameters.componentName }}*${{ parameters.fileFilter }}*'
itemPattern: '**/*${{ parameters.componentName }}*${{ parameters.fileFilter }}*amd*' # filter out nvidia clr artifacts
${{ else }}:
itemPattern: '**/*${{ parameters.componentName }}*${{ parameters.fileFilter }}*'
targetPath: '$(Pipeline.Workspace)/d' targetPath: '$(Pipeline.Workspace)/d'
allowPartiallySucceededBuilds: true allowPartiallySucceededBuilds: true
${{ if parameters.aggregatePipeline }}: ${{ if parameters.aggregatePipeline }}:
@@ -44,17 +37,16 @@ steps:
buildVersionToDownload: latest # aomp trigger lives in ROCm/ROCm, so cannot use ROCm/aomp branch names buildVersionToDownload: latest # aomp trigger lives in ROCm/ROCm, so cannot use ROCm/aomp branch names
${{ else }}: ${{ else }}:
buildVersionToDownload: latestFromBranch buildVersionToDownload: latestFromBranch
- ${{ if eq(parameters.extractAndDeleteFiles, true) }}: - task: ExtractFiles@1
- task: ExtractFiles@1 displayName: Extract ${{ parameters.componentName }}
displayName: Extract ${{ parameters.componentName }} inputs:
inputs: archiveFilePatterns: '$(Pipeline.Workspace)/d/**/*.tar.gz'
archiveFilePatterns: '$(Pipeline.Workspace)/d/**/*.tar.gz' destinationFolder: '$(Agent.BuildDirectory)/rocm'
destinationFolder: '$(Agent.BuildDirectory)/rocm' cleanDestinationFolder: false
cleanDestinationFolder: false overwriteExistingFiles: true
overwriteExistingFiles: true - task: DeleteFiles@1
- task: DeleteFiles@1 displayName: Cleanup Compressed ${{ parameters.componentName }}
displayName: Clean up Compressed ${{ parameters.componentName }} inputs:
inputs: SourceFolder: '$(Pipeline.Workspace)/d'
SourceFolder: '$(Pipeline.Workspace)/d' Contents: '**/*.tar.gz'
Contents: '**/*.tar.gz' RemoveDotFiles: true
RemoveDotFiles: true

View File

@@ -15,8 +15,8 @@ steps:
URL_BEGIN="https://artprodcus3.artifacts.visualstudio.com/" URL_BEGIN="https://artprodcus3.artifacts.visualstudio.com/"
URL_MIDDLE="/_apis/artifact/" URL_MIDDLE="/_apis/artifact/"
URL_END="/content?format=file&subPath=%2F" URL_END="/content?format=file&subPath=%2F"
ARTIFACT_NAME="$(Agent.JobName)_$(System.JobAttempt)" FORMATTED_JOB_NAME=$(echo $(Agent.JobName) | sed 's/ /./g; s/[-_]//g')
ARTIFACT_STRING="pipelineartifact://ROCm-CI/projectId/$(DOWNLOAD_PROJECT_ID)/buildId/$(Build.BuildId)/artifactName/${ARTIFACT_NAME}" ARTIFACT_STRING="pipelineartifact://ROCm-CI/projectId/$(DOWNLOAD_PROJECT_ID)/buildId/$(Build.BuildId)/artifactName/${FORMATTED_JOB_NAME}"
ENCODED_STRING=$(echo -n "${ARTIFACT_STRING}" | base64 -w 0) ENCODED_STRING=$(echo -n "${ARTIFACT_STRING}" | base64 -w 0)
PADDING_COUNT=$(echo -n "${ENCODED_STRING}" | awk -F= '{print NF-1}') PADDING_COUNT=$(echo -n "${ENCODED_STRING}" | awk -F= '{print NF-1}')
if [ "$PADDING_COUNT" -gt 0 ]; then if [ "$PADDING_COUNT" -gt 0 ]; then

View File

@@ -46,6 +46,5 @@ steps:
displayName: '${{ parameters.artifactName }} Publish' displayName: '${{ parameters.artifactName }} Publish'
retryCountOnTaskFailure: 3 retryCountOnTaskFailure: 3
inputs: inputs:
# if this artifact name is changed, please also update $ARTIFACT_URL inside miopen-get-ck-build.yml artifactName: ${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}_$(System.JobAttempt)
artifactName: $(Agent.JobName)_$(System.JobAttempt)
targetPath: '$(Build.ArtifactStagingDirectory)' targetPath: '$(Build.ArtifactStagingDirectory)'

View File

@@ -20,7 +20,7 @@ steps:
retryCountOnTaskFailure: 3 retryCountOnTaskFailure: 3
fetchFilter: blob:none fetchFilter: blob:none
${{ if ne(parameters.sparseCheckoutDir, '') }}: ${{ if ne(parameters.sparseCheckoutDir, '') }}:
sparseCheckoutDirectories: ${{ parameters.sparseCheckoutDir }} shared sparseCheckoutDirectories: ${{ parameters.sparseCheckoutDir }}
path: sparse path: sparse
- ${{ if ne(parameters.sparseCheckoutDir, '') }}: - ${{ if ne(parameters.sparseCheckoutDir, '') }}:
- task: Bash@3 - task: Bash@3

View File

@@ -1,15 +1,10 @@
parameters: parameters:
- name: os
type: string
default: ubuntu2204
- name: repositoryUrl - name: repositoryUrl
type: string type: string
default: https://download.amd.com/developer/eula/aocl/aocl-4-2 default: https://download.amd.com/developer/eula/aocl/aocl-4-2
- name: packageName - name: packageName
type: object type: string
default: default: aocl-linux-gcc-4.2.0_1_amd64.deb
ubuntu2204: aocl-linux-gcc-4.2.0_1_amd64.deb
almalinux8: aocl-linux-gcc-4.2.0-1.x86_64.rpm
steps: steps:
- task: Bash@3 - task: Bash@3
@@ -17,19 +12,16 @@ steps:
inputs: inputs:
targetType: inline targetType: inline
workingDirectory: $(Pipeline.Workspace) workingDirectory: $(Pipeline.Workspace)
script: wget -nv ${{ parameters.repositoryUrl }}/${{ parameters.packageName[parameters.os] }} script: wget -nv ${{ parameters.repositoryUrl }}/${{ parameters.packageName }}
- task: Bash@3 - task: Bash@3
displayName: Install AOCL displayName: Install AOCL
inputs: inputs:
targetType: inline targetType: inline
workingDirectory: $(Pipeline.Workspace) workingDirectory: $(Pipeline.Workspace)
${{ if eq(parameters.os, 'ubuntu2204') }}: script: sudo apt install -y ./${{ parameters.packageName }}
script: sudo apt install -y ./${{ parameters.packageName[parameters.os] }}
${{ elseif eq(parameters.os, 'almalinux8') }}:
script: sudo dnf install -y ./${{ parameters.packageName[parameters.os] }}
- task: Bash@3 - task: Bash@3
displayName: Clean up AOCL displayName: Clean up AOCL
inputs: inputs:
targetType: inline targetType: inline
workingDirectory: $(Pipeline.Workspace) workingDirectory: $(Pipeline.Workspace)
script: rm -f ${{ parameters.packageName[parameters.os] }} script: rm -f ${{ parameters.packageName }}

View File

@@ -10,7 +10,6 @@ steps:
- ${{ if eq(parameters.registerROCmPackages, true) }}: - ${{ if eq(parameters.registerROCmPackages, true) }}:
- task: Bash@3 - task: Bash@3
displayName: 'Register AMDGPU & ROCm repos (apt)' displayName: 'Register AMDGPU & ROCm repos (apt)'
retryCountOnTaskFailure: 3
inputs: inputs:
targetType: inline targetType: inline
script: | script: |
@@ -21,8 +20,7 @@ steps:
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600 echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
sudo apt update sudo apt update
- task: Bash@3 - task: Bash@3
displayName: 'APT update and install packages' displayName: 'sudo apt-get update'
retryCountOnTaskFailure: 3
inputs: inputs:
targetType: inline targetType: inline
script: | script: |
@@ -30,6 +28,15 @@ steps:
echo "deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/default.list echo "deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/default.list
echo "deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/default.list echo "deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/default.list
echo "deb http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/default.list echo "deb http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/default.list
sudo DEBIAN_FRONTEND=noninteractive apt-get --yes update && \ sudo DEBIAN_FRONTEND=noninteractive apt-get --yes update
sudo DEBIAN_FRONTEND=noninteractive apt-get --yes --fix-broken install && \ - task: Bash@3
sudo DEBIAN_FRONTEND=noninteractive apt-get --yes --fix-missing install ${{ join(' ', parameters.aptPackages) }} displayName: 'sudo apt-get fix'
inputs:
targetType: inline
script: sudo DEBIAN_FRONTEND=noninteractive apt-get --yes --fix-broken install
- ${{ if gt(length(parameters.aptPackages), 0) }}:
- task: Bash@3
displayName: 'sudo apt-get install ...'
inputs:
targetType: inline
script: sudo DEBIAN_FRONTEND=noninteractive apt-get --yes --fix-missing install ${{ join(' ', parameters.aptPackages) }}

View File

@@ -5,28 +5,51 @@ parameters:
steps: steps:
- task: Bash@3 - task: Bash@3
displayName: Download and install aqlprofile displayName: Get aqlprofile package name
retryCountOnTaskFailure: 3 inputs:
targetType: inline
${{ if eq(parameters.os, 'ubuntu2204') }}:
script: |
export packageName=$(curl -s https://repo.radeon.com/rocm/apt/$(REPO_RADEON_VERSION)/pool/main/h/hsa-amd-aqlprofile/ | grep -oP "href=\"\K[^\"]*$(lsb_release -rs)[^\"]*\.deb")
echo "##vso[task.setvariable variable=packageName;isreadonly=true]$packageName"
${{ if eq(parameters.os, 'almalinux8') }}:
script: |
export packageName=$(curl -s https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/ | grep -oP "hsa-amd-aqlprofile-[^\"]+\.rpm" | head -n1)
echo "##vso[task.setvariable variable=packageName;isreadonly=true]$packageName"
- task: Bash@3
displayName: 'Download aqlprofile'
inputs:
targetType: inline
workingDirectory: '$(Pipeline.Workspace)'
${{ if eq(parameters.os, 'ubuntu2204') }}:
script: wget -nv https://repo.radeon.com/rocm/apt/$(REPO_RADEON_VERSION)/pool/main/h/hsa-amd-aqlprofile/$(packageName)
${{ if eq(parameters.os, 'almalinux8') }}:
script: wget -nv https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/$(packageName)
- task: Bash@3
displayName: 'Extract aqlprofile'
inputs:
targetType: inline
workingDirectory: '$(Pipeline.Workspace)'
${{ if eq(parameters.os, 'ubuntu2204') }}:
script: |
mkdir hsa-amd-aqlprofile
dpkg-deb -R $(packageName) hsa-amd-aqlprofile
${{ if eq(parameters.os, 'almalinux8') }}:
script: |
mkdir hsa-amd-aqlprofile
sudo dnf -y install rpm-build cpio
rpm2cpio $(packageName) | (cd hsa-amd-aqlprofile && cpio -idmv)
- task: Bash@3
displayName: 'Copy aqlprofile files'
inputs: inputs:
targetType: inline targetType: inline
workingDirectory: $(Agent.BuildDirectory)
script: | script: |
set -e mkdir -p $(Agent.BuildDirectory)/rocm
if [ "${{ parameters.os }}" = "ubuntu2204" ]; then cp -R hsa-amd-aqlprofile/opt/rocm-*/* $(Agent.BuildDirectory)/rocm
packageName=$(curl -s https://repo.radeon.com/rocm/apt/$(REPO_RADEON_VERSION)/pool/main/h/hsa-amd-aqlprofile/ | grep -oP "href=\"\K[^\"]*$(lsb_release -rs)[^\"]*\.deb") && \ workingDirectory: '$(Pipeline.Workspace)'
wget -nv https://repo.radeon.com/rocm/apt/$(REPO_RADEON_VERSION)/pool/main/h/hsa-amd-aqlprofile/$packageName && \ - task: Bash@3
mkdir -p hsa-amd-aqlprofile && \ displayName: 'Clean up aqlprofile'
dpkg-deb -R $packageName hsa-amd-aqlprofile inputs:
elif [ "${{ parameters.os }}" = "almalinux8" ]; then targetType: inline
sudo dnf -y install rpm-build cpio && \ script: rm -rf hsa-amd-aqlprofile $(packageName)
packageName=$(curl -s https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/ | grep -oP "hsa-amd-aqlprofile-[^\"]+\.rpm" | head -n1) && \ workingDirectory: '$(Pipeline.Workspace)'
wget -nv https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/$packageName && \
mkdir -p hsa-amd-aqlprofile && \
rpm2cpio $packageName | (cd hsa-amd-aqlprofile && cpio -idmv)
else
echo "Unsupported OS: ${{ parameters.os }}"
exit 1
fi && \
mkdir -p $(Agent.BuildDirectory)/rocm && \
cp -R hsa-amd-aqlprofile/opt/rocm-*/* $(Agent.BuildDirectory)/rocm && \
rm -rf hsa-amd-aqlprofile $packageName

View File

@@ -1,15 +1,10 @@
parameters:
- name: cmakeVersion
type: string
default: '3.31.0'
steps: steps:
- task: Bash@3 - task: Bash@3
displayName: Install CMake ${{ parameters.cmakeVersion }} displayName: Install CMake 3.31
inputs: inputs:
targetType: inline targetType: inline
script: | script: |
CMAKE_VERSION=${{ parameters.cmakeVersion }} CMAKE_VERSION=3.31.0
CMAKE_ROOT="$(Pipeline.Workspace)/cmake" CMAKE_ROOT="$(Pipeline.Workspace)/cmake"
echo "Downloading CMake $CMAKE_VERSION..." echo "Downloading CMake $CMAKE_VERSION..."

View File

@@ -52,15 +52,12 @@ parameters:
libexpat-dev: expat-devel libexpat-dev: expat-devel
libffi-dev: libffi-devel libffi-dev: libffi-devel
libfftw3-dev: fftw-devel libfftw3-dev: fftw-devel
libfmt-dev: fmt-devel
libgmp-dev: gmp-devel libgmp-dev: gmp-devel
liblapack-dev: lapack-devel
liblzma-dev: xz-devel liblzma-dev: xz-devel
libmpfr-dev: mpfr-devel libmpfr-dev: mpfr-devel
libmsgpack-dev: msgpack-devel libmsgpack-dev: msgpack-devel
libncurses5-dev: ncurses-devel libncurses5-dev: ncurses-devel
libnuma-dev: numactl-devel libnuma-dev: numactl-devel
libopenblas-dev: openblas-devel
libopenmpi-dev: openmpi-devel libopenmpi-dev: openmpi-devel
libpci-dev: libpciaccess-devel libpci-dev: libpciaccess-devel
libssl-dev: openssl-devel libssl-dev: openssl-devel
@@ -89,7 +86,6 @@ steps:
- ${{ if eq(parameters.registerROCmPackages, true) }}: - ${{ if eq(parameters.registerROCmPackages, true) }}:
- task: Bash@3 - task: Bash@3
displayName: 'Register AMDGPU & ROCm repos (dnf)' displayName: 'Register AMDGPU & ROCm repos (dnf)'
retryCountOnTaskFailure: 3
inputs: inputs:
targetType: inline targetType: inline
script: | script: |
@@ -110,13 +106,12 @@ steps:
sudo dnf makecache sudo dnf makecache
- task: Bash@3 - task: Bash@3
displayName: 'Install base dnf packages' displayName: 'Install base dnf packages'
retryCountOnTaskFailure: 3
inputs: inputs:
targetType: inline targetType: inline
script: | script: |
sudo dnf config-manager --set-enabled powertools
# rpm fusion free repo for some dependencies # rpm fusion free repo for some dependencies
sudo dnf config-manager --set-enabled powertools && \ sudo dnf -y install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
sudo dnf -y install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm && \
sudo dnf -y install ${{ join(' ', parameters.basePackages) }} sudo dnf -y install ${{ join(' ', parameters.basePackages) }}
- task: Bash@3 - task: Bash@3
displayName: 'Check gcc environment' displayName: 'Check gcc environment'
@@ -130,7 +125,6 @@ steps:
g++ -print-file-name=libstdc++.so g++ -print-file-name=libstdc++.so
- task: Bash@3 - task: Bash@3
displayName: 'Set python 3.11 as default' displayName: 'Set python 3.11 as default'
retryCountOnTaskFailure: 3
inputs: inputs:
targetType: inline targetType: inline
script: | script: |
@@ -145,20 +139,18 @@ steps:
- ${{ if eq(pkg, 'ninja-build') }}: - ${{ if eq(pkg, 'ninja-build') }}:
- task: Bash@3 - task: Bash@3
displayName: 'Install ninja 1.11.1' displayName: 'Install ninja 1.11.1'
retryCountOnTaskFailure: 3
inputs: inputs:
targetType: inline targetType: inline
script: | script: |
sudo dnf -y install unzip && \ curl -LO https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-linux.zip
curl -LO https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-linux.zip && \ sudo dnf -y install unzip
unzip ninja-linux.zip && \ unzip ninja-linux.zip
sudo mv ninja /usr/local/bin/ninja && \ sudo mv ninja /usr/local/bin/ninja
sudo chmod +x /usr/local/bin/ninja && \ sudo chmod +x /usr/local/bin/ninja
echo "##vso[task.prependpath]/usr/local/bin" echo "##vso[task.prependpath]/usr/local/bin"
- ${{ if ne(parameters.aptToDnfMap[pkg], '') }}: - ${{ if ne(parameters.aptToDnfMap[pkg], '') }}:
- task: Bash@3 - task: Bash@3
displayName: 'dnf install ${{ parameters.aptToDnfMap[pkg] }}' displayName: 'dnf install ${{ parameters.aptToDnfMap[pkg] }}'
retryCountOnTaskFailure: 3
inputs: inputs:
targetType: inline targetType: inline
script: | script: |

View File

@@ -27,7 +27,6 @@ steps:
- ${{ if gt(length(parameters.pipModules), 0) }}: - ${{ if gt(length(parameters.pipModules), 0) }}:
- task: Bash@3 - task: Bash@3
displayName: 'pip install ...' displayName: 'pip install ...'
retryCountOnTaskFailure: 3
inputs: inputs:
targetType: inline targetType: inline
script: python3 -m pip install -v --force-reinstall ${{ join(' ', parameters.pipModules) }} script: python3 -m pip install -v --force-reinstall ${{ join(' ', parameters.pipModules) }}

View File

@@ -3,6 +3,13 @@ parameters:
- name: checkoutRef - name: checkoutRef
type: string type: string
default: '' default: ''
- name: dependencySource # optional, overrides checkoutRef
type: string
default: null
values:
- null # empty strings aren't allowed as values, use null instead
- staging
- mainline
- name: dependencyList - name: dependencyList
type: object type: object
default: [] default: []
@@ -12,6 +19,16 @@ parameters:
- name: gpuTarget - name: gpuTarget
type: string type: string
default: '' default: ''
# set to true if you're calling this template file multiple files in same pipeline
# only leave last call false to optimize sequence
- name: skipLibraryLinking
type: boolean
default: false
# set to true if llvm-project is not downloaded in a particular call
# or if you just don't want the symlink
- name: skipLlvmSymlink
type: boolean
default: false
# set to true if dlopen calls for HIP libraries are causing failures # set to true if dlopen calls for HIP libraries are causing failures
# because they do not follow shared library symlink convention # because they do not follow shared library symlink convention
- name: setupHIPLibrarySymlinks - name: setupHIPLibrarySymlinks
@@ -31,248 +48,309 @@ parameters:
type: object type: object
default: default:
AMDMIGraphX: AMDMIGraphX:
pipelineId: 113 pipelineId: $(AMDMIGRAPHX_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: master
hasGpuTarget: true hasGpuTarget: true
amdsmi: amdsmi:
pipelineId: 99 pipelineId: $(AMDSMI_PIPELINE_ID)
developBranch: amd-staging stagingBranch: amd-staging
mainlineBranch: amd-mainline
hasGpuTarget: false hasGpuTarget: false
aomp-extras: aomp-extras:
pipelineId: 111 pipelineId: $(AOMP_EXTRAS_PIPELINE_ID)
developBranch: aomp-dev stagingBranch: aomp-dev
mainlineBranch: aomp-dev
hasGpuTarget: false hasGpuTarget: false
aomp: aomp:
pipelineId: 115 pipelineId: $(AOMP_PIPELINE_ID)
developBranch: aomp-dev stagingBranch: aomp-dev
hasGpuTarget: false mainlineBranch: amd-mainline
aqlprofile:
pipelineId: 365
developBranch: develop
hasGpuTarget: false hasGpuTarget: false
clr: clr:
pipelineId: 335 pipelineId: $(CLR_PIPELINE_ID)
developBranch: develop stagingBranch: amd-staging
mainlineBranch: amd-mainline
hasGpuTarget: false hasGpuTarget: false
composable_kernel: composable_kernel:
pipelineId: 86 pipelineId: $(COMPOSABLE_KERNEL_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: mainline
hasGpuTarget: true hasGpuTarget: true
half: half:
pipelineId: 101 pipelineId: $(HALF_PIPELINE_ID)
developBranch: rocm stagingBranch: rocm
mainlineBranch: rocm
hasGpuTarget: false hasGpuTarget: false
HIP: HIP:
pipelineId: 335 pipelineId: $(HIP_PIPELINE_ID)
developBranch: develop stagingBranch: amd-staging
mainlineBranch: amd-mainline
hasGpuTarget: false hasGpuTarget: false
hip-tests: hip-tests:
pipelineId: 362 pipelineId: $(HIP_TESTS_PIPELINE_ID)
developBranch: develop stagingBranch: amd-staging
mainlineBranch: amd-mainline
hasGpuTarget: false hasGpuTarget: false
hipBLAS: hipBLAS:
pipelineId: 317 pipelineId: $(HIPBLAS_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: mainline
hasGpuTarget: true hasGpuTarget: true
hipBLASLt: hipBLASLt:
pipelineId: 301 pipelineId: $(HIPBLASLT_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: mainline
hasGpuTarget: true hasGpuTarget: true
hipBLAS-common: hipBLAS-common:
pipelineId: 300 pipelineId: $(HIPBLAS_COMMON_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: mainline
hasGpuTarget: false hasGpuTarget: false
hipCUB: hipCUB:
pipelineId: 277 pipelineId: $(HIPCUB_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: develop
hasGpuTarget: true hasGpuTarget: true
hipFFT: hipFFT:
pipelineId: 283 pipelineId: $(HIPFFT_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: mainline
hasGpuTarget: true hasGpuTarget: true
hipfort: hipfort:
pipelineId: 102 pipelineId: $(HIPFORT_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: mainline
hasGpuTarget: false hasGpuTarget: false
HIPIFY: HIPIFY:
pipelineId: 92 pipelineId: $(HIPIFY_PIPELINE_ID)
developBranch: amd-staging stagingBranch: amd-staging
mainlineBranch: amd-mainline
hasGpuTarget: false hasGpuTarget: false
hipRAND: hipRAND:
pipelineId: 275 pipelineId: $(HIPRAND_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: develop
hasGpuTarget: true hasGpuTarget: true
hipSOLVER: hipSOLVER:
pipelineId: 84 pipelineId: $(HIPSOLVER_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: mainline
hasGpuTarget: true hasGpuTarget: true
hipSPARSE: hipSPARSE:
pipelineId: 315 pipelineId: $(HIPSPARSE_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: mainline
hasGpuTarget: true hasGpuTarget: true
hipSPARSELt: hipSPARSELt:
pipelineId: 309 pipelineId: $(HIPSPARSELT_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: mainline
hasGpuTarget: true hasGpuTarget: true
hipTensor: hipTensor:
pipelineId: 105 pipelineId: $(HIPTENSOR_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: mainline
hasGpuTarget: true hasGpuTarget: true
llvm-project: llvm-project:
pipelineId: 2 pipelineId: $(LLVM_PROJECT_PIPELINE_ID)
developBranch: amd-staging stagingBranch: amd-staging
mainlineBranch: amd-mainline
hasGpuTarget: false hasGpuTarget: false
MIOpen: MIOpen:
pipelineId: 320 pipelineId: $(MIOpen_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: amd-master
hasGpuTarget: true hasGpuTarget: true
MIVisionX: MIVisionX:
pipelineId: 80 pipelineId: $(MIVISIONX_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: master
hasGpuTarget: true hasGpuTarget: true
origami: omnitrace: # deprecated
pipelineId: 364 pipelineId: $(OMNITRACE_PIPELINE_ID)
developBranch: develop stagingBranch: amd-staging
mainlineBranch: amd-mainline
hasGpuTarget: true hasGpuTarget: true
rccl: rccl:
pipelineId: 107 pipelineId: $(RCCL_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: mainline
hasGpuTarget: true hasGpuTarget: true
rdc: rdc:
pipelineId: 360 pipelineId: $(RDC_PIPELINE_ID)
developBranch: develop stagingBranch: amd-staging
mainlineBranch: amd-mainline
hasGpuTarget: false hasGpuTarget: false
rocAL: rocAL:
pipelineId: 151 pipelineId: $(ROCAL_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: mainline
hasGpuTarget: true hasGpuTarget: true
rocALUTION: rocALUTION:
pipelineId: 89 pipelineId: $(ROCALUTION_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: mainline
hasGpuTarget: true hasGpuTarget: true
rocBLAS: rocBLAS:
pipelineId: 302 pipelineId: $(ROCBLAS_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: mainline
hasGpuTarget: true hasGpuTarget: true
ROCdbgapi: ROCdbgapi:
pipelineId: 135 pipelineId: $(ROCDBGAPI_PIPELINE_ID)
developBranch: amd-staging stagingBranch: amd-staging
mainlineBranch: amd-mainline
hasGpuTarget: false hasGpuTarget: false
rocDecode: rocDecode:
pipelineId: 79 pipelineId: $(ROCDECODE_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: mainline
hasGpuTarget: false hasGpuTarget: false
rocFFT: rocFFT:
pipelineId: 282 pipelineId: $(ROCFFT_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: mainline
hasGpuTarget: true hasGpuTarget: true
ROCgdb: ROCgdb:
pipelineId: 134 pipelineId: $(ROCGDB_PIPELINE_ID)
developBranch: amd-staging stagingBranch: amd-staging
mainlineBranch: amd-mainline-rocgdb-15
hasGpuTarget: false hasGpuTarget: false
rocJPEG: rocJPEG:
pipelineId: 262 pipelineId: $(ROCJPEG_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: mainline
hasGpuTarget: false hasGpuTarget: false
rocm-cmake: rocm-cmake:
pipelineId: 6 pipelineId: $(ROCM_CMAKE_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: mainline
hasGpuTarget: false hasGpuTarget: false
rocm-core: rocm-core:
pipelineId: 349 pipelineId: $(ROCM_CORE_PIPELINE_ID)
developBranch: develop stagingBranch: master
mainlineBranch: amd-master
hasGpuTarget: false hasGpuTarget: false
rocm-examples: rocm-examples:
pipelineId: 216 pipelineId: $(ROCM_EXAMPLES_PIPELINE_ID)
developBranch: amd-staging stagingBranch: amd-staging
mainlineBranch: amd-mainline
hasGpuTarget: true hasGpuTarget: true
rocminfo: rocminfo:
pipelineId: 356 pipelineId: $(ROCMINFO_PIPELINE_ID)
developBranch: develop stagingBranch: amd-staging
mainlineBranch: amd-mainline
hasGpuTarget: false hasGpuTarget: false
rocMLIR: rocMLIR:
pipelineId: 229 pipelineId: $(ROCMLIR_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: mainline
hasGpuTarget: false hasGpuTarget: false
ROCmValidationSuite: ROCmValidationSuite:
pipelineId: 106 pipelineId: $(ROCMVALIDATIONSUITE_PIPELINE_ID)
developBranch: master stagingBranch: master
mainlineBranch: master
hasGpuTarget: true hasGpuTarget: true
rocm_bandwidth_test: rocm_bandwidth_test:
pipelineId: 88 pipelineId: $(ROCM_BANDWIDTH_TEST_PIPELINE_ID)
developBranch: master stagingBranch: master
mainlineBranch: master
hasGpuTarget: false hasGpuTarget: false
rocm_smi_lib: rocm_smi_lib:
pipelineId: 358 pipelineId: $(ROCM_SMI_LIB_PIPELINE_ID)
developBranch: develop stagingBranch: amd-staging
mainlineBranch: amd-mainline
hasGpuTarget: false hasGpuTarget: false
rocPRIM: rocPRIM:
pipelineId: 273 pipelineId: $(ROCPRIM_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: develop
hasGpuTarget: true hasGpuTarget: true
rocprofiler: rocprofiler:
pipelineId: 329 pipelineId: $(ROCPROFILER_PIPELINE_ID)
developBranch: develop stagingBranch: amd-staging
mainlineBranch: amd-master
hasGpuTarget: true hasGpuTarget: true
rocprofiler-compute: rocprofiler-compute:
pipelineId: 344 pipelineId: $(ROCPROFILER_COMPUTE_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: amd-mainline
hasGpuTarget: true hasGpuTarget: true
rocprofiler-register: rocprofiler-register:
pipelineId: 327 pipelineId: $(ROCPROFILER_REGISTER_PIPELINE_ID)
developBranch: develop stagingBranch: amd-staging
mainlineBranch: amd-mainline
hasGpuTarget: false hasGpuTarget: false
rocprofiler-sdk: rocprofiler-sdk:
pipelineId: 347 pipelineId: $(ROCPROFILER_SDK_PIPELINE_ID)
developBranch: develop stagingBranch: amd-staging
mainlineBranch: amd-mainline
hasGpuTarget: true hasGpuTarget: true
rocprofiler-systems: rocprofiler-systems:
pipelineId: 345 pipelineId: $(ROCPROFILER_SYSTEMS_PIPELINE_ID)
developBranch: develop stagingBranch: amd-staging
mainlineBranch: amd-mainline
hasGpuTarget: true hasGpuTarget: true
rocPyDecode: rocPyDecode:
pipelineId: 239 pipelineId: $(ROCPYDECODE_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: mainline
hasGpuTarget: true hasGpuTarget: true
ROCR-Runtime: ROCR-Runtime:
pipelineId: 354 pipelineId: $(ROCR_RUNTIME_PIPELINE_ID)
developBranch: develop stagingBranch: amd-staging
mainlineBranch: amd-mainline
hasGpuTarget: false hasGpuTarget: false
rocRAND: rocRAND:
pipelineId: 274 pipelineId: $(ROCRAND_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: develop
hasGpuTarget: true hasGpuTarget: true
rocr_debug_agent: rocr_debug_agent:
pipelineId: 136 pipelineId: $(ROCR_DEBUG_AGENT_PIPELINE_ID)
developBranch: amd-staging stagingBranch: amd-staging
mainlineBranch: amd-mainline
hasGpuTarget: false hasGpuTarget: false
rocSOLVER: rocSOLVER:
pipelineId: 81 pipelineId: $(ROCSOLVER_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: mainline
hasGpuTarget: true hasGpuTarget: true
rocSPARSE: rocSPARSE:
pipelineId: 314 pipelineId: $(ROCSPARSE_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: mainline
hasGpuTarget: true hasGpuTarget: true
ROCT-Thunk-Interface: # deprecated
pipelineId: $(ROCT_THUNK_INTERFACE_PIPELINE_ID)
stagingBranch: master
mainlineBranch: master
hasGpuTarget: false
rocThrust: rocThrust:
pipelineId: 276 pipelineId: $(ROCTHRUST_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: develop
hasGpuTarget: true hasGpuTarget: true
roctracer: roctracer:
pipelineId: 331 pipelineId: $(ROCTRACER_PIPELINE_ID)
developBranch: develop stagingBranch: amd-staging
mainlineBranch: amd-mainline
hasGpuTarget: true hasGpuTarget: true
rocWMMA: rocWMMA:
pipelineId: 109 pipelineId: $(ROCWMMA_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: mainline
hasGpuTarget: true hasGpuTarget: true
rpp: rpp:
pipelineId: 78 pipelineId: $(RPP_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: mainline
hasGpuTarget: true hasGpuTarget: true
TransferBench: TransferBench:
pipelineId: 265 pipelineId: $(TRANSFERBENCH_PIPELINE_ID)
developBranch: develop stagingBranch: develop
mainlineBranch: mainline
hasGpuTarget: true hasGpuTarget: true
steps: steps:
@@ -288,44 +366,72 @@ steps:
parameters: parameters:
componentName: ${{ split(dependency, ':')[0] }} componentName: ${{ split(dependency, ':')[0] }}
pipelineId: ${{ parameters.componentVarList[split(dependency, ':')[0]].pipelineId }} pipelineId: ${{ parameters.componentVarList[split(dependency, ':')[0]].pipelineId }}
branchName: ${{ parameters.componentVarList[split(dependency, ':')[0]].developBranch }}
aggregatePipeline: ${{ parameters.aggregatePipeline }} aggregatePipeline: ${{ parameters.aggregatePipeline }}
extractAndDeleteFiles: false ${{ if parameters.componentVarList[split(dependency, ':')[0]].hasGpuTarget }}:
fileFilter: "${{ split(dependency, ':')[1] }}*_${{ parameters.os }}_${{ parameters.gpuTarget }}"
# dependencySource = staging
${{ if eq(parameters.dependencySource, 'staging')}}:
branchName: ${{ parameters.componentVarList[split(dependency, ':')[0]].stagingBranch }}
# dependencySource = mainline
${{ elseif eq(parameters.dependencySource, 'mainline')}}:
branchName: ${{ parameters.componentVarList[split(dependency, ':')[0]].mainlineBranch }}
# checkoutRef = staging
${{ elseif eq(parameters.checkoutRef, parameters.componentVarList[variables['Build.DefinitionName']].stagingBranch) }}:
branchName: ${{ parameters.componentVarList[split(dependency, ':')[0]].stagingBranch }}
# checkoutRef = mainline
${{ elseif eq(parameters.checkoutRef, parameters.componentVarList[variables['Build.DefinitionName']].mainlineBranch) }}:
branchName: ${{ parameters.componentVarList[split(dependency, ':')[0]].mainlineBranch }}
# SourceBranchName = staging
${{ elseif eq(variables['Build.SourceBranchName'], parameters.componentVarlist[variables['Build.DefinitionName']].stagingBranch) }}:
branchName: ${{ parameters.componentVarList[split(dependency, ':')[0]].stagingBranch }}
# SourceBranchName = mainline
${{ elseif eq(variables['Build.SourceBranchName'], parameters.componentVarlist[variables['Build.DefinitionName']].mainlineBranch) }}:
branchName: ${{ parameters.componentVarList[split(dependency, ':')[0]].mainlineBranch }}
# default = staging
${{ else }}:
branchName: ${{ parameters.componentVarList[split(dependency, ':')[0]].stagingBranch }}
# no colon (:) found in this item in the list # no colon (:) found in this item in the list
- ${{ elseif containsValue(split(parameters.downstreamAggregateNames, '+'), dependency) }}: - ${{ elseif containsValue(split(parameters.downstreamAggregateNames, '+'), dependency) }}:
- template: local-artifact-download.yml - template: local-artifact-download.yml
parameters: parameters:
buildType: current
preTargetFilter: ${{ dependency }}
os: ${{ parameters.os }}
${{ if parameters.componentVarList[dependency].hasGpuTarget }}: ${{ if parameters.componentVarList[dependency].hasGpuTarget }}:
gpuTarget: ${{ parameters.gpuTarget }} gpuTarget: ${{ parameters.gpuTarget }}
preTargetFilter: ${{ dependency }}
os: ${{ parameters.os }}
buildType: current
- ${{ else }}: - ${{ else }}:
- template: artifact-download.yml - template: artifact-download.yml
parameters: parameters:
componentName: ${{ dependency }} componentName: ${{ dependency }}
pipelineId: ${{ parameters.componentVarList[dependency].pipelineId }} pipelineId: ${{ parameters.componentVarList[dependency].pipelineId }}
branchName: ${{ parameters.componentVarList[dependency].developBranch }}
aggregatePipeline: ${{ parameters.aggregatePipeline }} aggregatePipeline: ${{ parameters.aggregatePipeline }}
extractAndDeleteFiles: false
${{ if parameters.componentVarList[dependency].hasGpuTarget }}: ${{ if parameters.componentVarList[dependency].hasGpuTarget }}:
fileFilter: ${{ parameters.os }}_${{ parameters.gpuTarget }} fileFilter: ${{ parameters.os }}_${{ parameters.gpuTarget }}
${{ else }}: ${{ else }}:
fileFilter: ${{ parameters.os }} fileFilter: ${{ parameters.os }}
- task: ExtractFiles@1 # dependencySource = staging
displayName: Extract ROCm artifacts ${{ if eq(parameters.dependencySource, 'staging')}}:
inputs: branchName: ${{ parameters.componentVarList[dependency].stagingBranch }}
archiveFilePatterns: $(Pipeline.Workspace)/d/**/*.tar.gz # dependencySource = mainline
destinationFolder: $(Agent.BuildDirectory)/rocm ${{ elseif eq(parameters.dependencySource, 'mainline')}}:
cleanDestinationFolder: false branchName: ${{ parameters.componentVarList[dependency].mainlineBranch }}
overwriteExistingFiles: true # checkoutRef = staging
- task: DeleteFiles@1 ${{ elseif eq(parameters.checkoutRef, parameters.componentVarList[variables['Build.DefinitionName']].stagingBranch) }}:
displayName: Clean up ROCm artifacts branchName: ${{ parameters.componentVarList[dependency].stagingBranch }}
inputs: # checkoutRef = mainline
SourceFolder: $(Pipeline.Workspace)/d ${{ elseif eq(parameters.checkoutRef, parameters.componentVarList[variables['Build.DefinitionName']].mainlineBranch) }}:
Contents: '**/*.tar.gz' branchName: ${{ parameters.componentVarList[dependency].mainlineBranch }}
RemoveDotFiles: true # SourceBranchName = staging
- ${{ if containsValue(parameters.dependencyList, 'llvm-project') }}: ${{ elseif eq(variables['Build.SourceBranchName'], parameters.componentVarlist[variables['Build.DefinitionName']].stagingBranch) }}:
branchName: ${{ parameters.componentVarList[dependency].stagingBranch }}
# SourceBranchName = mainline
${{ elseif eq(variables['Build.SourceBranchName'], parameters.componentVarlist[variables['Build.DefinitionName']].mainlineBranch) }}:
branchName: ${{ parameters.componentVarList[dependency].mainlineBranch }}
# default = staging
${{ else }}:
branchName: ${{ parameters.componentVarList[dependency].stagingBranch }}
# Set link to redirect llvm folder
- ${{ if eq(parameters.skipLlvmSymlink, false) }}:
- task: Bash@3 - task: Bash@3
displayName: Symlink from rocm/llvm to rocm/lib/llvm displayName: Symlink from rocm/llvm to rocm/lib/llvm
inputs: inputs:
@@ -333,7 +439,6 @@ steps:
script: | script: |
sudo mkdir -p $(Agent.BuildDirectory)/rocm/lib sudo mkdir -p $(Agent.BuildDirectory)/rocm/lib
sudo ln -sr $(Agent.BuildDirectory)/rocm/llvm $(Agent.BuildDirectory)/rocm/lib/llvm sudo ln -sr $(Agent.BuildDirectory)/rocm/llvm $(Agent.BuildDirectory)/rocm/lib/llvm
echo "Created symlink from rocm/llvm to rocm/lib/llvm"
- task: Bash@3 - task: Bash@3
displayName: Symlink executables from rocm/llvm/bin to rocm/bin displayName: Symlink executables from rocm/llvm/bin to rocm/bin
inputs: inputs:
@@ -341,14 +446,7 @@ steps:
script: | script: |
for file in amdclang amdclang++ amdclang-cl amdclang-cpp amdflang amdlld aompcc mygpu mycpu offload-arch; do for file in amdclang amdclang++ amdclang-cl amdclang-cpp amdflang amdlld aompcc mygpu mycpu offload-arch; do
sudo ln -sr $(Agent.BuildDirectory)/rocm/llvm/bin/$file $(Agent.BuildDirectory)/rocm/bin/$file sudo ln -sr $(Agent.BuildDirectory)/rocm/llvm/bin/$file $(Agent.BuildDirectory)/rocm/bin/$file
echo "Created symlink from rocm/llvm/bin/$file to rocm/bin/$file"
done done
- ${{ if containsValue(parameters.dependencyList, 'rocm-core') }}:
- task: Bash@3
displayName: Print rocm/.info/version
inputs:
targetType: inline
script: cat $(Agent.BuildDirectory)/rocm/.info/version
# dlopen calls within a ctest or pytest sequence runs into issues when shared library symlink convention is not followed # dlopen calls within a ctest or pytest sequence runs into issues when shared library symlink convention is not followed
# the convention is as follows: # the convention is as follows:
# unversioned .so is a symlink to major version .so # unversioned .so is a symlink to major version .so
@@ -385,16 +483,17 @@ steps:
inputs: inputs:
targetType: inline targetType: inline
script: ls -la1R $(Agent.BuildDirectory)/rocm script: ls -la1R $(Agent.BuildDirectory)/rocm
- task: Bash@3 - ${{ if eq(parameters.skipLibraryLinking, false) }}:
displayName: 'Link ROCm shared libraries' - task: Bash@3
inputs: displayName: 'Link ROCm shared libraries'
targetType: inline inputs:
# OS ignores if the ROCm lib folder shows up more than once targetType: inline
script: | # OS ignores if the ROCm lib folder shows up more than once
echo $(Agent.BuildDirectory)/rocm/lib | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf script: |
echo $(Agent.BuildDirectory)/rocm/llvm/lib | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf echo $(Agent.BuildDirectory)/rocm/lib | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf
echo $(Agent.BuildDirectory)/rocm/lib64 | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf echo $(Agent.BuildDirectory)/rocm/llvm/lib | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf
echo $(Agent.BuildDirectory)/rocm/llvm/lib64 | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf echo $(Agent.BuildDirectory)/rocm/lib64 | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf
sudo cat /etc/ld.so.conf.d/rocm-ci.conf echo $(Agent.BuildDirectory)/rocm/llvm/lib64 | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf
sudo ldconfig -v sudo cat /etc/ld.so.conf.d/rocm-ci.conf
ldconfig -p sudo ldconfig -v
ldconfig -p

View File

@@ -8,20 +8,15 @@ parameters:
type: object type: object
default: default:
boost: 250 boost: 250
catch2: 343
fmtlib: 341
grpc: 72 grpc: 72
gtest: 73 gtest: 73
half560: 68 half560: 68
lapack: 69 lapack: 69
libdivide: 342
spdlog: 340
steps: steps:
- ${{ each dependency in parameters.dependencyList }}: - ${{ each dependency in parameters.dependencyList }}:
- task: DownloadPipelineArtifact@2 - task: DownloadPipelineArtifact@2
displayName: Download ${{ dependency }} displayName: Download ${{ dependency }}
retryCountOnTaskFailure: 3
inputs: inputs:
project: ROCm-CI project: ROCm-CI
buildType: specific buildType: specific
@@ -33,7 +28,7 @@ steps:
inputs: inputs:
archiveFilePatterns: '$(Pipeline.Workspace)/d/**/*.tar.gz' archiveFilePatterns: '$(Pipeline.Workspace)/d/**/*.tar.gz'
destinationFolder: $(Agent.BuildDirectory)/vendor destinationFolder: $(Agent.BuildDirectory)/vendor
cleanDestinationFolder: false cleanDestinationFolder: true
overwriteExistingFiles: true overwriteExistingFiles: true
- task: DeleteFiles@1 - task: DeleteFiles@1
displayName: Clean up ${{ dependency }} displayName: Clean up ${{ dependency }}

View File

@@ -33,7 +33,6 @@ parameters:
steps: steps:
- task: DownloadPipelineArtifact@2 - task: DownloadPipelineArtifact@2
displayName: Download ${{ parameters.preTargetFilter}}*${{ parameters.os }}_${{ parameters.gpuTarget}}*${{ parameters.postTargetFilter}} displayName: Download ${{ parameters.preTargetFilter}}*${{ parameters.os }}_${{ parameters.gpuTarget}}*${{ parameters.postTargetFilter}}
retryCountOnTaskFailure: 3
inputs: inputs:
${{ if eq(parameters.buildType, 'specific') }}: ${{ if eq(parameters.buildType, 'specific') }}:
buildType: specific buildType: specific

View File

@@ -23,14 +23,13 @@ steps:
inputs: inputs:
targetType: inline targetType: inline
script: | script: |
${{ iif(or(eq(parameters.os, 'ubuntu2204'), eq(parameters.os, 'ubuntu2404')), 'sudo apt-get install -y jq', '') }} sudo apt-get install -y jq
# RESOURCES_REPOSITORIES is a runtime variable (not an env var!) that contains quotations and newlines # 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 # So we need to save it to a file to properly preserve its formatting and contents
cat <<EOF > resources.repositories cat <<EOF > resources.repositories
$(RESOURCES_REPOSITORIES) $(RESOURCES_REPOSITORIES)
EOF EOF
echo "Value of resources.repositories:"
cat resources.repositories cat resources.repositories
IS_TAG_BUILD=$(jq 'has("release_repo")' resources.repositories) IS_TAG_BUILD=$(jq 'has("release_repo")' resources.repositories)
@@ -67,6 +66,8 @@ steps:
) )
' resources.repositories) ' resources.repositories)
manifest_json=$(Build.ArtifactStagingDirectory)/manifest_${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.json
dependencies=() dependencies=()
for manifest_file in $(Pipeline.Workspace)/d/**/manifest_*.json; do for manifest_file in $(Pipeline.Workspace)/d/**/manifest_*.json; do
echo "Processing $manifest_file" echo "Processing $manifest_file"
@@ -77,10 +78,6 @@ steps:
done done
dependencies_json=$(printf '%s\n' "${dependencies[@]}" | jq -s '.') dependencies_json=$(printf '%s\n' "${dependencies[@]}" | jq -s '.')
manifest_filename="manifest_${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}"
echo "##vso[task.setvariable variable=manifest_filename]$manifest_filename"
manifest_json=$(Build.ArtifactStagingDirectory)/$manifest_filename.json
jq -n \ jq -n \
--argjson current "$current" \ --argjson current "$current" \
--argjson dependencies "$dependencies_json" \ --argjson dependencies "$dependencies_json" \
@@ -114,14 +111,8 @@ steps:
') ')
dependencies_rows=$(echo $dependencies_rows) dependencies_rows=$(echo $dependencies_rows)
echo "##vso[task.setvariable variable=dependencies_rows;]$dependencies_rows" echo "##vso[task.setvariable variable=dependencies_rows;]$dependencies_rows"
- task: Bash@3
displayName: Print manifest.json cat $manifest_json
condition: always()
continueOnError: true
inputs:
targetType: inline
script: |
cat $(Build.ArtifactStagingDirectory)/$(manifest_filename).json
- task: Bash@3 - task: Bash@3
displayName: Create manifest.html displayName: Create manifest.html
condition: always() condition: always()
@@ -129,10 +120,10 @@ steps:
inputs: inputs:
targetType: inline targetType: inline
script: | script: |
manifest_html="$(Build.ArtifactStagingDirectory)/$(manifest_filename).html" manifest_html=$(Build.ArtifactStagingDirectory)/manifest_${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.html
cat <<EOF > $manifest_html cat <<EOF > $manifest_html
<html> <html>
<h1>$(manifest_filename)</h1> <h1>Manifest</h1>
<h2>Current</h2> <h2>Current</h2>
<table border="1"> <table border="1">
<tr> <tr>
@@ -172,7 +163,7 @@ steps:
continueOnError: true continueOnError: true
inputs: inputs:
tabName: Manifest tabName: Manifest
reportDir: $(Build.ArtifactStagingDirectory)/$(manifest_filename).html reportDir: $(Build.ArtifactStagingDirectory)/manifest_${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.html
- task: Bash@3 - task: Bash@3
displayName: Save manifest artifact file name displayName: Save manifest artifact file name
condition: always() condition: always()
@@ -181,5 +172,5 @@ steps:
workingDirectory: $(Pipeline.Workspace) workingDirectory: $(Pipeline.Workspace)
targetType: inline targetType: inline
script: | script: |
echo "$(manifest_filename).html" >> pipelineArtifacts.txt echo "manifest_${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.html" >> pipelineArtifacts.txt
echo "$(manifest_filename).json" >> pipelineArtifacts.txt echo "manifest_${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.json" >> pipelineArtifacts.txt

View File

@@ -7,16 +7,17 @@ steps:
- task: Bash@3 - task: Bash@3
name: downloadCKBuild name: downloadCKBuild
displayName: Download specific CK build displayName: Download specific CK build
retryCountOnTaskFailure: 3 continueOnError: true
env: env:
CXX: $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ CXX: $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
CC: $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang CC: $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
inputs: inputs:
targetType: inline targetType: inline
workingDirectory: $(Agent.BuildDirectory)/s workingDirectory: $(Build.SourcesDirectory)
script: | script: |
AZ_API="https://dev.azure.com/ROCm-CI/ROCm-CI/_apis" AZ_API="https://dev.azure.com/ROCm-CI/ROCm-CI/_apis"
GH_API="https://api.github.com/repos/ROCm" GH_API="https://api.github.com/repos/ROCm"
ARTIFACT_NAME="composablekernelbuild${{ parameters.gpuTarget }}"
EXIT_CODE=0 EXIT_CODE=0
# Try to find an Azure build for the specific CK commit called out in MIOpen's requirements.txt # Try to find an Azure build for the specific CK commit called out in MIOpen's requirements.txt
@@ -38,15 +39,8 @@ steps:
echo "Found specific CK build ID: $CK_BUILD_ID" echo "Found specific CK build ID: $CK_BUILD_ID"
fi fi
AZURE_URL="$AZ_API/build/builds/$CK_BUILD_ID/artifacts?api-version=7.1" AZURE_URL="$AZ_API/build/builds/$CK_BUILD_ID/artifacts?artifactName=$ARTIFACT_NAME&api-version=7.1"
ARTIFACT_URL=$(curl -s $AZURE_URL | \ ARTIFACT_URL=$(curl -s $AZURE_URL | jq '.resource.downloadUrl' | tr -d '"')
jq --arg gfx "${{ parameters.gpuTarget }}" '
.value
| map(select(.name | test($gfx)))
| max_by(.name | capture("_(?<dropNumber>\\d+)").dropNumber | tonumber)
| .resource.downloadUrl
' | \
tr -d '"')
# If using the specific CK commit and it doesn't have any valid artifacts, use latest successful CK build instead # If using the specific CK commit and it doesn't have any valid artifacts, use latest successful CK build instead
if { [[ -z "$ARTIFACT_URL" ]] || [[ "$ARTIFACT_URL" == "null" ]]; } && [[ $EXIT_CODE -eq 0 ]]; then if { [[ -z "$ARTIFACT_URL" ]] || [[ "$ARTIFACT_URL" == "null" ]]; } && [[ $EXIT_CODE -eq 0 ]]; then
@@ -54,45 +48,17 @@ steps:
LATEST_BUILD_URL="$AZ_API/build/builds?definitions=$(COMPOSABLE_KERNEL_PIPELINE_ID)&statusFilter=completed&resultFilter=succeeded&\$top=1&api-version=7.1" LATEST_BUILD_URL="$AZ_API/build/builds?definitions=$(COMPOSABLE_KERNEL_PIPELINE_ID)&statusFilter=completed&resultFilter=succeeded&\$top=1&api-version=7.1"
CK_BUILD_ID=$(curl -s $LATEST_BUILD_URL | jq '.value[0].id') CK_BUILD_ID=$(curl -s $LATEST_BUILD_URL | jq '.value[0].id')
echo "Found latest CK build ID: $CK_BUILD_ID" echo "Found latest CK build ID: $CK_BUILD_ID"
AZURE_URL="$AZ_API/build/builds/$CK_BUILD_ID/artifacts?api-version=7.1" AZURE_URL="$AZ_API/build/builds/$CK_BUILD_ID/artifacts?artifactName=$ARTIFACT_NAME&api-version=7.1"
ARTIFACT_URL=$(curl -s $AZURE_URL | \ ARTIFACT_URL=$(curl -s $AZURE_URL | jq '.resource.downloadUrl' | tr -d '"')
jq --arg os "ubuntu2204" --arg gfx "${{ parameters.gpuTarget }}" '
.value
| map(select(.name | test($os) and test($gfx)))
| max_by(.name | capture("_(?<dropNumber>\\d+)").dropNumber | tonumber)
| .resource.downloadUrl
' | \
tr -d '"')
EXIT_CODE=2 EXIT_CODE=2
fi fi
echo "Downloading CK artifact from $ARTIFACT_URL" echo "Downloading CK artifact from $ARTIFACT_URL"
wget --tries=5 --waitretry=10 --retry-connrefused -nv $ARTIFACT_URL -O $(System.ArtifactsDirectory)/ck.zip
RETRIES=0 unzip $(System.ArtifactsDirectory)/ck.zip -d $(System.ArtifactsDirectory)
MAX_RETRIES=5 mkdir -p $(Agent.BuildDirectory)/rocm
SUCCESS=false tar -zxvf $(System.ArtifactsDirectory)/$ARTIFACT_NAME/*.tar.gz -C $(Agent.BuildDirectory)/rocm
while [ $RETRIES -lt $MAX_RETRIES ]; do rm -r $(System.ArtifactsDirectory)/ck.zip $(System.ArtifactsDirectory)/$ARTIFACT_NAME
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)/composable_kernel*/*.tar.gz -C $(Agent.BuildDirectory)/rocm && \
rm -r $(System.ArtifactsDirectory)/ck.zip $(System.ArtifactsDirectory)/composable_kernel*
if [ $? -eq 0 ]; then
SUCCESS=true
echo "Successfully downloaded CK."
break
else
RETRIES=$((RETRIES + 1))
echo "Failed to download CK on attempt $RETRIES/$MAX_RETRIES, retrying..."
sleep 1
fi
done
if [ "$SUCCESS" = false ]; then
echo "ERROR: failed to download CK after $MAX_RETRIES attempts."
exit 1
fi
if [[ $EXIT_CODE -ne 0 ]]; then if [[ $EXIT_CODE -ne 0 ]]; then
BUILD_COMMIT=$(curl -s $AZ_API/build/builds/$CK_BUILD_ID | jq '.sourceVersion' | tr -d '"') BUILD_COMMIT=$(curl -s $AZ_API/build/builds/$CK_BUILD_ID | jq '.sourceVersion' | tr -d '"')
@@ -103,3 +69,4 @@ steps:
fi fi
echo "Instead used latest CK build $CK_BUILD_ID for commit $BUILD_COMMIT" echo "Instead used latest CK build $CK_BUILD_ID for commit $BUILD_COMMIT"
fi fi
exit $EXIT_CODE

View File

@@ -23,25 +23,145 @@ variables:
value: rocm-ci_high_build_pool value: rocm-ci_high_build_pool
- name: ULTRA_BUILD_POOL - name: ULTRA_BUILD_POOL
value: rocm-ci_ultra_build_pool value: rocm-ci_ultra_build_pool
- name: ON_PREM_BUILD_POOL
value: rocm-ci_build_pool
- name: LARGE_DISK_BUILD_POOL
value: rocm-ci_larger_base_disk_pool
- name: GFX942_TEST_POOL - name: GFX942_TEST_POOL
value: gfx942_test_pool value: gfx942_test_pool
- name: GFX90A_TEST_POOL - name: GFX90A_TEST_POOL
value: gfx90a_test_pool value: gfx90a_test_pool
- name: LATEST_RELEASE_VERSION - name: LATEST_RELEASE_VERSION
value: 6.4.3 value: 6.4.1
- name: REPO_RADEON_VERSION - name: REPO_RADEON_VERSION
value: 6.4.3 value: 6.4.1
- name: NEXT_RELEASE_VERSION - name: NEXT_RELEASE_VERSION
value: 7.0.0 value: 7.0.0
- name: LATEST_RELEASE_TAG - name: LATEST_RELEASE_TAG
value: rocm-6.4.3 value: rocm-6.4.1
- name: DOCKER_SKIP_GFX - name: DOCKER_SKIP_GFX
value: gfx90a value: gfx90a
- name: AMDMIGRAPHX_PIPELINE_ID
value: 113
- name: AMDSMI_PIPELINE_ID
value: 99
- name: AOMP_EXTRAS_PIPELINE_ID
value: 111
- name: AOMP_PIPELINE_ID
value: 115
- name: CLR_PIPELINE_ID
value: 145
- name: COMPOSABLE_KERNEL_PIPELINE_ID - name: COMPOSABLE_KERNEL_PIPELINE_ID
value: 86 value: 86
- name: FLANG_LEGACY_PIPELINE_ID
value: 77
- name: HALF_PIPELINE_ID
value: 101
- name: HALF560_PIPELINE_ID - name: HALF560_PIPELINE_ID
value: 68 value: 68
- name: HALF560_BUILD_ID - name: HALF560_BUILD_ID
value: 621 value: 621
- name: HIP_PIPELINE_ID - name: HIP_PIPELINE_ID
value: 93 value: 93
- name: HIP_TESTS_PIPELINE_ID
value: 233
- name: HIPBLAS_COMMON_PIPELINE_ID
value: 223
- name: HIPBLAS_PIPELINE_ID
value: 87
- name: HIPBLASLT_PIPELINE_ID
value: 112
- name: HIPCUB_PIPELINE_ID
value: 277
- name: HIPFFT_PIPELINE_ID
value: 121
- name: HIPFORT_PIPELINE_ID
value: 102
- name: HIPIFY_PIPELINE_ID
value: 92
- name: HIPRAND_PIPELINE_ID
value: 275
- name: HIPSOLVER_PIPELINE_ID
value: 84
- name: HIPSPARSE_PIPELINE_ID
value: 83
- name: HIPSPARSELT_PIPELINE_ID
value: 104
- name: HIPTENSOR_PIPELINE_ID
value: 105
- name: LLVM_PROJECT_PIPELINE_ID
value: 2
- name: MIOPEN_PIPELINE_ID
value: 108
- name: MIVISIONX_PIPELINE_ID
value: 80
- name: RCCL_PIPELINE_ID
value: 107
- name: RDC_PIPELINE_ID
value: 100
- name: ROCAL_PIPELINE_ID
value: 151
- name: ROCALUTION_PIPELINE_ID
value: 89
- name: ROCBLAS_PIPELINE_ID
value: 85
- name: ROCDBGAPI_PIPELINE_ID
value: 135
- name: ROCDECODE_PIPELINE_ID
value: 79
- name: ROCFFT_PIPELINE_ID
value: 120
- name: ROCGDB_PIPELINE_ID
value: 134
- name: ROCJPEG_PIPELINE_ID
value: 262
- name: ROCM_BANDWIDTH_TEST_PIPELINE_ID
value: 88
- name: ROCM_CMAKE_PIPELINE_ID
value: 6
- name: ROCM_CORE_PIPELINE_ID
value: 103
- name: ROCM_EXAMPLES_PIPELINE_ID
value: 216
- name: ROCM_SMI_LIB_PIPELINE_ID
value: 96
- name: ROCMINFO_PIPELINE_ID
value: 91
- name: ROCMLIR_PIPELINE_ID
value: 229
- name: ROCMVALIDATIONSUITE_PIPELINE_ID
value: 106
- name: ROCPRIM_PIPELINE_ID
value: 273
- name: ROCPROFILER_COMPUTE_PIPELINE_ID
value: 257
- name: ROCPROFILER_REGISTER_PIPELINE_ID
value: 1
- name: ROCPROFILER_SDK_PIPELINE_ID
value: 246
- name: ROCPROFILER_SYSTEMS_PIPELINE_ID
value: 255
- name: ROCPROFILER_PIPELINE_ID
value: 143
- name: ROCPYDECODE_PIPELINE_ID
value: 239
- name: ROCR_DEBUG_AGENT_PIPELINE_ID
value: 136
- name: ROCR_RUNTIME_PIPELINE_ID
value: 10
- name: ROCRAND_PIPELINE_ID
value: 274
- name: ROCSOLVER_PIPELINE_ID
value: 81
- name: ROCSPARSE_PIPELINE_ID
value: 98
- name: ROCTHRUST_PIPELINE_ID
value: 276
- name: ROCTRACER_PIPELINE_ID
value: 141
- name: ROCWMMA_PIPELINE_ID
value: 109
- name: RPP_PIPELINE_ID
value: 78
- name: TRANSFERBENCH_PIPELINE_ID
value: 265

View File

@@ -1,9 +1,45 @@
summarization
QKV
MLPerf
GovReport
oss
openai
gpt
SGLang
amd
MXFP
subproject
ROCpd
rocpd
STL
XCCs
chiplets
hipRTC
nvRTC
warpSize
Datacenter
GST
IET
LTO
MX
Microscaling
NANOO
ROCprof
affinitization
amdclang
benefitting
demangled
inlined
microscaling
roofline
torchtitan
AAC AAC
ABI ABI
ACE ACE
ACEs ACEs
ACS ACS
AITER AccVGPR
AccVGPRs
ALU ALU
AMD AMD
AMDGPU AMDGPU
@@ -12,44 +48,35 @@ AMDMIGraphX
AMI AMI
AOCC AOCC
AOMP AOMP
AOT
AOTriton AOTriton
APBDIS APBDIS
APIC APIC
APIs APIs
APU APU
APUs APUs
ASAN
ASIC ASIC
ASICs ASICs
ASan ASan
ASAN
ASm ASm
ATI ATI
AccVGPR atomicRMW
AccVGPRs
AddressSanitizer AddressSanitizer
AlexNet AlexNet
AllReduce
Andrej Andrej
Arb Arb
Autocast Autocast
BARs BARs
BKC
BLAS BLAS
BMC BMC
BabelStream BabelStream
BatchNorm
Bitwise
Blit Blit
Blockwise Blockwise
Bluefield Bluefield
Bootloader Bootloader
BrainFloat
Broadcom
CAS CAS
CCD CCD
CDNA CDNA
CGUI
CHTML CHTML
CIFAR CIFAR
CLI CLI
@@ -63,8 +90,8 @@ CPF
CPP CPP
CPU CPU
CPUs CPUs
Cron
CSC CSC
CSDATA
CSE CSE
CSV CSV
CSn CSn
@@ -73,45 +100,40 @@ CTests
CU CU
CUDA CUDA
CUs CUs
CX
CXX CXX
Cavium Cavium
CentOS CentOS
ChatGPT ChatGPT
CoRR CoRR
Codespaces Codespaces
ComfyUI
Commitizen Commitizen
CommonMark CommonMark
Concretized Concretized
Conda Conda
ConnectX ConnectX
CountOnes
Cron
CuPy CuPy
da
Dashboarding
DBRX DBRX
DDR DDR
DF DF
DGEMM DGEMM
DGL dGPU
DGLGraph dGPUs
DIMM DIMM
DKMS DKMS
DL DL
DMA DMA
DNN DNN
DNNL DNNL
DOMContentLoaded
DPM DPM
DRI DRI
DW DW
DWORD DWORD
Dashboarding
Dask Dask
DataFrame DataFrame
DataLoader DataLoader
DataParallel DataParallel
Dataloading
Debian Debian
DeepSeek DeepSeek
DeepSpeed DeepSpeed
@@ -119,9 +141,7 @@ Dependabot
Deprecations Deprecations
DevCap DevCap
DirectX DirectX
Disaggregated
Dockerfile Dockerfile
Dockerized
Doxygen Doxygen
ELMo ELMo
ENDPGM ENDPGM
@@ -133,7 +153,6 @@ FFT
FFTs FFTs
FFmpeg FFmpeg
FHS FHS
FIFOs
FIXME FIXME
FMA FMA
FP FP
@@ -141,14 +160,10 @@ FX
Filesystem Filesystem
FindDb FindDb
Flang Flang
FlashAttention
FlashInfer
FlashInfers
FluxBenchmark FluxBenchmark
Fortran Fortran
Fuyu Fuyu
GALB GALB
GAT
GCC GCC
GCD GCD
GCDs GCDs
@@ -160,32 +175,27 @@ GDS
GEMM GEMM
GEMMs GEMMs
GFLOPS GFLOPS
GFXIP
GFortran GFortran
GGUF GFXIP
Gemma
GiB
GIM GIM
GL GL
Glibc
GLXT GLXT
Gloo
GMI GMI
GPG GPG
GPGPU
GPR GPR
GPT GPT
GPU GPU
GPU's GPU's
GPUs GPUs
GRBM GRBM
GRE
Gemma
GenAI GenAI
GenZ GenZ
GiB
GitHub GitHub
Gitpod Gitpod
Glibc
Gloo
GraphSage
Graphbolt
HBM HBM
HCA HCA
HGX HGX
@@ -202,24 +212,20 @@ HSA
HW HW
HWE HWE
HWS HWS
HX
Haswell Haswell
Higgs Higgs
Huggingface
HunyuanVideo
Hyperparameters Hyperparameters
IB Huggingface
ICD ICD
ICT
ICV ICV
IDE IDE
IDEs IDEs
IFWI IFWI
IMDb IMDb
IncDec
IOMMU IOMMU
IOP IOP
IOPM IOPM
IOPS
IOV IOV
IRQ IRQ
ISA ISA
@@ -227,7 +233,6 @@ ISV
ISVs ISVs
ITL ITL
ImageNet ImageNet
IncDec
InfiniBand InfiniBand
Inlines Inlines
IntelliSense IntelliSense
@@ -236,8 +241,8 @@ Intersphinx
Intra Intra
Ioffe Ioffe
JAX's JAX's
JSON
Jinja Jinja
JSON
Jupyter Jupyter
KFD KFD
KFDTest KFDTest
@@ -245,10 +250,9 @@ KMD
KV KV
KVM KVM
Karpathy's Karpathy's
KiB
Keras Keras
Khronos Khronos
KiB
Kineto
LAPACK LAPACK
LCLK LCLK
LDS LDS
@@ -256,22 +260,19 @@ LLM
LLMs LLMs
LLVM LLVM
LM LM
LRU
LSAN LSAN
LSTMs
LSan LSan
LTS LTS
LanguageCrossEntropy LanguageCrossEntropy
LoRA LoRA
LteAll
MECO
MEM MEM
MERCHANTABILITY MERCHANTABILITY
MFMA MFMA
MiB
MIGraphX MIGraphX
MIOpen MIOpen
MIOpen's
MIOpenGEMM MIOpenGEMM
MIOpen's
MIVisionX MIVisionX
MLM MLM
MMA MMA
@@ -284,57 +285,45 @@ MPT
MSVC MSVC
MVAPICH MVAPICH
MVFFR MVFFR
MXFP
Makefile Makefile
Makefiles Makefiles
ManyLinux
Matplotlib Matplotlib
Matrox Matrox
MaxText MaxText
Megablocks
Megatrends Megatrends
Megatron Megatron
Mellanox Mellanox
Mellanox's Mellanox's
Meta's Meta's
MiB
Miniconda Miniconda
MirroredStrategy MirroredStrategy
Mixtral Mixtral
MoEs
Mooncake
MosaicML MosaicML
Mpops
Multicore Multicore
Multithreaded Multithreaded
MyEnvironment MyEnvironment
MyST MyST
NANOO
NBIO NBIO
NBIOs NBIOs
NCCL NCCL
NCF NCF
NCS
NFS NFS
NIC NIC
NICs NICs
NLI NLI
NLP NLP
NN
NOP
NPKit NPKit
NPS NPS
NSP NSP
NUMA NUMA
NVCC NVCC
NVIDIA NVIDIA
NVLink
NVPTX NVPTX
NaN NaN
Nano Nano
Navi Navi
NoReturn
Noncoherently Noncoherently
NoReturn
NousResearch's NousResearch's
NumPy NumPy
OAM OAM
@@ -359,8 +348,9 @@ OpenMPI
OpenSSL OpenSSL
OpenVX OpenVX
OpenXLA OpenXLA
Optim
Oversubscription Oversubscription
PagedAttention
Pallas
PCC PCC
PCI PCI
PCIe PCIe
@@ -368,14 +358,11 @@ PEFT
PEQT PEQT
PIL PIL
PILImage PILImage
PLDM
POR POR
PRNG PRNG
PRs PRs
PaLM PaLM
Pageable Pageable
PagedAttention
Pallas
PeerDirect PeerDirect
PerfDb PerfDb
Perfetto Perfetto
@@ -385,11 +372,10 @@ PowerEdge
PowerShell PowerShell
Pretrained Pretrained
Pretraining Pretraining
Primus
Profiler's Profiler's
PyPi PyPi
PyTorch
Pytest Pytest
PyTorch
Qcycles Qcycles
Qwen Qwen
RAII RAII
@@ -401,15 +387,14 @@ RDMA
RDNA RDNA
README README
RHEL RHEL
RLHF
RMW RMW
RNN RNN
RNNs RNNs
ROC ROC
ROCProfiler ROCProfiler
ROCT ROCT
ROCTracer
ROCTx ROCTx
ROCTracer
ROCclr ROCclr
ROCdbgapi ROCdbgapi
ROCgdb ROCgdb
@@ -424,10 +409,8 @@ RPP
RST RST
RW RW
Radeon Radeon
Recomputation
RelWithDebInfo RelWithDebInfo
Req Req
ResNet
Rickle Rickle
RoCE RoCE
Runfile Runfile
@@ -436,12 +419,10 @@ SALU
SBIOS SBIOS
SCA SCA
SDK SDK
SDKs
SDMA SDMA
SDPA SDPA
SDRAM SDRAM
SENDMSG SENDMSG
SGLang
SGPR SGPR
SGPRs SGPRs
SHA SHA
@@ -454,7 +435,6 @@ SKUs
SLES SLES
SLURM SLURM
SMEM SMEM
SMFMA
SMI SMI
SMT SMT
SPI SPI
@@ -463,12 +443,10 @@ SRAM
SRAMECC SRAMECC
SVD SVD
SWE SWE
ScaledGEMM
SerDes SerDes
ShareGPT ShareGPT
Shlens Shlens
Skylake Skylake
Slurm
Softmax Softmax
Spack Spack
SplitK SplitK
@@ -476,38 +454,32 @@ Supermicro
Szegedy Szegedy
TCA TCA
TCC TCC
TCCs
TCI TCI
TCIU TCIU
TCP TCP
TCR TCR
TF TF
TFLOPS TFLOPS
THREADGROUPS
TP TP
TPS TPS
TPU TPU
TPUs TPUs
TSME TSME
TVM
TagRAM
Tagram Tagram
Taichi
Taichi's
TensileLite TensileLite
TensorBoard TensorBoard
TensorFloat
TensorFlow TensorFlow
TensorParallel TensorParallel
TensorRT
TheRock
ToC ToC
TopK
TorchAudio TorchAudio
torchaudio
TorchElastic TorchElastic
TorchMIGraphX TorchMIGraphX
torchrec
TorchScript TorchScript
TorchServe TorchServe
torchserve
torchtext
TorchVision TorchVision
TransferBench TransferBench
TrapStatus TrapStatus
@@ -519,15 +491,12 @@ UE
UIF UIF
UMC UMC
USM USM
USM
UTCL UTCL
UTCL
UTIL
UTIL UTIL
UltraChat UltraChat
Uncached Uncached
Unhandled
Unittests Unittests
Unhandled
VALU VALU
VBIOS VBIOS
VCN VCN
@@ -541,10 +510,8 @@ VSIX
VSkipped VSkipped
Vanhoucke Vanhoucke
Vulkan Vulkan
WDAG
WGP WGP
WGPs WGPs
WR
WX WX
WikiText WikiText
Wojna Wojna
@@ -562,14 +529,12 @@ Xilinx
Xnack Xnack
Xteam Xteam
YAML YAML
YAMLs
YML YML
YModel YModel
ZeRO ZeRO
ZenDNN ZenDNN
accuracies accuracies
activations activations
addEventListener
addr addr
ade ade
ai ai
@@ -579,15 +544,12 @@ allocator
allocators allocators
amdgpu amdgpu
api api
aten
atmi atmi
atomicRMW
atomics atomics
autogenerated autogenerated
autotune autotune
avx avx
awk awk
az
backend backend
backends backends
bb bb
@@ -598,16 +560,16 @@ bilinear
bitcode bitcode
bitsandbytes bitsandbytes
bitwise bitwise
Bitwise
blit blit
bootloader bootloader
boson boson
bosons bosons
br br
btn BrainFloat
buildable buildable
bursty bursty
bzip bzip
cTDP
cacheable cacheable
carveout carveout
cd cd
@@ -616,22 +578,17 @@ centric
changelog changelog
checkpointing checkpointing
chiplet chiplet
classList
cmake cmake
cmd cmd
coalescable coalescable
codename codename
collater collater
comfyui
comgr comgr
compat
completers completers
composable composable
concretization concretization
config config
configs
conformant conformant
const
constructible constructible
convolutional convolutional
convolves convolves
@@ -639,18 +596,16 @@ copyable
cpp cpp
csn csn
cuBLAS cuBLAS
cuda
cuDNN cuDNN
cudnn
cuFFT cuFFT
cuLIB cuLIB
cuRAND cuRAND
cuSOLVER cuSOLVER
cuSPARSE cuSPARSE
cuda
cudnn
customizations customizations
dGPU cTDP
dGPUs
da
dataset dataset
datasets datasets
dataspace dataspace
@@ -660,9 +615,8 @@ datatypes
dbgapi dbgapi
de de
deallocation deallocation
debian
debuggability debuggability
decompositions debian
deepseek deepseek
denoise denoise
denoised denoised
@@ -675,15 +629,11 @@ detections
dev dev
devicelibs devicelibs
devsel devsel
dgl
dimensionality dimensionality
disaggregated
disambiguates disambiguates
distro distro
distros distros
dkms dkms
dnf
dropless
dtype dtype
eb eb
el el
@@ -696,44 +646,34 @@ endpgm
enqueue enqueue
env env
epilog epilog
etcd
etcetera etcetera
ethernet ethernet
exascale exascale
executables executables
fam
fam
fas
ffmpeg ffmpeg
filesystem filesystem
forEach
fortran fortran
fp fp
framebuffer framebuffer
gRPC gRPC
galb galb
gb
gcc gcc
gdb gdb
gemm gemm
getAttribute
gfortran gfortran
gfx gfx
githooks githooks
github github
globals globals
gnupg gnupg
gpu
grayscale grayscale
gre
gx
gzip gzip
heterogenous heterogenous
hipBLAS hipBLAS
hipBLASLt hipBLASLt
hipBLASLt's hipBLASLt's
hipblaslt
hipCUB hipCUB
hipDataType
hipFFT hipFFT
hipFORT hipFORT
hipLIB hipLIB
@@ -744,12 +684,10 @@ hipSPARSELt
hipTensor hipTensor
hipamd hipamd
hipblas hipblas
hipblaslt
hipcc hipcc
hipcub hipcub
hipfft hipfft
hipfort hipfort
hipification
hipify hipify
hipsolver hipsolver
hipsparse hipsparse
@@ -758,10 +696,8 @@ hostname
hotspotting hotspotting
hpc hpc
hpp hpp
href
hsa hsa
hsakmt hsakmt
hx
hyperparameter hyperparameter
hyperparameters hyperparameters
iDRAC iDRAC
@@ -775,17 +711,13 @@ init
initializer initializer
inlining inlining
installable installable
instrSize
interop interop
interpolators
interprocedural interprocedural
intra intra
intrinsics
invariants invariants
invocating invocating
ipo ipo
jax jax
json
kdb kdb
kfd kfd
kv kv
@@ -800,16 +732,11 @@ linearized
linter linter
linux linux
llvm llvm
lm
localscratch localscratch
logits logits
lossy lossy
lp
macOS macOS
matchers matchers
maxtext
megablocks
megatron
microarchitecture microarchitecture
migraphx migraphx
migratable migratable
@@ -821,16 +748,17 @@ mjx
mkdir mkdir
mlirmiopen mlirmiopen
mtypes mtypes
mul
mutex mutex
mvffr mvffr
namespace namespace
namespaces namespaces
nanoGPT nanoGPT
NCS
NOP
NVLink
num num
numref numref
ocl ocl
ol
opencl opencl
opencv opencv
openmp openmp
@@ -845,12 +773,9 @@ parallelizing
param param
parameterization parameterization
passthrough passthrough
pe
perf
perfcounter perfcounter
performant performant
perl perl
pkgman
pragma pragma
pre pre
prebuild prebuild
@@ -870,35 +795,27 @@ preprocessing
preprocessor preprocessor
prequantized prequantized
prerequisites prerequisites
pretrain
pretraining pretraining
primus
profiler profiler
profilers profilers
protobuf protobuf
pseudorandom pseudorandom
px
py py
pytorch pytorch
recommender
recommenders
quantile quantile
quantizer quantizer
quasirandom quasirandom
querySelector
querySelectorAll
queueing queueing
qwen
radeon radeon
rccl rccl
rdc rdc
rdma rdma
reStructuredText reStructuredText
recommender
recommenders
redhat
redirections redirections
refactorization refactorization
reformats reformats
reinforcememt
repo repo
repos repos
representativeness representativeness
@@ -906,8 +823,6 @@ req
resampling resampling
rescaling rescaling
reusability reusability
rhel
rl
roadmap roadmap
roc roc
rocAL rocAL
@@ -934,8 +849,8 @@ rocm
rocminfo rocminfo
rocprim rocprim
rocprof rocprof
rocprofiler
rocprofv rocprofv
rocprofiler
rocr rocr
rocrand rocrand
rocsolver rocsolver
@@ -945,31 +860,22 @@ roctracer
rst rst
runtime runtime
runtimes runtimes
rx
ryzen
sL sL
scalability scalability
scalable scalable
scipy scipy
seealso seealso
selectedTag
sendmsg sendmsg
seqs seqs
serializers serializers
setAttribute
sglang
shader shader
sharding sharding
sigmoid sigmoid
simd
sles
sm sm
smi smi
softmax softmax
spack spack
spmm
src src
stanford
stochastically stochastically
strided strided
subcommand subcommand
@@ -977,22 +883,17 @@ subdirectory
subexpression subexpression
subfolder subfolder
subfolders subfolders
submatrix
submodule submodule
submodules submodules
subnet subnet
supercomputing supercomputing
suse
symlink symlink
symlinks symlinks
sys sys
tabindex tabindex
targetContainer
td td
tensorfloat tensorfloat
tf
th th
threadgroups
tokenization tokenization
tokenize tokenize
tokenized tokenized
@@ -1002,21 +903,13 @@ toolchain
toolchains toolchains
toolset toolset
toolsets toolsets
torchaudio
torchrec
torchserve
torchtext
torchtitan
torchvision torchvision
tp
tqdm tqdm
tracebacks tracebacks
txt txt
uarch uarch
ubuntu
udev
uncacheable
uncached uncached
uncacheable
uncorrectable uncorrectable
underoptimized underoptimized
unhandled unhandled
@@ -1025,11 +918,12 @@ unmapped
unsqueeze unsqueeze
unstacking unstacking
unswitching unswitching
untar
untrusted untrusted
untuned untuned
unwindowed
upvote upvote
USM
UTCL
UTIL
utils utils
vL vL
variational variational
@@ -1040,8 +934,6 @@ vectorize
vectorized vectorized
vectorizer vectorizer
vectorizes vectorizes
verl
verl's
virtualize virtualize
virtualized virtualized
vjxb vjxb
@@ -1060,14 +952,9 @@ writeback
writebacks writebacks
wrreq wrreq
wzo wzo
xDiT xargs
xGMI xGMI
xPacked xPacked
xargs
xcc
xdit
xt
xtx
xz xz
yaml yaml
ysvmadyb ysvmadyb

View File

@@ -23,6 +23,9 @@ source software compilers, debuggers, and libraries. ROCm is fully integrated in
> A new open source build platform for ROCm is under development at > A new open source build platform for ROCm is under development at
> https://github.com/ROCm/TheRock, featuring a unified CMake build with bundled > https://github.com/ROCm/TheRock, featuring a unified CMake build with bundled
> dependencies, Windows support, and more. > dependencies, Windows support, and more.
>
> The instructions below describe the prior process for building from source
> which will be replaced once TheRock is mature enough.
## Getting and Building ROCm from Source ## Getting and Building ROCm from Source

1831
RELEASE.md

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<manifest> <manifest>
<remote name="rocm-org" fetch="https://github.com/ROCm/" /> <remote name="rocm-org" fetch="https://github.com/ROCm/" />
<default revision="refs/tags/rocm-7.0.2" <default revision="refs/tags/rocm-6.4.1"
remote="rocm-org" remote="rocm-org"
sync-c="true" sync-c="true"
sync-j="4" /> sync-j="4" />
@@ -9,7 +9,6 @@
<project name="ROCK-Kernel-Driver" /> <project name="ROCK-Kernel-Driver" />
<project name="ROCR-Runtime" /> <project name="ROCR-Runtime" />
<project name="amdsmi" /> <project name="amdsmi" />
<project name="aqlprofile" />
<project name="rdc" /> <project name="rdc" />
<project name="rocm_bandwidth_test" /> <project name="rocm_bandwidth_test" />
<project name="rocm_smi_lib" /> <project name="rocm_smi_lib" />
@@ -23,7 +22,7 @@
<project name="rocprofiler-systems" /> <project name="rocprofiler-systems" />
<project name="roctracer" /> <project name="roctracer" />
<!--HIP Projects--> <!--HIP Projects-->
<project name="hip" /> <project name="HIP" />
<project name="hip-tests" /> <project name="hip-tests" />
<project name="HIPIFY" /> <project name="HIPIFY" />
<project name="clr" /> <project name="clr" />
@@ -38,24 +37,36 @@
<project name="rocr_debug_agent" /> <project name="rocr_debug_agent" />
<!-- ROCm Libraries --> <!-- ROCm Libraries -->
<project groups="mathlibs" name="AMDMIGraphX" /> <project groups="mathlibs" name="AMDMIGraphX" />
<project groups="mathlibs" name="MIOpen" />
<project groups="mathlibs" name="MIVisionX" /> <project groups="mathlibs" name="MIVisionX" />
<project groups="mathlibs" name="ROCmValidationSuite" /> <project groups="mathlibs" name="ROCmValidationSuite" />
<project groups="mathlibs" name="Tensile" />
<project groups="mathlibs" name="composable_kernel" /> <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" />
<project groups="mathlibs" name="hipFFT" />
<project groups="mathlibs" name="hipRAND" />
<project groups="mathlibs" name="hipSOLVER" />
<project groups="mathlibs" name="hipSPARSE" />
<project groups="mathlibs" name="hipSPARSELt" />
<project groups="mathlibs" name="hipTensor" /> <project groups="mathlibs" name="hipTensor" />
<project groups="mathlibs" name="hipfort" /> <project groups="mathlibs" name="hipfort" />
<project groups="mathlibs" name="rccl" /> <project groups="mathlibs" name="rccl" />
<project groups="mathlibs" name="rocAL" /> <project groups="mathlibs" name="rocAL" />
<project groups="mathlibs" name="rocALUTION" /> <project groups="mathlibs" name="rocALUTION" />
<project groups="mathlibs" name="rocBLAS" />
<project groups="mathlibs" name="rocDecode" /> <project groups="mathlibs" name="rocDecode" />
<project groups="mathlibs" name="rocJPEG" /> <project groups="mathlibs" name="rocJPEG" />
<!-- The following components have been migrated to rocm-libraries:
hipBLAS-common hipBLAS hipBLASLt hipCUB
hipFFT hipRAND hipSPARSE hipSPARSELt
MIOpen rocBLAS rocFFT rocPRIM rocRAND
rocSPARSE rocThrust Tensile -->
<project groups="mathlibs" name="rocm-libraries" />
<project groups="mathlibs" name="rocPyDecode" /> <project groups="mathlibs" name="rocPyDecode" />
<project groups="mathlibs" name="rocFFT" />
<project groups="mathlibs" name="rocPRIM" />
<project groups="mathlibs" name="rocRAND" />
<project groups="mathlibs" name="rocSHMEM" /> <project groups="mathlibs" name="rocSHMEM" />
<project groups="mathlibs" name="rocSOLVER" />
<project groups="mathlibs" name="rocSPARSE" />
<project groups="mathlibs" name="rocThrust" />
<project groups="mathlibs" name="rocWMMA" /> <project groups="mathlibs" name="rocWMMA" />
<project groups="mathlibs" name="rocm-cmake" /> <project groups="mathlibs" name="rocm-cmake" />
<project groups="mathlibs" name="rpp" /> <project groups="mathlibs" name="rpp" />

View File

@@ -1,147 +0,0 @@
<head>
<meta charset="UTF-8">
<meta name="description" content="ROCm licensing terms">
<meta name="keywords" content="license, licensing terms">
</head>
# ROCm license
```{include} ../../LICENSE
```
:::{note}
The preceding license applies to the [ROCm repository](https://github.com/ROCm/ROCm), which
primarily contains documentation. For licenses related to other ROCm components, refer to the
following section.
:::
## ROCm component licenses
ROCm is released by Advanced Micro Devices, Inc. (AMD) and is licensed per component separately.
The following table is a list of ROCm components with links to their respective license
terms. These components may include third party components subject to
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/LICENSE.txt) |
| [AMD SMI](https://github.com/ROCm/amdsmi) | [MIT](https://github.com/ROCm/amdsmi/blob/amd-staging/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) |
| [AQLprofile](https://github.com/rocm/aqlprofile/) | [MIT](https://github.com/ROCm/aqlprofile/blob/amd-staging/LICENSE.md) |
| [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) |
| [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) |
| [hipCUB](https://github.com/ROCm/hipCUB/) | [Custom](https://github.com/ROCm/hipCUB/blob/develop/LICENSE.txt) |
| [hipFFT](https://github.com/ROCm/hipFFT/) | [MIT](https://github.com/ROCm/hipFFT/blob/develop/LICENSE.md) |
| [hipfort](https://github.com/ROCm/hipfort/) | [MIT](https://github.com/ROCm/hipfort/blob/develop/LICENSE) |
| [HIPIFY](https://github.com/ROCm/HIPIFY/) | [MIT](https://github.com/ROCm/HIPIFY/blob/amd-staging/LICENSE.txt) |
| [hipRAND](https://github.com/ROCm/hipRAND/) | [MIT](https://github.com/ROCm/hipRAND/blob/develop/LICENSE.txt) |
| [hipSOLVER](https://github.com/ROCm/hipSOLVER/) | [MIT](https://github.com/ROCm/hipSOLVER/blob/develop/LICENSE.md) |
| [hipSPARSE](https://github.com/ROCm/hipSPARSE/) | [MIT](https://github.com/ROCm/hipSPARSE/blob/develop/LICENSE.md) |
| [hipSPARSELt](https://github.com/ROCm/hipSPARSELt/) | [MIT](https://github.com/ROCm/hipSPARSELt/blob/develop/LICENSE.md) |
| [hipTensor](https://github.com/ROCm/hipTensor) | [MIT](https://github.com/ROCm/hipTensor/blob/develop/LICENSE) |
| [llvm-project](https://github.com/ROCm/llvm-project/) | [Apache](https://github.com/ROCm/llvm-project/blob/amd-staging/LICENSE.TXT) |
| [llvm-project/flang](https://github.com/ROCm/llvm-project/tree/amd-staging/flang) | [Apache 2.0](https://github.com/ROCm/llvm-project/blob/amd-staging/flang/LICENSE.TXT) |
| [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/rocm-libraries/blob/develop/projects/miopen/LICENSE.md) |
| [MIVisionX](https://github.com/ROCm/MIVisionX/) | [MIT](https://github.com/ROCm/MIVisionX/blob/develop/LICENSE.txt) |
| [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) |
| [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 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.md) |
| [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 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.md) |
| [ROCm Systems Profiler](https://github.com/ROCm/rocprofiler-systems) | [MIT](https://github.com/ROCm/rocprofiler-systems/blob/amd-staging/LICENSE.md) |
| [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.md) |
| [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.txt) |
| [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) |
| [rocSHMEM](https://github.com/ROCm/rocSHMEM/) | [MIT](https://github.com/ROCm/rocSHMEM/blob/develop/LICENSE.md) |
| [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) |
| [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) |
Open sourced ROCm components are released via public GitHub
repositories, packages on [https://repo.radeon.com](https://repo.radeon.com) and other distribution channels.
Proprietary products are only available on [https://repo.radeon.com](https://repo.radeon.com).
Proprietary components are organized in a proprietary subdirectory in the package
repositories to distinguish from open sourced packages.
```{note}
The following additional terms and conditions apply to your use of ROCm technical documentation.
```
©2023 - 2025 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
information contained herein is subject to change and may be rendered inaccurate
for many reasons, including but not limited to product and roadmap changes,
component and motherboard version changes, new model and/or product releases,
product differences between differing manufacturers, software changes, BIOS
flashes, firmware upgrades, or the like. Any computer system has risks of
security vulnerabilities that cannot be completely prevented or mitigated. AMD
assumes no obligation to update or otherwise correct or revise this information.
However, AMD reserves the right to revise this information and to make changes
from time to time to the content hereof without obligation of AMD to notify any
person of such revisions or changes.
THIS INFORMATION IS PROVIDED “AS IS.” AMD MAKES NO REPRESENTATIONS OR WARRANTIES
WITH RESPECT TO THE CONTENTS HEREOF AND ASSUMES NO RESPONSIBILITY FOR ANY
INACCURACIES, ERRORS, OR OMISSIONS THAT MAY APPEAR IN THIS INFORMATION. AMD
SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT,
MERCHANTABILITY, OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT WILL AMD BE
LIABLE TO ANY PERSON FOR ANY RELIANCE, DIRECT, INDIRECT, SPECIAL, OR OTHER
CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF ANY INFORMATION CONTAINED HEREIN,
EVEN IF AMD IS EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
AMD, the AMD Arrow logo, ROCm, and combinations thereof are trademarks of
Advanced Micro Devices, Inc. Other product names used in this publication are
for identification purposes only and may be trademarks of their respective
companies.
### Package licensing
:::{attention}
ROCprof Trace Decoder and AOCC CPU optimizations are provided in binary form, subject to the license agreement enclosed on [GitHub](https://github.com/ROCm/rocprof-trace-decoder/blob/amd-mainline/LICENSE) for ROCprof Trace Decoder, and [Developer Central](https://www.amd.com/en/developer/aocc.html) for AOCC. By using, installing,
copying or distributing ROCprof Trace Decoder or AOCC CPU Optimizations, you agree to
the terms and conditions of this license agreement. If you do not agree to the
terms of this agreement, do not install, copy or use ROCprof Trace Decoder or the
AOCC CPU Optimizations.
:::
For the rest of the ROCm packages, you can find the licensing information at the
following location: `/opt/rocm/share/doc/<component-name>/` or in the locations
specified in the preceding table.
For example, you can fetch the licensing information of the `amd_comgr`
component (Code Object Manager) from the `/opt/rocm/share/doc/amd_comgr/LICENSE.txt` file.

View File

@@ -1,115 +0,0 @@
****************************************
ROCm |ROCM_VERSION| compatibility matrix
****************************************
To plan your ROCm |ROCM_VERSION| installation, use the following selector to
view ROCm compatibility and system requirements information for your AMD
hardware configuration. For installation instructions, see
:doc:`/install/rocm`.
.. include:: ./includes/selector.rst
----
Hardware, software, and firmware requirements
=============================================
ROCm depends on a coordinated stack of compatible firmware, driver, and user
space components. Maintaining version alignment between these layers ensures
expected GPU operation and performance, especially for AMD data center products.
Future preview releases will expand hardware and operating system coverage.
ROCm 7.11.0 enables support for primarily compute workloads. Future releases
will support mixed workloads (compute and graphics).
.. selected:: os=ubuntu os=rhel os=sles
.. selected:: fam=radeon-pro fam=radeon
If youre interested in testing AMD Radeon GPUs with preview support for
graphics use cases with AMD ROCm 7.11.0, install Radeon Software for Linux
version 25.35 from `Linux Drivers for AMD Radeon and Radeon PRO
Graphics <https://www.amd.com/en/support/download/linux-drivers.html>`__.
.. selected:: fam=ryzen
If you're interested in testing AMD Ryzen APUs with preview support for
graphics use cases with AMD ROCm 7.11.0, use the inbox graphics drivers of
Ubuntu 24.04.3.
.. include:: ./includes/system-instinct.rst
.. include:: ./includes/system-radeon-pro.rst
.. include:: ./includes/system-radeon.rst
.. include:: ./includes/system-ryzen.rst
----
.. _rocm-compat-frameworks:
Deep learning frameworks
========================
ROCm |ROCM_VERSION| provides optimized support for popular deep learning
frameworks. The following table lists supported frameworks and their supported
versions.
.. _rocm-compat-pytorch:
.. matrix::
.. matrix-head::
.. matrix-row::
.. matrix-cell:: Framework
:header:
.. matrix-cell:: Supported versions
:header:
.. matrix-row::
:show-when: fam=instinct fam=ryzen
.. matrix-cell:: PyTorch
.. matrix-cell:: 2.9.1, 2.8.0, 2.7.1
:show-when: os=ubuntu os=debian os=rhel os=oracle-linux os=rocky-linux os=sles
.. matrix-cell:: 2.9.1
:show-when: os=windows
.. matrix-row::
:show-when: fam=radeon fam=radeon-pro
.. matrix-cell:: PyTorch
.. matrix-cell:: 2.9.1
For installation instructions, see :ref:`pip-install-pytorch`.
.. _rocm-compat-python:
.. note::
ROCm |ROCM_VERSION| is compatible with Python versions 3.11, 3.12, and
3.13.
----
ROCm Core SDK components
========================
The following table lists core components included in the ROCm |ROCM_VERSION|
release. Expect future releases in this stream to expand the list of
components.
.. include:: ./includes/core-sdk-components-linux.rst
.. include:: ./includes/core-sdk-components-windows.rst
----
.. include:: ./includes/virtualization-instinct.rst

View File

@@ -1,263 +0,0 @@
.. matrix::
:show-when: os=ubuntu os=debian os=rhel os=oracle-linux os=rocky-linux os=sles
.. matrix-head::
.. matrix-row::
:header:
.. matrix-cell:: Component group
.. matrix-cell:: Component name
.. matrix-row::
.. matrix-cell:: Math and compute libraries
:rowspan: 18
.. matrix-cell::
`Composable Kernel <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/composablekernel>`__
.. matrix-row::
.. matrix-cell::
`hipBLAS <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipblas>`__
.. matrix-row::
.. matrix-cell::
`hipBLASLt <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipblaslt>`__
.. matrix-row::
.. matrix-cell::
`hipCUB <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipcub>`__
.. matrix-row::
.. matrix-cell::
`hipFFT <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipfft>`__
.. matrix-row::
.. matrix-cell::
`hipRAND <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hiprand>`__
.. matrix-row::
.. matrix-cell::
`hipSOLVER <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipsolver>`__
.. matrix-row::
.. matrix-cell::
`hipSPARSE <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipsparse>`__
.. matrix-row::
.. matrix-cell::
`hipSPARSELt <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipsparselt>`__
.. matrix-row::
.. matrix-cell::
`MIOpen <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/miopen>`__
.. matrix-row::
.. matrix-cell::
`rocBLAS <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocblas>`__
.. matrix-row::
.. matrix-cell::
`rocFFT <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocfft>`__
.. matrix-row::
.. matrix-cell::
`rocPRIM <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocprim>`__
.. matrix-row::
.. matrix-cell::
`rocRAND <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocrand>`__
.. matrix-row::
.. matrix-cell::
`rocSOLVER <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocsolver>`__
.. matrix-row::
.. matrix-cell::
`rocSPARSE <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocsparse>`__
.. matrix-row::
.. matrix-cell::
`rocThrust <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocthrust>`__
.. matrix-row::
.. matrix-cell::
`rocWMMA <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocwmma>`__
.. matrix-row::
.. matrix-cell:: Communication librarires
.. matrix-cell::
`RCCL <https://github.com/ROCm/rccl/tree/release/release/therock-7.11>`__
.. matrix-row::
.. matrix-cell:: Support libraries
.. matrix-cell::
`ROCm CMake <https://github.com/ROCm/rocm-cmake/tree/release/therock-7.11>`__
.. matrix-row::
.. matrix-cell:: Runtimes and compilers
:rowspan: 5
:show-when: fam=instinct fam=radeon-pro fam=radeon
.. matrix-cell:: Runtimes and compilers
:rowspan: 4
:show-when: fam=ryzen
.. matrix-cell::
`HIP <https://github.com/ROCm/rocm-systems/tree/release/therock-7.11/projects/hip>`__
.. matrix-row::
.. matrix-cell::
`HIPIFY <https://github.com/ROCm/HIPIFY/tree/release/therock-7.11>`__
.. matrix-row::
.. matrix-cell::
`LLVM <https://github.com/ROCm/llvm-project/tree/release/therock-7.11>`__
.. matrix-row::
:show-when: fam=instinct fam=radeon-pro fam=radeon
.. matrix-cell::
`ROCr Runtime <https://github.com/ROCm/rocm-systems/tree/release/therock-7.11/projects/rocr-runtime>`__
.. matrix-row::
.. matrix-cell::
`SPIRV-LLVM-Translator <https://github.com/ROCm/SPIRV-LLVM-Translator/tree/release/therock-7.11>`__
.. matrix-row::
.. matrix-cell:: Profiling and debugging tools
:rowspan: 6
:show-when: fam=instinct
.. matrix-cell:: Profiling and debugging tools
:rowspan: 4
:show-when: fam=radeon-pro fam=radeon
.. matrix-cell::
:show-when: fam=instinct
`ROCm Compute Profiler (rocprofiler-compute) <https://github.com/ROCm/rocm-systems/tree/release/therock-7.11/projects/rocprofiler-compute>`__
.. matrix-cell::
:show-when: fam=radeon-pro fam=radeon
`ROCprofiler-SDK <https://github.com/ROCm/rocm-systems/tree/release/therock-7.11/projects/rocprofiler-sdk>`__
.. matrix-row::
:show-when: fam=instinct
.. matrix-cell::
`ROCm Systems Profiler (rocprofiler-systems) <https://github.com/ROCm/rocm-systems/tree/release/therock-7.11/projects/rocprofiler-systems>`__
.. matrix-row::
:show-when: fam=instinct
.. matrix-cell::
`ROCprofiler-SDK <https://github.com/ROCm/rocm-systems/tree/release/therock-7.11/projects/rocprofiler-sdk>`__
.. matrix-row::
:show-when: fam=instinct fam=radeon-pro fam=radeon
.. matrix-cell::
`ROCdbgapi <https://github.com/ROCm/ROCdbgapi/tree/release/therock-7.11>`__
.. matrix-row::
:show-when: fam=instinct fam=radeon-pro fam=radeon
.. matrix-cell::
`ROCm Debugger (ROCgdb) <https://github.com/ROCm/ROCgdb/tree/release/therock-7.11>`__
.. matrix-row::
:show-when: fam=instinct fam=radeon-pro fam=radeon
.. matrix-cell::
`ROCr Debug Agent <https://github.com/ROCm/rocr_debug_agent/tree/release/therock-7.11>`__
.. matrix-row::
.. matrix-cell:: Control and monitoring tools
:rowspan: 2
.. matrix-cell::
:show-when: fam=instinct fam=radeon-pro fam=radeon
`AMD SMI <https://github.com/ROCm/rocm-systems/tree/release/therock-7.11/projects/amdsmi>`__
.. matrix-row::
.. matrix-cell::
`rocminfo <https://github.com/ROCm/rocm-systems/tree/release/therock-7.11/projects/rocminfo>`__
.. matrix-row::
.. matrix-cell:: System validation tools
:rowspan: 2
.. matrix-cell::
`ROCm Bandwidth Test <https://github.com/ROCm/rocm_bandwidth_test>`__
.. matrix-row::
.. matrix-cell::
`TransferBench <https://github.com/ROCm/TransferBench>`__

View File

@@ -1,151 +0,0 @@
.. matrix::
:show-when: os=windows
.. matrix-head::
.. matrix-row::
:header:
.. matrix-cell:: Component group
.. matrix-cell:: Component name
.. matrix-row::
.. matrix-cell:: Math and compute libraries
:rowspan: 17
.. matrix-cell::
`Composable Kernel <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/composablekernel>`__
.. matrix-row::
.. matrix-cell::
`hipBLAS <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipblas>`__
.. matrix-row::
.. matrix-cell::
`hipBLASLt <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipblaslt>`__
.. matrix-row::
.. matrix-cell::
`hipCUB <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipcub>`__
.. matrix-row::
.. matrix-cell::
`hipFFT <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipfft>`__
.. matrix-row::
.. matrix-cell::
`hipRAND <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocsolver>`__
.. matrix-row::
.. matrix-cell::
`hipSOLVER <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipsolver>`__
.. matrix-row::
.. matrix-cell::
`hipSPARSE <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipsparse>`__
.. matrix-row::
.. matrix-cell::
`MIOpen <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/miopen>`__
.. matrix-row::
.. matrix-cell::
`rocBLAS <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocblas>`__
.. matrix-row::
.. matrix-cell::
`rocFFT <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocfft>`__
.. matrix-row::
.. matrix-cell::
`rocPRIM <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocprim>`__
.. matrix-row::
.. matrix-cell::
`rocRAND <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocrand>`__
.. matrix-row::
.. matrix-cell::
`rocSOLVER <https://github.com/ROCm/rocm-libraries/tree/therock-7.9.0/projects/rocsolver>`__
.. matrix-row::
.. matrix-cell::
`rocSPARSE <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocsparse>`__
.. matrix-row::
.. matrix-cell::
`rocThrust <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocthrust>`__
.. matrix-row::
.. matrix-cell::
`rocWMMA <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocwmma>`__
.. matrix-row::
.. matrix-cell:: Support libraries
.. matrix-cell::
`ROCm CMake <https://github.com/ROCm/rocm-cmake/tree/release/therock-7.11>`__
.. matrix-row::
.. matrix-cell:: Runtimes and compilers
:rowspan: 3
.. matrix-cell::
`HIP <https://github.com/ROCm/rocm-systems/tree/release/therock-7.11/projects/hip>`__
.. matrix-row::
.. matrix-cell::
`HIPIFY <https://github.com/ROCm/HIPIFY/tree/release/therock-7.11>`__
.. matrix-row::
.. matrix-cell::
`LLVM <https://github.com/ROCm/llvm-project/tree/release/therock-7.11>`__
.. matrix-row::
.. matrix-cell:: Control and monitoring tools
.. matrix-cell:: hipinfo

View File

@@ -1,357 +0,0 @@
.. =========================================================== GPU/APU FAMILY ==
.. selector:: AMD device family
:key: fam
.. selector-option:: Instinct
:value: instinct
:width: 3
.. selector-option:: Radeon PRO
:value: radeon-pro
:width: 3
.. selector-option:: Radeon
:value: radeon
:width: 3
.. selector-option:: Ryzen AI
:value: ryzen
:width: 3
.. ================================================================ GPU / APU ==
.. selector:: Instinct GPU
:key: gpu
:show-when: fam=instinct
.. selector-info:: https://www.amd.com/en/products/accelerators/instinct.html
.. selector-option:: MI355X
:width: 3
.. selector-option:: MI350X
:width: 3
.. selector-option:: MI325X
:width: 3
.. selector-option:: MI300X
:width: 3
.. selector-option:: MI300A
:width: 3
.. selector-option:: MI250X
:width: 3
.. selector-option:: MI250
:width: 3
.. selector-option:: MI210
:width: 3
.. selector:: Radeon PRO GPU
:key: gpu
:show-when: fam=radeon-pro
.. selector-info:: https://www.amd.com/en/products/graphics/workstations.html
.. selector-option:: AI PRO R9700
:value: ai-r9700
:width: 3
.. selector-option:: AI PRO R9600D
:value: ai-r9600d
:width: 3
.. selector-option:: W7900 Dual Slot
:value: w7900-dual-slot
:width: 3
.. selector-option:: W7900
:value: w7900
:width: 3
.. selector-option:: W7800 48GB
:value: w7800-48gb
:width: 3
.. selector-option:: W7800
:value: w7800
:width: 3
.. selector-option:: W7700
:value: w7700
:width: 3
.. selector-option:: V710
:value: v710
:width: 3
.. selector:: Radeon GPU
:key: gpu
:show-when: fam=radeon
.. selector-info:: https://www.amd.com/en/products/graphics/desktops/radeon.html
.. selector-option:: RX 9070 XT
:value: rx-9070-xt
:width: 3
.. selector-option:: RX 9070 GRE
:value: rx-9070-gre
:width: 3
.. selector-option:: RX 9070
:value: rx-9070
:width: 3
.. selector-option:: RX 9060 XT LP
:value: rx-9060-xt-lp
:width: 3
.. selector-option:: RX 9060 XT
:value: rx-9060-xt
:width: 3
.. selector-option:: RX 9060
:value: rx-9060
:width: 3
.. selector-option:: RX 7900 XTX
:value: rx-7900-xtx
:width: 3
.. selector-option:: RX 7900 XT
:value: rx-7900-xt
:width: 3
.. selector-option:: RX 7900 GRE
:value: rx-7900-gre
:width: 3
.. selector-option:: RX 7800 XT
:value: rx-7800-xt
:width: 3
.. selector-option:: RX 7700 XT
:value: rx-7700-xt
:width: 3
.. selector-option:: RX 7700
:value: rx-7700
:width: 3
.. selector:: Ryzen AI APU
:key: gpu
:show-when: fam=ryzen
.. selector-info:: https://www.amd.com/en/products/processors/workstations/mobile.html
.. selector-option:: Max+ PRO 395
:value: max-pro-395
:width: 3
.. selector-option:: Max PRO 390
:value: max-pro-390
:width: 3
.. selector-option:: Max PRO 385
:value: max-pro-385
:width: 3
.. selector-option:: Max PRO 380
:value: max-pro-380
:width: 3
.. selector-option:: Max+ 395
:value: max-395
:width: 2
.. selector-option:: Max 390
:value: max-390
:width: 2
.. selector-option:: Max 385
:value: max-385
:width: 2
.. selector-option:: 9 HX 375
:value: 9-hx-375
:width: 2
.. selector-option:: 9 HX 370
:value: 9-hx-370
:width: 2
.. selector-option:: 9 365
:value: 9-365
:width: 2
.. ========================================================= OPERATING SYSTEM ==
.. selected:: fam=instinct
.. selector:: Linux distribution
:key: os
:show-when: gpu=mi355x gpu=mi350x gpu=mi325x
.. selector-option:: Ubuntu
:value: ubuntu
:width: 20%
.. selector-option:: Debian
:value: debian
:width: 20%
:show-when: gpu=mi355x gpu=mi350x gpu=mi325x
.. selector-option:: RHEL
:value: rhel
:width: 20%
.. selector-option:: Oracle Linux
:value: oracle-linux
:width: 20%
.. selector-option:: SLES
:value: sles
:width: 20%
.. selector:: Linux distribution
:key: os
:show-when: gpu=mi300x
.. selector-option:: Ubuntu
:value: ubuntu
:width: 4
.. selector-option:: Debian
:value: debian
:width: 4
.. selector-option:: RHEL
:value: rhel
:width: 4
.. selector-option:: Oracle Linux
:value: oracle-linux
:width: 4
.. selector-option:: Rocky Linux
:value: rocky-linux
:width: 4
.. selector-option:: SLES
:value: sles
:width: 4
.. selector:: Linux distribution
:key: os
:show-when: gpu=mi300a
.. selector-option:: Ubuntu
:value: ubuntu
:width: 3
.. selector-option:: RHEL
:value: rhel
:width: 3
.. selector-option:: Rocky Linux
:value: rocky-linux
:width: 3
.. selector-option:: SLES
:value: sles
:width: 3
.. selector:: Linux distribution
:key: os
:show-when: gpu=mi250x gpu=mi250 gpu=mi210
.. selector-option:: Ubuntu
:value: ubuntu
:width: 4
.. selector-option:: RHEL
:value: rhel
:width: 4
.. selector-option:: SLES
:value: sles
:width: 4
.. selected:: fam=radeon-pro
.. selector:: Operating system
:key: os
:show-when: gpu=ai-r9700 gpu=w7900-dual-slot gpu=w7900 gpu=w7800-48gb gpu=w7800 gpu=w7700 gpu=w6800
.. selector-option:: Ubuntu
:value: ubuntu
:width: 4
.. selector-option:: RHEL
:value: rhel
:width: 4
.. selector-option:: Windows
:value: windows
:width: 4
.. selector:: Linux distribution
:key: os
:show-when: gpu=v710 gpu=ai-r9600d
.. selector-option:: Ubuntu
:value: ubuntu
:width: 6
.. selector-option:: RHEL
:value: rhel
:width: 6
.. selected:: fam=radeon
.. selector:: Linux distribution
:key: os
:show-when: gpu=rx-9070-xt gpu=rx-9070-gre gpu=rx-9070 gpu=rx-9060-xt-lp gpu=rx-9060-xt gpu=rx-9060
.. selector-option:: Ubuntu
:value: ubuntu
:width: 6
.. selector-option:: RHEL
:value: rhel
:width: 6
.. selector:: Operating system
:key: os
:show-when: gpu=rx-7900-xtx gpu=rx-7900-xt gpu=rx-7900-gre gpu=rx-7800-xt gpu=rx-7700-xt gpu=rx-7700
.. selector-option:: Ubuntu
:value: ubuntu
:width: 4
.. selector-option:: RHEL
:value: rhel
:width: 4
.. selector-option:: Windows
:value: windows
:width: 4
.. selector:: Operating system
:key: os
:show-when: fam=ryzen
.. selector-option:: Ubuntu
:value: ubuntu
:width: 6
.. selector-option:: Windows
:value: windows
:width: 6

View File

@@ -1,209 +0,0 @@
.. matrix::
:show-when: fam=instinct
.. matrix-head::
.. raw:: html
<colgroup style="width: 50%;">
.. matrix-row::
.. matrix-cell:: AMD GPU series
:header:
.. matrix-cell::
:show-when: gpu=mi355x gpu=mi350x
`AMD Instinct MI350 Series <https://www.amd.com/en/products/accelerators/instinct/mi350.html>`__
.. matrix-cell::
:show-when: gpu=mi325x gpu=mi300x gpu=mi300a
`AMD Instinct MI300 Series <https://www.amd.com/en/products/accelerators/instinct/mi300.html>`__
.. matrix-cell::
:show-when: gpu=mi250x gpu=mi250 gpu=mi210
`AMD Instinct MI200 Series <https://www.amd.com/en/products/accelerators/instinct/mi200.html>`__
.. matrix-row::
.. matrix-cell:: Architecture
:header:
.. matrix-cell:: CDNA 4
:show-when: gpu=mi355x gpu=mi350x
.. matrix-cell:: CDNA 3
:show-when: gpu=mi325x gpu=mi300x gpu=mi300a
.. matrix-cell:: CDNA 2
:show-when: gpu=mi250x gpu=mi250 gpu=mi210
.. matrix-row::
.. matrix-cell:: LLVM target
:header:
.. matrix-cell:: gfx950
:show-when: gpu=mi355x gpu=mi350x
.. matrix-cell:: gfx942
:show-when: gpu=mi325x gpu=mi300x gpu=mi300a
.. matrix-cell:: gfx90a
:show-when: gpu=mi250x gpu=mi250 gpu=mi210
.. matrix-row::
:show-when: os=ubuntu
.. matrix-cell:: Supported Ubuntu versions
:header:
.. matrix-cell::
Ubuntu 24.04.3 (GA kernel: 6.8)
Ubuntu 22.04.5 (GA kernel: 5.15)
.. matrix-row::
:show-when: os=rhel
.. matrix-cell:: Supported Red Hat Enterprise Linux versions
:header:
.. matrix-cell::
:show-when: gpu=mi325x
RHEL 10.1 (kernel: 6.12.0-124)
RHEL 10.0 (kernel: 6.12.0-55)
RHEL 9.7 (kernel: 5.14.0-611)
RHEL 9.6 (kernel: 5.14.0-570)
RHEL 9.4 (kernel: 5.14.0-427)
.. matrix-cell::
:show-when: gpu=mi355x gpu=mi350x gpu=mi300x gpu=mi300a gpu=mi250x gpu=mi250 gpu=mi210
RHEL 10.1 (kernel: 6.12.0-124)
RHEL 10.0 (kernel: 6.12.0-55)
RHEL 9.7 (kernel: 5.14.0-611)
RHEL 9.6 (kernel: 5.14.0-570)
RHEL 9.4 (kernel: 5.14.0-427)
RHEL 8.10 (kernel: 4.18.0-553)
.. matrix-row::
:show-when: os=debian
.. matrix-cell:: Supported Debian version
:header:
.. matrix-cell:: Debian 13 (kernel: 6.12)
.. matrix-row::
:show-when: os=oracle-linux
.. matrix-cell:: Supported Oracle Linux versions
:header:
.. matrix-cell::
:show-when: gpu=mi355x gpu=mi350x gpu=mi325x gpu=mi300a gpu=mi250x gpu=mi250 gpu=mi210
Oracle Linux 10 (kernel: UEK 8.1)
Oracle Linux 9 (kernel: UEK 8)
.. matrix-cell::
:show-when: gpu=mi300x
Oracle Linux 10 (kernel: UEK 8.1)
Oracle Linux 9 (kernel: UEK 8)
Oracle Linux 8 (kernel: UEK 7)
.. matrix-row::
:show-when: os=rocky-linux
.. matrix-cell:: Supported Rocky Linux versions
:header:
.. matrix-cell::
:show-when: gpu=mi300x gpu=mi300a
Rocky Linux 9 (kernel: 5.14.0-570)
.. matrix-row::
:show-when: os=sles
.. matrix-cell:: Supported SUSE Linux Enterprise Server versions
:header:
.. matrix-cell::
SLES 16.0 (kernel: 6.12)
SLES 15.7 (kernel: 6.4.0-150700.51)
.. matrix-row::
.. matrix-cell:: Supported AMD GPU Driver (amdgpu) versions
:header:
.. matrix-cell::
`31.10.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/31.10.0-preview/documentation/release-notes.html>`__
`30.20.1 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.20.1/documentation/release-notes.html>`__
`30.20.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.20.0/documentation/release-notes.html>`__
`30.10.2 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10.2/documentation/release-notes.html>`__
`30.10.1 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10.1/documentation/release-notes.html>`__
`30.10.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10/documentation/release-notes.html>`__
.. matrix-row::
.. matrix-cell:: Supported PLDM bundle (firmware) versions
:header:
.. matrix-cell::
:show-when: gpu=mi355x gpu=mi350x
01.25.16.03
.. matrix-cell::
:show-when: gpu=mi325x
01.25.04.02
.. matrix-cell::
:show-when: gpu=mi300x
01.25.03.12
.. matrix-cell::
:show-when: gpu=mi300a
BKC 26.1
.. matrix-cell::
:show-when: gpu=mi250x
IFWI 75 (or later)
.. matrix-cell::
:show-when: gpu=mi250 gpu=mi210
Maintenance update 5 with IFWI 75 (or later)

View File

@@ -1,123 +0,0 @@
.. matrix::
:show-when: fam=radeon-pro
.. matrix-head::
.. raw:: html
<colgroup style="width: 50%;">
.. matrix-row::
.. matrix-cell:: AMD GPU series
:header:
.. matrix-cell::
:show-when: gpu=ai-r9700 gpu=ai-r9600d
`AMD Radeon AI PRO R9000 Series <https://www.amd.com/en/products/graphics/workstations/radeon-ai-pro.html#tabs-95fa144b96-item-b95ec9e1ca-tab>`__
.. matrix-cell::
:show-when: gpu=w7900-dual-slot gpu=w7900 gpu=w7800-48gb gpu=w7800 gpu=w7700
`AMD Radeon PRO W7000 Series <https://www.amd.com/en/products/graphics/workstations/radeon-pro.html#tabs-990fdead92-item-20daa37284-tab>`__
.. matrix-cell::
:show-when: gpu=w6800
`AMD Radeon PRO W6000 Series <https://www.amd.com/en/products/graphics/workstations/radeon-pro/w6800.html>`__
.. matrix-cell::
:show-when: gpu=v710 gpu=v620
`AMD Radeon PRO V Series <https://www.amd.com/en/products/accelerators/radeon-pro.html>`__
.. matrix-row::
.. matrix-cell:: Architecture
:header:
.. matrix-cell:: RDNA 4
:show-when: gpu=ai-r9700 gpu=ai-r9600d
.. matrix-cell:: RDNA 3
:show-when: gpu=w7900-dual-slot gpu=w7900 gpu=w7800-48gb gpu=w7800 gpu=w7700 gpu=v710 gpu=w6800 gpu=v620
.. matrix-row::
.. matrix-cell:: LLVM target
:header:
.. matrix-cell:: gfx1201
:show-when: gpu=ai-r9700 gpu=ai-r9600d
.. matrix-cell:: gfx1100
:show-when: gpu=w7900-dual-slot gpu=w7900 gpu=w7800-48gb gpu=w7800
.. matrix-cell:: gfx1101
:show-when: gpu=w7700 gpu=v710
.. matrix-cell:: gfx1030
:show-when: gpu=w6800 gpu=v620
.. matrix-row::
:show-when: os=ubuntu
.. matrix-cell:: Supported Ubuntu versions
:header:
.. matrix-cell::
24.04.3 (GA kernel: 6.8)
22.04.5 (GA kernel: 5.15)
.. matrix-row::
:show-when: os=rhel
.. matrix-cell:: Supported RHEL versions
:header:
.. matrix-cell::
10.1 (kernel: 6.12.0-124)
9.7 (kernel: 5.14.0-427)
.. matrix-row::
:show-when: os=windows
.. matrix-cell:: Supported Windows version
:header:
.. matrix-cell:: Windows 11 25H2
.. matrix-row::
:show-when: os=ubuntu os=rhel
.. matrix-cell:: Supported AMD GPU Driver (amdgpu) versions
:header:
.. matrix-cell::
`31.10.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/31.10.0-preview/documentation/release-notes.html>`__
`30.20.1 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.20.1/documentation/release-notes.html>`__
`30.20.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.20.0/documentation/release-notes.html>`__
`30.10.2 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10.2/documentation/release-notes.html>`__
`30.10.1 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10.1/documentation/release-notes.html>`__
`30.10.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10/documentation/release-notes.html>`__
.. matrix-row::
:show-when: os=windows
.. matrix-cell:: Supported Adrenalin Driver version
:header:
.. matrix-cell::
`26.1.1 <https://www.amd.com/en/resources/support-articles/release-notes/RN-RAD-WIN-26-1-1.html>`__

View File

@@ -1,113 +0,0 @@
.. matrix::
:show-when: fam=radeon
.. matrix-head::
.. raw:: html
<colgroup style="width: 50%;">
.. matrix-row::
.. matrix-cell:: AMD GPU series
:header:
.. matrix-cell::
:show-when: gpu=rx-9070 gpu=rx-9070-gre gpu=rx-9070-xt gpu=rx-9060 gpu=rx-9060-xt gpu=rx-9060-xt-lp
`AMD Radeon RX 9000 Series <https://www.amd.com/en/products/graphics/desktops/radeon.html#tabs-ff9c5c3863-item-37fb38a236-tab>`__
.. matrix-cell::
:show-when: gpu=rx-7900-xtx gpu=rx-7900-xt gpu=rx-7900-gre gpu=rx-7800-xt gpu=rx-7700-xt gpu=rx-7700
`AMD Radeon RX 7000 Series <https://www.amd.com/en/products/graphics/desktops/radeon/7000-series.html>`__
.. matrix-row::
.. matrix-cell:: Architecture
:header:
.. matrix-cell:: RDNA 4
:show-when: gpu=rx-9070-xt gpu=rx-9070-gre gpu=rx-9070 gpu=rx-9060-xt-lp gpu=rx-9060-xt gpu=rx-9060
.. matrix-cell:: RDNA 3
:show-when: gpu=rx-7900-xtx gpu=rx-7900-xt gpu=rx-7900-gre gpu=rx-7800-xt gpu=rx-7700-xt gpu=rx-7700
.. matrix-row::
.. matrix-cell:: LLVM target
:header:
.. matrix-cell:: gfx1201
:show-when: gpu=rx-9070 gpu=rx-9070-gre gpu=rx-9070-xt
.. matrix-cell:: gfx1200
:show-when: gpu=rx-9060 gpu=rx-9060-xt gpu=rx-9060-xt-lp
.. matrix-cell:: gfx1100
:show-when: gpu=rx-7900-xtx gpu=rx-7900-xt gpu=rx-7900-gre
.. matrix-cell:: gfx1101
:show-when: gpu=rx-7800-xt gpu=rx-7700-xt gpu=rx-7700
.. matrix-row::
:show-when: os=ubuntu
.. matrix-cell:: Supported Ubuntu versions
:header:
.. matrix-cell::
24.04.3 (GA kernel: 6.8)
22.04.5 (GA kernel: 5.15)
.. matrix-row::
:show-when: os=rhel
.. matrix-cell:: Supported RHEL versions
:header:
.. matrix-cell::
10.1 (kernel: 6.12.0-124)
9.7 (kernel: 5.14.0-427)
.. matrix-row::
:show-when: os=windows
.. matrix-cell:: Supported Windows version
:header:
.. matrix-cell:: Windows 11 25H2
.. matrix-row::
:show-when: os=ubuntu os=rhel
.. matrix-cell:: Supported AMD GPU Driver (amdgpu) versions
:header:
.. matrix-cell::
`31.10.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/31.10.0-preview/documentation/release-notes.html>`__
`30.20.1 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.20.1/documentation/release-notes.html>`__
`30.20.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.20.0/documentation/release-notes.html>`__
`30.10.2 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10.2/documentation/release-notes.html>`__
`30.10.1 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10.1/documentation/release-notes.html>`__
`30.10.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10/documentation/release-notes.html>`__
.. matrix-row::
:show-when: os=windows
.. matrix-cell:: Supported Adrenalin Driver version
:header:
.. matrix-cell::
`26.1.1 <https://www.amd.com/en/resources/support-articles/release-notes/RN-RAD-WIN-26-1-1.html>`__

View File

@@ -1,100 +0,0 @@
.. matrix::
:show-when: fam=ryzen
.. matrix-head::
.. raw:: html
<colgroup style="width: 50%;">
.. matrix-row::
.. matrix-cell:: AMD APU series
:header:
.. matrix-cell::
:show-when: gpu=max-pro-395 gpu=max-pro-390 gpu=max-pro-385 gpu=max-pro-380
`AMD Ryzen AI Max PRO 300 Series <https://www.amd.com/en/products/processors/workstations/mobile.html#tabs-7f0c432fb2-item-5116ab7a74-tab>`__
.. matrix-cell::
:show-when: gpu=max-395 gpu=max-390 gpu=max-385
`AMD Ryzen AI Max 300 Series <https://www.amd.com/en/products/processors/laptop/ryzen.html#tabs-1181ea0b44-item-6ccfea5f65-tab>`__
.. matrix-cell::
:show-when: gpu=9-hx-375 gpu=9-hx-370 gpu=9-365
`AMD Ryzen AI 300 Series <https://www.amd.com/en/products/processors/consumer/ryzen-ai.html#tabs-f556098628-item-54e149d850-tab>`__
.. matrix-row::
.. matrix-cell:: Graphics model (iGPU)
:header:
.. matrix-cell:: Radeon 8060S
:show-when: gpu=max-pro-395 gpu=max-395
.. matrix-cell:: Radeon 8050S
:show-when: gpu=max-pro-390 gpu=max-pro-385 gpu=max-390 gpu=max-385
.. matrix-cell:: Radeon 8040S
:show-when: gpu=max-pro-380
.. matrix-cell:: Radeon 890M
:show-when: gpu=9-hx-375 gpu=9-hx-370
.. matrix-cell:: Radeon 880M
:show-when: gpu=9-365
.. matrix-row::
.. matrix-cell:: Architecture
:header:
.. matrix-cell:: RDNA 3.5
.. matrix-row::
.. matrix-cell:: LLVM target
:header:
.. matrix-cell:: gfx1151
:show-when: gpu=max-pro-395 gpu=max-pro-390 gpu=max-pro-385 gpu=max-pro-380 gpu=max-395 gpu=max-390 gpu=max-385
.. matrix-cell:: gfx1150
:show-when: gpu=9-hx-375 gpu=9-hx-370 gpu=9-365
.. matrix-row::
:show-when: os=ubuntu
.. matrix-cell:: Supported Ubuntu versions
:header:
.. matrix-cell:: 24.04.3 (HWE kernel: 6.14)
.. matrix-row::
:show-when: os=windows
.. matrix-cell:: Supported Windows version
:header:
.. matrix-cell:: Windows 11 25H2
.. matrix-row::
:show-when: os=ubuntu
.. matrix-cell:: Supported kernel driver version
:header:
.. matrix-cell:: Inbox kernel driver in Ubuntu 24.04.3
.. matrix-row::
:show-when: os=windows
.. matrix-cell:: Supported Adrenalin Driver version
:header:
.. matrix-cell::
`26.1.1 <https://www.amd.com/en/resources/support-articles/release-notes/RN-RAD-WIN-26-1-1.html>`__

View File

@@ -1,113 +0,0 @@
.. selected:: gpu=mi355x gpu=mi350x gpu=mi325x gpu=mi300x
:heading: GPU virtualization support
.. selected:: gpu=mi355x
AMD Instinct MI355X GPUs support the following virtualization
configurations.
Supported SR-IOV configurations require the GPU-IOV Module (GIM) driver
8.7.0K -- see the `AMD Instinct Virtualization Driver documentation
<https://instinct.docs.amd.com/projects/virt-drv/en/mainline-8.7.0.k/>`__ to
get started.
.. selected:: gpu=mi350x
AMD Instinct MI350X GPUs support the following virtualization
configurations.
Supported SR-IOV configurations require the GPU-IOV Module (GIM) driver
8.7.0K -- see the `AMD Instinct Virtualization Driver documentation
<https://instinct.docs.amd.com/projects/virt-drv/en/mainline-8.7.0.k/>`__ to
get started.
.. selected:: gpu=mi325x
AMD Instinct MI325X GPUs support the following virtualization
configurations.
Supported SR-IOV configurations require the GPU-IOV Module (GIM) driver
8.7.0K -- see the `AMD Instinct Virtualization Driver documentation
<https://instinct.docs.amd.com/projects/virt-drv/en/mainline-8.7.0.k/>`__ to
get started.
.. selected:: gpu=mi300x
AMD Instinct MI300X GPUs support the following virtualization
configurations.
Supported SR-IOV configurations require the GPU-IOV Module (GIM) driver
8.7.0K -- see the `AMD Instinct Virtualization Driver documentation
<https://instinct.docs.amd.com/projects/virt-drv/en/mainline-8.7.0.k/>`__ to
get started.
.. matrix::
.. matrix-row::
:header:
.. matrix-cell:: Hypervisor
.. matrix-cell:: Virtualization technology
.. matrix-cell:: Virtualization driver
.. matrix-cell:: Host OS
.. matrix-cell:: Guest OS
.. matrix-row::
:show-when: gpu=mi355x gpu=mi350x
.. matrix-cell:: KVM
:rowspan: 2
.. matrix-cell:: Passthrough
.. matrix-cell::
.. matrix-cell:: Ubuntu 24.04
:rowspan: 2
.. matrix-cell:: Ubuntu 24.04
:rowspan: 2
.. matrix-row::
:show-when: gpu=mi325x
.. matrix-cell:: KVM
.. matrix-cell:: SR-IOV
.. matrix-cell::
`GIM 8.7.0K <https://github.com/amd/MxGPU-Virtualization/releases/tag/8.7.0.K>`__
.. matrix-cell:: Ubuntu 22.04
.. matrix-cell:: Ubuntu 22.04
.. matrix-row::
:show-when: gpu=mi300x
.. matrix-cell:: KVM
:rowspan: 2
.. matrix-cell:: Passthrough
.. matrix-cell::
.. matrix-cell:: Ubuntu 22.04
:rowspan: 2
.. matrix-cell:: Ubuntu 22.04
:rowspan: 2
.. matrix-row::
:show-when: gpu=mi355x gpu=mi350x gpu=mi300x
.. matrix-cell:: SR-IOV
.. matrix-cell::
`GIM 8.7.0K <https://github.com/amd/MxGPU-Virtualization/releases/tag/8.7.0.K>`__
See the :ref:`release notes <release-virtualization-support>`
for the full list of supported configurations.

View File

@@ -5,90 +5,9 @@
# https://www.sphinx-doc.org/en/master/usage/configuration.html # https://www.sphinx-doc.org/en/master/usage/configuration.html
import os import os
import shutil
import sys import sys
from pathlib import Path from pathlib import Path
ROCM_VERSION = "7.11.0"
GA_DATE = "2026-02-11"
DOCS_DIR = Path(__file__).parent.resolve()
ROOT_DIR = DOCS_DIR.parent
def copy_rtd_file(src_path: Path, dest_path: Path):
dest_path.parent.mkdir(parents=True, exist_ok=True)
shutil.copy2(src_path, dest_path)
print(f"📁 Copied {src_path}{dest_path}")
# compat_matrix_src = DOCS_DIR / "compatibility" / "compatibility-matrix-historical-6.0.csv" # fmt: skip
# compat_matrix_dest = ROOT_DIR / "_readthedocs" / "html" / "downloads" / "compatibility-matrix-historical-6.0.csv" # fmt: skip
# copy_rtd_file(compat_matrix_src, compat_matrix_dest)
gh_release_path = ROOT_DIR / "RELEASE.md"
rtd_release_path = DOCS_DIR / "about" / "release-notes.md"
copy_rtd_file(gh_release_path, rtd_release_path)
# gh_changelog_path = ROOT_DIR / "CHANGELOG.md"
# rtd_changelog_path = DOCS_DIR / "release" / "changelog.md"
# copy_rtd_file(gh_changelog_path, rtd_changelog_path)
# Mark the consolidated changelog as orphan to prevent Sphinx from warning about missing toctree entries
# with open(rtd_changelog_path, "r+", encoding="utf-8") as file:
# content = file.read()
# file.seek(0)
# file.write(":orphan:\n" + content)
#
# # Replace GitHub-style [!ADMONITION]s with Sphinx-compatible ```{admonition} blocks
# with open(rtd_changelog_path, "r", encoding="utf-8") as file:
# lines = file.readlines()
#
# modified_lines = []
# in_admonition_section = False
#
# # Map for matching the specific admonition type to its corresponding Sphinx markdown syntax
# admonition_types = {
# "> [!NOTE]": "```{note}",
# "> [!TIP]": "```{tip}",
# "> [!IMPORTANT]": "```{important}",
# "> [!WARNING]": "```{warning}",
# "> [!CAUTION]": "```{caution}",
# }
#
# for line in lines:
# if any(line.startswith(k) for k in admonition_types):
# for key in admonition_types:
# if line.startswith(key):
# modified_lines.append(admonition_types[key] + "\n")
# break
# in_admonition_section = True
# elif in_admonition_section:
# if line.strip() == "":
# # If we encounter an empty line, close the admonition section
# modified_lines.append("```\n\n") # Close the admonition block
# in_admonition_section = False
# else:
# modified_lines.append(line.lstrip("> "))
# else:
# modified_lines.append(line)
#
# # In case the file ended while still in a admonition section, close it
# if in_admonition_section:
# modified_lines.append("```")
#
# file.close()
#
# with open(rtd_changelog_path, "w", encoding="utf-8") as file:
# file.writelines(modified_lines)
# matrix_path = os.path.join("compatibility", "compatibility-matrix-historical-6.0.csv")
# rtd_path = os.path.join("..", "_readthedocs", "html", "downloads")
# if not os.path.exists(rtd_path):
# os.makedirs(rtd_path)
# shutil.copy2(matrix_path, rtd_path)
latex_engine = "xelatex" latex_engine = "xelatex"
latex_elements = { latex_elements = {
"fontpkg": r""" "fontpkg": r"""
@@ -100,100 +19,58 @@ latex_elements = {
html_baseurl = os.environ.get("READTHEDOCS_CANONICAL_URL", "rocm.docs.amd.com") html_baseurl = os.environ.get("READTHEDOCS_CANONICAL_URL", "rocm.docs.amd.com")
html_context = {} html_context = {}
if os.environ.get("READTHEDOCS", "") == "True":
html_context["READTHEDOCS"] = True
# configurations for PDF output by Read the Docs # configurations for PDF output by Read the Docs
project = "ROCm documentation" project = "ROCm Documentation"
project_path = str(DOCS_DIR).replace("\\", "/") project_path = os.path.abspath(".").replace("\\", "/")
author = "Advanced Micro Devices, Inc." author = "Advanced Micro Devices, Inc."
copyright = "Copyright (c) %Y Advanced Micro Devices, Inc. All rights reserved." copyright = "Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved."
version = ROCM_VERSION version = "7.0 Beta"
release = ROCM_VERSION release = "7.0 Beta"
setting_all_article_info = False setting_all_article_info = True
all_article_info_os = ["linux", "windows"] all_article_info_os = ["linux"]
all_article_info_author = "" all_article_info_author = ""
# pages with specific settings
article_pages = [ article_pages = [
{"file": "about/release-notes", "date": GA_DATE, "os": ["linux", "windows"]}, {"file": "preview/release", "date": "2025-07-24",},
] ]
external_toc_path = "./sphinx/_toc.yml" external_toc_path = "./sphinx/_toc.yml"
external_projects_remote_repository = "" # don't fetch data to resolve intersphinx xrefs
# Register Sphinx extensions and static assets # Add the _extensions directory to Python's search path
sys.path.append(str(DOCS_DIR / "extension")) sys.path.append(str(Path(__file__).parent / 'extension'))
extensions = [
"rocm_docs",
"rocm_docs_custom.selector",
"rocm_docs_custom.matrix",
"rocm_docs_custom.icon",
# "sphinxcontrib.datatemplates",
# "sphinx_reredirects",
# "sphinx_sitemap",
# "version-ref",
# "csv-to-list-table",
]
templates_path = ["extension/rocm_docs_custom/templates"]
html_static_path = ["sphinx/static"] extensions = ["rocm_docs", "sphinx_reredirects", "sphinx_sitemap", "sphinxcontrib.datatemplates", "version-ref", "csv-to-list-table"]
html_js_files = ["setup-toc-install-headings.js"]
# compatibility_matrix_file = str(
# DOCS_DIR / "compatibility/compatibility-matrix-historical-6.0.csv"
# )
external_projects_current_project = "rocm" external_projects_current_project = "rocm"
html_theme = "rocm_docs_theme"
html_theme_options = {
"announcement": f"This is ROCm {ROCM_VERSION} technology preview release documentation. For the latest production stream release, refer to <a id='rocm-banner' href='https://rocm.docs.amd.com/en/latest/'>ROCm documentation</a>.",
"flavor": "generic",
"header_title": f"ROCm™ {ROCM_VERSION} Preview",
"header_link": f"https://rocm.docs.amd.com/en/{ROCM_VERSION}-preview/index.html",
"version_list_link": f"https://rocm.docs.amd.com/en/{ROCM_VERSION}-preview/release/versions.html",
"nav_secondary_items": {
"GitHub": "https://github.com/ROCm/ROCm",
"Community": "https://github.com/ROCm/ROCm/discussions",
"Blogs": "https://rocm.blogs.amd.com/",
"System and Infra Docs": "https://instinct.docs.amd.com/",
"Support": "https://github.com/ROCm/ROCm/issues/new/choose",
},
"link_main_doc": False,
"secondary_sidebar_items": {
"**": ["page-toc"],
"compatibility/compatibility-matrix": ["selector-toc2"],
"install/rocm": ["selector-toc2"],
"rocm-for-ai/pytorch-comfyui": ["selector-toc2"],
},
}
html_title = f"AMD ROCm {ROCM_VERSION} preview"
numfig = False html_baseurl = os.environ.get("READTHEDOCS_CANONICAL_URL", "https://rocm-stg.amd.com/")
rst_prolog = f""" html_context = {}
.. |ROCM_VERSION| replace:: {ROCM_VERSION}
"""
exclude_patterns = ["**/includes/**"]
suppress_warnings = ["autosectionlabel.*"]
# html_baseurl = os.environ.get("READTHEDOCS_CANONICAL_URL", "https://rocm-stg.amd.com/")
# html_context = {
# "project_path": {project_path},
# "gpu_type": [
# ("AMD Instinct accelerators", "intrinsic"),
# ("AMD gfx families", "gfx"),
# ("NVIDIA families", "nvidia"),
# ],
# "atomics_type": [("HW atomics", "hw-atomics"), ("CAS emulation", "cas-atomics")],
# "pcie_type": [("No PCIe atomics", "nopcie"), ("PCIe atomics", "pcie")],
# "memory_type": [
# ("Device DRAM", "device-dram"),
# ("Migratable Host DRAM", "migratable-host-dram"),
# ("Pinned Host DRAM", "pinned-host-dram"),
# ],
# "granularity_type": [
# ("Coarse-grained", "coarse-grained"),
# ("Fine-grained", "fine-grained"),
# ],
# "scope_type": [("Device", "device"), ("System", "system")],
# }
if os.environ.get("READTHEDOCS", "") == "True": if os.environ.get("READTHEDOCS", "") == "True":
html_context["READTHEDOCS"] = True html_context["READTHEDOCS"] = True
html_theme = "rocm_docs_theme"
html_theme_options = {"flavor": "rocm-docs-home"}
html_static_path = ["sphinx/static/css", "sphinx/static/js"]
html_css_files = ["rocm_custom.css", "rocm_rn.css"]
html_js_files = ["preview-version-list.js"]
html_title = "ROCm 7.0 Beta documentation"
html_theme_options = {"link_main_doc": False}
numfig = False
html_context = {
"project_path" : {project_path},
"gpu_type" : [('AMD Instinct accelerators', 'intrinsic'), ('AMD gfx families', 'gfx'), ('NVIDIA families', 'nvidia') ],
"atomics_type" : [('HW atomics', 'hw-atomics'), ('CAS emulation', 'cas-atomics')],
"pcie_type" : [('No PCIe atomics', 'nopcie'), ('PCIe atomics', 'pcie')],
"memory_type" : [('Device DRAM', 'device-dram'), ('Migratable Host DRAM', 'migratable-host-dram'), ('Pinned Host DRAM', 'pinned-host-dram')],
"granularity_type" : [('Coarse-grained', 'coarse-grained'), ('Fine-grained', 'fine-grained')],
"scope_type" : [('Device', 'device'), ('System', 'system')]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

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