mirror of
https://github.com/ROCm/ROCm.git
synced 2026-01-11 07:38:17 -05:00
Compare commits
1 Commits
docs/7.0.0
...
docs_remov
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e6d089c5fa |
42
.azuredevops/ci-builds/aomp-mainline.yml
Normal file
42
.azuredevops/ci-builds/aomp-mainline.yml
Normal 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
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml@pipelines_repo
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: pipelinesRepoRef
|
|
||||||
type: string
|
|
||||||
default: refs/heads/develop
|
|
||||||
- name: librariesRepoRef
|
|
||||||
type: string
|
|
||||||
default: refs/heads/develop
|
|
||||||
|
|
||||||
resources:
|
|
||||||
repositories:
|
|
||||||
- repository: pipelines_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/ROCm
|
|
||||||
ref: ${{ parameters.pipelinesRepoRef }}
|
|
||||||
- repository: libraries_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/rocm-libraries
|
|
||||||
ref: ${{ parameters.librariesRepoRef }}
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
pr: none
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: /.azuredevops/ci-builds/mathlibs.yml@pipelines_repo
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: libraries_repo
|
|
||||||
buildDependsOn: false
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
# entrypoint for kicking off a unified build of the mathlibs
|
|
||||||
# this template is designed to be called by another pipeline (llvm, clr, etc.)
|
|
||||||
# `buildDependsOn` will need to be set when calling this template
|
|
||||||
# passes a `unifiedBuild` param to downstream pipelines, which will prevent duplicate jobs
|
|
||||||
# logic needs to be added in individual mathlib pipelines for handling `unifiedBuild`
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: checkoutRepo
|
|
||||||
type: string
|
|
||||||
default: monorepo
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: false
|
|
||||||
- name: downstreamComponentMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- rocRAND:
|
|
||||||
name: rocRAND
|
|
||||||
sparseCheckoutDir: projects/rocrand
|
|
||||||
- rocPRIM:
|
|
||||||
name: rocPRIM
|
|
||||||
sparseCheckoutDir: projects/rocprim
|
|
||||||
- hipBLAS-common:
|
|
||||||
name: hipBLAS-common
|
|
||||||
sparseCheckoutDir: projects/hipblas-common
|
|
||||||
# - composable_kernel:
|
|
||||||
# name: composable_kernel
|
|
||||||
# sparseCheckoutDir: projects/composablekernel
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
|
||||||
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
|
||||||
buildDependsOn: ${{ parameters.buildDependsOn }}
|
|
||||||
triggerDownstreamJobs: true
|
|
||||||
unifiedBuild: true
|
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -39,7 +20,7 @@ parameters:
|
|||||||
- ocl-icd-libopencl1
|
- ocl-icd-libopencl1
|
||||||
- ocl-icd-opencl-dev
|
- ocl-icd-opencl-dev
|
||||||
- opencl-headers
|
- opencl-headers
|
||||||
- zlib1g-dev
|
- python3-pip
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -54,81 +35,126 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- ROCR-Runtime
|
|
||||||
|
|
||||||
- name: jobMatrix
|
# hip and clr are tightly-coupled
|
||||||
type: object
|
# run this same template for both repos
|
||||||
default:
|
# any changes for clr should just trigger HIP pipeline
|
||||||
buildJobs:
|
# similarly for hipother repo, for Nvidia backend
|
||||||
- { os: ubuntu2204, packageManager: apt, platform: amd }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, platform: nvidia }
|
|
||||||
- { os: almalinux8, packageManager: dnf, platform: amd }
|
|
||||||
- { os: almalinux8, packageManager: dnf, platform: nvidia }
|
|
||||||
|
|
||||||
|
# HIP with AMD backend
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: hip_clr_combined_amd
|
||||||
- job: ${{ parameters.componentName }}_${{ job.os }}_${{ job.platform }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool:
|
||||||
- ${{ build }}_${{ job.os }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
pool:
|
workspace:
|
||||||
vmImage: 'ubuntu-22.04'
|
clean: all
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
steps:
|
||||||
container:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
parameters:
|
||||||
endpoint: ContainerService3
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
variables:
|
pipModules: ${{ parameters.pipModules }}
|
||||||
- group: common
|
# checkout triggering repo (either HIP or clr)
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
workspace:
|
parameters:
|
||||||
clean: all
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
steps:
|
# if this is triggered by HIP repo, matching repo is clr
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
# if this is triggered by clr repo, matching repo is HIP
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
pipModules: ${{ parameters.pipModules }}
|
checkoutRepo: matching_repo
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
# full checkout of rocm-systems superrepo, we need clr, hip, and hipother
|
checkoutRepo: hipother_repo
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
# sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
dependencyList: ${{ parameters.rocmDependenciesAMD }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
parameters:
|
# compile clr
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
parameters:
|
||||||
os: ${{ job.os }}
|
componentName: clr
|
||||||
${{ if eq(job.platform, 'amd') }}:
|
cmakeBuildDir: '$(Build.SourcesDirectory)/clr/build'
|
||||||
dependencyList: ${{ parameters.rocmDependenciesAMD }}
|
cmakeSourceDir: '$(Build.SourcesDirectory)/clr'
|
||||||
${{ elseif eq(job.platform, 'nvidia') }}:
|
extraBuildFlags: >-
|
||||||
dependencyList: ${{ parameters.rocmDependenciesNvidia }}
|
-DHIP_COMMON_DIR=$(Build.SourcesDirectory)/HIP
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
-DHIP_PLATFORM=amd
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
parameters:
|
-DHIPCC_BIN_DIR=$(Agent.BuildDirectory)/rocm/bin
|
||||||
componentName: clr
|
-DCLR_BUILD_HIP=ON
|
||||||
cmakeBuildDir: $(Agent.BuildDirectory)/s/projects/clr/build
|
-DCLR_BUILD_OCL=ON
|
||||||
cmakeSourceDir: $(Agent.BuildDirectory)/s/projects/clr
|
-GNinja
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
useAmdclang: false
|
parameters:
|
||||||
extraBuildFlags: >-
|
artifactName: amd
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
parameters:
|
||||||
-DHIPCC_BIN_DIR=$(Agent.BuildDirectory)/rocm/bin
|
artifactName: amd
|
||||||
-DHIP_COMMON_DIR=$(Agent.BuildDirectory)/s/projects/hip
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
-DHIPNV_DIR=$(Agent.BuildDirectory)/s/projects/hipother/hipnv
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
-DHIP_PLATFORM=${{ job.platform }}
|
# parameters:
|
||||||
-DCLR_BUILD_HIP=ON
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
-DCLR_BUILD_OCL=ON
|
# pipModules: ${{ parameters.pipModules }}
|
||||||
-GNinja
|
# environment: amd
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
# HIP with Nvidia backend
|
||||||
artifactName: ${{ job.platform }}
|
- job: hip_clr_combined_nvidia
|
||||||
os: ${{ job.os }}
|
variables:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- group: common
|
||||||
parameters:
|
- template: /.azuredevops/variables-global.yml
|
||||||
artifactName: ${{ job.platform }}
|
pool:
|
||||||
os: ${{ job.os }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
# 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.rocmDependenciesNvidia }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
- script: 'ls -1R $(Agent.BuildDirectory)/rocm'
|
||||||
|
displayName: 'Artifact listing'
|
||||||
|
# compile clr
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
componentName: clr
|
||||||
|
cmakeBuildDir: '$(Build.SourcesDirectory)/clr/build'
|
||||||
|
cmakeSourceDir: '$(Build.SourcesDirectory)/clr'
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DHIP_COMMON_DIR=$(Build.SourcesDirectory)/HIP
|
||||||
|
-DHIP_PLATFORM=nvidia
|
||||||
|
-DHIPCC_BIN_DIR=$(Agent.BuildDirectory)/rocm/bin
|
||||||
|
-DCLR_BUILD_HIP=ON
|
||||||
|
-DCLR_BUILD_OCL=OFF
|
||||||
|
-DHIPNV_DIR=$(Build.SourcesDirectory)/hipother/hipnv
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
artifactName: nvidia
|
||||||
|
- 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
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: HIPIFY
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
@@ -16,140 +13,113 @@ parameters:
|
|||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cuda-toolkit-12-9
|
- cmake
|
||||||
- libcudnn9-dev-cuda-12
|
|
||||||
- libnuma-dev
|
|
||||||
- mesa-common-dev
|
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- python-is-python3
|
- libnuma-dev
|
||||||
- python3-dev
|
- python3-dev
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- name: pipModules
|
- python-is-python3
|
||||||
type: object
|
- mesa-common-dev
|
||||||
default:
|
- ccache
|
||||||
- lit
|
- cuda-toolkit
|
||||||
- name: rocmDependencies
|
- cudnn
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- llvm-project
|
|
||||||
|
|
||||||
- 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 }
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: HIPIFY
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
- name: UPSTREAM_LLVM_GIT_URL
|
||||||
pool:
|
value: https://github.com/llvm/llvm-project.git
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
- name: UPSTREAM_LLVM_TAG
|
||||||
name: rocm-ci_medium_build_pool_2404
|
value: llvmorg-18.1.2
|
||||||
${{ else }}:
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
name: ${{ variables.MEDIUM_BUILD_POOL }}
|
workspace:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
clean: all
|
||||||
container:
|
steps:
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
- task: Bash@3
|
||||||
endpoint: ContainerService3
|
displayName: 'Register CUDA packages'
|
||||||
workspace:
|
inputs:
|
||||||
clean: all
|
targetType: inline
|
||||||
steps:
|
script: |
|
||||||
- task: Bash@3
|
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
|
||||||
displayName: 'Register CUDA packages'
|
sudo dpkg -i cuda-keyring_1.1-1_all.deb
|
||||||
inputs:
|
sudo rm -f cuda-keyring_1.1-1_all.deb
|
||||||
targetType: inline
|
sudo apt update
|
||||||
${{ if eq(job.os, 'ubuntu2204') }}:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
script: |
|
parameters:
|
||||||
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
sudo dpkg -i cuda-keyring_1.1-1_all.deb
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
sudo rm -f cuda-keyring_1.1-1_all.deb
|
- task: Bash@3
|
||||||
sudo apt update
|
displayName: git clone upstream llvm-project
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
inputs:
|
||||||
script: |
|
targetType: inline
|
||||||
sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
|
script: git clone $(UPSTREAM_LLVM_GIT_URL) --depth=1 --branch $(UPSTREAM_LLVM_TAG) --recurse-submodules
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
pipModules: ${{ parameters.pipModules }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
packageManager: ${{ job.packageManager }}
|
- script: |
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
mkdir -p $(CCACHE_DIR)
|
||||||
- task: Bash@3
|
echo "##vso[task.prependpath]/usr/lib/ccache:/usr/local/cuda/bin"
|
||||||
displayName: Add lit to PATH
|
displayName: Update path for cuda and ccache
|
||||||
inputs:
|
- task: Cache@2
|
||||||
targetType: inline
|
displayName: Ccache caching
|
||||||
script: |
|
inputs:
|
||||||
site_packages=$(python3 -m site --user-base)/bin
|
key: HIPIFY | $(Agent.OS) | "$(UPSTREAM_LLVM_TAG)"
|
||||||
sudo ln -sf $site_packages/bin/lit $(Pipeline.Workspace)/llvm-lit
|
path: $(CCACHE_DIR)
|
||||||
echo "##vso[task.prependpath]$site_packages"
|
restoreKeys: HIPIFY | $(Agent.OS)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
componentName: upstream-llvm
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
cmakeBuildDir: $(Pipeline.Workspace)/llvm-project/llvm/build
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
cmakeSourceDir: $(Pipeline.Workspace)/llvm-project/llvm
|
||||||
parameters:
|
installDir: $(Pipeline.Workspace)/llvm
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
extraBuildFlags: >-
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
os: ${{ job.os }}
|
-DLLVM_ENABLE_PROJECTS=clang
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
-DLLVM_INCLUDE_TESTS=OFF
|
||||||
# cutensor is not available from apt or dnf
|
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||||
- task: Bash@3
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache
|
||||||
displayName: 'Download and install cutensor'
|
-GNinja
|
||||||
inputs:
|
- task: Bash@3
|
||||||
targetType: inline
|
displayName: python install lit
|
||||||
script: |
|
inputs:
|
||||||
wget -q --show-progress https://developer.download.nvidia.com/compute/cutensor/redist/libcutensor/linux-x86_64/libcutensor-linux-x86_64-2.2.0.0-archive.tar.xz
|
targetType: inline
|
||||||
tar -xvJf libcutensor-linux-x86_64-*.tar.xz
|
script: sudo python3 $(Pipeline.Workspace)/llvm-project/llvm/utils/lit/setup.py install
|
||||||
mkdir -p $(Pipeline.Workspace)/cutensor
|
- task: Bash@3
|
||||||
cp -r libcutensor-linux-x86_64-*/* $(Pipeline.Workspace)/cutensor/
|
displayName: install FileCheck
|
||||||
- task: Bash@3
|
inputs:
|
||||||
displayName: 'List downloaded CUDA files'
|
targetType: inline
|
||||||
inputs:
|
script: cp $(Pipeline.Workspace)/llvm-project/llvm/build/bin/FileCheck $(Pipeline.Workspace)/llvm/bin
|
||||||
targetType: inline
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
script: ls -la1R /usr/local/cuda-12.9
|
parameters:
|
||||||
# script: cp $(Pipeline.Workspace)/llvm-project/llvm/build/bin/FileCheck $(Pipeline.Workspace)/llvm/bin
|
componentName: HIPIFY
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DHIPIFY_CLANG_TESTS=ON
|
||||||
componentName: ${{ parameters.componentName }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
os: ${{ job.os }}
|
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda/targets/x86_64-linux
|
||||||
consolidateBuildAndInstall: true
|
-DCUDA_DNN_ROOT_DIR=/usr/local/cuda/targets/x86_64-linux
|
||||||
extraBuildFlags: >-
|
-DCMAKE_PREFIX_PATH=$(Pipeline.Workspace)/llvm;/usr/local/cuda/targets/x86_64-linux/lib
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;/usr/local/cuda/targets/x86_64-linux/lib
|
-DLLVM_EXTERNAL_LIT=$(Pipeline.Workspace)/llvm-project/llvm/build/bin/llvm-lit
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
multithreadFlag: -- -j32
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
-DHIPIFY_CLANG_TESTS=ON
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-12.9
|
parameters:
|
||||||
-DCUDA_DNN_ROOT_DIR=/usr/local/cuda-12.9
|
componentName: HIPIFY
|
||||||
-DCUDA_CUB_ROOT_DIR=/usr/local/cuda-12.9/targets/x86_64-linux/include/cub
|
testDir: $(Build.SourcesDirectory)/build
|
||||||
-DCUDA_TENSOR_ROOT_DIR=$(Pipeline.Workspace)/cutensor/
|
testExecutable: make
|
||||||
multithreadFlag: -- -j32
|
testParameters: test-hipify
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
testPublishResults: false
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
os: ${{ job.os }}
|
environment: combined
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
registerCUDAPackages: true
|
||||||
# parameters:
|
extraCopyDirectories:
|
||||||
# componentName: HIPIFY
|
- llvm-project
|
||||||
# testDir: $(Build.SourcesDirectory)/build
|
extraEnvVars:
|
||||||
# testExecutable: make
|
- UPSTREAM_LLVM_GIT_URL:::https://github.com/llvm/llvm-project.git
|
||||||
# testParameters: -j 32 test-hipify
|
- UPSTREAM_LLVM_TAG:::llvmorg-18.1.2
|
||||||
# testPublishResults: false
|
|
||||||
# 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 }}
|
|
||||||
environment: combined
|
|
||||||
registerCUDAPackages: true
|
|
||||||
extraCopyDirectories:
|
|
||||||
- llvm-project
|
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -35,7 +16,6 @@ parameters:
|
|||||||
- cmake
|
- cmake
|
||||||
- jq
|
- jq
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- libmsgpack-dev
|
|
||||||
- libsqlite3-dev
|
- libsqlite3-dev
|
||||||
- libstdc++-12-dev
|
- libstdc++-12-dev
|
||||||
- ninja-build
|
- ninja-build
|
||||||
@@ -93,37 +73,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 +90,10 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
- 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 }}
|
|
||||||
- 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 +103,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 +129,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 +142,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 +164,10 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
- 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 }}
|
|
||||||
- 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 +177,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 +192,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 +202,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 +223,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 }}
|
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -62,24 +43,21 @@ parameters:
|
|||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- AMDMIGraphX
|
|
||||||
- clr
|
|
||||||
- half
|
|
||||||
- hipBLAS-common
|
|
||||||
- hipBLASLt
|
|
||||||
- llvm-project
|
|
||||||
- MIOpen
|
|
||||||
- rocBLAS
|
|
||||||
- rocDecode
|
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
|
- llvm-project
|
||||||
|
- ROCR-Runtime
|
||||||
|
- clr
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- half
|
||||||
|
- rocBLAS
|
||||||
|
- MIOpen
|
||||||
|
- AMDMIGraphX
|
||||||
- rpp
|
- rpp
|
||||||
|
- rocDecode
|
||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- aomp
|
|
||||||
- clr
|
- clr
|
||||||
- half
|
- half
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
@@ -108,15 +86,12 @@ 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
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
pool:
|
||||||
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
@@ -134,8 +109,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 +130,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 +160,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 +173,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:
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -39,6 +20,7 @@ parameters:
|
|||||||
- libnuma-dev
|
- libnuma-dev
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- pkg-config
|
- pkg-config
|
||||||
|
- python3-pip
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -47,174 +29,139 @@ 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
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
|
||||||
- { os: almalinux8, packageManager: dnf }
|
|
||||||
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 }}:
|
- job: ROCR_Runtime_build
|
||||||
- job: ROCR_Runtime_build_${{ job.os }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool:
|
||||||
- ${{ build }}_${{ job.os }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
pool:
|
workspace:
|
||||||
vmImage: 'ubuntu-22.04'
|
clean: all
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
steps:
|
||||||
container:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
parameters:
|
||||||
endpoint: ContainerService3
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DBUILD_SHARED_LIBS=ON
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
# parameters:
|
||||||
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: ROCR_Runtime_test_${{ job.target }}
|
||||||
|
dependsOn: ROCR_Runtime_build
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
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
|
||||||
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 }}
|
- task: Bash@3
|
||||||
|
displayName: Install libhwloc5
|
||||||
|
inputs:
|
||||||
|
targetType: 'inline'
|
||||||
|
script: |
|
||||||
|
wget http://ftp.us.debian.org/debian/pool/main/h/hwloc/libhwloc5_1.11.12-3_amd64.deb
|
||||||
|
wget http://ftp.us.debian.org/debian/pool/main/h/hwloc/libhwloc-dev_1.11.12-3_amd64.deb
|
||||||
|
sudo apt install -y --allow-downgrades ./libhwloc5_1.11.12-3_amd64.deb ./libhwloc-dev_1.11.12-3_amd64.deb
|
||||||
- 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/local-artifact-download.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
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.rocmTestDependencies }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
gpuTarget: ${{ job.target }}
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
useAmdclang: false
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DBUILD_SHARED_LIBS=ON
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
runRocminfo: false
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
- task: Bash@3
|
||||||
os: ${{ job.os }}
|
displayName: Build kfdtest
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
continueOnError: true
|
||||||
|
inputs:
|
||||||
|
targetType: 'inline'
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)/libhsakmt/tests/kfdtest
|
||||||
|
script: |
|
||||||
|
mkdir build && cd build
|
||||||
|
cmake -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm ..
|
||||||
|
make
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
componentName: kfdtest
|
||||||
os: ${{ job.os }}
|
testExecutable: BIN_DIR=$(Build.SourcesDirectory)/libhsakmt/tests/kfdtest/build ./run_kfdtest.sh
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
testParameters: '-p core --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
testDir: $(Build.SourcesDirectory)/libhsakmt/tests/kfdtest/scripts
|
||||||
# parameters:
|
- task: Bash@3
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
displayName: Build rocrtst
|
||||||
|
continueOnError: true
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
inputs:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
targetType: 'inline'
|
||||||
- job: ROCR_Runtime_test_${{ job.os }}_${{ job.target }}
|
workingDirectory: $(Build.SourcesDirectory)/rocrtst/suites/test_common
|
||||||
dependsOn: ROCR_Runtime_build_${{ job.os }}
|
script: |
|
||||||
condition:
|
BASE_CLANG_DIR=$(Agent.BuildDirectory)/rocm/llvm/lib/clang
|
||||||
and(succeeded(),
|
export NEWEST_CLANG_VER=$(ls -1 $BASE_CLANG_DIR | sort -V | tail -n 1)
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
mkdir build && cd build
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
cmake .. \
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm \
|
||||||
)
|
-DTARGET_DEVICES=${{ job.target }} \
|
||||||
variables:
|
-DROCM_DIR=$(Agent.BuildDirectory)/rocm \
|
||||||
- group: common
|
-DLLVM_DIR=$(Agent.BuildDirectory)/rocm/llvm/bin \
|
||||||
- template: /.azuredevops/variables-global.yml
|
-DOPENCL_INC_DIR=$BASE_CLANG_DIR/$NEWEST_CLANG_VER/include
|
||||||
pool: ${{ job.target }}_test_pool
|
make
|
||||||
workspace:
|
make rocrtst_kernels
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
steps:
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
componentName: rocrtst
|
||||||
parameters:
|
testExecutable: ./rocrtst64
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
testParameters: '--gtest_filter="-rocrtstNeg.Memory_Negative_Tests:rocrtstFunc.Memory_Max_Mem" --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
packageManager: ${{ job.packageManager }}
|
testDir: $(Build.SourcesDirectory)/rocrtst/suites/test_common/build/${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
os: ${{ job.os }}
|
environment: test
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
# docker image will be missing libhwloc5
|
||||||
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/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
parameters:
|
|
||||||
runRocminfo: false
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build kfdtest
|
|
||||||
inputs:
|
|
||||||
targetType: 'inline'
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)/s/libhsakmt/tests/kfdtest
|
|
||||||
script: |
|
|
||||||
if [ -e /opt/rh/gcc-toolset-14/enable ]; then
|
|
||||||
source /opt/rh/gcc-toolset-14/enable
|
|
||||||
fi
|
|
||||||
mkdir build && cd build
|
|
||||||
cmake -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm ..
|
|
||||||
make
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: kfdtest
|
|
||||||
testExecutable: BIN_DIR=$(Agent.BuildDirectory)/s/libhsakmt/tests/kfdtest/build ./run_kfdtest.sh
|
|
||||||
testParameters: '-p core --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
|
||||||
testDir: $(Agent.BuildDirectory)/s/libhsakmt/tests/kfdtest/scripts
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build rocrtst
|
|
||||||
inputs:
|
|
||||||
targetType: 'inline'
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)/s/rocrtst/suites/test_common
|
|
||||||
script: |
|
|
||||||
echo $(Agent.BuildDirectory)/s/rocrtst/thirdparty/lib | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
|
||||||
sudo cat /etc/ld.so.conf.d/rocm-ci.conf
|
|
||||||
sudo ldconfig -v
|
|
||||||
ldconfig -p
|
|
||||||
if [ -e /opt/rh/gcc-toolset-14/enable ]; then
|
|
||||||
source /opt/rh/gcc-toolset-14/enable
|
|
||||||
fi
|
|
||||||
BASE_CLANG_DIR=$(Agent.BuildDirectory)/rocm/llvm/lib/clang
|
|
||||||
export NEWEST_CLANG_VER=$(ls -1 $BASE_CLANG_DIR | sort -V | tail -n 1)
|
|
||||||
mkdir build && cd build
|
|
||||||
cmake .. \
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm \
|
|
||||||
-DTARGET_DEVICES=${{ job.target }} \
|
|
||||||
-DROCM_DIR=$(Agent.BuildDirectory)/rocm \
|
|
||||||
-DLLVM_DIR=$(Agent.BuildDirectory)/rocm/llvm/bin \
|
|
||||||
-DOPENCL_INC_DIR=$BASE_CLANG_DIR/$NEWEST_CLANG_VER/include
|
|
||||||
make
|
|
||||||
make rocrtst_kernels
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: rocrtst
|
|
||||||
testExecutable: ./rocrtst64
|
|
||||||
testParameters: '--gtest_filter="-rocrtstNeg.Memory_Negative_Tests:rocrtstFunc.Memory_Max_Mem" --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
|
||||||
testDir: $(Agent.BuildDirectory)/s//rocrtst/suites/test_common/build/${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
# docker image will be missing libhwloc5
|
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ parameters:
|
|||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- ninja-build
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -23,57 +24,37 @@ parameters:
|
|||||||
- rocminfo
|
- rocminfo
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
|
||||||
- { os: almalinux8, packageManager: dnf }
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: ROCdbgapi
|
||||||
- job: ROCdbgapi_build_${{ job.os }}
|
variables:
|
||||||
pool:
|
- group: common
|
||||||
vmImage: 'ubuntu-22.04'
|
- template: /.azuredevops/variables-global.yml
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
pool:
|
||||||
container:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
workspace:
|
||||||
endpoint: ContainerService3
|
clean: all
|
||||||
variables:
|
steps:
|
||||||
- group: common
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
parameters:
|
||||||
workspace:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
packageManager: ${{ job.packageManager }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
parameters:
|
||||||
parameters:
|
extraBuildFlags: >-
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
-GNinja
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
os: ${{ job.os }}
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
useAmdclang: false
|
# parameters:
|
||||||
extraBuildFlags: >-
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
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 }}
|
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: ROCgdb
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
@@ -26,10 +23,8 @@ parameters:
|
|||||||
- libgmp-dev
|
- libgmp-dev
|
||||||
- liblzma-dev
|
- liblzma-dev
|
||||||
- libmpfr-dev
|
- libmpfr-dev
|
||||||
- ncurses-dev
|
|
||||||
- pkg-config
|
- pkg-config
|
||||||
- python3-dev
|
- ncurses-dev
|
||||||
- python3-pip
|
|
||||||
- texinfo
|
- texinfo
|
||||||
- zlib1g-dev
|
- zlib1g-dev
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
@@ -45,87 +40,67 @@ parameters:
|
|||||||
- name: jobMatrix
|
- name: jobMatrix
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
|
||||||
- { os: almalinux8, packageManager: dnf }
|
|
||||||
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 }}:
|
- job: ROCgdb
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
- name: PKG_CONFIG_PATH
|
||||||
- name: PKG_CONFIG_PATH
|
value: $(Agent.BuildDirectory)/rocm/share/pkgconfig
|
||||||
value: $(Agent.BuildDirectory)/rocm/share/pkgconfig
|
pool:
|
||||||
pool:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
workspace:
|
||||||
name: rocm-ci_medium_build_pool_2404
|
clean: all
|
||||||
${{ else }}:
|
steps:
|
||||||
name: ${{ variables.MEDIUM_BUILD_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
parameters:
|
||||||
container:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
endpoint: ContainerService3
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
workspace:
|
parameters:
|
||||||
clean: all
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
packageManager: ${{ job.packageManager }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-autotools.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
configureFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
--program-prefix=roc
|
||||||
parameters:
|
--enable-64-bit-bfd
|
||||||
os: ${{ job.os }}
|
--enable-targets="x86_64-linux-gnu,amdgcn-amd-amdhsa"
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
--disable-ld
|
||||||
parameters:
|
--disable-gas
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
--disable-gdbserver
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
--disable-sim
|
||||||
os: ${{ job.os }}
|
--enable-tui
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
--disable-gdbtk
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-autotools.yml
|
--disable-shared
|
||||||
parameters:
|
--disable-gprofng
|
||||||
os: ${{ job.os }}
|
--with-expat
|
||||||
configureFlags: >-
|
--with-system-zlib
|
||||||
--program-prefix=roc
|
--without-guile
|
||||||
--enable-64-bit-bfd
|
--with-babeltrace
|
||||||
--enable-targets="x86_64-linux-gnu,amdgcn-amd-amdhsa"
|
--with-lzma
|
||||||
--disable-ld
|
--with-python=python3
|
||||||
--disable-gas
|
--with-rocm-dbgapi=$(Agent.BuildDirectory)/rocm
|
||||||
--disable-gdbserver
|
LDFLAGS="-Wl,--enable-new-dtags,-rpath=$(Agent.BuildDirectory)/rocm/lib"
|
||||||
--disable-sim
|
makeCallPrefix: LD_RUN_PATH='${ORIGIN}/../lib'
|
||||||
--enable-tui
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
--disable-gdbtk
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
--disable-shared
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
--disable-gprofng
|
|
||||||
--with-expat
|
|
||||||
--with-system-zlib
|
|
||||||
--without-guile
|
|
||||||
--with-babeltrace
|
|
||||||
--with-lzma
|
|
||||||
--with-python=python3
|
|
||||||
--with-rocm-dbgapi=$(Agent.BuildDirectory)/rocm
|
|
||||||
LDFLAGS="-Wl,--enable-new-dtags,-rpath=$(Agent.BuildDirectory)/rocm/lib"
|
|
||||||
makeCallPrefix: LD_RUN_PATH='${ORIGIN}/../lib'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
- job: ROCgdb_test_${{ job.target }}
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}
|
dependsOn: ROCgdb
|
||||||
condition:
|
condition:
|
||||||
and(succeeded(),
|
and(succeeded(),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
@@ -144,23 +119,18 @@ 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 }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
parameters:
|
|
||||||
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.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
os: ${{ job.os }}
|
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-autotools.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-autotools.yml
|
||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
|
||||||
configureFlags: >-
|
configureFlags: >-
|
||||||
--program-prefix=roc
|
--program-prefix=roc
|
||||||
--enable-64-bit-bfd
|
--enable-64-bit-bfd
|
||||||
@@ -196,9 +166,7 @@ jobs:
|
|||||||
continueOnError: true
|
continueOnError: true
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: make check-gdb TESTS=gdb.rocm/simple.exp
|
||||||
${{ iif(eq(job.os, 'almalinux8'), 'source /opt/rh/gcc-toolset-14/enable', '') }}
|
|
||||||
make check-gdb TESTS=gdb.rocm/simple.exp
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: print gdb log
|
displayName: print gdb log
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: Tensile
|
|
||||||
- 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,10 +13,10 @@ parameters:
|
|||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
|
- python3-pip
|
||||||
- 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:
|
||||||
@@ -57,97 +38,75 @@ parameters:
|
|||||||
- name: jobMatrix
|
- name: jobMatrix
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
|
||||||
- { os: almalinux8, packageManager: dnf }
|
|
||||||
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 }}:
|
- job: Tensile_build
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn: ${{ parameters.buildDependsOn[job.target] }}
|
- template: /.azuredevops/variables-global.yml
|
||||||
variables:
|
- name: ROCM_PATH
|
||||||
- group: common
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool:
|
||||||
- name: ROCM_PATH
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
workspace:
|
||||||
pool:
|
clean: all
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
steps:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
container:
|
parameters:
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
endpoint: ContainerService3
|
pipModules: ${{ parameters.pipModules }}
|
||||||
workspace:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
steps:
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
pipModules: ${{ parameters.pipModules }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
packageManager: ${{ job.packageManager }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
- task: Bash@3
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
displayName: Create wheel file
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
inputs:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
targetType: inline
|
||||||
parameters:
|
script: python3 setup.py bdist_wheel
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
sourceDir: $(Build.SourcesDirectory)/dist
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
contentsString: '*.whl'
|
||||||
parameters:
|
targetDir: $(Build.ArtifactStagingDirectory)
|
||||||
os: ${{ job.os }}
|
clean: false
|
||||||
- task: Bash@3
|
- task: PublishPipelineArtifact@1
|
||||||
displayName: Create wheel file
|
displayName: 'wheel file Publish'
|
||||||
inputs:
|
retryCountOnTaskFailure: 3
|
||||||
targetType: inline
|
inputs:
|
||||||
script: python3 setup.py bdist_wheel
|
targetPath: $(Build.ArtifactStagingDirectory)
|
||||||
workingDirectory: $(Agent.BuildDirectory)/s
|
- task: Bash@3
|
||||||
- task: Bash@3
|
displayName: Save pipeline artifact file names
|
||||||
displayName: Rename wheel file with job OS
|
inputs:
|
||||||
inputs:
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
targetType: inline
|
targetType: inline
|
||||||
workingDirectory: $(Agent.BuildDirectory)/s
|
script: |
|
||||||
script: |
|
whlFile=$(find "$(Build.ArtifactStagingDirectory)" -type f -name "*.whl" | head -n 1)
|
||||||
wheelFile=$(find "$(Agent.BuildDirectory)/s/dist" -type f -name "*.whl" | head -n 1)
|
if [ -n "$whlFile" ]; then
|
||||||
newWheelFile="$(basename "$wheelFile" .whl)-${{ job.os }}.whl"
|
echo $(basename "$whlFile") >> pipelineArtifacts.txt
|
||||||
mv "$wheelFile" "$(dirname "$wheelFile")/$newWheelFile"
|
fi
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
parameters:
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
sourceDir: $(Agent.BuildDirectory)/s/dist
|
# parameters:
|
||||||
contentsString: '*.whl'
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
targetDir: $(Build.ArtifactStagingDirectory)
|
# pipModules: ${{ parameters.pipModules }}
|
||||||
clean: false
|
|
||||||
- task: PublishPipelineArtifact@1
|
|
||||||
displayName: 'wheel file Publish'
|
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
|
||||||
targetPath: $(Build.ArtifactStagingDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Save pipeline artifact file names
|
|
||||||
inputs:
|
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
whlFile=$(find "$(Build.ArtifactStagingDirectory)" -type f -name "*.whl" | head -n 1)
|
|
||||||
if [ -n "$whlFile" ]; then
|
|
||||||
echo $(basename "$whlFile") >> pipelineArtifacts.txt
|
|
||||||
fi
|
|
||||||
- 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 }}
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- job: Tensile_test_${{ job.os }}_${{ job.target }}
|
- job: Tensile_test_${{ job.target }}
|
||||||
timeoutInMinutes: 180
|
timeoutInMinutes: 180
|
||||||
dependsOn: Tensile_build_${{ job.os }}
|
dependsOn: Tensile_build
|
||||||
condition:
|
condition:
|
||||||
and(succeeded(),
|
and(succeeded(),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
@@ -167,24 +126,20 @@ 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
|
||||||
- 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: '**/*.whl'
|
||||||
targetPath: $(Agent.BuildDirectory)
|
targetPath: $(Agent.BuildDirectory)
|
||||||
- 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:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
os: ${{ job.os }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: pip install
|
displayName: pip install
|
||||||
@@ -209,7 +164,7 @@ jobs:
|
|||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: tox run -v -e ci -- -m pre_checkin
|
script: tox run -v -e ci -- -m pre_checkin
|
||||||
workingDirectory: $(Agent.BuildDirectory)/s
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
- 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 }}
|
||||||
|
|||||||
@@ -16,66 +16,50 @@ parameters:
|
|||||||
- cmake
|
- cmake
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- ninja-build
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
- pkg-config
|
- pkg-config
|
||||||
|
|
||||||
- name: jobMatrix
|
- name: jobMatrix
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
|
||||||
- { os: ubuntu2404, packageManager: apt }
|
|
||||||
- { os: almalinux8, packageManager: dnf }
|
|
||||||
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 }}:
|
- job: amdsmi_build
|
||||||
- job: amdsmi_build_${{ job.os }}
|
variables:
|
||||||
pool:
|
- group: common
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
- template: /.azuredevops/variables-global.yml
|
||||||
vmImage: 'ubuntu-24.04'
|
pool:
|
||||||
${{ else }}:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
vmImage: 'ubuntu-22.04'
|
workspace:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
clean: all
|
||||||
container:
|
steps:
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
endpoint: ContainerService3
|
parameters:
|
||||||
variables:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- group: common
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
workspace:
|
parameters:
|
||||||
clean: all
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
extraBuildFlags: >-
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
-DBUILD_TESTS=ON
|
||||||
packageManager: ${{ job.packageManager }}
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
# parameters:
|
||||||
parameters:
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
os: ${{ job.os }}
|
|
||||||
useAmdclang: false
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DBUILD_TESTS=ON
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
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 }}
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- job: amdsmi_test_${{ job.os }}_${{ job.target }}
|
- job: amdsmi_test_${{ job.target }}
|
||||||
dependsOn: amdsmi_build_${{ job.os }}
|
dependsOn: amdsmi_build
|
||||||
condition:
|
condition:
|
||||||
and(succeeded(),
|
and(succeeded(),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
@@ -92,11 +76,8 @@ 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/local-artifact-download.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
parameters:
|
parameters:
|
||||||
runRocminfo: false
|
runRocminfo: false
|
||||||
@@ -104,9 +85,8 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
componentName: amdsmi
|
componentName: amdsmi
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
testDir: '$(Agent.BuildDirectory)'
|
||||||
testExecutable: 'sudo ./rocm/share/amd_smi/tests/amdsmitst'
|
testExecutable: './rocm/share/amd_smi/tests/amdsmitst'
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
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 }}
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: aomp
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
@@ -18,187 +15,173 @@ parameters:
|
|||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- bison
|
|
||||||
- ccache
|
|
||||||
- cmake
|
- cmake
|
||||||
- flex
|
- python3-pip
|
||||||
- gawk
|
|
||||||
- git
|
|
||||||
- mesa-common-dev
|
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- libbabeltrace-dev
|
- pkg-config
|
||||||
- libbison-dev
|
- libpci-dev
|
||||||
|
- libnuma-dev
|
||||||
|
- libffi-dev
|
||||||
|
- git
|
||||||
|
- libopenmpi-dev
|
||||||
|
- gawk
|
||||||
|
- mesa-common-dev
|
||||||
|
- libtool
|
||||||
- libdrm-amdgpu1
|
- libdrm-amdgpu1
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- libdw-dev
|
- libdw-dev
|
||||||
- libffi-dev
|
- libgtest-dev
|
||||||
- libgmp-dev
|
- libsystemd-dev
|
||||||
- liblzma-dev
|
|
||||||
- libmpfr-dev
|
|
||||||
- libncurses5-dev
|
|
||||||
- libnuma-dev
|
|
||||||
- libopenmpi-dev
|
|
||||||
- libpci-dev
|
|
||||||
- libssl-dev
|
- libssl-dev
|
||||||
- libstdc++-12-dev
|
- libstdc++-12-dev
|
||||||
- libsystemd-dev
|
- ccache
|
||||||
- libtool
|
- libgmp-dev
|
||||||
|
- libmpfr-dev
|
||||||
|
- texinfo
|
||||||
|
- libbison-dev
|
||||||
|
- bison
|
||||||
|
- flex
|
||||||
|
- libbabeltrace-dev
|
||||||
|
- libncurses5-dev
|
||||||
|
- liblzma-dev
|
||||||
|
- python3-setuptools
|
||||||
|
- python3-dev
|
||||||
- libudev-dev
|
- libudev-dev
|
||||||
- parallel
|
- parallel
|
||||||
- pkg-config
|
# Referencing comment snippet.
|
||||||
- python3-dev
|
#
|
||||||
- python3-pip
|
# snippet from https://github.com/ROCm/aomp/blob/aomp-dev/bin/build_aomp.sh#L131-L134
|
||||||
- python3-setuptools
|
#
|
||||||
- texinfo
|
# For ROCM build (AOMP_STANDALONE_BUILD=0) the components roct, rocr,
|
||||||
|
# libdevice, project, comgr, rocminfo, hipamd, rocdbgapi, rocgdb,
|
||||||
|
# roctracer, rocprofiler, rocm_smi_lib, and amdsmi should be found
|
||||||
|
# in ROCM in /opt/rocm. The ROCM build only needs these components:
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- llvm-project
|
- amdsmi
|
||||||
- ROCR-Runtime
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
- clr
|
||||||
- llvm-project
|
- llvm-project
|
||||||
|
- ROCdbgapi
|
||||||
|
- ROCgdb
|
||||||
|
- rocm-cmake
|
||||||
- rocm-core
|
- rocm-core
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- ROCR-Runtime
|
- rocm_smi_lib
|
||||||
|
- rocprofiler
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
|
- rocprofiler-sdk
|
||||||
|
- ROCR-Runtime
|
||||||
|
- roctracer
|
||||||
|
|
||||||
- name: jobMatrix
|
- name: jobMatrix
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
|
||||||
- { os: almalinux8, packageManager: dnf }
|
|
||||||
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 }}:
|
- job: aomp
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
pool:
|
workspace:
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
clean: all
|
||||||
name: rocm-ci_medium_build_pool_2404
|
steps:
|
||||||
${{ else }}:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
name: ${{ variables.MEDIUM_BUILD_POOL }}
|
parameters:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
container:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
# checkout the repos tied to openmp-extras, plus llvm-project
|
||||||
endpoint: ContainerService3
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
workspace:
|
parameters:
|
||||||
clean: all
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
checkoutRepo: aomp-extras_repo
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
packageManager: ${{ job.packageManager }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
checkoutRepo: flang_repo
|
||||||
# checkout the repos tied to openmp-extras, plus llvm-project
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
checkoutRepo: llvm-project_repo
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
checkoutRepo: aomp-extras_repo
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
checkoutRepo: flang_repo
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
componentName: extras
|
||||||
parameters:
|
cmakeBuildDir: '$(Build.SourcesDirectory)/aomp-extras/build'
|
||||||
checkoutRepo: llvm-project_repo
|
cmakeSourceDir: '$(Build.SourcesDirectory)/aomp-extras'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
installDir: '$(Build.BinariesDirectory)/llvm'
|
||||||
parameters:
|
extraBuildFlags: >-
|
||||||
dependencyList:
|
-DLLVM_DIR=$(Agent.BuildDirectory)/rocm/llvm
|
||||||
- gtest
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
-DAOMP_STANDALONE_BUILD=0
|
||||||
parameters:
|
-DAOMP_VERSION_STRING=9.99.99
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-GNinja
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
componentName: openmp
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
cmakeBuildDir: '$(Build.SourcesDirectory)/llvm-project/openmp/build'
|
||||||
parameters:
|
cmakeSourceDir: '$(Build.SourcesDirectory)/llvm-project/openmp'
|
||||||
os: ${{ job.os }}
|
installDir: '$(Build.BinariesDirectory)/llvm'
|
||||||
useAmdclang: false
|
extraBuildFlags: >-
|
||||||
componentName: extras
|
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Build.BinariesDirectory)"
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/aomp-extras/build'
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/aomp-extras'
|
-DOPENMP_TEST_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
||||||
installDir: '$(Build.BinariesDirectory)/llvm'
|
-DOPENMP_TEST_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
||||||
extraBuildFlags: >-
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
||||||
-DLLVM_DIR=$(Agent.BuildDirectory)/rocm/llvm
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DOPENMP_ENABLE_LIBOMPTARGET=1
|
||||||
-DAOMP_STANDALONE_BUILD=0
|
-DLIBOMP_COPY_EXPORTS=OFF
|
||||||
-DAOMP_VERSION_STRING=9.99.99
|
-DLIBOMP_OMPT_SUPPORT=ON
|
||||||
-GNinja
|
-DLIBOMP_OMPD_SUPPORT=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DCMAKE_SKIP_INSTALL_RPATH=TRUE
|
||||||
parameters:
|
-DLLVM_MAIN_INCLUDE_DIR=$(Build.SourcesDirectory)/llvm-project/llvm/include
|
||||||
os: ${{ job.os }}
|
-DLIBOMP_FORTRAN_MODULES_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/flang
|
||||||
componentName: openmp
|
-DLIBOMP_MODULES_INSTALL_PATH=$(Build.BinariesDirectory)/llvm/include/flang/
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/llvm-project/openmp/build'
|
-GNinja
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/llvm-project/openmp'
|
- task: Bash@3
|
||||||
installDir: '$(Build.BinariesDirectory)/llvm'
|
displayName: 'ROCm symbolic link'
|
||||||
extraBuildFlags: >-
|
inputs:
|
||||||
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Build.BinariesDirectory)"
|
targetType: inline
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
script: sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
-DOPENMP_TEST_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
-DOPENMP_TEST_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
parameters:
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
componentName: offload
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
cmakeBuildDir: '$(Build.SourcesDirectory)/llvm-project/offload/build'
|
||||||
-DOPENMP_ENABLE_LIBOMPTARGET=1
|
cmakeSourceDir: '$(Build.SourcesDirectory)/llvm-project/offload'
|
||||||
-DLIBOMP_COPY_EXPORTS=OFF
|
installDir: '$(Build.BinariesDirectory)/llvm'
|
||||||
-DLIBOMP_OMPD_SUPPORT=ON
|
extraBuildFlags: >-
|
||||||
-DCMAKE_SKIP_INSTALL_RPATH=TRUE
|
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Build.BinariesDirectory)"
|
||||||
-DLLVM_MAIN_INCLUDE_DIR=$(Build.SourcesDirectory)/llvm-project/llvm/include
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DLIBOMP_FORTRAN_MODULES_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/flang
|
-DOPENMP_TEST_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
||||||
-DLIBOMP_MODULES_INSTALL_PATH=$(Build.BinariesDirectory)/llvm/include/flang/
|
-DOPENMP_TEST_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
||||||
multithreadFlag: -- -j32
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
||||||
- task: Bash@3
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
||||||
displayName: 'ROCm symbolic link'
|
-DCMAKE_SKIP_INSTALL_RPATH=TRUE
|
||||||
inputs:
|
-DLLVM_MAIN_INCLUDE_DIR=$(Build.SourcesDirectory)/llvm-project/llvm/include
|
||||||
targetType: inline
|
-DLIBOMPTARGET_LLVM_INCLUDE_DIRS=$(Build.SourcesDirectory)/llvm-project/llvm/include
|
||||||
script: sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
-DCMAKE_EXE_LINKER_FLAGS="-L$(Agent.BuildDirectory)/rocm/llvm/lib"
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DCMAKE_SHARED_LINKER_FLAGS="-L$(Agent.BuildDirectory)/rocm/llvm/lib"
|
||||||
parameters:
|
-GNinja
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
componentName: offload
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/llvm-project/offload/build'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/llvm-project/offload'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
installDir: '$(Build.BinariesDirectory)/llvm'
|
parameters:
|
||||||
extraBuildFlags: >-
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Build.BinariesDirectory)"
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DOPENMP_TEST_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
|
||||||
-DOPENMP_TEST_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
|
||||||
-DCMAKE_SKIP_INSTALL_RPATH=TRUE
|
|
||||||
-DLLVM_MAIN_INCLUDE_DIR=$(Build.SourcesDirectory)/llvm-project/llvm/include
|
|
||||||
-DLIBOMPTARGET_LLVM_INCLUDE_DIRS=$(Build.SourcesDirectory)/llvm-project/llvm/include
|
|
||||||
-DCMAKE_EXE_LINKER_FLAGS="-L$(Agent.BuildDirectory)/rocm/llvm/lib"
|
|
||||||
-DCMAKE_SHARED_LINKER_FLAGS="-L$(Agent.BuildDirectory)/rocm/llvm/lib"
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
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 }}
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
- job: aomp_test_${{ job.target }}
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}
|
dependsOn: aomp
|
||||||
condition:
|
condition:
|
||||||
and(succeeded(),
|
and(succeeded(),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
@@ -215,16 +198,12 @@ 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/local-artifact-download.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
parameters:
|
|
||||||
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.rocmDependencies }}
|
||||||
os: ${{ job.os }}
|
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: ROCm symbolic link
|
displayName: ROCm symbolic link
|
||||||
inputs:
|
inputs:
|
||||||
@@ -236,7 +215,7 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: aomp-extras_repo
|
checkoutRepo: aomp-extras_repo
|
||||||
# these copy steps are from the aomp prototype script for test prep
|
# these copy steps are from the aomp prototype script for test prep
|
||||||
- task: CopyFiles@2
|
- task: CopyFiles@2
|
||||||
displayName: 'Copy AOMP contents'
|
displayName: 'Copy AOMP contents'
|
||||||
inputs:
|
inputs:
|
||||||
|
|||||||
@@ -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 }}
|
||||||
|
|||||||
@@ -1,44 +1,36 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: jobMatrix
|
- name: checkoutRepo
|
||||||
type: object
|
type: string
|
||||||
default:
|
default: 'self'
|
||||||
copyJobs:
|
- name: checkoutRef
|
||||||
- { os: ubuntu2204, backend: amd }
|
type: string
|
||||||
- { os: almalinux8, backend: amd }
|
default: ''
|
||||||
- { os: ubuntu2204, backend: nvidia }
|
|
||||||
- { os: almalinux8, backend: nvidia }
|
|
||||||
|
|
||||||
# hip and clr are tightly-coupled
|
# hip and clr are tightly-coupled
|
||||||
# run this same template for both repos
|
# run this same template for both repos
|
||||||
# any changes for clr should just trigger HIP pipeline
|
# any changes for clr should just trigger HIP pipeline
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.copyJobs }}:
|
- job: hip_clr_combined
|
||||||
- job: hip_clr_combined_${{ job.os }}_${{ job.backend }}
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool:
|
||||||
pool:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
# checkout nothing, just copy artifacts from triggering HIP job
|
||||||
# checkout nothing, just copy artifacts from triggering HIP job
|
# and then publish for this clr job or for this hipother job to maintain latest
|
||||||
# and then publish for this clr job or for this hipother job to maintain latest
|
- checkout: none
|
||||||
- checkout: none
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-download.yml
|
parameters:
|
||||||
parameters:
|
componentName: HIP
|
||||||
componentName: HIP
|
pipelineId: $(HIP_PIPELINE_ID)
|
||||||
pipelineId: $(HIP_PIPELINE_ID)
|
- task: Bash@3
|
||||||
fileFilter: ${{ job.os }}*${{ job.backend }}
|
displayName: Copy HIP artifacts
|
||||||
- task: Bash@3
|
inputs:
|
||||||
displayName: Copy HIP artifacts
|
targetType: inline
|
||||||
inputs:
|
script: cp -a $(Agent.BuildDirectory)/rocm/* $(Build.BinariesDirectory)/
|
||||||
targetType: inline
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
script: cp -a $(Agent.BuildDirectory)/rocm/* $(Build.BinariesDirectory)/
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
inputs:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
|
|||||||
@@ -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
|
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: hipBLAS-common
|
|
||||||
- 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,103 +14,54 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- git
|
|
||||||
- ninja-build
|
- ninja-build
|
||||||
|
- git
|
||||||
- wget
|
- wget
|
||||||
|
- python3-pip
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
- rocminfo
|
- llvm-project
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
- clr
|
||||||
- name: jobMatrix
|
- rocminfo
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
|
||||||
- { os: almalinux8, packageManager: dnf }
|
|
||||||
- name: downstreamComponentMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- hipBLASLt:
|
|
||||||
name: hipBLASLt
|
|
||||||
sparseCheckoutDir: projects/hipblaslt
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- hipBLAS_common_build
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: hipBLAS_common
|
||||||
- job: hipBLAS_common_build_${{ job.os }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- name: ROCM_PATH
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
- ${{ build }}_${{ job.os }}
|
- template: /.azuredevops/variables-global.yml
|
||||||
variables:
|
pool:
|
||||||
- group: common
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
- template: /.azuredevops/variables-global.yml
|
workspace:
|
||||||
- name: ROCM_PATH
|
clean: all
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
steps:
|
||||||
pool:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
parameters:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
container:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
endpoint: ContainerService3
|
parameters:
|
||||||
workspace:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
steps:
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
os: ${{ job.os }}
|
# parameters:
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
# extraEnvVars:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
# - ROCM_PATH:::/home/user/workspace/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-GNinja
|
|
||||||
- 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
|
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# extraEnvVars:
|
|
||||||
# - ROCM_PATH:::/home/user/workspace/rocm
|
|
||||||
|
|
||||||
- ${{ 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 }}
|
|
||||||
|
|||||||
@@ -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 }}
|
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: hipBLASLt
|
|
||||||
- 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,30 +13,21 @@ parameters:
|
|||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- ccache
|
|
||||||
- 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
|
||||||
|
- gfortran
|
||||||
|
- libblas-dev
|
||||||
|
- ccache
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
type: object
|
type: object
|
||||||
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
|
||||||
@@ -65,7 +37,6 @@ parameters:
|
|||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocm-cmake
|
|
||||||
- rocm_smi_lib
|
- rocm_smi_lib
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
@@ -87,37 +58,20 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
buildJobs:
|
buildJobs:
|
||||||
- { pool: rocm-ci_ultra_build_pool, os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- gfx942:
|
||||||
- { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx90a }
|
target: gfx942
|
||||||
- { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
- gfx90a:
|
||||||
- { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
target: gfx90a
|
||||||
#- { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
|
||||||
- { pool: rocm-ci_ultra_build_pool, os: almalinux8, packageManager: dnf, target: gfx942 }
|
|
||||||
- { pool: rocm-ci_medium_build_pool, os: almalinux8, packageManager: dnf, target: gfx90a }
|
|
||||||
- { pool: rocm-ci_medium_build_pool, os: almalinux8, packageManager: dnf, target: gfx1201 }
|
|
||||||
- { pool: rocm-ci_medium_build_pool, os: almalinux8, packageManager: dnf, target: gfx1100 }
|
|
||||||
#- { pool: rocm-ci_medium_build_pool, os: almalinux8, packageManager: dnf, 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:
|
|
||||||
- rocBLAS:
|
|
||||||
name: rocBLAS
|
|
||||||
sparseCheckoutDir: projects/rocblas
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- hipBLASLt_build
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
- job: hipBLASLt_build_${{ job.target }}
|
||||||
timeoutInMinutes: 300
|
timeoutInMinutes: 300
|
||||||
${{ 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
|
||||||
@@ -131,11 +85,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') }}:
|
|
||||||
container:
|
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
|
||||||
endpoint: ContainerService3
|
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
@@ -143,26 +93,17 @@ 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-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 }}
|
|
||||||
- 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 }}
|
||||||
os: ${{ job.os }}
|
|
||||||
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 ROCm binaries to PATH
|
displayName: Add ROCm binaries to PATH
|
||||||
inputs:
|
inputs:
|
||||||
@@ -170,17 +111,22 @@ 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"
|
||||||
- task: Bash@3
|
# Build and install gtest, lapack, hipBLAS-common
|
||||||
displayName: Build and install LAPACK
|
# $(Pipeline.Workspace)/deps is a temporary folder for the build process
|
||||||
inputs:
|
# $(Pipeline.Workspace)/s/deps is part of the hipBLASLt repo
|
||||||
targetType: inline
|
- script: mkdir $(Pipeline.Workspace)/deps
|
||||||
script: |
|
displayName: Create temp folder for external dependencies
|
||||||
mkdir -p $(Agent.BuildDirectory)/temp-deps
|
# hipBLASLt already has a CMake script for external deps, so we can just run that
|
||||||
cd $(Agent.BuildDirectory)/temp-deps
|
# https://github.com/ROCm/hipBLASLt/blob/develop/deps/CMakeLists.txt
|
||||||
# position-independent LAPACK is required for almalinux8 builds
|
- script: cmake $(Pipeline.Workspace)/s/deps
|
||||||
cmake -DBUILD_GTEST=OFF -DBUILD_LAPACK=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON $(Agent.BuildDirectory)/sparse/projects/hipblaslt/deps
|
displayName: Configure hipBLASLt external dependencies
|
||||||
make -j
|
workingDirectory: $(Pipeline.Workspace)/deps
|
||||||
sudo make install
|
- script: make
|
||||||
|
displayName: Build hipBLASLt external dependencies
|
||||||
|
workingDirectory: $(Pipeline.Workspace)/deps
|
||||||
|
- script: sudo make install
|
||||||
|
displayName: Install hipBLASLt external dependencies
|
||||||
|
workingDirectory: $(Pipeline.Workspace)/deps
|
||||||
- script: |
|
- script: |
|
||||||
mkdir -p $(CCACHE_DIR)
|
mkdir -p $(CCACHE_DIR)
|
||||||
echo "##vso[task.prependpath]/usr/lib/ccache"
|
echo "##vso[task.prependpath]/usr/lib/ccache"
|
||||||
@@ -188,124 +134,93 @@ jobs:
|
|||||||
- task: Cache@2
|
- task: Cache@2
|
||||||
displayName: Ccache caching
|
displayName: Ccache caching
|
||||||
inputs:
|
inputs:
|
||||||
key: hipBLASLt | ${{ job.os }} | ${{ job.target }} | $(DAY_STRING) | $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
key: hipBLASLt | $(Agent.OS) | ${{ job.target }} | $(DAY_STRING) | $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
path: $(CCACHE_DIR)
|
path: $(CCACHE_DIR)
|
||||||
restoreKeys: |
|
restoreKeys: |
|
||||||
hipBLASLt | ${{ job.os }} | ${{ job.target }} | $(DAY_STRING)
|
hipBLASLt | $(Agent.OS) | ${{ job.target }} | $(DAY_STRING)
|
||||||
hipBLASLt | ${{ job.os }} | ${{ job.target }}
|
hipBLASLt | $(Agent.OS) | ${{ job.target }}
|
||||||
hipBLASLt | ${{ job.os }}
|
hipBLASLt | $(Agent.OS)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
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_BUILD_TYPE=Release
|
||||||
-DCMAKE_INCLUDE_PATH=$(Agent.BuildDirectory)/rocm/llvm/include
|
-DCMAKE_PREFIX_PATH=$(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
|
||||||
-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 }}
|
-DTensile_LOGIC=
|
||||||
|
-DTensile_CPU_THREADS=
|
||||||
|
-DTensile_LIBRARY_FORMAT=msgpack
|
||||||
|
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm"
|
||||||
-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:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
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 }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- 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 }}
|
extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin
|
||||||
extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin
|
installLatestCMake: true
|
||||||
installLatestCMake: true
|
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/amdclang
|
||||||
- TENSILE_ROCM_ASSEMBLER_PATH:::/home/user/workspace/rocm/llvm/bin/amdclang
|
- 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
|
- ROCM_PATH:::/home/user/workspace/rocm
|
||||||
- ROCM_PATH:::/home/user/workspace/rocm
|
extraCopyDirectories:
|
||||||
extraCopyDirectories:
|
- deps
|
||||||
- deps
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: hipBLASLt_test_${{ job.target }}
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
timeoutInMinutes: 300
|
||||||
timeoutInMinutes: 300
|
dependsOn: hipBLASLt_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
|
- name: ROCM_PATH
|
||||||
- name: ROCM_PATH
|
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:
|
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
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
parameters:
|
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: hipBLASLt
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
os: ${{ job.os }}
|
testExecutable: './hipblaslt-test'
|
||||||
gpuTarget: ${{ job.target }}
|
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: './hipblaslt-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 }}
|
|
||||||
|
|
||||||
- ${{ 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 }}
|
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: hipCUB
|
|
||||||
- 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,8 +14,9 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- git
|
|
||||||
- ninja-build
|
- ninja-build
|
||||||
|
- libgtest-dev
|
||||||
|
- git
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
@@ -51,143 +33,103 @@ parameters:
|
|||||||
- llvm-project
|
- llvm-project
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocPRIM
|
- rocPRIM
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
- rocprofiler-register
|
||||||
|
|
||||||
- name: jobMatrix
|
- name: jobMatrix
|
||||||
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 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx942 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx90a }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
|
||||||
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: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
- job: hipCUB_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
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
|
||||||
container:
|
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
|
||||||
endpoint: ContainerService3
|
|
||||||
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 }}
|
|
||||||
- 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 }}
|
|
||||||
consolidateBuildAndInstall: true
|
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-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;$(Agent.BuildDirectory)/vendor"
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DBUILD_BENCHMARK=ON
|
|
||||||
-DBUILD_TEST=ON
|
-DBUILD_TEST=ON
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
-GNinja
|
-GNinja
|
||||||
extraCxxFlags: -Wno-deprecated-declarations
|
|
||||||
- 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 }}
|
||||||
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 }}
|
|
||||||
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 }}
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: hipCUB_test_${{ job.target }}
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
dependsOn: hipCUB_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: hipCUB
|
||||||
gpuTarget: ${{ job.target }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin/hipcub'
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
parameters:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
environment: test
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin/hipcub'
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: hipFFT
|
|
||||||
- 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
|
||||||
@@ -80,11 +61,7 @@ parameters:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
- job: hipFFT_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
|
||||||
@@ -102,15 +79,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 }}
|
||||||
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: >-
|
||||||
@@ -128,11 +102,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 }}
|
|
||||||
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
|
||||||
@@ -141,12 +113,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: hipFFT_test_${{ job.target }}
|
||||||
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
dependsOn: hipFFT_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,14 +128,12 @@ 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 }}
|
||||||
- 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:
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- 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
|
||||||
@@ -171,12 +141,10 @@ 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 }}
|
|
||||||
- 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: hipFFT
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
testExecutable: './hipfft-test'
|
testExecutable: './hipfft-test'
|
||||||
testParameters: '--test_prob 0.002 --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
testParameters: '--test_prob 0.002 --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: hipRAND
|
|
||||||
- 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,18 +14,18 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- git
|
|
||||||
- ninja-build
|
- ninja-build
|
||||||
|
- googletest
|
||||||
|
- git
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- clr
|
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocm-cmake
|
- ROCR-Runtime
|
||||||
|
- clr
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocRAND
|
- rocRAND
|
||||||
- ROCR-Runtime
|
|
||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -52,168 +33,110 @@ parameters:
|
|||||||
- llvm-project
|
- llvm-project
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- rocRAND
|
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
- rocRAND
|
||||||
|
|
||||||
- name: jobMatrix
|
- name: jobMatrix
|
||||||
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 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx942 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx90a }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, 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:
|
|
||||||
- rocFFT:
|
|
||||||
name: rocFFT
|
|
||||||
sparseCheckoutDir: projects/rocfft
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- hipRAND_build
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
- job: hipRAND_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
|
||||||
- name: HIP_ROCCLR_HOME
|
- name: HIP_ROCCLR_HOME
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
pool:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
container:
|
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
|
||||||
endpoint: ContainerService3
|
|
||||||
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 }}
|
|
||||||
- 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 }}
|
|
||||||
consolidateBuildAndInstall: true
|
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-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
|
||||||
-DBUILD_TEST=ON
|
-DBUILD_TEST=ON
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor"
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
-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 }}
|
||||||
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 }}
|
|
||||||
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: hipRAND_test_${{ job.target }}
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
dependsOn: hipRAND_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:
|
||||||
os: ${{ job.os }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
gpuTarget: ${{ job.target }}
|
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: hipRAND
|
||||||
gpuTarget: ${{ job.target }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin/hipRAND'
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
parameters:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
environment: test
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin/hipRAND'
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- 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 }}
|
|
||||||
|
|||||||
@@ -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 }}
|
|
||||||
|
|||||||
@@ -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 }}
|
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -44,7 +25,6 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- joblib
|
- joblib
|
||||||
- msgpack
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -76,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
|
||||||
@@ -108,23 +86,17 @@ 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-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 }}
|
||||||
# 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 }}
|
|
||||||
# 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
|
||||||
@@ -132,10 +104,7 @@ jobs:
|
|||||||
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
|
||||||
@@ -146,7 +115,6 @@ jobs:
|
|||||||
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 }}
|
|
||||||
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++
|
||||||
@@ -159,87 +127,67 @@ jobs:
|
|||||||
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm"
|
-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
|
|
||||||
-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 }}
|
|
||||||
|
|||||||
@@ -14,187 +14,146 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
|
- python3-pip
|
||||||
- libnuma-dev
|
- libnuma-dev
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- pkg-config
|
|
||||||
- python-is-python3
|
- python-is-python3
|
||||||
- python3-pip
|
|
||||||
- zlib1g-dev
|
- zlib1g-dev
|
||||||
|
- pkg-config
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
|
||||||
# - { os: ubuntu2404, packageManager: apt }
|
|
||||||
- { os: almalinux8, packageManager: dnf }
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: llvm_project
|
||||||
- job: llvm_project_${{ job.os }}
|
variables:
|
||||||
pool:
|
- group: common
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
- template: /.azuredevops/variables-global.yml
|
||||||
name: 'rocm-ci_high_build_pool_2404' #temporarily using 'high' pool while 'ultra' is down
|
- name: HIP_DEVICE_LIB_PATH
|
||||||
${{ else }}:
|
value: '$(Build.BinariesDirectory)/amdgcn/bitcode'
|
||||||
name: 'rocm-ci_ultra_build_pool'
|
- name: HIP_PATH
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
value: '$(Agent.BuildDirectory)/rocm'
|
||||||
container:
|
pool: ${{ variables.ULTRA_BUILD_POOL }}
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
workspace:
|
||||||
endpoint: ContainerService3
|
clean: all
|
||||||
variables:
|
steps:
|
||||||
- group: common
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
parameters:
|
||||||
- name: HIP_DEVICE_LIB_PATH
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
value: '$(Build.BinariesDirectory)/amdgcn/bitcode'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- name: HIP_PATH
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
value: '$(Agent.BuildDirectory)/rocm'
|
parameters:
|
||||||
workspace:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
steps:
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
skipLlvmSymlink: true
|
||||||
packageManager: ${{ job.packageManager }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
componentName: rocm-llvm
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
-DCMAKE_PREFIX_PATH="$(Build.BinariesDirectory)/llvm;$(Build.BinariesDirectory)"
|
||||||
parameters:
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DLLVM_ENABLE_PROJECTS=clang;lld;clang-tools-extra;mlir;flang
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
-DLLVM_ENABLE_RUNTIMES=compiler-rt;libunwind;libcxx;libcxxabi
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
-DCLANG_ENABLE_AMDCLANG=ON
|
||||||
os: ${{ job.os }}
|
-DLLVM_TARGETS_TO_BUILD=AMDGPU;X86
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DLIBCXX_ENABLE_SHARED=OFF
|
||||||
parameters:
|
-DLIBCXX_ENABLE_STATIC=ON
|
||||||
componentName: rocm-llvm
|
-DLIBCXX_INSTALL_LIBRARY=OFF
|
||||||
os: ${{ job.os }}
|
-DLIBCXX_INSTALL_HEADERS=OFF
|
||||||
useAmdclang: false
|
-DLIBCXXABI_ENABLE_SHARED=OFF
|
||||||
extraBuildFlags: >-
|
-DLIBCXXABI_ENABLE_STATIC=ON
|
||||||
-DCMAKE_PREFIX_PATH="$(Build.BinariesDirectory)/llvm;$(Build.BinariesDirectory)"
|
-DLIBCXXABI_INSTALL_STATIC_LIBRARY=OFF
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DLLVM_BUILD_DOCS=OFF
|
||||||
-DLLVM_ENABLE_PROJECTS=clang;lld;clang-tools-extra;mlir;flang
|
-DLLVM_ENABLE_SPHINX=OFF
|
||||||
-DLLVM_ENABLE_RUNTIMES=compiler-rt;libunwind;libcxx;libcxxabi
|
-DLLVM_ENABLE_ASSERTIONS=OFF
|
||||||
-DCLANG_ENABLE_AMDCLANG=ON
|
-DLLVM_ENABLE_Z3_SOLVER=OFF
|
||||||
-DLLVM_TARGETS_TO_BUILD=AMDGPU;X86
|
-DLLVM_ENABLE_ZLIB=ON
|
||||||
-DLIBCXX_ENABLE_SHARED=OFF
|
-DCLANG_DEFAULT_LINKER=lld
|
||||||
-DLIBCXX_ENABLE_STATIC=ON
|
-DCLANG_DEFAULT_RTLIB=compiler-rt
|
||||||
-DLIBCXX_INSTALL_LIBRARY=OFF
|
-DCLANG_DEFAULT_UNWINDLIB=libgcc
|
||||||
-DLIBCXX_INSTALL_HEADERS=OFF
|
-DSANITIZER_AMDGPU=OFF
|
||||||
-DLIBCXXABI_ENABLE_SHARED=OFF
|
-DPACKAGE_VENDOR=AMD
|
||||||
-DLIBCXXABI_ENABLE_STATIC=ON
|
-DCLANG_LINK_FLANG_LEGACY=ON
|
||||||
-DLIBCXXABI_INSTALL_STATIC_LIBRARY=OFF
|
-DCMAKE_CXX_STANDARD=17
|
||||||
-DLLVM_BUILD_DOCS=OFF
|
-DROCM_LLVM_BACKWARD_COMPAT_LINK=$(Build.BinariesDirectory)/llvm
|
||||||
-DLLVM_ENABLE_SPHINX=OFF
|
-DROCM_LLVM_BACKWARD_COMPAT_LINK_TARGET=./lib/llvm
|
||||||
-DLLVM_ENABLE_ASSERTIONS=OFF
|
-GNinja
|
||||||
-DLLVM_ENABLE_Z3_SOLVER=OFF
|
cmakeBuildDir: '$(Build.SourcesDirectory)/llvm/build'
|
||||||
-DLLVM_ENABLE_ZLIB=ON
|
cmakeSourceDir: '$(Build.SourcesDirectory)/llvm'
|
||||||
-DCLANG_DEFAULT_LINKER=lld
|
installDir: '$(Build.BinariesDirectory)/llvm'
|
||||||
-DCLANG_DEFAULT_RTLIB=compiler-rt
|
# use llvm-lit to run unit tests for llvm, clang, and lld
|
||||||
-DCLANG_DEFAULT_UNWINDLIB=libgcc
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
-DSANITIZER_AMDGPU=OFF
|
parameters:
|
||||||
-DPACKAGE_VENDOR=AMD
|
componentName: check-llvm
|
||||||
-DCLANG_LINK_FLANG_LEGACY=ON
|
testDir: 'llvm/build'
|
||||||
-DCMAKE_CXX_STANDARD=17
|
testExecutable: './bin/llvm-lit'
|
||||||
-DROCM_LLVM_BACKWARD_COMPAT_LINK=$(Build.BinariesDirectory)/llvm
|
testParameters: '-q --xunit-xml-output=llvm_test_output.xml --filter-out="live-debug-values-spill-tracking" ./test'
|
||||||
-DROCM_LLVM_BACKWARD_COMPAT_LINK_TARGET=./lib/llvm
|
testOutputFile: llvm_test_output.xml
|
||||||
-GNinja
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/llvm/build'
|
parameters:
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/llvm'
|
componentName: check-clang
|
||||||
installDir: '$(Build.BinariesDirectory)/llvm'
|
testDir: 'llvm/build'
|
||||||
# use llvm-lit to run unit tests for llvm, clang, and lld
|
testExecutable: './bin/llvm-lit'
|
||||||
- task: Bash@3
|
testParameters: '-q --xunit-xml-output=clang_test_output.xml ./tools/clang/test'
|
||||||
displayName: 'Copy llvm-lit to install directory'
|
testOutputFile: clang_test_output.xml
|
||||||
inputs:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
targetType: inline
|
parameters:
|
||||||
script: |
|
componentName: check-lld
|
||||||
cp $(Build.SourcesDirectory)/llvm/build/bin/llvm-lit $(Build.BinariesDirectory)/llvm/bin/
|
testDir: 'llvm/build'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
testExecutable: './bin/llvm-lit'
|
||||||
parameters:
|
testParameters: '-q --xunit-xml-output=lld_test_output.xml ./tools/lld/test'
|
||||||
componentName: check-llvm
|
testOutputFile: lld_test_output.xml
|
||||||
testDir: 'llvm/build'
|
- task: CopyFiles@2
|
||||||
testExecutable: './bin/llvm-lit'
|
displayName: Copy FileCheck for Publishing
|
||||||
testParameters: '-q --xunit-xml-output=llvm_test_output.xml --filter-out="live-debug-values-spill-tracking" ./test'
|
inputs:
|
||||||
testOutputFile: llvm_test_output.xml
|
CleanTargetFolder: false
|
||||||
os: ${{ job.os }}
|
SourceFolder: llvm/build/bin
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
Contents: FileCheck
|
||||||
parameters:
|
TargetFolder: $(Build.BinariesDirectory)/llvm/bin
|
||||||
componentName: check-clang
|
retryCount: 3
|
||||||
testDir: 'llvm/build'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
testExecutable: './bin/llvm-lit'
|
parameters:
|
||||||
testParameters: '-q --xunit-xml-output=clang_test_output.xml ./tools/clang/test'
|
componentName: device-libs
|
||||||
testOutputFile: clang_test_output.xml
|
extraBuildFlags: >-
|
||||||
os: ${{ job.os }}
|
-DCMAKE_PREFIX_PATH="$(Build.SourcesDirectory)/llvm/build"
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
parameters:
|
cmakeBuildDir: '$(Build.SourcesDirectory)/amd/device-libs/build'
|
||||||
componentName: check-lld
|
cmakeSourceDir: '$(Build.SourcesDirectory)/amd/device-libs'
|
||||||
testDir: 'llvm/build'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
testExecutable: './bin/llvm-lit'
|
parameters:
|
||||||
testParameters: '-q --xunit-xml-output=lld_test_output.xml ./tools/lld/test'
|
componentName: comgr
|
||||||
testOutputFile: lld_test_output.xml
|
extraBuildFlags: >-
|
||||||
os: ${{ job.os }}
|
-DCMAKE_PREFIX_PATH="$(Build.SourcesDirectory)/llvm/build;$(Build.SourcesDirectory)/amd/device-libs/build"
|
||||||
- task: CopyFiles@2
|
-DCOMGR_DISABLE_SPIRV=1
|
||||||
displayName: Copy FileCheck for Publishing
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
inputs:
|
cmakeBuildDir: '$(Build.SourcesDirectory)/amd/comgr/build'
|
||||||
CleanTargetFolder: false
|
cmakeSourceDir: '$(Build.SourcesDirectory)/amd/comgr'
|
||||||
SourceFolder: llvm/build/bin
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
Contents: FileCheck
|
parameters:
|
||||||
TargetFolder: $(Build.BinariesDirectory)/llvm/bin
|
componentName: comgr
|
||||||
retryCount: 3
|
testParameters: '--output-on-failure --force-new-ctest-process --output-junit comgr_test_output.xml'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
testDir: 'amd/comgr/build'
|
||||||
parameters:
|
testOutputFile: comgr_test_output.xml
|
||||||
componentName: device-libs
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
useAmdclang: false
|
componentName: hipcc
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH="$(Build.SourcesDirectory)/llvm/build"
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DHIPCC_BACKWARD_COMPATIBILITY=OFF
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/amd/device-libs/build'
|
cmakeBuildDir: '$(Build.SourcesDirectory)/amd/hipcc/build'
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/amd/device-libs'
|
cmakeSourceDir: '$(Build.SourcesDirectory)/amd/hipcc'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
componentName: comgr
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
useAmdclang: false
|
parameters:
|
||||||
extraBuildFlags: >-
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
-DCMAKE_PREFIX_PATH="$(Build.SourcesDirectory)/llvm/build;$(Build.SourcesDirectory)/amd/device-libs/build"
|
environment: combined
|
||||||
-DCOMGR_DISABLE_SPIRV=1
|
extraEnvVars:
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
- HIP_DEVICE_LIB_PATH:::/home/user/workspace/bin/amdgcn/bitcode
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/amd/comgr/build'
|
- HIP_PATH:::/home/user/workspace/rocm
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/amd/comgr'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: comgr
|
|
||||||
testParameters: '--output-on-failure --force-new-ctest-process --output-junit comgr_test_output.xml'
|
|
||||||
testDir: 'amd/comgr/build'
|
|
||||||
testOutputFile: comgr_test_output.xml
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
componentName: hipcc
|
|
||||||
os: ${{ job.os }}
|
|
||||||
useAmdclang: false
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DHIPCC_BACKWARD_COMPATIBILITY=OFF
|
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/amd/hipcc/build'
|
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/amd/hipcc'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
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 }}
|
|
||||||
environment: combined
|
|
||||||
extraEnvVars:
|
|
||||||
- HIP_DEVICE_LIB_PATH:::/home/user/workspace/bin/amdgcn/bitcode
|
|
||||||
- HIP_PATH:::/home/user/workspace/rocm
|
|
||||||
|
|||||||
@@ -1,236 +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
|
|
||||||
- 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-latest.yml
|
|
||||||
- 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-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
|
|
||||||
-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
|
|
||||||
- script: |
|
|
||||||
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 }}
|
|
||||||
@@ -15,6 +15,7 @@ parameters:
|
|||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- git
|
- git
|
||||||
|
- googletest
|
||||||
- libboost-program-options-dev
|
- libboost-program-options-dev
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- libfftw3-dev
|
- libfftw3-dev
|
||||||
@@ -76,7 +77,7 @@ 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:
|
||||||
@@ -89,10 +90,6 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
submoduleBehaviour: recursive
|
submoduleBehaviour: recursive
|
||||||
- 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 }}
|
||||||
@@ -104,11 +101,12 @@ jobs:
|
|||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
|
-DHALF_INCLUDE_DIR=$(Agent.BuildDirectory)/rocm/include
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DBUILD_TESTS=ON
|
-DBUILD_TESTS=ON
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/share/rocm/cmake;$(Agent.BuildDirectory)/rocm/libexec/hipify
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/share/rocm/cmake;$(Agent.BuildDirectory)/rocm/libexec/hipify
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rocBLAS
|
|
||||||
- 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,15 +14,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 +33,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
|
||||||
@@ -80,56 +64,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 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx942 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx90a }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
|
||||||
#- { os: almalinux8, packageManager: dnf, 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:
|
|
||||||
- rocSPARSE:
|
|
||||||
name: rocSPARSE
|
|
||||||
sparseCheckoutDir: projects/rocsparse
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- rocBLAS_build
|
|
||||||
# rocSOLVER depends on both rocBLAS and rocPRIM
|
|
||||||
# for a unified build, rocBLAS will be the one to call rocSOLVER
|
|
||||||
# - rocSOLVER:
|
|
||||||
# name: rocSOLVER
|
|
||||||
# sparseCheckoutDir: projects/rocsolver
|
|
||||||
# skipUnifiedBuild: 'false'
|
|
||||||
# buildDependsOn:
|
|
||||||
# - 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 }}:
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
- job: rocBLAS_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
|
||||||
@@ -142,10 +89,6 @@ jobs:
|
|||||||
- name: ROCM_PATH
|
- name: ROCM_PATH
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
|
||||||
container:
|
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
|
||||||
endpoint: ContainerService3
|
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
@@ -153,134 +96,95 @@ 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/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-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 }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
os: ${{ job.os }}
|
|
||||||
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:
|
||||||
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:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
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 }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- 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 }}
|
installAOCL: true
|
||||||
installAOCL: true
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: ${{ job.target }}
|
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
|
- 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
|
- 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: rocBLAS_test_${{ job.target }}
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
dependsOn: rocBLAS_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
|
pipModules: ${{ parameters.pipModules }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
pipModules: ${{ parameters.pipModules }}
|
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:
|
||||||
os: ${{ job.os }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
gpuTarget: ${{ job.target }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
parameters:
|
||||||
parameters:
|
componentName: rocBLAS
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
testExecutable: './rocblas-test'
|
||||||
os: ${{ job.os }}
|
testParameters: '--yaml rocblas_smoke.yaml --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
parameters:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
pipModules: ${{ parameters.pipModules }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
environment: test
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
|
||||||
testExecutable: './rocblas-test'
|
|
||||||
testParameters: '--yaml rocblas_smoke.yaml --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
|
||||||
- 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 }}
|
|
||||||
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 }}
|
|
||||||
|
|||||||
@@ -1,32 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rocDecode
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- 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
|
||||||
@@ -35,28 +13,29 @@ parameters:
|
|||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
|
- python3-pip
|
||||||
- cmake
|
- cmake
|
||||||
|
- ninja-build
|
||||||
|
- pkg-config
|
||||||
- ffmpeg
|
- ffmpeg
|
||||||
- libavcodec-dev
|
- libavcodec-dev
|
||||||
- libavformat-dev
|
- libavformat-dev
|
||||||
- libavutil-dev
|
- libavutil-dev
|
||||||
- libdrm-dev
|
|
||||||
- libstdc++-12-dev
|
- libstdc++-12-dev
|
||||||
- libva-amdgpu-dev
|
- libva-amdgpu-dev
|
||||||
- mesa-amdgpu-va-drivers
|
- mesa-amdgpu-va-drivers
|
||||||
- ninja-build
|
- libdrm-dev
|
||||||
- pkg-config
|
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
- rocm-core
|
- llvm-project
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
- clr
|
||||||
|
- rocminfo
|
||||||
|
- rocm-core
|
||||||
|
- rocprofiler-register
|
||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -69,86 +48,53 @@ parameters:
|
|||||||
- name: jobMatrix
|
- name: jobMatrix
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
|
||||||
- { os: almalinux8, packageManager: dnf }
|
|
||||||
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:
|
|
||||||
- rocPyDecode:
|
|
||||||
name: rocPyDecode
|
|
||||||
sparseCheckoutDir: ''
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- rocDecode_build
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: rocDecode_build
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
- name: ROCM_PATH
|
||||||
- ${{ build }}_${{ job.os }}
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
variables:
|
pool:
|
||||||
- group: common
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
- template: /.azuredevops/variables-global.yml
|
workspace:
|
||||||
- name: ROCM_PATH
|
clean: all
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
steps:
|
||||||
pool:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
parameters:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
container:
|
registerROCmPackages: true
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
endpoint: ContainerService3
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
workspace:
|
parameters:
|
||||||
clean: all
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
packageManager: ${{ job.packageManager }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
registerROCmPackages: true
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
-GNinja
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
# parameters:
|
||||||
os: ${{ job.os }}
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
# registerROCmPackages: true
|
||||||
${{ 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
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
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 }}
|
|
||||||
# registerROCmPackages: true
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
- job: rocDecode_test_${{ job.target }}
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}
|
dependsOn: rocDecode_build
|
||||||
condition:
|
condition:
|
||||||
and(succeeded(),
|
and(succeeded(),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
@@ -168,27 +114,20 @@ 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 }}
|
|
||||||
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:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
parameters:
|
|
||||||
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 }}
|
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Build rocDecode tests
|
displayName: Build rocDecode tests
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
${{ iif(eq(job.os, 'almalinux8'), 'source /opt/rh/gcc-toolset-14/enable', '') }}
|
|
||||||
mkdir rocDecode-tests
|
mkdir rocDecode-tests
|
||||||
cd rocDecode-tests
|
cd rocDecode-tests
|
||||||
cmake $(Agent.BuildDirectory)/rocm/share/rocdecode/test
|
cmake $(Agent.BuildDirectory)/rocm/share/rocdecode/test
|
||||||
@@ -197,22 +136,9 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
componentName: rocDecode
|
componentName: rocDecode
|
||||||
testDir: 'rocDecode-tests'
|
testDir: 'rocDecode-tests'
|
||||||
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 }}
|
||||||
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 }}
|
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rocFFT
|
|
||||||
- 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
|
||||||
@@ -78,23 +59,10 @@ parameters:
|
|||||||
target: gfx942
|
target: gfx942
|
||||||
- gfx90a:
|
- gfx90a:
|
||||||
target: gfx90a
|
target: gfx90a
|
||||||
- name: downstreamComponentMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- hipFFT:
|
|
||||||
name: hipFFT
|
|
||||||
sparseCheckoutDir: projects/hipfft
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- rocFFT_build
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
- job: rocFFT_build_${{ job.target }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_ubuntu2204_${{ job.target }} # todo: un-hardcode OS
|
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -111,15 +79,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 }}
|
||||||
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: >-
|
||||||
@@ -136,11 +101,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 }}
|
|
||||||
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
|
||||||
@@ -151,12 +114,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: rocFFT_test_${{ job.target }}
|
||||||
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
dependsOn: rocFFT_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,14 +129,12 @@ 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 }}
|
||||||
- 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:
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- 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
|
||||||
@@ -181,12 +142,10 @@ 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 }}
|
|
||||||
- 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: rocFFT
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
testExecutable: './rocfft-test'
|
testExecutable: './rocfft-test'
|
||||||
testParameters: '--test_prob 0.004 --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
testParameters: '--test_prob 0.004 --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
@@ -195,15 +154,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 }}
|
|
||||||
buildDependsOn: ${{ component.buildDependsOn }}
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
|
||||||
triggerDownstreamJobs: true
|
|
||||||
unifiedBuild: ${{ parameters.unifiedBuild }}
|
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rocJPEG
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
@@ -47,44 +44,32 @@ 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 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx942 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx90a }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
|
||||||
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: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
- job: rocJPEG_build_${{ 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:
|
pool:
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
name: rocm-ci_medium_build_pool_2404
|
|
||||||
${{ else }}:
|
|
||||||
name: ${{ variables.MEDIUM_BUILD_POOL }}
|
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
|
||||||
container:
|
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
|
||||||
endpoint: ContainerService3
|
|
||||||
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 }}
|
|
||||||
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
|
||||||
@@ -95,26 +80,17 @@ jobs:
|
|||||||
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 }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
|
||||||
consolidateBuildAndInstall: true
|
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm"
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
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 }}
|
|
||||||
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:
|
||||||
@@ -123,8 +99,8 @@ jobs:
|
|||||||
# registerROCmPackages: true
|
# registerROCmPackages: true
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
- job: rocJPEG_test_${{ job.target }}
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
dependsOn: rocJPEG_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'),
|
||||||
@@ -144,28 +120,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 }}
|
|
||||||
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 }}
|
gpuTarget: ${{ job.target }}
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
parameters:
|
|
||||||
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 }}
|
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Build rocJPEG tests
|
displayName: Build rocJPEG tests
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
${{ iif(eq(job.os, 'almalinux8'), 'source /opt/rh/gcc-toolset-14/enable', '') }}
|
|
||||||
mkdir rocJPEG-tests
|
mkdir rocJPEG-tests
|
||||||
cd rocJPEG-tests
|
cd rocJPEG-tests
|
||||||
cmake $(Agent.BuildDirectory)/rocm/share/rocjpeg/test
|
cmake $(Agent.BuildDirectory)/rocm/share/rocjpeg/test
|
||||||
@@ -174,7 +144,6 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
componentName: rocJPEG
|
componentName: rocJPEG
|
||||||
testDir: 'rocJPEG-tests'
|
testDir: 'rocJPEG-tests'
|
||||||
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 }}
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ parameters:
|
|||||||
- numpy
|
- numpy
|
||||||
- tomli
|
- tomli
|
||||||
- scipy
|
- scipy
|
||||||
- pybind11
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -1,29 +1,16 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rocPRIM
|
|
||||||
- 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: sparseCheckout
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: sparseCheckoutDir
|
- name: sparseCheckoutDir
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
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,17 +20,18 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- git
|
|
||||||
- ninja-build
|
- ninja-build
|
||||||
|
- libgtest-dev
|
||||||
|
- git
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
- rocminfo
|
- llvm-project
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
- clr
|
||||||
|
- rocminfo
|
||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -57,175 +45,98 @@ 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 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx942 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx90a }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
|
||||||
testJobs:
|
testJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942, shard: 1, shardCount: 3 }
|
- gfx942:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942, shard: 2, shardCount: 3 }
|
target: gfx942
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942, shard: 3, shardCount: 3 }
|
- gfx90a:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a, shard: 1, shardCount: 3 }
|
target: gfx90a
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a, shard: 2, shardCount: 3 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a, shard: 3, shardCount: 3 }
|
|
||||||
- name: downstreamComponentMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- rocThrust:
|
|
||||||
name: rocThrust
|
|
||||||
sparseCheckoutDir: projects/rocthrust
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- rocPRIM_build
|
|
||||||
- hipCUB:
|
|
||||||
name: hipCUB
|
|
||||||
sparseCheckoutDir: projects/hipcub
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- rocPRIM_build
|
|
||||||
# rocSOLVER depends on both rocBLAS and rocPRIM
|
|
||||||
# for a unified build, rocBLAS will be the one to call rocSOLVER
|
|
||||||
# - rocSOLVER:
|
|
||||||
# name: rocSOLVER
|
|
||||||
# sparseCheckoutDir: projects/rocsolver
|
|
||||||
# skipUnifiedBuild: 'true'
|
|
||||||
# buildDependsOn:
|
|
||||||
# - rocPRIM_build
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
- job: rocPRIM_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
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
|
||||||
container:
|
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
|
||||||
endpoint: ContainerService3
|
|
||||||
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 }}
|
|
||||||
- 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 }}
|
||||||
|
sparseCheckout: ${{ parameters.sparseCheckout }}
|
||||||
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 }}
|
||||||
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 }}
|
|
||||||
consolidateBuildAndInstall: true
|
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor"
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DBUILD_BENCHMARK=ON
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
-DBUILD_BENCHMARK=ON
|
|
||||||
-DBUILD_TEST=ON
|
-DBUILD_TEST=ON
|
||||||
-GNinja
|
-GNinja
|
||||||
extraCxxFlags: -Wno-deprecated-declarations
|
|
||||||
- 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 }}
|
||||||
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 }}
|
|
||||||
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 }}
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: rocPRIM_test_${{ job.target }}
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}_shard_${{ job.shard }}
|
dependsOn: rocPRIM_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: rocPRIM
|
||||||
gpuTarget: ${{ job.target }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin/rocprim'
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
parameters:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
environment: test
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin/rocprim'
|
|
||||||
extraTestParameters: '-I ${{ job.shard }},,${{ job.shardCount }} -E device_merge_inplace'
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- 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 }}
|
|
||||||
|
|||||||
@@ -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 }}
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rocRAND
|
|
||||||
- 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
|
||||||
@@ -34,16 +15,18 @@ parameters:
|
|||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- git
|
- git
|
||||||
|
- googletest
|
||||||
|
- libgtest-dev
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
- rocminfo
|
- llvm-project
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
- clr
|
||||||
|
- rocminfo
|
||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -57,102 +40,56 @@ 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 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx942 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx90a }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, 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:
|
|
||||||
- hipRAND:
|
|
||||||
name: hipRAND
|
|
||||||
sparseCheckoutDir: projects/hiprand
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- 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 }}:
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
- job: rocRAND_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
|
||||||
- name: HIP_ROCCLR_HOME
|
- name: HIP_ROCCLR_HOME
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
pool:
|
pool:
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
vmImage: 'ubuntu-24.04'
|
|
||||||
${{ else }}:
|
|
||||||
name: ${{ variables.MEDIUM_BUILD_POOL }}
|
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
|
||||||
container:
|
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
|
||||||
endpoint: ContainerService3
|
|
||||||
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 }}
|
|
||||||
- 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 }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
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:
|
||||||
os: ${{ job.os }}
|
|
||||||
consolidateBuildAndInstall: true
|
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DBUILD_TEST=ON
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
-DBUILD_TEST=ON
|
|
||||||
-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 }}
|
||||||
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 }}
|
|
||||||
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:
|
||||||
@@ -161,63 +98,42 @@ 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: rocRAND_test_${{ job.target }}
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
dependsOn: rocRAND_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: rocRAND
|
||||||
gpuTarget: ${{ job.target }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin/rocRAND'
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
parameters:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
environment: test
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin/rocRAND'
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- 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 }}
|
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rocSOLVER
|
|
||||||
- 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,22 +14,26 @@ 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
|
||||||
default:
|
default:
|
||||||
- clr
|
- clr
|
||||||
|
- hipSPARSE
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocPRIM
|
- rocPRIM
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
- rocSPARSE
|
||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -70,95 +55,50 @@ 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 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx942 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx90a }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
|
||||||
#- { os: almalinux8, packageManager: dnf, 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:
|
|
||||||
- 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 }}:
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
- job: rocSOLVER_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
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
|
||||||
container:
|
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
|
||||||
endpoint: ContainerService3
|
|
||||||
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 }}
|
|
||||||
- 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 }}
|
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'Clone lapack'
|
displayName: 'Clone lapack'
|
||||||
inputs:
|
inputs:
|
||||||
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 }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
os: ${{ job.os }}
|
|
||||||
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:
|
||||||
componentName: lapack
|
componentName: lapack
|
||||||
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
|
||||||
@@ -169,9 +109,8 @@ jobs:
|
|||||||
installDir: '$(Pipeline.Workspace)/deps-install'
|
installDir: '$(Pipeline.Workspace)/deps-install'
|
||||||
- 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;$(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 }}
|
||||||
@@ -181,88 +120,56 @@ 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 }}
|
|
||||||
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 }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- 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 }}
|
extraCopyDirectories:
|
||||||
extraCopyDirectories:
|
- deps-install
|
||||||
- deps-install
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: rocSOLVER_test_${{ job.target }}
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
dependsOn: rocSOLVER_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
|
||||||
- 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
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
parameters:
|
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: rocSOLVER
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
os: ${{ job.os }}
|
testExecutable: './rocsolver-test'
|
||||||
gpuTarget: ${{ job.target }}
|
testParameters: '--gtest_filter="*checkin*" --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
${{ 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
|
environment: test
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
|
||||||
testExecutable: './rocsolver-test'
|
|
||||||
testParameters: '--gtest_filter="*checkin*" --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 }}
|
|
||||||
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 }}
|
|
||||||
|
|||||||
@@ -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 }}
|
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rocThrust
|
|
||||||
- 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,17 +14,18 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- git
|
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- libboost-program-options-dev
|
- libboost-program-options-dev
|
||||||
|
- googletest
|
||||||
- libfftw3-dev
|
- libfftw3-dev
|
||||||
|
- git
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- clr
|
- clr
|
||||||
|
- hipRAND
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocm-cmake
|
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocPRIM
|
- rocPRIM
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
@@ -54,142 +36,104 @@ parameters:
|
|||||||
- llvm-project
|
- llvm-project
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocPRIM
|
- rocPRIM
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
- hipRAND
|
||||||
|
- rocprofiler-register
|
||||||
|
|
||||||
- name: jobMatrix
|
- name: jobMatrix
|
||||||
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 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx942 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx90a }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
|
||||||
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: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
- job: rocThrust_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
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
|
||||||
container:
|
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
|
||||||
endpoint: ContainerService3
|
|
||||||
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 }}
|
|
||||||
- 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 }}
|
|
||||||
consolidateBuildAndInstall: true
|
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-GNinja
|
-GNinja
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor"
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
-DBUILD_TEST=ON
|
-DBUILD_TEST=ON
|
||||||
- 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 }}
|
||||||
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 }}
|
|
||||||
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 }}
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: rocThrust_test_${{ job.target }}
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
dependsOn: rocThrust_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: rocThrust
|
||||||
gpuTarget: ${{ job.target }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin/rocthrust'
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
parameters:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
environment: test
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin/rocthrust'
|
|
||||||
testParameters: '--output-on-failure --force-new-ctest-process --output-junit test_output.xml --exclude-regex "scan.hip"'
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ parameters:
|
|||||||
- doxygen
|
- doxygen
|
||||||
- doxygen-doc
|
- doxygen-doc
|
||||||
- ninja-build
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
|
- python3-sphinx
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -23,75 +25,49 @@ parameters:
|
|||||||
- cmake==3.20.5
|
- cmake==3.20.5
|
||||||
- ninja
|
- ninja
|
||||||
- rocm-docs-core
|
- rocm-docs-core
|
||||||
- sphinx
|
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
|
||||||
- { os: ubuntu2404, packageManager: apt }
|
|
||||||
- { os: almalinux8, packageManager: dnf }
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: rocm_cmake
|
||||||
- job: rocm_cmake_${{ job.os }}
|
variables:
|
||||||
pool:
|
- group: common
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
- template: /.azuredevops/variables-global.yml
|
||||||
vmImage: 'ubuntu-24.04'
|
pool:
|
||||||
${{ else }}:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
vmImage: 'ubuntu-22.04'
|
workspace:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
clean: all
|
||||||
container:
|
steps:
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
endpoint: ContainerService3
|
parameters:
|
||||||
variables:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- group: common
|
pipModules: ${{ parameters.pipModules }}
|
||||||
- template: /.azuredevops/variables-global.yml
|
- task: Bash@3
|
||||||
workspace:
|
displayName: Add CMake to PATH
|
||||||
clean: all
|
inputs:
|
||||||
steps:
|
targetType: inline
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
script: echo "##vso[task.prependpath]$(python3 -m site --user-base)/bin"
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
pipModules: ${{ parameters.pipModules }}
|
parameters:
|
||||||
packageManager: ${{ job.packageManager }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- task: Bash@3
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
displayName: Add CMake to PATH
|
- task: Bash@3
|
||||||
inputs:
|
displayName: CTest setup
|
||||||
targetType: inline
|
inputs:
|
||||||
script: echo "##vso[task.prependpath]$(python3 -m site --user-base)/bin"
|
targetType: inline
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
script: |
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
python -m pip install -r $(Build.SourcesDirectory)/docs/requirements.txt
|
||||||
parameters:
|
python -m pip install -r $(Build.SourcesDirectory)/test/docsphinx/docs/.sphinx/requirements.txt
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
git config --global user.email "you@example.com"
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
git config --global user.name "Your Name"
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
useAmdclang: false
|
componentName: rocm-cmake
|
||||||
- task: Bash@3
|
testParameters: '-E "pass-version-parent" --output-on-failure --force-new-ctest-process --output-junit test_output.xml'
|
||||||
displayName: CTest setup
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
inputs:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
targetType: inline
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
script: |
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
python -m pip install -r $(Build.SourcesDirectory)/docs/requirements.txt
|
# parameters:
|
||||||
python -m pip install -r $(Build.SourcesDirectory)/test/docsphinx/docs/.sphinx/requirements.txt
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
git config --global user.email "you@example.com"
|
# pipModules: ${{ parameters.pipModules }}
|
||||||
git config --global user.name "Your Name"
|
# environment: combined
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: rocm-cmake
|
|
||||||
testParameters: '-E "pass-version-parent" --output-on-failure --force-new-ctest-process --output-junit test_output.xml'
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
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: combined
|
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -34,70 +15,39 @@ parameters:
|
|||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- ninja-build
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
|
||||||
- { os: ubuntu2404, packageManager: apt }
|
|
||||||
- { os: almalinux8, packageManager: dnf }
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: rocm_core
|
||||||
- job: rocm_core_${{ job.os }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool:
|
||||||
- ${{ build }}_${{ job.os }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
pool:
|
workspace:
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
clean: all
|
||||||
vmImage: 'ubuntu-24.04'
|
steps:
|
||||||
${{ else }}:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
vmImage: 'ubuntu-22.04'
|
parameters:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
container:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
endpoint: ContainerService3
|
parameters:
|
||||||
variables:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- group: common
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
parameters:
|
||||||
workspace:
|
extraBuildFlags: >-
|
||||||
clean: all
|
-DCMAKE_CURRENT_BINARY_DIR=$PWD
|
||||||
steps:
|
-DCMAKE_CURRENT_SOURCE_DIR=$PWD/../
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
-DCMAKE_VERBOSE_MAKEFILE=1
|
||||||
parameters:
|
-DCPACK_GENERATOR=DEB
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
-DCPACK_DEBIAN_PACKAGE_RELEASE="local.9999~99.99"
|
||||||
packageManager: ${{ job.packageManager }}
|
-DCPACK_RPM_PACKAGE_RELEASE="local.9999"
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
-DROCM_VERSION="$(NEXT_RELEASE_VERSION)"
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
-GNinja
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
# parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
os: ${{ job.os }}
|
|
||||||
useAmdclang: false
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_CURRENT_BINARY_DIR=$PWD
|
|
||||||
-DCMAKE_CURRENT_SOURCE_DIR=$PWD/../
|
|
||||||
-DCMAKE_VERBOSE_MAKEFILE=1
|
|
||||||
-DCPACK_GENERATOR=DEB
|
|
||||||
-DCPACK_DEBIAN_PACKAGE_RELEASE="local.9999~99.99"
|
|
||||||
-DCPACK_RPM_PACKAGE_RELEASE="local.9999"
|
|
||||||
-DROCM_VERSION="$(NEXT_RELEASE_VERSION)"
|
|
||||||
-GNinja
|
|
||||||
- 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:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
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 }}
|
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ parameters:
|
|||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- libglfw3-dev
|
- libglfw3-dev
|
||||||
- libmsgpack-dev
|
|
||||||
- libtbb-dev
|
- libtbb-dev
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- python3-pip
|
- python3-pip
|
||||||
@@ -184,7 +183,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 }}
|
||||||
|
|||||||
@@ -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-latest.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
|
|
||||||
@@ -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
|
||||||
@@ -36,110 +17,79 @@ parameters:
|
|||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- pkg-config
|
- pkg-config
|
||||||
|
- python3-pip
|
||||||
|
|
||||||
- name: jobMatrix
|
- name: jobMatrix
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
|
||||||
- { os: ubuntu2404, packageManager: apt }
|
|
||||||
- { os: almalinux8, packageManager: dnf }
|
|
||||||
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 }}:
|
- job: rocm_smi_lib_build
|
||||||
- job: rocm_smi_lib_build_${{ job.os }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool:
|
||||||
- ${{ build }}_${{ job.os }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
pool:
|
workspace:
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
clean: all
|
||||||
vmImage: 'ubuntu-24.04'
|
steps:
|
||||||
${{ else }}:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
vmImage: 'ubuntu-22.04'
|
parameters:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
container:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
endpoint: ContainerService3
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DBUILD_TESTS=ON
|
||||||
|
-DROCM_DEP_ROCMCORE=ON
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
# parameters:
|
||||||
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: rocm_smi_lib_test_${{ job.target }}
|
||||||
|
dependsOn: rocm_smi_lib_build
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
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
|
||||||
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 }}
|
|
||||||
- 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/local-artifact-download.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
runRocminfo: false
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
componentName: rocm_smi_lib
|
||||||
os: ${{ job.os }}
|
testDir: '$(Agent.BuildDirectory)'
|
||||||
useAmdclang: false
|
testExecutable: './rocm/share/rocm_smi/rsmitst_tests/rsmitst'
|
||||||
extraBuildFlags: >-
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
-DBUILD_TESTS=ON
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
-DROCM_DEP_ROCMCORE=ON
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
environment: test
|
||||||
os: ${{ job.os }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
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 }}
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: rocm_smi_lib_test_${{ job.os }}_${{ job.target }}
|
|
||||||
dependsOn: rocm_smi_lib_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:
|
|
||||||
- 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:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
parameters:
|
|
||||||
runRocminfo: false
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
|
||||||
testExecutable: 'sudo ./rocm/share/rocm_smi/rsmitst_tests/rsmitst'
|
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -36,6 +17,7 @@ parameters:
|
|||||||
- libdrm-amdgpu-dev
|
- libdrm-amdgpu-dev
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- ninja-build
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -50,126 +32,93 @@ parameters:
|
|||||||
- name: jobMatrix
|
- name: jobMatrix
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
|
||||||
- { os: almalinux8, packageManager: dnf }
|
|
||||||
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 }}:
|
- job: rocminfo
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool:
|
||||||
- ${{ build }}_${{ job.os }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
pool:
|
workspace:
|
||||||
vmImage: 'ubuntu-22.04'
|
clean: all
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
steps:
|
||||||
container:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
parameters:
|
||||||
endpoint: ContainerService3
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
registerROCmPackages: true
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
skipLlvmSymlink: true
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DROCRTST_BLD_TYPE=release
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: rocminfo_test_${{ job.target }}
|
||||||
|
dependsOn: rocminfo
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
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
|
||||||
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 }}
|
|
||||||
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/local-artifact-download.yml
|
||||||
parameters:
|
|
||||||
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.rocmTestDependencies }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
gpuTarget: ${{ job.target }}
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
runRocminfo: false
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
useAmdclang: false
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DROCRTST_BLD_TYPE=release
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
componentName: rocminfo
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
testDir: '$(Agent.BuildDirectory)'
|
||||||
os: ${{ job.os }}
|
testExecutable: './rocm/bin/rocminfo'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
testParameters: ''
|
||||||
|
testPublishResults: false
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
componentName: rocm_agent_enumerator
|
||||||
os: ${{ job.os }}
|
testDir: '$(Agent.BuildDirectory)'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
testExecutable: './rocm/bin/rocm_agent_enumerator'
|
||||||
|
testParameters: ''
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
testPublishResults: false
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
- job: rocminfo_test_${{ job.target }}
|
parameters:
|
||||||
dependsOn: rocminfo_build_${{ job.os }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
condition:
|
registerROCmPackages: true
|
||||||
and(succeeded(),
|
environment: test
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
gpuTarget: ${{ job.target }}
|
||||||
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/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
registerROCmPackages: true
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
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
|
|
||||||
parameters:
|
|
||||||
runRocminfo: false
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
|
||||||
testExecutable: './rocm/bin/rocminfo'
|
|
||||||
testParameters: ''
|
|
||||||
testPublishResults: false
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: rocm_agent_enumerator
|
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
|
||||||
testExecutable: './rocm/bin/rocm_agent_enumerator'
|
|
||||||
testParameters: ''
|
|
||||||
testPublishResults: false
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
registerROCmPackages: true
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -43,29 +24,24 @@ parameters:
|
|||||||
default:
|
default:
|
||||||
- astunparse==1.6.2
|
- astunparse==1.6.2
|
||||||
- colorlover
|
- colorlover
|
||||||
- dash-bootstrap-components
|
- "dash>=1.12.0"
|
||||||
- dash-svg
|
|
||||||
- "dash>=3.0.0"
|
|
||||||
- kaleido==0.2.1
|
|
||||||
- matplotlib
|
- matplotlib
|
||||||
- "numpy>=1.17.5"
|
- "numpy>=1.17.5"
|
||||||
- "pandas>=1.4.3"
|
- "pandas>=1.4.3"
|
||||||
- plotext
|
|
||||||
- plotille
|
|
||||||
- pymongo
|
- pymongo
|
||||||
- pyyaml
|
- pyyaml
|
||||||
- setuptools
|
|
||||||
- sqlalchemy
|
|
||||||
- tabulate
|
- tabulate
|
||||||
- textual
|
|
||||||
- textual_plotext
|
|
||||||
- textual-fspicker
|
|
||||||
- tqdm
|
- tqdm
|
||||||
|
- dash-svg
|
||||||
|
- dash-bootstrap-components
|
||||||
|
- kaleido
|
||||||
|
- setuptools
|
||||||
|
- plotille
|
||||||
- mock
|
- mock
|
||||||
- pytest
|
- pytest
|
||||||
- pytest-cov
|
- pytest-cov
|
||||||
- pytest-xdist
|
- pytest-xdist
|
||||||
- name: rocmTestDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- amdsmi
|
- amdsmi
|
||||||
@@ -85,23 +61,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 +114,25 @@ 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-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
dependencySource: ${{ job.dependencySource }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- 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 +141,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
|
- task: Bash@3
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
displayName: Add en_US.UTF-8 locale
|
||||||
parameters:
|
inputs:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
targetType: inline
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
script: |
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
sudo locale-gen en_US.UTF-8
|
||||||
parameters:
|
sudo update-locale
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
locale -a
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
parameters:
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
postTargetFilter: ${{ job.dependencySource }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- task: Bash@3
|
parameters:
|
||||||
displayName: Add en_US.UTF-8 locale
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
inputs:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
targetType: inline
|
dependencySource: ${{ job.dependencySource }}
|
||||||
script: |
|
gpuTarget: ${{ job.target }}
|
||||||
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 }}
|
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -34,71 +15,40 @@ parameters:
|
|||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- ninja-build
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
|
||||||
- { os: ubuntu2404, packageManager: apt }
|
|
||||||
- { os: almalinux8, packageManager: dnf }
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: rocprofiler_register
|
||||||
- job: rocprofiler_register_${{ job.os }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool:
|
||||||
- ${{ build }}_${{ job.os }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
pool:
|
workspace:
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
clean: all
|
||||||
vmImage: 'ubuntu-24.04'
|
steps:
|
||||||
${{ else }}:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
vmImage: 'ubuntu-22.04'
|
parameters:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
container:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
endpoint: ContainerService3
|
parameters:
|
||||||
variables:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- group: common
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
parameters:
|
||||||
workspace:
|
componentName: rocprofiler-register
|
||||||
clean: all
|
extraBuildFlags: >-
|
||||||
steps:
|
-DCMAKE_PREFIX_PATH=$(Build.BinariesDirectory)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
-DROCPROFILER_REGISTER_BUILD_TESTS=ON
|
||||||
parameters:
|
-DROCPROFILER_REGISTER_BUILD_SAMPLES=ON
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
-GNinja
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
componentName: rocprofiler-register
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
# parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
os: ${{ job.os }}
|
# environment: combined
|
||||||
useAmdclang: false
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Build.BinariesDirectory)
|
|
||||||
-DROCPROFILER_REGISTER_BUILD_TESTS=ON
|
|
||||||
-DROCPROFILER_REGISTER_BUILD_SAMPLES=ON
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
testDir: $(Agent.BuildDirectory)/s/build
|
|
||||||
- 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:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
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 }}
|
|
||||||
# environment: combined
|
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -33,12 +14,10 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- build-essential
|
- build-essential
|
||||||
- cmake
|
|
||||||
- libdrm-amdgpu-dev
|
- libdrm-amdgpu-dev
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- libdw-dev
|
- libdw-dev
|
||||||
- libelf-dev
|
- libelf-dev
|
||||||
- libsqlite3-dev
|
|
||||||
- libva-dev
|
- libva-dev
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- pkg-config
|
- pkg-config
|
||||||
@@ -92,14 +71,11 @@ 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
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
pool:
|
||||||
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
@@ -112,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-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 +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 }}
|
|
||||||
- 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 +104,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 +113,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,67 +125,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
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
registerROCmPackages: true
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
registerROCmPackages: true
|
|
||||||
|
|||||||
@@ -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,88 +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
|
||||||
# build flags reference: https://rocm.docs.amd.com/projects/omnitrace/en/latest/install/install.html
|
-DROCPROFSYS_BUILD_DYNINST=ON
|
||||||
extraBuildFlags: >-
|
-DROCPROFSYS_BUILD_LIBUNWIND=ON
|
||||||
-DROCPROFSYS_BUILD_TESTING=ON
|
-DROCPROFSYS_DISABLE_EXAMPLES="openmp-target"
|
||||||
-DROCPROFSYS_BUILD_DYNINST=ON
|
-DDYNINST_BUILD_TBB=ON
|
||||||
-DROCPROFSYS_BUILD_LIBUNWIND=ON
|
-DDYNINST_BUILD_ELFUTILS=ON
|
||||||
-DROCPROFSYS_DISABLE_EXAMPLES="openmp-target"
|
-DDYNINST_BUILD_LIBIBERTY=ON
|
||||||
-DDYNINST_BUILD_TBB=ON
|
-DDYNINST_BUILD_BOOST=ON
|
||||||
-DDYNINST_BUILD_ELFUTILS=ON
|
-DROCPROFSYS_USE_PAPI=ON
|
||||||
-DDYNINST_BUILD_LIBIBERTY=ON
|
-DROCPROFSYS_USE_MPI=ON
|
||||||
-DDYNINST_BUILD_BOOST=ON
|
-DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/include/rocjpeg
|
||||||
-DROCPROFSYS_USE_PAPI=ON
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
-DROCPROFSYS_USE_MPI=ON
|
-GNinja
|
||||||
-DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/include/rocjpeg
|
- task: Bash@3
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
displayName: Set up rocprofiler-systems env
|
||||||
-GNinja
|
inputs:
|
||||||
- task: Bash@3
|
targetType: inline
|
||||||
displayName: Set up rocprofiler-systems env
|
script: source share/rocprofiler-systems/setup-env.sh
|
||||||
inputs:
|
workingDirectory: build
|
||||||
targetType: inline
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
script: source share/rocprofiler-systems/setup-env.sh
|
parameters:
|
||||||
workingDirectory: build
|
componentName: rocprofiler-systems
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
pipModules: ${{ parameters.pipModules }}
|
||||||
parameters:
|
environment: test
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
registerROCmPackages: true
|
||||||
pipModules: ${{ parameters.pipModules }}
|
gpuTarget: ${{ job.target }}
|
||||||
environment: test
|
extraPaths: /home/user/workspace/rocm/bin:/home/user/workspace/rocm/llvm/bin
|
||||||
registerROCmPackages: true
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
extraPaths: /home/user/workspace/rocm/bin:/home/user/workspace/rocm/llvm/bin
|
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rocprofiler
|
|
||||||
- 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
|
||||||
@@ -34,6 +15,7 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
|
- libgtest-dev
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- libdw-dev
|
- libdw-dev
|
||||||
- libsystemd-dev
|
- libsystemd-dev
|
||||||
@@ -44,13 +26,13 @@ parameters:
|
|||||||
- name: pipModules
|
- name: pipModules
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- barectf
|
|
||||||
- Cppheaderparser
|
|
||||||
- lxml
|
|
||||||
- matplotlib
|
|
||||||
- pandas
|
|
||||||
- pyyaml==5.3.1
|
- pyyaml==5.3.1
|
||||||
|
- Cppheaderparser
|
||||||
- websockets
|
- websockets
|
||||||
|
- matplotlib
|
||||||
|
- lxml
|
||||||
|
- barectf
|
||||||
|
- pandas
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -59,37 +41,29 @@ parameters:
|
|||||||
- ROCdbgapi
|
- ROCdbgapi
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
- rocm-core
|
- rocm-core
|
||||||
- rocminfo
|
|
||||||
- rocm_smi_lib
|
- rocm_smi_lib
|
||||||
- rocprofiler-register
|
- rocminfo
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
- rocprofiler-register
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
- name: jobMatrix
|
- name: jobMatrix
|
||||||
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 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx942 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx90a }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
|
||||||
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: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
- job: rocprofiler_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
|
||||||
@@ -98,10 +72,6 @@ jobs:
|
|||||||
- name: ROCM_PATH
|
- name: ROCM_PATH
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
|
||||||
container:
|
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
|
||||||
endpoint: ContainerService3
|
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
@@ -109,125 +79,93 @@ 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-vendor.yml
|
|
||||||
parameters:
|
|
||||||
dependencyList:
|
|
||||||
- gtest
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
parameters:
|
|
||||||
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.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 }}
|
|
||||||
useAmdclang: false
|
|
||||||
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
|
||||||
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor"
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
|
||||||
-DENABLE_LDCONFIG=OFF
|
-DENABLE_LDCONFIG=OFF
|
||||||
-DUSE_PROF_API=1
|
-DUSE_PROF_API=1
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
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 }}
|
|
||||||
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 }}
|
extraEnvVars:
|
||||||
extraEnvVars:
|
- 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: rocprofiler_test_${{ job.target }}
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
dependsOn: rocprofiler_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'], ','), 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:
|
- 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.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
parameters:
|
||||||
parameters:
|
componentName: rocprofilerV1
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
testDir: $(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
testExecutable: ./run.sh
|
||||||
gpuTarget: ${{ job.target }}
|
testParameters: ''
|
||||||
os: ${{ job.os }}
|
testPublishResults: false
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
componentName: rocprofilerV2
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
testDir: $(Agent.BuildDirectory)/rocm
|
||||||
parameters:
|
testExecutable: share/rocprofiler/tests/runUnitTests
|
||||||
componentName: rocprofilerV1
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
testDir: $(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
testExecutable: ./run.sh
|
parameters:
|
||||||
testParameters: ''
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
testPublishResults: false
|
pipModules: ${{ parameters.pipModules }}
|
||||||
os: ${{ job.os }}
|
environment: test
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
|
||||||
componentName: rocprofilerV2
|
|
||||||
testDir: $(Agent.BuildDirectory)/rocm
|
|
||||||
testExecutable: share/rocprofiler/tests/runUnitTests
|
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: roctracer
|
|
||||||
- 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
|
||||||
@@ -37,7 +18,7 @@ parameters:
|
|||||||
- graphviz
|
- graphviz
|
||||||
- libdrm-amdgpu-dev
|
- libdrm-amdgpu-dev
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- zlib1g-dev
|
- python3-pip
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -64,36 +45,26 @@ 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 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx942 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx90a }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
|
||||||
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: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
- job: roctracer_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
|
||||||
|
- name: HIP_ROCCLR_HOME
|
||||||
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
pool:
|
pool:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
|
||||||
container:
|
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
|
||||||
endpoint: ContainerService3
|
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
@@ -101,45 +72,32 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
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/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 }}
|
||||||
os: ${{ job.os }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
# 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:
|
||||||
os: ${{ job.os }}
|
|
||||||
useAmdclang: false
|
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_BUILD_TYPE=release
|
-DCMAKE_BUILD_TYPE=release
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip;$(Agent.BuildDirectory)/rocm/lib64/cmake/hip
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
-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 }}
|
|
||||||
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 }}
|
|
||||||
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
|
||||||
@@ -149,57 +107,49 @@ 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: roctracer_test_${{ job.target }}
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
dependsOn: roctracer_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
|
||||||
- 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
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
registerROCmPackages: true
|
- 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:
|
||||||
os: ${{ job.os }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
componentName: roctracer
|
||||||
os: ${{ job.os }}
|
testExecutable: $(Agent.BuildDirectory)/rocm/share/roctracer/run_tests.sh
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
testParameters: ''
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
testDir: $(Agent.BuildDirectory)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
testPublishResults: false
|
||||||
- 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 }}
|
||||||
testExecutable: $(Agent.BuildDirectory)/rocm/share/roctracer/run_tests.sh
|
pipModules: ${{ parameters.pipModules }}
|
||||||
testParameters: ''
|
environment: test
|
||||||
testDir: $(Agent.BuildDirectory)
|
gpuTarget: ${{ job.target }}
|
||||||
testPublishResults: false
|
registerROCmPackages: true
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
registerROCmPackages: true
|
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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 }}
|
|
||||||
@@ -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 }}
|
|
||||||
@@ -11,54 +11,36 @@ parameters:
|
|||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
|
||||||
- git
|
- git
|
||||||
|
- cmake
|
||||||
- ninja-build
|
- ninja-build
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
|
||||||
- { os: almalinux8, packageManager: dnf }
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: gtest
|
||||||
- job: gtest_${{ job.os }}
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool:
|
||||||
pool:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
vmImage: 'ubuntu-22.04'
|
workspace:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
clean: all
|
||||||
container:
|
steps:
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
endpoint: ContainerService3
|
parameters:
|
||||||
workspace:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
steps:
|
- task: Bash@3
|
||||||
- checkout: none
|
displayName: 'git clone gtest'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
inputs:
|
||||||
parameters:
|
targetType: inline
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
script: git clone -b ${{ parameters.gtestVersion }} https://github.com/google/googletest --depth=1 --shallow-submodules --recurse-submodules
|
||||||
packageManager: ${{ job.packageManager }}
|
workingDirectory: $(Agent.BuildDirectory)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- task: Bash@3
|
parameters:
|
||||||
displayName: Clone GTest ${{ parameters.gtestVersion }}
|
cmakeBuildDir: $(Agent.BuildDirectory)/googletest/build
|
||||||
inputs:
|
cmakeSourceDir: $(Agent.BuildDirectory)/googletest
|
||||||
targetType: inline
|
extraBuildFlags: >-
|
||||||
script: git clone https://github.com/google/googletest -b ${{ parameters.gtestVersion }} --depth=1 --shallow-submodules --recurse-submodules
|
-DGTEST_FORCE_SHARED_CRT=ON
|
||||||
workingDirectory: $(Agent.BuildDirectory)
|
-DCMAKE_DEBUG_POSTFIX=d
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-GNinja
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
os: ${{ job.os }}
|
|
||||||
cmakeBuildDir: $(Agent.BuildDirectory)/googletest/build
|
|
||||||
cmakeSourceDir: $(Agent.BuildDirectory)/googletest
|
|
||||||
useAmdclang: false
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DGTEST_FORCE_SHARED_CRT=ON
|
|
||||||
-DCMAKE_DEBUG_POSTFIX=d
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
|
|||||||
@@ -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 }}
|
|
||||||
@@ -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 }}
|
|
||||||
@@ -4,71 +4,71 @@ parameters:
|
|||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- autoconf
|
- build-essential
|
||||||
|
- git
|
||||||
|
- ninja-build
|
||||||
|
- openjdk-8-jdk
|
||||||
|
- ca-certificates
|
||||||
- bc
|
- bc
|
||||||
- bridge-utils
|
- bridge-utils
|
||||||
- build-essential
|
|
||||||
- ca-certificates
|
|
||||||
- ccache
|
|
||||||
- devscripts
|
- devscripts
|
||||||
- dkms
|
- dkms
|
||||||
- doxygen
|
- doxygen
|
||||||
- fakeroot
|
|
||||||
- ffmpeg
|
|
||||||
- gfortran
|
|
||||||
- git
|
|
||||||
- gnutls-bin
|
|
||||||
- libamd2
|
|
||||||
- libavformat-dev
|
|
||||||
- libblas3
|
|
||||||
- libcamd2
|
|
||||||
- libccolamd2
|
|
||||||
- libcholmod3
|
|
||||||
- libcolamd2
|
|
||||||
- libdpkg-dev
|
- libdpkg-dev
|
||||||
- libdpkg-perl
|
- libdpkg-perl
|
||||||
- libdrm-amdgpu1
|
|
||||||
- libdrm-dev
|
|
||||||
- libelf-dev
|
- libelf-dev
|
||||||
- libfreetype-dev
|
|
||||||
- libgfortran5
|
|
||||||
- libgomp1
|
|
||||||
- libjpeg-dev
|
|
||||||
- libjpeg-turbo-official
|
|
||||||
- liblapack-dev
|
|
||||||
- liblapack3
|
|
||||||
- libmetis5
|
|
||||||
- libncurses-dev
|
|
||||||
- libnuma-dev
|
|
||||||
- libopenblas-dev
|
|
||||||
- libpth-dev
|
|
||||||
- libquadmath0
|
|
||||||
- libssh-dev
|
|
||||||
- libstdc++-12-dev
|
|
||||||
- libsuitesparseconfig5
|
|
||||||
- libswscale-dev
|
|
||||||
- libtinfo-dev
|
|
||||||
- libunwind-dev
|
|
||||||
- libwebp-dev
|
|
||||||
- llvm-dev
|
|
||||||
- ncurses-base
|
|
||||||
- ninja-build
|
|
||||||
- numactl
|
|
||||||
- openjdk-8-jdk
|
|
||||||
- python-is-python3
|
|
||||||
- python3-dev
|
- python3-dev
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- python3-venv
|
- python3-venv
|
||||||
|
- wget
|
||||||
|
- ncurses-base
|
||||||
|
- libncurses-dev
|
||||||
|
- numactl
|
||||||
|
- libnuma-dev
|
||||||
|
- libssh-dev
|
||||||
|
- libunwind-dev
|
||||||
|
- llvm-dev
|
||||||
|
- libpth-dev
|
||||||
- qemu-kvm
|
- qemu-kvm
|
||||||
- re2c
|
- re2c
|
||||||
- subversion
|
- subversion
|
||||||
- wget
|
- fakeroot
|
||||||
|
- autoconf
|
||||||
|
- libgomp1
|
||||||
|
- libtinfo-dev
|
||||||
|
- libcholmod3
|
||||||
|
- libsuitesparseconfig5
|
||||||
|
- libstdc++-12-dev
|
||||||
|
- python-is-python3
|
||||||
|
- gfortran
|
||||||
|
- libgfortran5
|
||||||
|
- liblapack3
|
||||||
|
- libblas3
|
||||||
|
- libquadmath0
|
||||||
|
- libmetis5
|
||||||
|
- libamd2
|
||||||
|
- libcamd2
|
||||||
|
- libcolamd2
|
||||||
|
- libccolamd2
|
||||||
|
- libdrm-amdgpu1
|
||||||
|
- ccache
|
||||||
- zip
|
- zip
|
||||||
|
- libjpeg-turbo-official
|
||||||
|
- libjpeg-dev
|
||||||
|
- libwebp-dev
|
||||||
|
- libfreetype-dev
|
||||||
|
- gnutls-bin
|
||||||
|
- ffmpeg
|
||||||
|
- libopenblas-dev
|
||||||
|
- liblapack-dev
|
||||||
|
- libswscale-dev
|
||||||
|
- libavformat-dev
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
|
- cmake
|
||||||
- astunparse
|
- astunparse
|
||||||
- "expecttest>=0.3.0"
|
- "expecttest>=0.2.1"
|
||||||
- hypothesis
|
- hypothesis
|
||||||
- numpy
|
- numpy
|
||||||
- psutil
|
- psutil
|
||||||
@@ -76,8 +76,8 @@ parameters:
|
|||||||
- requests
|
- requests
|
||||||
- setuptools==75.8.0
|
- setuptools==75.8.0
|
||||||
- types-dataclasses
|
- types-dataclasses
|
||||||
- "typing-extensions>=4.10.0"
|
- "typing-extensions>=4.8.0"
|
||||||
- "sympy>=1.13.3"
|
- "sympy>=1.13.0"
|
||||||
- filelock
|
- filelock
|
||||||
- networkx
|
- networkx
|
||||||
- jinja2
|
- jinja2
|
||||||
@@ -97,39 +97,36 @@ parameters:
|
|||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
|
- rocminfo
|
||||||
|
- MIOpen
|
||||||
- clr
|
- clr
|
||||||
- hipBLAS
|
- hipBLAS
|
||||||
- hipBLASLt
|
|
||||||
- hipFFT
|
- hipFFT
|
||||||
- hipRAND
|
- hipRAND
|
||||||
- hipSOLVER
|
- hipSOLVER
|
||||||
- hipSPARSE
|
- hipSPARSE
|
||||||
- hipSPARSELt
|
- ROCR-Runtime
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- MIOpen
|
|
||||||
- rccl
|
- rccl
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
- rocFFT
|
- rocFFT
|
||||||
- rocm-core
|
|
||||||
- rocminfo
|
|
||||||
- rocm_smi_lib
|
- rocm_smi_lib
|
||||||
- rocPRIM
|
|
||||||
- rocprofiler-register
|
|
||||||
- rocRAND
|
- rocRAND
|
||||||
- ROCR-Runtime
|
|
||||||
- rocSOLVER
|
- rocSOLVER
|
||||||
- rocSPARSE
|
- rocSPARSE
|
||||||
- roctracer
|
- roctracer
|
||||||
|
- hipBLASLt
|
||||||
|
- rocprofiler-register
|
||||||
|
- rocm-core
|
||||||
|
- rocPRIM
|
||||||
# below are additional dependencies not called out by build script, but throw errors during cmake
|
# below are additional dependencies not called out by build script, but throw errors during cmake
|
||||||
- composable_kernel
|
|
||||||
- hipBLAS-common
|
|
||||||
- hipCUB
|
- hipCUB
|
||||||
- rocThrust
|
- rocThrust
|
||||||
|
- hipBLAS-common
|
||||||
|
- composable_kernel
|
||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
# rocroller.so needed and is not included in the wheel
|
|
||||||
- hipBLASLt
|
|
||||||
- rocminfo
|
- rocminfo
|
||||||
# Reference on what tests to run for torchvision found in private repo:
|
# Reference on what tests to run for torchvision found in private repo:
|
||||||
# https://github.com/ROCm/rocAutomation/blob/jenkins-pipelines/pytorch/pytorch_ci/test_pytorch_test1.sh#L54
|
# https://github.com/ROCm/rocAutomation/blob/jenkins-pipelines/pytorch/pytorch_ci/test_pytorch_test1.sh#L54
|
||||||
@@ -219,6 +216,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
|
||||||
@@ -242,6 +240,12 @@ jobs:
|
|||||||
git clone https://github.com/pytorch/builder.git --depth=1 --recurse-submodules
|
git clone https://github.com/pytorch/builder.git --depth=1 --recurse-submodules
|
||||||
sudo ln -s $(Build.SourcesDirectory)/builder /builder
|
sudo ln -s $(Build.SourcesDirectory)/builder /builder
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Temporarily Patch CK Submodule
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: git pull origin develop
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)/pytorch/third_party/composable_kernel
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Install patchelf
|
displayName: Install patchelf
|
||||||
inputs:
|
inputs:
|
||||||
@@ -263,11 +267,6 @@ jobs:
|
|||||||
script: |
|
script: |
|
||||||
sudo bash pytorch/.ci/docker/common/install_rocm_magma.sh $(MAGMA_ROCM)
|
sudo bash pytorch/.ci/docker/common/install_rocm_magma.sh $(MAGMA_ROCM)
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
- task: Bash@3
|
|
||||||
displayName: Install targeted typing_extensions for build
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: pip install --target=$(Build.SourcesDirectory)/pytorch/torch/.. typing_extensions
|
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Run ROCm Build Script
|
displayName: Run ROCm Build Script
|
||||||
inputs:
|
inputs:
|
||||||
@@ -282,6 +281,7 @@ jobs:
|
|||||||
PYTORCH_ROOT=$(PYTORCH_ROOT)
|
PYTORCH_ROOT=$(PYTORCH_ROOT)
|
||||||
CMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
CMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
DESIRED_DEVTOOLSET=$(DESIRED_DEVTOOLSET)
|
DESIRED_DEVTOOLSET=$(DESIRED_DEVTOOLSET)
|
||||||
|
TORCH_PACKAGE_NAME=torch.$(ROCM_BRANCH).$(JOB_GPU_TARGET)
|
||||||
PYTORCH_BUILD_VERSION=$(cat $(Build.SourcesDirectory)/pytorch/version.txt | cut -da -f1)
|
PYTORCH_BUILD_VERSION=$(cat $(Build.SourcesDirectory)/pytorch/version.txt | cut -da -f1)
|
||||||
PYTORCH_BUILD_NUMBER=$(date -u +%Y%m%d)
|
PYTORCH_BUILD_NUMBER=$(date -u +%Y%m%d)
|
||||||
SKIP_ALL_TESTS=1
|
SKIP_ALL_TESTS=1
|
||||||
@@ -322,6 +322,8 @@ jobs:
|
|||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: >-
|
script: >-
|
||||||
|
TORCH_PACKAGE_NAME=torch.$(ROCM_BRANCH).$(JOB_GPU_TARGET)
|
||||||
|
TORCHVISION_PACKAGE_NAME=torchvision.$(ROCM_BRANCH).$(JOB_GPU_TARGET)
|
||||||
PYTORCH_VERSION=$(cat $(Build.SourcesDirectory)/pytorch/version.txt | cut -da -f1)post$(date -u +%Y%m%d)
|
PYTORCH_VERSION=$(cat $(Build.SourcesDirectory)/pytorch/version.txt | cut -da -f1)post$(date -u +%Y%m%d)
|
||||||
BUILD_VERSION=$(cat $(Build.SourcesDirectory)/vision/version.txt | cut -da -f1)post$(date -u +%Y%m%d)
|
BUILD_VERSION=$(cat $(Build.SourcesDirectory)/vision/version.txt | cut -da -f1)post$(date -u +%Y%m%d)
|
||||||
python3 setup.py bdist_wheel
|
python3 setup.py bdist_wheel
|
||||||
@@ -397,15 +399,18 @@ 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: '**/*$(JOB_GPU_TARGET)*.whl'
|
||||||
targetPath: $(Agent.BuildDirectory)
|
targetPath: $(Agent.BuildDirectory)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
parameters:
|
||||||
|
dependencySource: staging
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
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
|
||||||
|
|||||||
@@ -3,21 +3,12 @@ parameters:
|
|||||||
- name: jobList
|
- name: jobList
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- gfx942-staging:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
target: gfx942
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
source: staging
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
- gfx90a-staging:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
target: gfx90a
|
||||||
- { os: ubuntu2404, packageManager: apt, target: gfx942 }
|
source: staging
|
||||||
- { os: ubuntu2404, packageManager: apt, target: gfx90a }
|
|
||||||
- { os: ubuntu2404, packageManager: apt, target: gfx1201 }
|
|
||||||
- { os: ubuntu2404, packageManager: apt, target: gfx1100 }
|
|
||||||
- { os: ubuntu2404, packageManager: apt, target: gfx1030 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx942 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx90a }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -25,9 +16,9 @@ parameters:
|
|||||||
- amdsmi
|
- amdsmi
|
||||||
- aomp-extras
|
- aomp-extras
|
||||||
- aomp
|
- aomp
|
||||||
- clr
|
|
||||||
- composable_kernel
|
- composable_kernel
|
||||||
- half
|
- half
|
||||||
|
- HIP
|
||||||
- hip-tests
|
- hip-tests
|
||||||
- hipBLAS
|
- hipBLAS
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
@@ -92,8 +83,7 @@ schedules:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobList }}:
|
- ${{ each job in parameters.jobList }}:
|
||||||
- job: nightly_${{ job.os }}_${{ job.target }}
|
- job: rocm_nightly_${{ job.target }}_${{ job.source }}
|
||||||
timeoutInMinutes: 120
|
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -116,9 +106,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 }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
skipLibraryLinking: true
|
||||||
|
skipLlvmSymlink: 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 +123,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 +136,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:]'
|
|
||||||
|
|||||||
@@ -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 }}
|
|
||||||
@@ -28,22 +28,12 @@ resources:
|
|||||||
endpoint: ROCm
|
endpoint: ROCm
|
||||||
name: ROCm/hipother
|
name: ROCm/hipother
|
||||||
ref: ${{ parameters.checkoutRef }}
|
ref: ${{ parameters.checkoutRef }}
|
||||||
pipelines:
|
|
||||||
- pipeline: hip_pipeline
|
|
||||||
source: \experimental\HIP
|
|
||||||
trigger: true
|
|
||||||
- pipeline: hipother_pipeline
|
|
||||||
source: \experimental\hipother
|
|
||||||
trigger: true
|
|
||||||
|
|
||||||
trigger: none
|
trigger: none
|
||||||
pr: none
|
pr: none
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ if eq(variables['Build.Reason'], 'ResourceTrigger') }}:
|
- template: ${{ variables.CI_COMPONENT_PATH }}/HIP.yml
|
||||||
- template: ${{ variables.CI_COMPONENT_PATH }}/copyHIP.yml@pipelines_repo
|
parameters:
|
||||||
- ${{ if ne(variables['Build.Reason'], 'ResourceTrigger') }}:
|
checkoutRepo: release_repo
|
||||||
- template: ${{ variables.CI_COMPONENT_PATH }}/HIP.yml@pipelines_repo
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
|
||||||
checkoutRepo: release_repo
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
|
|||||||
@@ -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 }}
|
|
||||||
@@ -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 }}
|
|
||||||
@@ -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 }}
|
|
||||||
@@ -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
|
||||||
@@ -22,39 +19,46 @@ parameters:
|
|||||||
default: false
|
default: false
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Set allowPartiallySucceededBuilds
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
if [[ ",$ALLOWED_PARTIAL_SUCCEED_BUILDS," == *",${{ parameters.componentName }},"* ]]; then
|
||||||
|
echo "##vso[task.setvariable variable=allowPartiallySucceededBuilds;]true"
|
||||||
|
else
|
||||||
|
echo "##vso[task.setvariable variable=allowPartiallySucceededBuilds;]false"
|
||||||
|
fi
|
||||||
- task: DownloadPipelineArtifact@2
|
- task: DownloadPipelineArtifact@2
|
||||||
displayName: Download ${{ parameters.componentName }}
|
displayName: Download ${{ parameters.componentName }}
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
inputs:
|
||||||
${{ if eq(parameters.componentName, 'clr') }}:
|
${{ if eq(parameters.aggregatePipeline, false) }}:
|
||||||
itemPattern: '**/*${{ parameters.componentName }}*${{ parameters.fileFilter }}*amd*' # filter out nvidia clr artifacts
|
|
||||||
${{ else }}:
|
|
||||||
itemPattern: '**/*${{ parameters.componentName }}*${{ parameters.fileFilter }}*'
|
|
||||||
targetPath: '$(Pipeline.Workspace)/d'
|
|
||||||
allowPartiallySucceededBuilds: true
|
|
||||||
${{ if parameters.aggregatePipeline }}:
|
|
||||||
buildType: 'current'
|
|
||||||
${{ else }}:
|
|
||||||
buildType: 'specific'
|
buildType: 'specific'
|
||||||
project: ROCm-CI
|
project: ROCm-CI
|
||||||
specificBuildWithTriggering: true
|
|
||||||
definition: ${{ parameters.pipelineId }}
|
definition: ${{ parameters.pipelineId }}
|
||||||
|
specificBuildWithTriggering: true
|
||||||
|
itemPattern: '**/*${{ parameters.fileFilter }}*'
|
||||||
|
# aomp is a special case, since the trigger file is under ROCm/ROCm instead of the component repo
|
||||||
|
${{ if notIn(parameters.componentName, 'aomp') }}:
|
||||||
|
buildVersionToDownload: latestFromBranch # default is 'latest'
|
||||||
branchName: refs/heads/${{ parameters.branchName }}
|
branchName: refs/heads/${{ parameters.branchName }}
|
||||||
${{ if eq(parameters.componentName, 'aomp') }}:
|
allowPartiallySucceededBuilds: $(allowPartiallySucceededBuilds)
|
||||||
buildVersionToDownload: latest # aomp trigger lives in ROCm/ROCm, so cannot use ROCm/aomp branch names
|
targetPath: '$(Pipeline.Workspace)/d'
|
||||||
${{ else }}:
|
${{ else }}:
|
||||||
buildVersionToDownload: latestFromBranch
|
buildType: 'current'
|
||||||
- ${{ if eq(parameters.extractAndDeleteFiles, true) }}:
|
itemPattern: '**/${{ parameters.componentName }}*${{ parameters.fileFilter }}*'
|
||||||
- task: ExtractFiles@1
|
allowPartiallySucceededBuilds: $(allowPartiallySucceededBuilds)
|
||||||
displayName: Extract ${{ parameters.componentName }}
|
targetPath: '$(Pipeline.Workspace)/d'
|
||||||
inputs:
|
- task: ExtractFiles@1
|
||||||
archiveFilePatterns: '$(Pipeline.Workspace)/d/**/*.tar.gz'
|
displayName: Extract ${{ parameters.componentName }}
|
||||||
destinationFolder: '$(Agent.BuildDirectory)/rocm'
|
inputs:
|
||||||
cleanDestinationFolder: false
|
archiveFilePatterns: '$(Pipeline.Workspace)/d/**/*.tar.gz'
|
||||||
overwriteExistingFiles: true
|
destinationFolder: '$(Agent.BuildDirectory)/rocm'
|
||||||
- task: DeleteFiles@1
|
cleanDestinationFolder: false
|
||||||
displayName: Clean up Compressed ${{ parameters.componentName }}
|
overwriteExistingFiles: true
|
||||||
inputs:
|
- task: DeleteFiles@1
|
||||||
SourceFolder: '$(Pipeline.Workspace)/d'
|
displayName: Cleanup Compressed ${{ parameters.componentName }}
|
||||||
Contents: '**/*.tar.gz'
|
inputs:
|
||||||
RemoveDotFiles: true
|
SourceFolder: '$(Pipeline.Workspace)/d'
|
||||||
|
Contents: '**/*.tar.gz'
|
||||||
|
RemoveDotFiles: true
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -3,21 +3,15 @@
|
|||||||
# publish can be toggled off for jobs that produce multiple tarballs
|
# publish can be toggled off for jobs that produce multiple tarballs
|
||||||
# for those cases, only publish the last call which puts all the tarballs in one container folder
|
# for those cases, only publish the last call which puts all the tarballs in one container folder
|
||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: $(Build.DefinitionName)
|
|
||||||
- name: gpuTarget
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: artifactName
|
- name: artifactName
|
||||||
type: string
|
type: string
|
||||||
default: drop
|
default: 'drop'
|
||||||
- name: publish
|
- name: publish
|
||||||
type: boolean
|
type: boolean
|
||||||
default: true
|
default: true
|
||||||
- name: os
|
- name: gpuTarget
|
||||||
type: string
|
type: string
|
||||||
default: 'ubuntu2204'
|
default: ''
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- task: ArchiveFiles@2
|
- task: ArchiveFiles@2
|
||||||
@@ -26,7 +20,7 @@ steps:
|
|||||||
includeRootFolder: false
|
includeRootFolder: false
|
||||||
archiveType: 'tar'
|
archiveType: 'tar'
|
||||||
tarCompression: 'gz'
|
tarCompression: 'gz'
|
||||||
archiveFile: '$(Build.ArtifactStagingDirectory)/${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}_$(System.JobAttempt).tar.gz'
|
archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.DefinitionName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.tar.gz'
|
||||||
- task: DeleteFiles@1
|
- task: DeleteFiles@1
|
||||||
displayName: 'Cleanup Staging Area'
|
displayName: 'Cleanup Staging Area'
|
||||||
inputs:
|
inputs:
|
||||||
@@ -38,7 +32,7 @@ steps:
|
|||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: echo "${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}_$(System.JobAttempt).tar.gz" >> pipelineArtifacts.txt
|
script: echo "$(Build.DefinitionName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.tar.gz" >> pipelineArtifacts.txt
|
||||||
# then publish it
|
# then publish it
|
||||||
- ${{ if parameters.publish }}:
|
- ${{ if parameters.publish }}:
|
||||||
- task: PublishPipelineArtifact@1
|
- task: PublishPipelineArtifact@1
|
||||||
@@ -46,6 +40,4 @@ 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: $(Agent.JobName)_$(System.JobAttempt)
|
|
||||||
targetPath: '$(Build.ArtifactStagingDirectory)'
|
targetPath: '$(Build.ArtifactStagingDirectory)'
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: os
|
|
||||||
type: string
|
|
||||||
default: 'ubuntu2204'
|
|
||||||
- name: componentName
|
- name: componentName
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
@@ -23,23 +20,17 @@ steps:
|
|||||||
displayName: '${{ parameters.componentName }} configure flags'
|
displayName: '${{ parameters.componentName }} configure flags'
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
|
script: ./configure --prefix=${{ parameters.installDir }} ${{ parameters.configureFlags }}
|
||||||
workingDirectory: ${{ parameters.buildDir }}
|
workingDirectory: ${{ parameters.buildDir }}
|
||||||
script: |
|
|
||||||
${{ iif(eq(parameters.os, 'almalinux8'), 'source /opt/rh/gcc-toolset-14/enable', '') }}
|
|
||||||
./configure --prefix=${{ parameters.installDir }} ${{ parameters.configureFlags }}
|
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: '${{ parameters.componentName }} make'
|
displayName: '${{ parameters.componentName }} make'
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
|
script: ${{ parameters.makeCallPrefix }} make -j$(nproc)
|
||||||
workingDirectory: ${{ parameters.buildDir }}
|
workingDirectory: ${{ parameters.buildDir }}
|
||||||
script: |
|
|
||||||
${{ iif(eq(parameters.os, 'almalinux8'), 'source /opt/rh/gcc-toolset-14/enable', '') }}
|
|
||||||
${{ parameters.makeCallPrefix }} make -j$(nproc)
|
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: '${{ parameters.componentName }} make install'
|
displayName: '${{ parameters.componentName }} make install'
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
|
script: make install
|
||||||
workingDirectory: ${{ parameters.buildDir }}
|
workingDirectory: ${{ parameters.buildDir }}
|
||||||
script: |
|
|
||||||
${{ iif(eq(parameters.os, 'almalinux8'), 'source /opt/rh/gcc-toolset-14/enable', '') }}
|
|
||||||
make install
|
|
||||||
|
|||||||
@@ -1,16 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: os
|
|
||||||
type: string
|
|
||||||
default: 'ubuntu2204'
|
|
||||||
- name: componentName
|
- name: componentName
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
- name: extraBuildFlags
|
- name: extraBuildFlags
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
- name: extraCxxFlags
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: multithreadFlag
|
- name: multithreadFlag
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
@@ -38,81 +32,41 @@ parameters:
|
|||||||
- name: installEnabled
|
- name: installEnabled
|
||||||
type: boolean
|
type: boolean
|
||||||
default: true
|
default: true
|
||||||
# for jobs that rebuild during install step and use ninja
|
|
||||||
# set to true to save time, only applies for almalinux8
|
|
||||||
- name: consolidateBuildAndInstall
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: printDiskSpace
|
- name: printDiskSpace
|
||||||
type: boolean
|
type: boolean
|
||||||
default: true
|
default: true
|
||||||
# todo: make this control cxx and c compiler flags
|
|
||||||
- name: useAmdclang
|
|
||||||
type: boolean
|
|
||||||
default: true
|
|
||||||
|
|
||||||
# for cmake calls, set env variables for AlmaLinux 8
|
|
||||||
# to simulate running source /opt/rh/gcc-toolset-14/enable for the session
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
# create workingDirectory if it does not exist and change into it
|
# create workingDirectory if it does not exist and change into it
|
||||||
# call cmake from within that directory using $cmakeArgs as its parameters
|
# call cmake from within that directory using $cmakeArgs as its parameters
|
||||||
- task: CMake@1
|
- task: CMake@1
|
||||||
displayName: '${{parameters.componentName }} CMake Flags'
|
displayName: '${{parameters.componentName }} CMake Flags'
|
||||||
${{ if eq(parameters.os, 'almalinux8')}}:
|
|
||||||
env:
|
|
||||||
PATH: "/opt/rh/gcc-toolset-14/root/usr/bin:$(PATH)"
|
|
||||||
MANPATH: "/opt/rh/gcc-toolset-14/root/usr/share/man:$(MANPATH)"
|
|
||||||
INFOPATH: "/opt/rh/gcc-toolset-14/root/usr/share/info:$(INFOPATH)"
|
|
||||||
PCP_DIR: "/opt/rh/gcc-toolset-14/root"
|
|
||||||
LD_LIBRARY_PATH: "/opt/rh/gcc-toolset-14/root/usr/lib64:/opt/rh/gcc-toolset-14/root/usr/lib:$(LD_LIBRARY_PATH)"
|
|
||||||
PKG_CONFIG_PATH: "/opt/rh/gcc-toolset-14/root/usr/lib64/pkgconfig:$(PKG_CONFIG_PATH)"
|
|
||||||
inputs:
|
inputs:
|
||||||
workingDirectory: ${{ parameters.cmakeBuildDir }}
|
workingDirectory: ${{ parameters.cmakeBuildDir }}
|
||||||
cmakeArgs: >-
|
${{ if eq(parameters.customInstallPath, true) }}:
|
||||||
${{ iif(parameters.customInstallPath, join('', format('-DCMAKE_INSTALL_PREFIX={0}', parameters.installDir)), '') }}
|
cmakeArgs: -DCMAKE_INSTALL_PREFIX=${{ parameters.installDir }} ${{ parameters.extraBuildFlags }} ${{ parameters.cmakeSourceDir }}
|
||||||
${{ iif(eq(parameters.os, 'almalinux8'), '-DCMAKE_SHARED_LINKER_FLAGS="-L$(Agent.BuildDirectory)/rocm/lib64 -L/opt/rh/gcc-toolset-14/root/usr/lib/gcc/x86_64-redhat-linux/14/"', '') }}
|
${{ else }}:
|
||||||
${{ iif(eq(parameters.os, 'almalinux8'), '-DCMAKE_EXE_LINKER_FLAGS="-L$(Agent.BuildDirectory)/rocm/lib64 -L/opt/rh/gcc-toolset-14/root/usr/lib/gcc/x86_64-redhat-linux/14/"', '') }}
|
cmakeArgs: ${{ parameters.extraBuildFlags }} ${{ parameters.cmakeSourceDir }}
|
||||||
-DCMAKE_CXX_FLAGS="${{ parameters.extraCxxFlags }} ${{ iif(and(eq(parameters.os, 'almalinux8'), parameters.useAmdclang), '--gcc-toolchain=/opt/rh/gcc-toolset-14/root', '') }}"
|
|
||||||
${{ parameters.extraBuildFlags }}
|
|
||||||
${{ parameters.cmakeSourceDir }}
|
|
||||||
- ${{ if parameters.printDiskSpace }}:
|
- ${{ if parameters.printDiskSpace }}:
|
||||||
- script: df -h
|
- script: df -h
|
||||||
displayName: Disk space before build
|
displayName: Disk space before build
|
||||||
# equivalent to running make $cmakeTargetDir from $cmakeBuildDir
|
# equivalent to running make $cmakeTargetDir from $cmakeBuildDir
|
||||||
# i.e., cd $cmakeBuildDir; make $cmakeTargetDir
|
# i.e., cd $cmakeBuildDir; make $cmakeTargetDir
|
||||||
- task: CMake@1
|
- task: CMake@1
|
||||||
${{ if and( eq(parameters.os, 'almalinux8'), eq(parameters.consolidateBuildAndInstall , true)) }}:
|
displayName: '${{parameters.componentName }} Build'
|
||||||
displayName: '${{ parameters.componentName }} CMake Build and Install'
|
|
||||||
${{ else }}:
|
|
||||||
displayName: '${{ parameters.componentName }} CMake Build'
|
|
||||||
${{ if eq(parameters.os, 'almalinux8')}}:
|
|
||||||
env:
|
|
||||||
PATH: "/opt/rh/gcc-toolset-14/root/usr/bin:$(PATH)"
|
|
||||||
MANPATH: "/opt/rh/gcc-toolset-14/root/usr/share/man:$(MANPATH)"
|
|
||||||
INFOPATH: "/opt/rh/gcc-toolset-14/root/usr/share/info:$(INFOPATH)"
|
|
||||||
PCP_DIR: "/opt/rh/gcc-toolset-14/root"
|
|
||||||
LD_LIBRARY_PATH: "/opt/rh/gcc-toolset-14/root/usr/lib64:/opt/rh/gcc-toolset-14/root/usr/lib:$(LD_LIBRARY_PATH)"
|
|
||||||
PKG_CONFIG_PATH: "/opt/rh/gcc-toolset-14/root/usr/lib64/pkgconfig:$(PKG_CONFIG_PATH)"
|
|
||||||
inputs:
|
inputs:
|
||||||
workingDirectory: ${{ parameters.cmakeBuildDir }}
|
workingDirectory: ${{ parameters.cmakeBuildDir }}
|
||||||
${{ if eq(parameters.os, 'almalinux8') }}:
|
${{ if eq(parameters.customBuildTarget, '') }}:
|
||||||
cmakeArgs: >-
|
cmakeArgs: '--build ${{ parameters.cmakeTargetDir }} ${{ parameters.multithreadFlag }}'
|
||||||
--build ${{ parameters.cmakeTargetDir }}
|
${{ else }}:
|
||||||
${{ iif(and(eq(parameters.consolidateBuildAndInstall, true), ne(parameters.cmakeTarget, '')), format('--target {0}', parameters.cmakeTarget), '') }}
|
cmakeArgs: '--build ${{ parameters.cmakeTargetDir }} --target ${{ parameters.customBuildTarget }} ${{ parameters.multithreadFlag }}'
|
||||||
${{ iif(and(ne(parameters.customBuildTarget, ''), ne(parameters.consolidateBuildAndInstall, true)), format('--target {0}', parameters.customBuildTarget), '') }}
|
retryCountOnTaskFailure: 10
|
||||||
${{ parameters.multithreadFlag }}
|
|
||||||
${{ if ne(parameters.os, 'almalinux8') }}:
|
|
||||||
cmakeArgs: >-
|
|
||||||
--build ${{ parameters.cmakeTargetDir }}
|
|
||||||
${{ iif(ne(parameters.customBuildTarget, ''), format('--target {0}', parameters.customBuildTarget), '') }}
|
|
||||||
${{ parameters.multithreadFlag }}
|
|
||||||
- ${{ if parameters.printDiskSpace }}:
|
- ${{ if parameters.printDiskSpace }}:
|
||||||
- script: df -h
|
- script: df -h
|
||||||
displayName: Disk space after build
|
displayName: Disk space after build
|
||||||
# equivalent to running make $cmakeTarget from $cmakeBuildDir
|
# equivalent to running make $cmakeTarget from $cmakeBuildDir
|
||||||
# e.g., make install
|
# e.g., make install
|
||||||
- ${{ if and(eq(parameters.installEnabled, true), or(ne(parameters.os, 'almalinux8'), eq(parameters.consolidateBuildAndInstall, false))) }}:
|
- ${{ if eq(parameters.installEnabled, true) }}:
|
||||||
- task: CMake@1
|
- task: CMake@1
|
||||||
displayName: '${{parameters.componentName }} ${{ parameters.cmakeTarget }}'
|
displayName: '${{parameters.componentName }} ${{ parameters.cmakeTarget }}'
|
||||||
inputs:
|
inputs:
|
||||||
|
|||||||
@@ -4,6 +4,9 @@ parameters:
|
|||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
|
- name: sparseCheckout
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: sparseCheckoutDir
|
- name: sparseCheckoutDir
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
@@ -19,10 +22,10 @@ steps:
|
|||||||
submodules: ${{ parameters.submoduleBehaviour }}
|
submodules: ${{ parameters.submoduleBehaviour }}
|
||||||
retryCountOnTaskFailure: 3
|
retryCountOnTaskFailure: 3
|
||||||
fetchFilter: blob:none
|
fetchFilter: blob:none
|
||||||
${{ if ne(parameters.sparseCheckoutDir, '') }}:
|
${{ if eq(parameters.sparseCheckout, true) }}:
|
||||||
sparseCheckoutDirectories: ${{ parameters.sparseCheckoutDir }} shared
|
sparseCheckoutDirectories: ${{ parameters.sparseCheckoutDir }}
|
||||||
path: sparse
|
path: sparse
|
||||||
- ${{ if ne(parameters.sparseCheckoutDir, '') }}:
|
- ${{ if eq(parameters.sparseCheckout, true) }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Symlink sparse checkout
|
displayName: Symlink sparse checkout
|
||||||
inputs:
|
inputs:
|
||||||
|
|||||||
@@ -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 }}
|
||||||
|
|||||||
@@ -1,35 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- name: aptPackages
|
|
||||||
type: object
|
|
||||||
default: []
|
|
||||||
- name: registerROCmPackages
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- ${{ if eq(parameters.registerROCmPackages, true) }}:
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'Register AMDGPU & ROCm repos (apt)'
|
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
sudo mkdir --parents --mode=0755 /etc/apt/keyrings
|
|
||||||
wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg > /dev/null
|
|
||||||
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/$(REPO_RADEON_VERSION)/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/amdgpu.list
|
|
||||||
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/$(REPO_RADEON_VERSION) jammy main" | sudo tee --append /etc/apt/sources.list.d/rocm.list
|
|
||||||
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
|
|
||||||
sudo apt update
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'APT update and install packages'
|
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
echo "deb http://archive.ubuntu.com/ubuntu/ jammy 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-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 --fix-broken install && \
|
|
||||||
sudo DEBIAN_FRONTEND=noninteractive apt-get --yes --fix-missing install ${{ join(' ', parameters.aptPackages) }}
|
|
||||||
@@ -1,32 +1,36 @@
|
|||||||
parameters:
|
|
||||||
- name: os
|
|
||||||
type: string
|
|
||||||
default: ubuntu2204
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Download and install aqlprofile
|
displayName: Get aqlprofile package name
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
workingDirectory: $(Agent.BuildDirectory)
|
|
||||||
script: |
|
script: |
|
||||||
set -e
|
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")
|
||||||
if [ "${{ parameters.os }}" = "ubuntu2204" ]; then
|
echo "##vso[task.setvariable variable=packageName;isreadonly=true]$packageName"
|
||||||
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") && \
|
- task: Bash@3
|
||||||
wget -nv https://repo.radeon.com/rocm/apt/$(REPO_RADEON_VERSION)/pool/main/h/hsa-amd-aqlprofile/$packageName && \
|
displayName: 'Download aqlprofile'
|
||||||
mkdir -p hsa-amd-aqlprofile && \
|
inputs:
|
||||||
dpkg-deb -R $packageName hsa-amd-aqlprofile
|
targetType: inline
|
||||||
elif [ "${{ parameters.os }}" = "almalinux8" ]; then
|
script: wget -nv https://repo.radeon.com/rocm/apt/$(REPO_RADEON_VERSION)/pool/main/h/hsa-amd-aqlprofile/$(packageName)
|
||||||
sudo dnf -y install rpm-build cpio && \
|
workingDirectory: '$(Pipeline.Workspace)'
|
||||||
packageName=$(curl -s https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/ | grep -oP "hsa-amd-aqlprofile-[^\"]+\.rpm" | head -n1) && \
|
- task: Bash@3
|
||||||
wget -nv https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/$packageName && \
|
displayName: 'Extract aqlprofile'
|
||||||
mkdir -p hsa-amd-aqlprofile && \
|
inputs:
|
||||||
rpm2cpio $packageName | (cd hsa-amd-aqlprofile && cpio -idmv)
|
targetType: inline
|
||||||
else
|
script: |
|
||||||
echo "Unsupported OS: ${{ parameters.os }}"
|
mkdir hsa-amd-aqlprofile
|
||||||
exit 1
|
dpkg-deb -R $(packageName) hsa-amd-aqlprofile
|
||||||
fi && \
|
workingDirectory: '$(Pipeline.Workspace)'
|
||||||
mkdir -p $(Agent.BuildDirectory)/rocm && \
|
- task: Bash@3
|
||||||
cp -R hsa-amd-aqlprofile/opt/rocm-*/* $(Agent.BuildDirectory)/rocm && \
|
displayName: 'Copy aqlprofile files'
|
||||||
rm -rf hsa-amd-aqlprofile $packageName
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
mkdir -p $(Agent.BuildDirectory)/rocm
|
||||||
|
cp -R hsa-amd-aqlprofile/opt/rocm-*/* $(Agent.BuildDirectory)/rocm
|
||||||
|
workingDirectory: '$(Pipeline.Workspace)'
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: 'Clean up aqlprofile'
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: rm -rf hsa-amd-aqlprofile $(packageName)
|
||||||
|
workingDirectory: '$(Pipeline.Workspace)'
|
||||||
|
|||||||
35
.azuredevops/templates/steps/dependencies-boost.yml
Normal file
35
.azuredevops/templates/steps/dependencies-boost.yml
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
steps:
|
||||||
|
- task: DownloadPipelineArtifact@2
|
||||||
|
displayName: Download Boost
|
||||||
|
inputs:
|
||||||
|
buildType: specific
|
||||||
|
project: ROCm-CI
|
||||||
|
definition: $(BOOST_DEPENDENCY_PIPELINE_ID)
|
||||||
|
targetPath: $(Pipeline.Workspace)/d
|
||||||
|
- task: ExtractFiles@1
|
||||||
|
displayName: Extract Boost
|
||||||
|
inputs:
|
||||||
|
archiveFilePatterns: '$(Pipeline.Workspace)/d/**/*.tar.gz'
|
||||||
|
destinationFolder: $(Agent.BuildDirectory)/boost
|
||||||
|
cleanDestinationFolder: true
|
||||||
|
overwriteExistingFiles: true
|
||||||
|
- task: DeleteFiles@1
|
||||||
|
displayName: Cleanup Compressed Boost
|
||||||
|
inputs:
|
||||||
|
SourceFolder: $(Pipeline.Workspace)/d
|
||||||
|
Contents: '**/*.tar.gz'
|
||||||
|
RemoveDotFiles: true
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: 'List Boost files'
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: ls -1R $(Agent.BuildDirectory)/boost
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: 'Link Boost shared libraries'
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
echo $(Agent.BuildDirectory)/boost/lib | sudo tee /etc/ld.so.conf.d/boost.conf
|
||||||
|
sudo cat /etc/ld.so.conf.d/boost.conf
|
||||||
|
sudo ldconfig -v
|
||||||
|
ldconfig -p
|
||||||
@@ -1,23 +1,10 @@
|
|||||||
|
# replace cmake from apt install with newest version using snap install
|
||||||
steps:
|
steps:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Install CMake 3.31
|
displayName: update cmake
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
CMAKE_VERSION=3.31.0
|
sudo apt purge cmake -y
|
||||||
CMAKE_ROOT="$(Pipeline.Workspace)/cmake"
|
sudo snap install cmake --classic --channel=3.31/stable
|
||||||
|
hash -r
|
||||||
echo "Downloading CMake $CMAKE_VERSION..."
|
|
||||||
curl -fsSL -o cmake.tar.gz https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-linux-x86_64.tar.gz
|
|
||||||
|
|
||||||
echo "Extracting to $CMAKE_ROOT..."
|
|
||||||
sudo mkdir -p $CMAKE_ROOT
|
|
||||||
sudo tar --strip-components=1 -xz -C $CMAKE_ROOT -f cmake.tar.gz
|
|
||||||
|
|
||||||
echo "##vso[task.prependpath]$CMAKE_ROOT/bin"
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: cmake --version
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
cmake --version
|
|
||||||
|
|||||||
@@ -1,165 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- name: aptPackages
|
|
||||||
type: object
|
|
||||||
default: []
|
|
||||||
- name: registerROCmPackages
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# As par of installing gcc toolset and python,
|
|
||||||
# the environment will install this base set of dnf packages.
|
|
||||||
- name: basePackages
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- epel-release
|
|
||||||
- gcc-toolset-14
|
|
||||||
- gcc-toolset-14-libatomic-devel
|
|
||||||
- git
|
|
||||||
- jq
|
|
||||||
- numactl
|
|
||||||
- python3.11
|
|
||||||
- python3.11-pip
|
|
||||||
- vim-common
|
|
||||||
- wget
|
|
||||||
# Instead of defining multiple arrays of packages per component,
|
|
||||||
# we define a map of apt package names to dnf package names.
|
|
||||||
- name: aptToDnfMap
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
bison: bison
|
|
||||||
ccache: ccache
|
|
||||||
cmake: cmake
|
|
||||||
cuda-toolkit-12-9: cuda-compiler-12-9 cuda-toolkit-12-9
|
|
||||||
libcudnn9-dev-cuda-12: libcudnn9-cuda-12
|
|
||||||
dejagnu: dejagnu
|
|
||||||
doxygen: doxygen
|
|
||||||
# note: doxygen-doc is not available in dnf
|
|
||||||
# libavcodec-dev, libavformat-dev, libavutil-dev come with ffmpeg-devel
|
|
||||||
ffmpeg: ffmpeg ffmpeg-devel
|
|
||||||
flex: flex
|
|
||||||
# note: g++ is installed by default with gcc-toolset-14
|
|
||||||
# note: gawk is already installed
|
|
||||||
# note: gcc-toolset-14-gfortran is installed by default with gcc-toolset-14
|
|
||||||
# note: git is in the base packages list
|
|
||||||
graphviz: graphviz
|
|
||||||
libbabeltrace-dev: libbabeltrace-devel
|
|
||||||
libbison-dev: bison-devel
|
|
||||||
libboost-program-options-dev: boost-devel
|
|
||||||
# note: libdrm-amdgpu1 is not available in dnf
|
|
||||||
libdrm-dev: libdrm-devel
|
|
||||||
libdrm-amdgpu-dev: libdrm-amdgpu-devel
|
|
||||||
libdw-dev: elfutils-devel
|
|
||||||
libelf-dev: elfutils-libelf-devel
|
|
||||||
libexpat-dev: expat-devel
|
|
||||||
libffi-dev: libffi-devel
|
|
||||||
libfftw3-dev: fftw-devel
|
|
||||||
libfmt-dev: fmt-devel
|
|
||||||
libgmp-dev: gmp-devel
|
|
||||||
liblapack-dev: lapack-devel
|
|
||||||
liblzma-dev: xz-devel
|
|
||||||
libmpfr-dev: mpfr-devel
|
|
||||||
libmsgpack-dev: msgpack-devel
|
|
||||||
libncurses5-dev: ncurses-devel
|
|
||||||
libnuma-dev: numactl-devel
|
|
||||||
libopenblas-dev: openblas-devel
|
|
||||||
libopenmpi-dev: openmpi-devel
|
|
||||||
libpci-dev: libpciaccess-devel
|
|
||||||
libssl-dev: openssl-devel
|
|
||||||
# note: libstdc++-devel is in the base packages list
|
|
||||||
libsystemd-dev: systemd-devel
|
|
||||||
libtool: libtool
|
|
||||||
# note: libudev-dev is part of systemd-devel
|
|
||||||
libva-amdgpu-dev: libva-amdgpu-devel
|
|
||||||
mesa-amdgpu-va-drivers: mesa-amdgpu-va-drivers
|
|
||||||
mesa-common-dev: mesa-libGL-devel
|
|
||||||
ncurses-dev: ncurses-devel
|
|
||||||
# note: llvm needs ninja-build version newer than what dnf provides
|
|
||||||
ocl-icd-libopencl1: ocl-icd
|
|
||||||
ocl-icd-opencl-dev: ocl-icd-devel
|
|
||||||
opencl-headers: opencl-headers
|
|
||||||
parallel: parallel
|
|
||||||
pkg-config: pkgconf-pkg-config
|
|
||||||
# note: python3 is the default python in AlmaLinux 8
|
|
||||||
python3-dev: python3.11-devel
|
|
||||||
# note: python3.11-pip is already installed when updating to python 3.11
|
|
||||||
# note: python3.11-setuptools is already installed when updating to python 3.11
|
|
||||||
texinfo: texinfo
|
|
||||||
zlib1g-dev: zlib-devel
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- ${{ if eq(parameters.registerROCmPackages, true) }}:
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'Register AMDGPU & ROCm repos (dnf)'
|
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
sudo rpm --import https://repo.radeon.com/rocm/rocm.gpg.key
|
|
||||||
echo '[amdgpu]' | sudo tee /etc/yum.repos.d/amdgpu.repo > /dev/null
|
|
||||||
echo "name=amdgpu" | sudo tee --append /etc/yum.repos.d/amdgpu.repo
|
|
||||||
echo "baseurl=https://repo.radeon.com/amdgpu/$(REPO_RADEON_VERSION)/rhel/8.10/main/x86_64/" | sudo tee --append /etc/yum.repos.d/amdgpu.repo
|
|
||||||
echo "enabled=1" | sudo tee --append /etc/yum.repos.d/amdgpu.repo
|
|
||||||
echo "gpgcheck=1" | sudo tee --append /etc/yum.repos.d/amdgpu.repo
|
|
||||||
echo "gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key" | sudo tee --append /etc/yum.repos.d/amdgpu.repo
|
|
||||||
echo '[rocm]' | sudo tee /etc/yum.repos.d/rocm.repo > /dev/null
|
|
||||||
echo "name=ROCm$(REPO_RADEON_VERSION)" | sudo tee --append /etc/yum.repos.d/rocm.repo
|
|
||||||
echo "baseurl=https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/" | sudo tee --append /etc/yum.repos.d/rocm.repo
|
|
||||||
echo "enabled=1" | sudo tee --append /etc/yum.repos.d/rocm.repo
|
|
||||||
echo "gpgcheck=1" | sudo tee --append /etc/yum.repos.d/rocm.repo
|
|
||||||
echo "gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key" | sudo tee --append /etc/yum.repos.d/rocm.repo
|
|
||||||
sudo dnf clean all
|
|
||||||
sudo dnf makecache
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'Install base dnf packages'
|
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
# 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 ${{ join(' ', parameters.basePackages) }}
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'Check gcc environment'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
echo "=== Versions and sanity checks ==="
|
|
||||||
gcc --version
|
|
||||||
g++ --version
|
|
||||||
gcc -print-file-name=libstdc++.so
|
|
||||||
g++ -print-file-name=libstdc++.so
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'Set python 3.11 as default'
|
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
sudo dnf -y module disable python36
|
|
||||||
sudo rm -f /usr/local/bin/python3.12 /usr/local/bin/python3.13 /usr/local/bin/python3.14
|
|
||||||
sudo alternatives --set python /usr/bin/python3.11
|
|
||||||
sudo alternatives --set python3 /usr/bin/python3.11
|
|
||||||
python3 --version
|
|
||||||
python3 -m pip install --upgrade pip setuptools wheel
|
|
||||||
- ${{ each pkg in parameters.aptPackages }}:
|
|
||||||
# note: llvm needs ninja-build version newer than what dnf provides
|
|
||||||
- ${{ if eq(pkg, 'ninja-build') }}:
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'Install ninja 1.11.1'
|
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
sudo dnf -y install unzip && \
|
|
||||||
curl -LO https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-linux.zip && \
|
|
||||||
unzip ninja-linux.zip && \
|
|
||||||
sudo mv ninja /usr/local/bin/ninja && \
|
|
||||||
sudo chmod +x /usr/local/bin/ninja && \
|
|
||||||
echo "##vso[task.prependpath]/usr/local/bin"
|
|
||||||
- ${{ if ne(parameters.aptToDnfMap[pkg], '') }}:
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'dnf install ${{ parameters.aptToDnfMap[pkg] }}'
|
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
sudo dnf -y install ${{ parameters.aptToDnfMap[pkg] }}
|
|
||||||
@@ -9,25 +9,56 @@ parameters:
|
|||||||
- name: registerROCmPackages
|
- name: registerROCmPackages
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
- name: packageManager
|
|
||||||
type: string
|
|
||||||
default: apt
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- ${{ if eq(parameters.packageManager, 'apt') }}:
|
- ${{ if eq(parameters.registerROCmPackages, true) }}:
|
||||||
- template: dependencies-apt.yml
|
- task: Bash@3
|
||||||
parameters:
|
displayName: 'Register AMDGPU & ROCm repos'
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
inputs:
|
||||||
registerROCmPackages: ${{ parameters.registerROCmPackages }}
|
targetType: inline
|
||||||
- ${{ if eq(parameters.packageManager, 'dnf') }}:
|
script: |
|
||||||
- template: dependencies-dnf.yml
|
sudo mkdir --parents --mode=0755 /etc/apt/keyrings
|
||||||
parameters:
|
wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg > /dev/null
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/$(REPO_RADEON_VERSION)/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/amdgpu.list
|
||||||
registerROCmPackages: ${{ parameters.registerROCmPackages }}
|
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/$(REPO_RADEON_VERSION) jammy main" | sudo tee --append /etc/apt/sources.list.d/rocm.list
|
||||||
|
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
|
||||||
|
sudo apt update
|
||||||
|
# firefox takes time to upgrade and is not needed for CI workloads, hold version
|
||||||
|
- task: Bash@3
|
||||||
|
continueOnError: true
|
||||||
|
displayName: 'sudo apt-mark hold firefox'
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: sudo apt-mark hold firefox
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: 'sudo apt-get update'
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
echo "deb http://archive.ubuntu.com/ubuntu/ jammy 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-security main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/default.list
|
||||||
|
sudo DEBIAN_FRONTEND=noninteractive apt-get --yes update
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: 'sudo apt-get upgrade'
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: sudo DEBIAN_FRONTEND=noninteractive apt-get --yes upgrade
|
||||||
|
- task: Bash@3
|
||||||
|
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) }}
|
||||||
- ${{ 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: pip install -v --force-reinstall ${{ join(' ', parameters.pipModules) }}
|
||||||
|
|||||||
@@ -3,15 +3,29 @@ 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: []
|
||||||
- name: os
|
|
||||||
type: string
|
|
||||||
default: 'ubuntu2204'
|
|
||||||
- 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
|
||||||
@@ -22,249 +36,314 @@ parameters:
|
|||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
# monorepo related parameters
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
|
|
||||||
- name: componentVarList
|
- name: componentVarList
|
||||||
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
|
||||||
|
mainlineBranch: amd-mainline
|
||||||
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: mainline
|
||||||
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: mainline
|
||||||
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
|
||||||
|
omnitrace: # deprecated
|
||||||
|
pipelineId: $(OMNITRACE_PIPELINE_ID)
|
||||||
|
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: 100
|
pipelineId: $(RDC_PIPELINE_ID)
|
||||||
developBranch: amd-staging
|
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: mainline
|
||||||
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: 255
|
pipelineId: $(ROCPROFILER_SYSTEMS_PIPELINE_ID)
|
||||||
developBranch: amd-staging
|
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: mainline
|
||||||
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: mainline
|
||||||
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:
|
||||||
@@ -280,67 +359,75 @@ 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.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) }}:
|
|
||||||
- template: local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
buildType: current
|
|
||||||
preTargetFilter: ${{ dependency }}
|
|
||||||
os: ${{ parameters.os }}
|
|
||||||
${{ if parameters.componentVarList[dependency].hasGpuTarget }}:
|
|
||||||
gpuTarget: ${{ parameters.gpuTarget }}
|
|
||||||
- ${{ 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.gpuTarget }}
|
||||||
|
# dependencySource = staging
|
||||||
|
${{ if eq(parameters.dependencySource, 'staging')}}:
|
||||||
|
branchName: ${{ parameters.componentVarList[dependency].stagingBranch }}
|
||||||
|
# dependencySource = mainline
|
||||||
|
${{ elseif eq(parameters.dependencySource, 'mainline')}}:
|
||||||
|
branchName: ${{ parameters.componentVarList[dependency].mainlineBranch }}
|
||||||
|
# checkoutRef = staging
|
||||||
|
${{ elseif eq(parameters.checkoutRef, parameters.componentVarList[variables['Build.DefinitionName']].stagingBranch) }}:
|
||||||
|
branchName: ${{ parameters.componentVarList[dependency].stagingBranch }}
|
||||||
|
# checkoutRef = mainline
|
||||||
|
${{ elseif eq(parameters.checkoutRef, parameters.componentVarList[variables['Build.DefinitionName']].mainlineBranch) }}:
|
||||||
|
branchName: ${{ parameters.componentVarList[dependency].mainlineBranch }}
|
||||||
|
# SourceBranchName = staging
|
||||||
|
${{ 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 }}:
|
${{ else }}:
|
||||||
fileFilter: ${{ parameters.os }}
|
branchName: ${{ parameters.componentVarList[dependency].stagingBranch }}
|
||||||
- task: ExtractFiles@1
|
# Set link to redirect llvm folder
|
||||||
displayName: Extract ROCm artifacts
|
- ${{ if eq(parameters.skipLlvmSymlink, false) }}:
|
||||||
inputs:
|
|
||||||
archiveFilePatterns: $(Pipeline.Workspace)/d/**/*.tar.gz
|
|
||||||
destinationFolder: $(Agent.BuildDirectory)/rocm
|
|
||||||
cleanDestinationFolder: false
|
|
||||||
overwriteExistingFiles: true
|
|
||||||
- task: DeleteFiles@1
|
|
||||||
displayName: Clean up ROCm artifacts
|
|
||||||
inputs:
|
|
||||||
SourceFolder: $(Pipeline.Workspace)/d
|
|
||||||
Contents: '**/*.tar.gz'
|
|
||||||
RemoveDotFiles: true
|
|
||||||
- ${{ if containsValue(parameters.dependencyList, 'llvm-project') }}:
|
|
||||||
- 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:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: sudo ln -s $(Agent.BuildDirectory)/rocm/llvm $(Agent.BuildDirectory)/rocm/lib/llvm
|
||||||
sudo mkdir -p $(Agent.BuildDirectory)/rocm/lib
|
|
||||||
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:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
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 -s $(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
|
||||||
@@ -377,16 +464,15 @@ 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 /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
|
sudo cat /etc/ld.so.conf.d/rocm-ci.conf
|
||||||
sudo cat /etc/ld.so.conf.d/rocm-ci.conf
|
sudo ldconfig -v
|
||||||
sudo ldconfig -v
|
ldconfig -p
|
||||||
ldconfig -p
|
|
||||||
|
|||||||
@@ -1,58 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- name: os
|
|
||||||
type: string
|
|
||||||
default: 'ubuntu2204'
|
|
||||||
- name: dependencyList
|
|
||||||
type: object
|
|
||||||
- name: pipelineIdList
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
boost: 250
|
|
||||||
catch2: 343
|
|
||||||
fmtlib: 341
|
|
||||||
grpc: 72
|
|
||||||
gtest: 73
|
|
||||||
half560: 68
|
|
||||||
lapack: 69
|
|
||||||
libdivide: 342
|
|
||||||
spdlog: 340
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- ${{ each dependency in parameters.dependencyList }}:
|
|
||||||
- task: DownloadPipelineArtifact@2
|
|
||||||
displayName: Download ${{ dependency }}
|
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
|
||||||
project: ROCm-CI
|
|
||||||
buildType: specific
|
|
||||||
targetPath: $(Pipeline.Workspace)/d
|
|
||||||
definition: ${{ parameters.pipelineIdList[dependency] }}
|
|
||||||
itemPattern: '**/*${{ parameters.os }}*'
|
|
||||||
- task: ExtractFiles@1
|
|
||||||
displayName: Extract ${{ dependency }}
|
|
||||||
inputs:
|
|
||||||
archiveFilePatterns: '$(Pipeline.Workspace)/d/**/*.tar.gz'
|
|
||||||
destinationFolder: $(Agent.BuildDirectory)/vendor
|
|
||||||
cleanDestinationFolder: false
|
|
||||||
overwriteExistingFiles: true
|
|
||||||
- task: DeleteFiles@1
|
|
||||||
displayName: Clean up ${{ dependency }}
|
|
||||||
inputs:
|
|
||||||
SourceFolder: $(Pipeline.Workspace)/d
|
|
||||||
Contents: '**/*.tar.gz'
|
|
||||||
RemoveDotFiles: true
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: List vendored files
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: ls -la1R $(Agent.BuildDirectory)/vendor
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Link vendored shared libraries
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
echo $(Agent.BuildDirectory)/vendor/lib | sudo tee -a /etc/ld.so.conf.d/vendor.conf
|
|
||||||
echo $(Agent.BuildDirectory)/vendor/lib64 | sudo tee -a /etc/ld.so.conf.d/vendor.conf
|
|
||||||
sudo cat /etc/ld.so.conf.d/vendor.conf
|
|
||||||
sudo ldconfig -v
|
|
||||||
ldconfig -p
|
|
||||||
@@ -2,9 +2,6 @@
|
|||||||
# It can be overridden to download any artifact from any pipeline, given the appropriate build/pipeline IDs
|
# It can be overridden to download any artifact from any pipeline, given the appropriate build/pipeline IDs
|
||||||
|
|
||||||
parameters:
|
parameters:
|
||||||
- name: os
|
|
||||||
type: string
|
|
||||||
default: 'ubuntu2204'
|
|
||||||
- name: gpuTarget
|
- name: gpuTarget
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
@@ -32,28 +29,25 @@ parameters:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- task: DownloadPipelineArtifact@2
|
- task: DownloadPipelineArtifact@2
|
||||||
displayName: Download ${{ parameters.preTargetFilter}}*${{ parameters.os }}_${{ parameters.gpuTarget}}*${{ parameters.postTargetFilter}}
|
displayName: 'Download Pipeline Build'
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
inputs:
|
||||||
${{ if eq(parameters.buildType, 'specific') }}:
|
${{ if eq(parameters.buildType, 'specific') }}:
|
||||||
buildType: specific
|
buildType: specific
|
||||||
buildVersionToDownload: specific
|
buildVersionToDownload: specific
|
||||||
project: ROCm-CI
|
project: ROCm-CI
|
||||||
${{ if ne(parameters.definitionId, 0) }}:
|
definition: ${{ parameters.definitionId }}
|
||||||
definition: ${{ parameters.definitionId }}
|
buildId: ${{ parameters.buildId }}
|
||||||
${{ if ne(parameters.buildId, 0) }}:
|
itemPattern: '**/*${{ parameters.preTargetFilter }}*${{ parameters.gpuTarget }}*${{ parameters.postTargetFilter }}*'
|
||||||
buildId: ${{ parameters.buildId }}
|
|
||||||
itemPattern: '**/*${{ parameters.preTargetFilter }}*${{ parameters.os }}_${{ parameters.gpuTarget }}*${{ parameters.postTargetFilter }}*'
|
|
||||||
targetPath: $(Pipeline.Workspace)/d
|
targetPath: $(Pipeline.Workspace)/d
|
||||||
- task: ExtractFiles@1
|
- task: ExtractFiles@1
|
||||||
displayName: Extract ${{ parameters.preTargetFilter}}*${{ parameters.os }}_${{ parameters.gpuTarget}}*${{ parameters.postTargetFilter}}
|
displayName: 'Extract Pipeline Build'
|
||||||
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: Clean up ${{ parameters.preTargetFilter}}*${{ parameters.os }}_${{ parameters.gpuTarget}}*${{ parameters.postTargetFilter}}
|
displayName: 'Clean up Compressed Pipeline Build'
|
||||||
inputs:
|
inputs:
|
||||||
SourceFolder: '$(Pipeline.Workspace)/d'
|
SourceFolder: '$(Pipeline.Workspace)/d'
|
||||||
Contents: '/**/*.tar.xz'
|
Contents: '/**/*.tar.xz'
|
||||||
|
|||||||
@@ -1,19 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
- name: artifactName
|
||||||
type: string
|
type: string
|
||||||
default: $(Build.DefinitionName)
|
default: 'drop'
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: gpuTarget
|
- name: gpuTarget
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
- name: artifactName
|
|
||||||
type: string
|
|
||||||
default: drop
|
|
||||||
- name: os
|
|
||||||
type: string
|
|
||||||
default: 'ubuntu2204'
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
@@ -23,21 +14,19 @@ 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)
|
||||||
IS_AOMP_BUILD=$(jq 'has("aomp_repo")' resources.repositories)
|
IS_AOMP_BUILD=$(jq 'has("aomp_repo")' resources.repositories)
|
||||||
IS_MATHLIBS_BUILD=$(jq 'has("libraries_repo")' resources.repositories)
|
|
||||||
|
|
||||||
if [ "$IS_TAG_BUILD" = "true" ] || [ "$IS_AOMP_BUILD" = "true" ] || [ "$IS_MATHLIBS_BUILD" = "true" ]; then
|
if [ "$IS_TAG_BUILD" = "true" ] || [ "$IS_AOMP_BUILD" = "true" ]; then
|
||||||
exclude_keys=("pipelines_repo" "self") # Triggered by a file under ROCm/ROCm
|
exclude_keys=("pipelines_repo" "self") # Triggered by a file under ROCm/ROCm
|
||||||
else
|
else
|
||||||
exclude_keys=("pipelines_repo") # Triggered by a file under a component repo
|
exclude_keys=("pipelines_repo") # Triggered by a file under a component repo
|
||||||
@@ -56,7 +45,6 @@ steps:
|
|||||||
buildId: "$(Build.BuildId)",
|
buildId: "$(Build.BuildId)",
|
||||||
repoId: $entry.value.id,
|
repoId: $entry.value.id,
|
||||||
repoName: $entry.value.name,
|
repoName: $entry.value.name,
|
||||||
repoSparse: "${{ parameters.sparseCheckoutDir }}",
|
|
||||||
repoRef: $entry.value.ref,
|
repoRef: $entry.value.ref,
|
||||||
repoUrl: $entry.value.url,
|
repoUrl: $entry.value.url,
|
||||||
repoVersion: $entry.value.version
|
repoVersion: $entry.value.version
|
||||||
@@ -67,6 +55,8 @@ steps:
|
|||||||
)
|
)
|
||||||
' resources.repositories)
|
' resources.repositories)
|
||||||
|
|
||||||
|
manifest_json=$(Build.ArtifactStagingDirectory)/manifest_$(Build.DefinitionName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ 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 +67,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" \
|
||||||
@@ -95,7 +81,6 @@ steps:
|
|||||||
"<tr><td>" + .buildNumber + "</td>" +
|
"<tr><td>" + .buildNumber + "</td>" +
|
||||||
"<td><a href=\"https://dev.azure.com/ROCm-CI/ROCm-CI/_build/results?buildId=" + .buildId + "\">" + .buildId + "</a></td>" +
|
"<td><a href=\"https://dev.azure.com/ROCm-CI/ROCm-CI/_build/results?buildId=" + .buildId + "\">" + .buildId + "</a></td>" +
|
||||||
"<td><a href=\"" + .repoUrl + "\">" + .repoName + "</a></td>" +
|
"<td><a href=\"" + .repoUrl + "\">" + .repoName + "</a></td>" +
|
||||||
"<td><a href=\"" + .repoUrl + "/tree/" + .repoRef + "/" + .repoSparse + "\">" + .repoSparse + "</a></td>" +
|
|
||||||
"<td><a href=\"" + .repoUrl + "/tree/" + .repoRef + "\">" + .repoRef + "</a></td>" +
|
"<td><a href=\"" + .repoUrl + "/tree/" + .repoRef + "\">" + .repoRef + "</a></td>" +
|
||||||
"<td><a href=\"" + .repoUrl + "/commit/" + .repoVersion + "\">" + .repoVersion + "</a></td></tr>"
|
"<td><a href=\"" + .repoUrl + "/commit/" + .repoVersion + "\">" + .repoVersion + "</a></td></tr>"
|
||||||
')
|
')
|
||||||
@@ -108,20 +93,13 @@ steps:
|
|||||||
"<tr><td>" + .buildNumber + "</td>" +
|
"<tr><td>" + .buildNumber + "</td>" +
|
||||||
"<td><a href=\"https://dev.azure.com/ROCm-CI/ROCm-CI/_build/results?buildId=" + .buildId + "\">" + .buildId + "</a></td>" +
|
"<td><a href=\"https://dev.azure.com/ROCm-CI/ROCm-CI/_build/results?buildId=" + .buildId + "\">" + .buildId + "</a></td>" +
|
||||||
"<td><a href=\"" + .repoUrl + "\">" + .repoName + "</a></td>" +
|
"<td><a href=\"" + .repoUrl + "\">" + .repoName + "</a></td>" +
|
||||||
"<td><a href=\"" + .repoUrl + "/tree/" + .repoRef + "/" + .repoSparse + "\">" + .repoSparse + "</a></td>" +
|
|
||||||
"<td><a href=\"" + .repoUrl + "/tree/" + .repoRef + "\">" + .repoRef + "</a></td>" +
|
"<td><a href=\"" + .repoUrl + "/tree/" + .repoRef + "\">" + .repoRef + "</a></td>" +
|
||||||
"<td><a href=\"" + .repoUrl + "/commit/" + .repoVersion + "\">" + .repoVersion + "</a></td></tr>"
|
"<td><a href=\"" + .repoUrl + "/commit/" + .repoVersion + "\">" + .repoVersion + "</a></td></tr>"
|
||||||
')
|
')
|
||||||
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,17 +107,16 @@ steps:
|
|||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
manifest_html="$(Build.ArtifactStagingDirectory)/$(manifest_filename).html"
|
manifest_html=$(Build.ArtifactStagingDirectory)/manifest_$(Build.DefinitionName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ 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>
|
||||||
<th>Build Number</th>
|
<th>Build Number</th>
|
||||||
<th>Build ID</th>
|
<th>Build ID</th>
|
||||||
<th>Repo Name</th>
|
<th>Repo Name</th>
|
||||||
<th>Repo Sparse</th>
|
|
||||||
<th>Repo Ref</th>
|
<th>Repo Ref</th>
|
||||||
<th>Repo Version</th>
|
<th>Repo Version</th>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -151,7 +128,6 @@ steps:
|
|||||||
<th>Build Number</th>
|
<th>Build Number</th>
|
||||||
<th>Build ID</th>
|
<th>Build ID</th>
|
||||||
<th>Repo Name</th>
|
<th>Repo Name</th>
|
||||||
<th>Repo Sparse</th>
|
|
||||||
<th>Repo Ref</th>
|
<th>Repo Ref</th>
|
||||||
<th>Repo Version</th>
|
<th>Repo Version</th>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -172,7 +148,7 @@ steps:
|
|||||||
continueOnError: true
|
continueOnError: true
|
||||||
inputs:
|
inputs:
|
||||||
tabName: Manifest
|
tabName: Manifest
|
||||||
reportDir: $(Build.ArtifactStagingDirectory)/$(manifest_filename).html
|
reportDir: $(Build.ArtifactStagingDirectory)/manifest_$(Build.DefinitionName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ 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 +157,5 @@ steps:
|
|||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
echo "$(manifest_filename).html" >> pipelineArtifacts.txt
|
echo "manifest_$(Build.DefinitionName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.html" >> pipelineArtifacts.txt
|
||||||
echo "$(manifest_filename).json" >> pipelineArtifacts.txt
|
echo "manifest_$(Build.DefinitionName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.json" >> pipelineArtifacts.txt
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -24,7 +25,7 @@ steps:
|
|||||||
echo "Fetching CK build ID for commit $CK_COMMIT"
|
echo "Fetching CK build ID for commit $CK_COMMIT"
|
||||||
CK_CHECKS_URL="$GH_API/composable_kernel/commits/${CK_COMMIT}/check-runs"
|
CK_CHECKS_URL="$GH_API/composable_kernel/commits/${CK_COMMIT}/check-runs"
|
||||||
CK_BUILD_ID=$(curl -s $CK_CHECKS_URL | \
|
CK_BUILD_ID=$(curl -s $CK_CHECKS_URL | \
|
||||||
jq '.check_runs[] | select(.name == "composable_kernel" and .app.slug == "azure-pipelines" and .conclusion == "success") | .details_url' | \
|
jq '.check_runs[] | select(.name == "composable_kernel" and .app.slug == "azure-pipelines") | .details_url' | \
|
||||||
tr -d '"' | grep -oP 'buildId=\K\d+')
|
tr -d '"' | grep -oP 'buildId=\K\d+')
|
||||||
|
|
||||||
# If none found, use latest successful CK build instead
|
# If none found, use latest successful CK build instead
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -3,27 +3,10 @@
|
|||||||
# also display installed components and packages
|
# also display installed components and packages
|
||||||
steps:
|
steps:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: OS Version
|
displayName: List apt packages
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: cat /etc/os-release
|
script: apt list --installed
|
||||||
- task: Bash@3
|
|
||||||
displayName: List installed packages (apt, dnf, or yum)
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
if command -v apt >/dev/null 2>&1; then
|
|
||||||
echo "Listing installed packages with apt:"
|
|
||||||
apt list --installed
|
|
||||||
elif command -v dnf >/dev/null 2>&1; then
|
|
||||||
echo "Listing installed packages with dnf:"
|
|
||||||
dnf list installed
|
|
||||||
elif command -v yum >/dev/null 2>&1; then
|
|
||||||
echo "Listing installed packages with yum:"
|
|
||||||
yum list installed
|
|
||||||
else
|
|
||||||
echo "No supported package manager found (apt, dnf, yum)."
|
|
||||||
fi
|
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Print Python version
|
displayName: Print Python version
|
||||||
inputs:
|
inputs:
|
||||||
@@ -33,7 +16,7 @@ steps:
|
|||||||
displayName: List Python packages
|
displayName: List Python packages
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: python3 -m pip list -v
|
script: pip list -v
|
||||||
# The "Azure Pipelines" agents install CMake in multiple ways, including a standalone install into /usr/local/bin:
|
# The "Azure Pipelines" agents install CMake in multiple ways, including a standalone install into /usr/local/bin:
|
||||||
# https://github.com/actions/runner-images/blob/6d939a3ab352a54a021dd67b071577287b6f14a5/images/ubuntu/scripts/build/install-cmake.sh#L27
|
# https://github.com/actions/runner-images/blob/6d939a3ab352a54a021dd67b071577287b6f14a5/images/ubuntu/scripts/build/install-cmake.sh#L27
|
||||||
# This standalone CMake does not have a fixed version, and is not the same version as the one installed by the package manager
|
# This standalone CMake does not have a fixed version, and is not the same version as the one installed by the package manager
|
||||||
|
|||||||
@@ -2,27 +2,21 @@ parameters:
|
|||||||
- name: componentName
|
- name: componentName
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
- name: os
|
|
||||||
type: string
|
|
||||||
default: ubuntu2204
|
|
||||||
- name: testDir
|
- name: testDir
|
||||||
type: string
|
type: string
|
||||||
default: build
|
default: 'build'
|
||||||
- name: testExecutable
|
- name: testExecutable
|
||||||
type: string
|
type: string
|
||||||
default: ctest
|
default: 'ctest'
|
||||||
- name: testParameters
|
- name: testParameters
|
||||||
type: string
|
type: string
|
||||||
default: --output-on-failure --force-new-ctest-process --output-junit test_output.xml
|
default: '--output-on-failure --force-new-ctest-process --output-junit test_output.xml'
|
||||||
- name: extraTestParameters
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: testOutputFile
|
- name: testOutputFile
|
||||||
type: string
|
type: string
|
||||||
default: test_output.xml
|
default: test_output.xml
|
||||||
- name: testOutputFormat
|
- name: testOutputFormat
|
||||||
type: string
|
type: string
|
||||||
default: JUnit
|
default: 'JUnit'
|
||||||
values:
|
values:
|
||||||
- JUnit
|
- JUnit
|
||||||
- NUnit
|
- NUnit
|
||||||
@@ -32,28 +26,26 @@ parameters:
|
|||||||
- name: testPublishResults
|
- name: testPublishResults
|
||||||
type: boolean
|
type: boolean
|
||||||
default: true
|
default: true
|
||||||
- name: allowComponentTestFailure
|
- name: allowPartiallySucceededBuilds
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- amdsmi
|
- amdsmi
|
||||||
- HIPIFY
|
|
||||||
- rocm_smi_lib
|
|
||||||
- roctracer
|
|
||||||
# the following do not use this template but allow test failures, included for completeness
|
|
||||||
- aomp
|
- aomp
|
||||||
- ROCgdb
|
- HIPIFY
|
||||||
|
- MIVisionX
|
||||||
|
- rocm_smi_lib
|
||||||
|
- rocprofiler-sdk
|
||||||
|
- roctracer
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
# run test, continue on failure to publish results
|
# run test, continue on failure to publish results
|
||||||
# and to publish build artifacts
|
# and to publish build artifacts
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: '${{ parameters.componentName }} Test'
|
displayName: '${{ parameters.componentName }} Test'
|
||||||
continueOnError: ${{ containsValue(parameters.allowComponentTestFailure, parameters.componentName) }}
|
continueOnError: ${{ containsValue(parameters.allowPartiallySucceededBuilds, parameters.componentName) }}
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: ${{ parameters.testExecutable }} ${{ parameters.testParameters }}
|
||||||
${{ iif(eq(parameters.os, 'almalinux8'), 'source /opt/rh/gcc-toolset-14/enable', '') }}
|
|
||||||
${{ parameters.testExecutable }} ${{ parameters.testParameters }} ${{ parameters.extraTestParameters }}
|
|
||||||
workingDirectory: ${{ parameters.testDir }}
|
workingDirectory: ${{ parameters.testDir }}
|
||||||
- ${{ if parameters.testPublishResults }}:
|
- ${{ if parameters.testPublishResults }}:
|
||||||
- task: PublishTestResults@2
|
- task: PublishTestResults@2
|
||||||
|
|||||||
@@ -3,8 +3,6 @@
|
|||||||
variables:
|
variables:
|
||||||
- name: RESOURCES_REPOSITORIES
|
- name: RESOURCES_REPOSITORIES
|
||||||
value: $[ convertToJson(resources.repositories) ]
|
value: $[ convertToJson(resources.repositories) ]
|
||||||
- name: CCACHE_DIR
|
|
||||||
value: $(Pipeline.Workspace)/ccache
|
|
||||||
- name: CI_ROOT_PATH
|
- name: CI_ROOT_PATH
|
||||||
value: /.azuredevops
|
value: /.azuredevops
|
||||||
- name: CI_COMPONENT_PATH
|
- name: CI_COMPONENT_PATH
|
||||||
@@ -23,25 +21,329 @@ 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.0
|
||||||
- name: REPO_RADEON_VERSION
|
- name: REPO_RADEON_VERSION
|
||||||
value: 6.4.3
|
value: 6.4
|
||||||
- name: NEXT_RELEASE_VERSION
|
- name: NEXT_RELEASE_VERSION
|
||||||
value: 7.0.0
|
value: 6.5.0
|
||||||
- name: LATEST_RELEASE_TAG
|
- name: LATEST_RELEASE_TAG
|
||||||
value: rocm-6.4.3
|
value: rocm-6.4.0
|
||||||
- name: DOCKER_SKIP_GFX
|
- name: DOCKER_SKIP_GFX
|
||||||
value: gfx90a
|
value: gfx90a
|
||||||
|
- name: AMDMIGRAPHX_GFX942_TEST_PIPELINE_ID
|
||||||
|
value: 197
|
||||||
|
- name: AMDMIGRAPHX_PIPELINE_ID
|
||||||
|
value: 113
|
||||||
|
- name: AMDMIGRAPHX_TAGGED_PIPELINE_ID
|
||||||
|
value: 60
|
||||||
|
- name: AMDSMI_PIPELINE_ID
|
||||||
|
value: 99
|
||||||
|
- name: AMDSMI_TAGGED_PIPELINE_ID
|
||||||
|
value: 33
|
||||||
|
- name: AOMP_EXTRAS_PIPELINE_ID
|
||||||
|
value: 111
|
||||||
|
- name: AOMP_EXTRAS_TAGGED_PIPELINE_ID
|
||||||
|
value: 75
|
||||||
|
- name: AOMP_PIPELINE_ID
|
||||||
|
value: 115
|
||||||
|
- name: AOMP_TAGGED_PIPELINE_ID
|
||||||
|
value: 76
|
||||||
|
- name: CCACHE_DIR
|
||||||
|
value: $(Pipeline.Workspace)/ccache
|
||||||
|
- name: CLR_PIPELINE_ID
|
||||||
|
value: 145
|
||||||
|
- name: CLR_TAGGED_PIPELINE_ID
|
||||||
|
value: 71
|
||||||
|
- name: COMPOSABLE_KERNEL_GFX942_TEST_PIPELINE_ID
|
||||||
|
value: 179
|
||||||
- name: COMPOSABLE_KERNEL_PIPELINE_ID
|
- name: COMPOSABLE_KERNEL_PIPELINE_ID
|
||||||
value: 86
|
value: 86
|
||||||
|
- name: COMPOSABLE_KERNEL_TAGGED_PIPELINE_ID
|
||||||
|
value: 38
|
||||||
|
- name: FLANG_LEGACY_PIPELINE_ID
|
||||||
|
value: 77
|
||||||
|
- name: FLANG_LEGACY_TAGGED_PIPELINE_ID
|
||||||
|
value: 77
|
||||||
|
- name: HALF_PIPELINE_ID
|
||||||
|
value: 101
|
||||||
|
- name: HALF_TAGGED_PIPELINE_ID
|
||||||
|
value: 11
|
||||||
- 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_TAGGED_PIPELINE_ID
|
||||||
|
value: 31
|
||||||
|
- name: HIP_TESTS_PIPELINE_ID
|
||||||
|
value: 233
|
||||||
|
- name: HIP_TESTS_TAGGED_PIPELINE_ID
|
||||||
|
value: 220
|
||||||
|
- name: HIPBLAS_COMMON_PIPELINE_ID
|
||||||
|
value: 223
|
||||||
|
- name: HIPBLAS_COMMON_TAGGED_PIPELINE_ID
|
||||||
|
value: 224
|
||||||
|
- name: HIPBLAS_GFX942_TEST_PIPELINE_ID
|
||||||
|
value: 202
|
||||||
|
- name: HIPBLAS_PIPELINE_ID
|
||||||
|
value: 87
|
||||||
|
- name: HIPBLAS_TAGGED_PIPELINE_ID
|
||||||
|
value: 44
|
||||||
|
- name: HIPBLASLT_GFX942_TEST_PIPELINE_ID
|
||||||
|
value: 187
|
||||||
|
- name: HIPBLASLT_PIPELINE_ID
|
||||||
|
value: 112
|
||||||
|
- name: HIPBLASLT_TAGGED_PIPELINE_ID
|
||||||
|
value: 45
|
||||||
|
- name: HIPCUB_GFX942_TEST_PIPELINE_ID
|
||||||
|
value: 186
|
||||||
|
- name: HIPCUB_PIPELINE_ID
|
||||||
|
value: 97
|
||||||
|
- name: HIPCUB_TAGGED_PIPELINE_ID
|
||||||
|
value: 46
|
||||||
|
- name: HIPFFT_GFX942_TEST_PIPELINE_ID
|
||||||
|
value: 198
|
||||||
|
- name: HIPFFT_PIPELINE_ID
|
||||||
|
value: 121
|
||||||
|
- name: HIPFFT_TAGGED_PIPELINE_ID
|
||||||
|
value: 12
|
||||||
|
- name: HIPFORT_PIPELINE_ID
|
||||||
|
value: 102
|
||||||
|
- name: HIPFORT_TAGGED_PIPELINE_ID
|
||||||
|
value: 34
|
||||||
|
- name: HIPIFY_PIPELINE_ID
|
||||||
|
value: 92
|
||||||
|
- name: HIPIFY_TAGGED_PIPELINE_ID
|
||||||
|
value: 13
|
||||||
|
- name: HIPRAND_GFX942_TEST_PIPELINE_ID
|
||||||
|
value: 188
|
||||||
|
- name: HIPRAND_PIPELINE_ID
|
||||||
|
value: 90
|
||||||
|
- name: HIPRAND_TAGGED_PIPELINE_ID
|
||||||
|
value: 42
|
||||||
|
- name: HIPSOLVER_GFX942_TEST_PIPELINE_ID
|
||||||
|
value: 201
|
||||||
|
- name: HIPSOLVER_PIPELINE_ID
|
||||||
|
value: 84
|
||||||
|
- name: HIPSOLVER_TAGGED_PIPELINE_ID
|
||||||
|
value: 52
|
||||||
|
- name: HIPSPARSE_GFX942_TEST_PIPELINE_ID
|
||||||
|
value: 195
|
||||||
|
- name: HIPSPARSE_PIPELINE_ID
|
||||||
|
value: 83
|
||||||
|
- name: HIPSPARSE_TAGGED_PIPELINE_ID
|
||||||
|
value: 14
|
||||||
|
- name: HIPSPARSELT_GFX942_TEST_PIPELINE_ID
|
||||||
|
value: 200
|
||||||
|
- name: HIPSPARSELT_PIPELINE_ID
|
||||||
|
value: 104
|
||||||
|
- name: HIPSPARSELT_TAGGED_PIPELINE_ID
|
||||||
|
value: 53
|
||||||
|
- name: HIPTENSOR_GFX942_TEST_PIPELINE_ID
|
||||||
|
value: 192
|
||||||
|
- name: HIPTENSOR_PIPELINE_ID
|
||||||
|
value: 105
|
||||||
|
- name: HIPTENSOR_TAGGED_PIPELINE_ID
|
||||||
|
value: 56
|
||||||
|
- name: LLVM_PROJECT_PIPELINE_ID
|
||||||
|
value: 2
|
||||||
|
- name: LLVM_PROJECT_TAGGED_PIPELINE_ID
|
||||||
|
value: 8
|
||||||
|
- name: MIOPEN_PIPELINE_ID
|
||||||
|
value: 108
|
||||||
|
- name: MIOPEN_TAGGED_PIPELINE_ID
|
||||||
|
value: 58
|
||||||
|
- name: MIVISIONX_PIPELINE_ID
|
||||||
|
value: 80
|
||||||
|
- name: MIVISIONX_TAGGED_PIPELINE_ID
|
||||||
|
value: 18
|
||||||
|
- name: OMNIPERF_PIPELINE_ID
|
||||||
|
value: 241
|
||||||
|
- name: OMNIPERF_TAGGED_PIPELINE_ID
|
||||||
|
value: 242
|
||||||
|
- name: OMNITRACE_PIPELINE_ID
|
||||||
|
value: 253
|
||||||
|
- name: OMNITRACE_TAGGED_PIPELINE_ID
|
||||||
|
value: 252
|
||||||
|
- name: RCCL_GFX942_TEST_PIPELINE_ID
|
||||||
|
value: 184
|
||||||
|
- name: RCCL_PIPELINE_ID
|
||||||
|
value: 107
|
||||||
|
- name: RCCL_TAGGED_PIPELINE_ID
|
||||||
|
value: 15
|
||||||
|
- name: RDC_PIPELINE_ID
|
||||||
|
value: 100
|
||||||
|
- name: RDC_TAGGED_PIPELINE_ID
|
||||||
|
value: 59
|
||||||
|
- name: ROCAL_PIPELINE_ID
|
||||||
|
value: 151
|
||||||
|
- name: ROCALUTION_GFX942_TEST_PIPELINE_ID
|
||||||
|
value: 196
|
||||||
|
- name: ROCALUTION_PIPELINE_ID
|
||||||
|
value: 89
|
||||||
|
- name: ROCALUTION_TAGGED_PIPELINE_ID
|
||||||
|
value: 16
|
||||||
|
- name: ROCBLAS_GFX942_TEST_PIPELINE_ID
|
||||||
|
value: 185
|
||||||
|
- name: ROCBLAS_PIPELINE_ID
|
||||||
|
value: 85
|
||||||
|
- name: ROCBLAS_TAGGED_PIPELINE_ID
|
||||||
|
value: 32
|
||||||
|
- name: ROCDBGAPI_PIPELINE_ID
|
||||||
|
value: 135
|
||||||
|
- name: ROCDBGAPI_TAGGED_PIPELINE_ID
|
||||||
|
value: 17
|
||||||
|
- name: ROCDECODE_PIPELINE_ID
|
||||||
|
value: 79
|
||||||
|
- name: ROCDECODE_TAGGED_PIPELINE_ID
|
||||||
|
value: 21
|
||||||
|
- name: ROCFFT_GFX942_TEST_PIPELINE_ID
|
||||||
|
value: 189
|
||||||
|
- name: ROCFFT_PIPELINE_ID
|
||||||
|
value: 120
|
||||||
|
- name: ROCFFT_TAGGED_PIPELINE_ID
|
||||||
|
value: 19
|
||||||
|
- name: ROCGDB_PIPELINE_ID
|
||||||
|
value: 134
|
||||||
|
- name: ROCGDB_TAGGED_PIPELINE_ID
|
||||||
|
value: 50
|
||||||
|
- name: ROCJPEG_PIPELINE_ID
|
||||||
|
value: 262
|
||||||
|
- name: ROCJPEG_TAGGED_PIPELINE_ID
|
||||||
|
value: 263
|
||||||
|
- name: ROCM_BANDWIDTH_TEST_PIPELINE_ID
|
||||||
|
value: 88
|
||||||
|
- name: ROCM_BANDWIDTH_TEST_TAGGED_PIPELINE_ID
|
||||||
|
value: 23
|
||||||
|
- name: ROCM_CMAKE_PIPELINE_ID
|
||||||
|
value: 6
|
||||||
|
- name: ROCM_CMAKE_TAGGED_PIPELINE_ID
|
||||||
|
value: 7
|
||||||
|
- name: ROCM_CORE_PIPELINE_ID
|
||||||
|
value: 103
|
||||||
|
- name: ROCM_CORE_TAGGED_PIPELINE_ID
|
||||||
|
value: 22
|
||||||
|
- name: ROCM_EXAMPLES_GFX942_TEST_PIPELINE_ID
|
||||||
|
value: 204
|
||||||
|
- name: ROCM_EXAMPLES_PIPELINE_ID
|
||||||
|
value: 216
|
||||||
|
- name: ROCM_EXAMPLES_TAGGED_PIPELINE_ID
|
||||||
|
value: 245
|
||||||
|
- name: ROCM_SMI_LIB_PIPELINE_ID
|
||||||
|
value: 96
|
||||||
|
- name: ROCM_SMI_LIB_TAGGED_PIPELINE_ID
|
||||||
|
value: 47
|
||||||
|
- name: ROCMINFO_PIPELINE_ID
|
||||||
|
value: 91
|
||||||
|
- name: ROCMINFO_TAGGED_PIPELINE_ID
|
||||||
|
value: 27
|
||||||
|
- name: ROCMLIR_PIPELINE_ID
|
||||||
|
value: 229
|
||||||
|
- name: ROCMLIR_TAGGED_PIPELINE_ID
|
||||||
|
value: 62
|
||||||
|
- name: ROCMVALIDATIONSUITE_PIPELINE_ID
|
||||||
|
value: 106
|
||||||
|
- name: ROCMVALIDATIONSUITE_TAGGED_PIPELINE_ID
|
||||||
|
value: 43
|
||||||
|
- name: ROCPRIM_GFX942_TEST_PIPELINE_ID
|
||||||
|
value: 180
|
||||||
|
- name: ROCPRIM_PIPELINE_ID
|
||||||
|
value: 82
|
||||||
|
- name: ROCPRIM_TAGGED_PIPELINE_ID
|
||||||
|
value: 20
|
||||||
|
- name: ROCPROFILER_GFX942_TEST_PIPELINE_ID
|
||||||
|
value: 190
|
||||||
|
- name: ROCPROFILER_COMPUTE_PIPELINE_ID
|
||||||
|
value: 257
|
||||||
|
- name: ROCPROFILER_COMPUTE_TAGGED_PIPELINE_ID
|
||||||
|
value: 258
|
||||||
|
- name: ROCPROFILER_REGISTER_PIPELINE_ID
|
||||||
|
value: 1
|
||||||
|
- name: ROCPROFILER_REGISTER_TAGGED_PIPELINE_ID
|
||||||
|
value: 25
|
||||||
|
- name: ROCPROFILER_SDK_PIPELINE_ID
|
||||||
|
value: 246
|
||||||
|
- name: ROCPROFILER_SDK_TAGGED_PIPELINE_ID
|
||||||
|
value: 234
|
||||||
|
- name: ROCPROFILER_SYSTEMS_PIPELINE_ID
|
||||||
|
value: 255
|
||||||
|
- name: ROCPROFILER_SYSTEMS_TAGGED_PIPELINE_ID
|
||||||
|
value: 254
|
||||||
|
- name: ROCPROFILER_PIPELINE_ID
|
||||||
|
value: 143
|
||||||
|
- name: ROCPROFILER_TAGGED_PIPELINE_ID
|
||||||
|
value: 28
|
||||||
|
- name: ROCPYDECODE_PIPELINE_ID
|
||||||
|
value: 239
|
||||||
|
- name: ROCPYDECODE_TAGGED_PIPELINE_ID
|
||||||
|
value: 232
|
||||||
|
- name: ROCR_DEBUG_AGENT_PIPELINE_ID
|
||||||
|
value: 136
|
||||||
|
- name: ROCR_DEBUG_AGENT_TAGGED_PIPELINE_ID
|
||||||
|
value: 29
|
||||||
|
- name: ROCR_RUNTIME_PIPELINE_ID
|
||||||
|
value: 10
|
||||||
|
- name: ROCR_RUNTIME_TAGGED_PIPELINE_ID
|
||||||
|
value: 24
|
||||||
|
- name: ROCRAND_GFX942_TEST_PIPELINE_ID
|
||||||
|
value: 183
|
||||||
|
- name: ROCRAND_PIPELINE_ID
|
||||||
|
value: 95
|
||||||
|
- name: ROCRAND_TAGGED_PIPELINE_ID
|
||||||
|
value: 41
|
||||||
|
- name: ROCSOLVER_GFX942_TEST_PIPELINE_ID
|
||||||
|
value: 199
|
||||||
|
- name: ROCSOLVER_PIPELINE_ID
|
||||||
|
value: 81
|
||||||
|
- name: ROCSOLVER_TAGGED_PIPELINE_ID
|
||||||
|
value: 55
|
||||||
|
- name: ROCSPARSE_GFX942_TEST_PIPELINE_ID
|
||||||
|
value: 191
|
||||||
|
- name: ROCSPARSE_PIPELINE_ID
|
||||||
|
value: 98
|
||||||
|
- name: ROCSPARSE_TAGGED_PIPELINE_ID
|
||||||
|
value: 67
|
||||||
|
- name: ROCT_THUNK_INTERFACE_PIPELINE_ID
|
||||||
|
value: 3
|
||||||
|
- name: ROCT_THUNK_INTERFACE_TAGGED_PIPELINE_ID
|
||||||
|
value: 9
|
||||||
|
- name: ROCTHRUST_GFX942_TEST_PIPELINE_ID
|
||||||
|
value: 194
|
||||||
|
- name: ROCTHRUST_PIPELINE_ID
|
||||||
|
value: 94
|
||||||
|
- name: ROCTHRUST_TAGGED_PIPELINE_ID
|
||||||
|
value: 26
|
||||||
|
- name: ROCTRACER_GFX942_TEST_PIPELINE_ID
|
||||||
|
value: 181
|
||||||
|
- name: ROCTRACER_PIPELINE_ID
|
||||||
|
value: 141
|
||||||
|
- name: ROCTRACER_TAGGED_PIPELINE_ID
|
||||||
|
value: 30
|
||||||
|
- name: ROCWMMA_GFX942_TEST_PIPELINE_ID
|
||||||
|
value: 193
|
||||||
|
- name: ROCWMMA_PIPELINE_ID
|
||||||
|
value: 109
|
||||||
|
- name: ROCWMMA_TAGGED_PIPELINE_ID
|
||||||
|
value: 57
|
||||||
|
- name: RPP_GFX942_TEST_PIPELINE_ID
|
||||||
|
value: 182
|
||||||
|
- name: RPP_PIPELINE_ID
|
||||||
|
value: 78
|
||||||
|
- name: RPP_TAGGED_PIPELINE_ID
|
||||||
|
value: 39
|
||||||
|
- name: TRANSFERBENCH_PIPELINE_ID
|
||||||
|
value: 265
|
||||||
|
- name: TRANSFERBENCH_TAGGED_PIPELINE_ID
|
||||||
|
value: 266
|
||||||
|
- name: BOOST_DEPENDENCY_PIPELINE_ID
|
||||||
|
value: 250
|
||||||
|
|||||||
120
.wordlist.txt
120
.wordlist.txt
@@ -5,9 +5,7 @@ ACEs
|
|||||||
ACS
|
ACS
|
||||||
AccVGPR
|
AccVGPR
|
||||||
AccVGPRs
|
AccVGPRs
|
||||||
AITER
|
|
||||||
ALU
|
ALU
|
||||||
AllReduce
|
|
||||||
AMD
|
AMD
|
||||||
AMDGPU
|
AMDGPU
|
||||||
AMDGPUs
|
AMDGPUs
|
||||||
@@ -15,7 +13,6 @@ AMDMIGraphX
|
|||||||
AMI
|
AMI
|
||||||
AOCC
|
AOCC
|
||||||
AOMP
|
AOMP
|
||||||
AOT
|
|
||||||
AOTriton
|
AOTriton
|
||||||
APBDIS
|
APBDIS
|
||||||
APIC
|
APIC
|
||||||
@@ -35,7 +32,6 @@ Andrej
|
|||||||
Arb
|
Arb
|
||||||
Autocast
|
Autocast
|
||||||
BARs
|
BARs
|
||||||
BatchNorm
|
|
||||||
BLAS
|
BLAS
|
||||||
BMC
|
BMC
|
||||||
BabelStream
|
BabelStream
|
||||||
@@ -46,7 +42,6 @@ Bootloader
|
|||||||
CAS
|
CAS
|
||||||
CCD
|
CCD
|
||||||
CDNA
|
CDNA
|
||||||
CGUI
|
|
||||||
CHTML
|
CHTML
|
||||||
CIFAR
|
CIFAR
|
||||||
CLI
|
CLI
|
||||||
@@ -62,7 +57,6 @@ CPU
|
|||||||
CPUs
|
CPUs
|
||||||
Cron
|
Cron
|
||||||
CSC
|
CSC
|
||||||
CSDATA
|
|
||||||
CSE
|
CSE
|
||||||
CSV
|
CSV
|
||||||
CSn
|
CSn
|
||||||
@@ -72,7 +66,6 @@ CU
|
|||||||
CUDA
|
CUDA
|
||||||
CUs
|
CUs
|
||||||
CXX
|
CXX
|
||||||
CX
|
|
||||||
Cavium
|
Cavium
|
||||||
CentOS
|
CentOS
|
||||||
ChatGPT
|
ChatGPT
|
||||||
@@ -83,24 +76,19 @@ CommonMark
|
|||||||
Concretized
|
Concretized
|
||||||
Conda
|
Conda
|
||||||
ConnectX
|
ConnectX
|
||||||
CountOnes
|
|
||||||
CuPy
|
CuPy
|
||||||
da
|
da
|
||||||
Dashboarding
|
Dashboarding
|
||||||
Dataloading
|
|
||||||
DBRX
|
DBRX
|
||||||
DDR
|
DDR
|
||||||
DF
|
DF
|
||||||
DGEMM
|
DGEMM
|
||||||
DGL
|
|
||||||
DGLGraph
|
|
||||||
dGPU
|
dGPU
|
||||||
dGPUs
|
dGPUs
|
||||||
DIMM
|
DIMM
|
||||||
DKMS
|
DKMS
|
||||||
DL
|
DL
|
||||||
DMA
|
DMA
|
||||||
DOMContentLoaded
|
|
||||||
DNN
|
DNN
|
||||||
DNNL
|
DNNL
|
||||||
DPM
|
DPM
|
||||||
@@ -112,28 +100,20 @@ DataFrame
|
|||||||
DataLoader
|
DataLoader
|
||||||
DataParallel
|
DataParallel
|
||||||
Debian
|
Debian
|
||||||
decompositions
|
|
||||||
DeepSeek
|
DeepSeek
|
||||||
DeepSpeed
|
DeepSpeed
|
||||||
Dependabot
|
Dependabot
|
||||||
Deprecations
|
Deprecations
|
||||||
DevCap
|
DevCap
|
||||||
DirectX
|
DirectX
|
||||||
Disaggregated
|
|
||||||
disaggregated
|
|
||||||
Dockerfile
|
Dockerfile
|
||||||
Dockerized
|
|
||||||
Doxygen
|
Doxygen
|
||||||
dropless
|
|
||||||
ELMo
|
ELMo
|
||||||
ENDPGM
|
ENDPGM
|
||||||
EPYC
|
EPYC
|
||||||
ESXi
|
ESXi
|
||||||
EoS
|
EoS
|
||||||
etcd
|
|
||||||
fas
|
|
||||||
FBGEMM
|
FBGEMM
|
||||||
FIFOs
|
|
||||||
FFT
|
FFT
|
||||||
FFTs
|
FFTs
|
||||||
FFmpeg
|
FFmpeg
|
||||||
@@ -145,14 +125,10 @@ FX
|
|||||||
Filesystem
|
Filesystem
|
||||||
FindDb
|
FindDb
|
||||||
Flang
|
Flang
|
||||||
FlashAttention
|
|
||||||
FlashInfer’s
|
|
||||||
FlashInfer
|
|
||||||
FluxBenchmark
|
FluxBenchmark
|
||||||
Fortran
|
Fortran
|
||||||
Fuyu
|
Fuyu
|
||||||
GALB
|
GALB
|
||||||
GAT
|
|
||||||
GCC
|
GCC
|
||||||
GCD
|
GCD
|
||||||
GCDs
|
GCDs
|
||||||
@@ -166,7 +142,6 @@ GEMMs
|
|||||||
GFLOPS
|
GFLOPS
|
||||||
GFortran
|
GFortran
|
||||||
GFXIP
|
GFXIP
|
||||||
GGUF
|
|
||||||
Gemma
|
Gemma
|
||||||
GiB
|
GiB
|
||||||
GIM
|
GIM
|
||||||
@@ -181,10 +156,7 @@ GPT
|
|||||||
GPU
|
GPU
|
||||||
GPU's
|
GPU's
|
||||||
GPUs
|
GPUs
|
||||||
Graphbolt
|
|
||||||
GraphSage
|
|
||||||
GRBM
|
GRBM
|
||||||
GRE
|
|
||||||
GenAI
|
GenAI
|
||||||
GenZ
|
GenZ
|
||||||
GitHub
|
GitHub
|
||||||
@@ -193,11 +165,9 @@ HBM
|
|||||||
HCA
|
HCA
|
||||||
HGX
|
HGX
|
||||||
HIPCC
|
HIPCC
|
||||||
hipDataType
|
|
||||||
HIPExtension
|
HIPExtension
|
||||||
HIPIFY
|
HIPIFY
|
||||||
HIPification
|
HIPification
|
||||||
hipification
|
|
||||||
HIPify
|
HIPify
|
||||||
HPC
|
HPC
|
||||||
HPCG
|
HPCG
|
||||||
@@ -209,23 +179,17 @@ HWE
|
|||||||
HWS
|
HWS
|
||||||
Haswell
|
Haswell
|
||||||
Higgs
|
Higgs
|
||||||
href
|
|
||||||
Hyperparameters
|
Hyperparameters
|
||||||
Huggingface
|
Huggingface
|
||||||
IB
|
|
||||||
ICD
|
ICD
|
||||||
ICT
|
|
||||||
ICV
|
ICV
|
||||||
IDE
|
IDE
|
||||||
IDEs
|
IDEs
|
||||||
IFWI
|
IFWI
|
||||||
IMDb
|
IMDb
|
||||||
IncDec
|
IncDec
|
||||||
instrSize
|
|
||||||
interpolators
|
|
||||||
IOMMU
|
IOMMU
|
||||||
IOP
|
IOP
|
||||||
IOPS
|
|
||||||
IOPM
|
IOPM
|
||||||
IOV
|
IOV
|
||||||
IRQ
|
IRQ
|
||||||
@@ -242,7 +206,6 @@ Intersphinx
|
|||||||
Intra
|
Intra
|
||||||
Ioffe
|
Ioffe
|
||||||
JAX's
|
JAX's
|
||||||
JAXLIB
|
|
||||||
Jinja
|
Jinja
|
||||||
JSON
|
JSON
|
||||||
Jupyter
|
Jupyter
|
||||||
@@ -253,7 +216,6 @@ KV
|
|||||||
KVM
|
KVM
|
||||||
Karpathy's
|
Karpathy's
|
||||||
KiB
|
KiB
|
||||||
Kineto
|
|
||||||
Keras
|
Keras
|
||||||
Khronos
|
Khronos
|
||||||
LAPACK
|
LAPACK
|
||||||
@@ -263,15 +225,11 @@ LLM
|
|||||||
LLMs
|
LLMs
|
||||||
LLVM
|
LLVM
|
||||||
LM
|
LM
|
||||||
LRU
|
|
||||||
LSAN
|
LSAN
|
||||||
LSan
|
LSan
|
||||||
LTS
|
LTS
|
||||||
LSTMs
|
|
||||||
LteAll
|
|
||||||
LanguageCrossEntropy
|
LanguageCrossEntropy
|
||||||
LoRA
|
LoRA
|
||||||
MECO
|
|
||||||
MEM
|
MEM
|
||||||
MERCHANTABILITY
|
MERCHANTABILITY
|
||||||
MFMA
|
MFMA
|
||||||
@@ -290,7 +248,6 @@ MNIST
|
|||||||
MPI
|
MPI
|
||||||
MPT
|
MPT
|
||||||
MSVC
|
MSVC
|
||||||
mul
|
|
||||||
MVAPICH
|
MVAPICH
|
||||||
MVFFR
|
MVFFR
|
||||||
Makefile
|
Makefile
|
||||||
@@ -298,7 +255,6 @@ Makefiles
|
|||||||
Matplotlib
|
Matplotlib
|
||||||
Matrox
|
Matrox
|
||||||
MaxText
|
MaxText
|
||||||
Megablocks
|
|
||||||
Megatrends
|
Megatrends
|
||||||
Megatron
|
Megatron
|
||||||
Mellanox
|
Mellanox
|
||||||
@@ -308,24 +264,18 @@ Miniconda
|
|||||||
MirroredStrategy
|
MirroredStrategy
|
||||||
Mixtral
|
Mixtral
|
||||||
MosaicML
|
MosaicML
|
||||||
MoEs
|
|
||||||
Mooncake
|
|
||||||
Mpops
|
|
||||||
Multicore
|
Multicore
|
||||||
Multithreaded
|
Multithreaded
|
||||||
MyEnvironment
|
MyEnvironment
|
||||||
MyST
|
MyST
|
||||||
NANOO
|
|
||||||
NBIO
|
NBIO
|
||||||
NBIOs
|
NBIOs
|
||||||
NCCL
|
NCCL
|
||||||
NCF
|
NCF
|
||||||
NFS
|
|
||||||
NIC
|
NIC
|
||||||
NICs
|
NICs
|
||||||
NLI
|
NLI
|
||||||
NLP
|
NLP
|
||||||
NN
|
|
||||||
NPKit
|
NPKit
|
||||||
NPS
|
NPS
|
||||||
NSP
|
NSP
|
||||||
@@ -362,7 +312,6 @@ OpenMPI
|
|||||||
OpenSSL
|
OpenSSL
|
||||||
OpenVX
|
OpenVX
|
||||||
OpenXLA
|
OpenXLA
|
||||||
Optim
|
|
||||||
Oversubscription
|
Oversubscription
|
||||||
PagedAttention
|
PagedAttention
|
||||||
Pallas
|
Pallas
|
||||||
@@ -370,11 +319,9 @@ PCC
|
|||||||
PCI
|
PCI
|
||||||
PCIe
|
PCIe
|
||||||
PEFT
|
PEFT
|
||||||
perf
|
|
||||||
PEQT
|
PEQT
|
||||||
PIL
|
PIL
|
||||||
PILImage
|
PILImage
|
||||||
PJRT
|
|
||||||
POR
|
POR
|
||||||
PRNG
|
PRNG
|
||||||
PRs
|
PRs
|
||||||
@@ -389,7 +336,6 @@ PowerEdge
|
|||||||
PowerShell
|
PowerShell
|
||||||
Pretrained
|
Pretrained
|
||||||
Pretraining
|
Pretraining
|
||||||
Primus
|
|
||||||
Profiler's
|
Profiler's
|
||||||
PyPi
|
PyPi
|
||||||
Pytest
|
Pytest
|
||||||
@@ -404,7 +350,6 @@ RDC's
|
|||||||
RDMA
|
RDMA
|
||||||
RDNA
|
RDNA
|
||||||
README
|
README
|
||||||
Recomputation
|
|
||||||
RHEL
|
RHEL
|
||||||
RMW
|
RMW
|
||||||
RNN
|
RNN
|
||||||
@@ -437,13 +382,11 @@ Ryzen
|
|||||||
SALU
|
SALU
|
||||||
SBIOS
|
SBIOS
|
||||||
SCA
|
SCA
|
||||||
ScaledGEMM
|
|
||||||
SDK
|
SDK
|
||||||
SDMA
|
SDMA
|
||||||
SDPA
|
SDPA
|
||||||
SDRAM
|
SDRAM
|
||||||
SENDMSG
|
SENDMSG
|
||||||
SGLang
|
|
||||||
SGPR
|
SGPR
|
||||||
SGPRs
|
SGPRs
|
||||||
SHA
|
SHA
|
||||||
@@ -455,9 +398,7 @@ SKU
|
|||||||
SKUs
|
SKUs
|
||||||
SLES
|
SLES
|
||||||
SLURM
|
SLURM
|
||||||
Slurm
|
|
||||||
SMEM
|
SMEM
|
||||||
SMFMA
|
|
||||||
SMI
|
SMI
|
||||||
SMT
|
SMT
|
||||||
SPI
|
SPI
|
||||||
@@ -469,26 +410,18 @@ SWE
|
|||||||
SerDes
|
SerDes
|
||||||
ShareGPT
|
ShareGPT
|
||||||
Shlens
|
Shlens
|
||||||
simd
|
|
||||||
Skylake
|
Skylake
|
||||||
Softmax
|
Softmax
|
||||||
Spack
|
Spack
|
||||||
SplitK
|
SplitK
|
||||||
Supermicro
|
Supermicro
|
||||||
Szegedy
|
Szegedy
|
||||||
TagRAM
|
|
||||||
TCA
|
TCA
|
||||||
TCC
|
TCC
|
||||||
TCCs
|
|
||||||
TCI
|
TCI
|
||||||
TCIU
|
TCIU
|
||||||
TCP
|
TCP
|
||||||
TCR
|
TCR
|
||||||
TVM
|
|
||||||
THREADGROUPS
|
|
||||||
threadgroups
|
|
||||||
TensorRT
|
|
||||||
TensorFloat
|
|
||||||
TF
|
TF
|
||||||
TFLOPS
|
TFLOPS
|
||||||
TP
|
TP
|
||||||
@@ -528,11 +461,9 @@ UltraChat
|
|||||||
Uncached
|
Uncached
|
||||||
Unittests
|
Unittests
|
||||||
Unhandled
|
Unhandled
|
||||||
unwindowed
|
|
||||||
VALU
|
VALU
|
||||||
VBIOS
|
VBIOS
|
||||||
VCN
|
VCN
|
||||||
verl's
|
|
||||||
VGPR
|
VGPR
|
||||||
VGPRs
|
VGPRs
|
||||||
VM
|
VM
|
||||||
@@ -545,13 +476,11 @@ Vanhoucke
|
|||||||
Vulkan
|
Vulkan
|
||||||
WGP
|
WGP
|
||||||
WGPs
|
WGPs
|
||||||
WR
|
|
||||||
WX
|
WX
|
||||||
WikiText
|
WikiText
|
||||||
Wojna
|
Wojna
|
||||||
Workgroups
|
Workgroups
|
||||||
Writebacks
|
Writebacks
|
||||||
xcc
|
|
||||||
XCD
|
XCD
|
||||||
XCDs
|
XCDs
|
||||||
XGBoost
|
XGBoost
|
||||||
@@ -564,7 +493,6 @@ Xilinx
|
|||||||
Xnack
|
Xnack
|
||||||
Xteam
|
Xteam
|
||||||
YAML
|
YAML
|
||||||
YAMLs
|
|
||||||
YML
|
YML
|
||||||
YModel
|
YModel
|
||||||
ZeRO
|
ZeRO
|
||||||
@@ -572,8 +500,6 @@ ZenDNN
|
|||||||
accuracies
|
accuracies
|
||||||
activations
|
activations
|
||||||
addr
|
addr
|
||||||
addEventListener
|
|
||||||
ade
|
|
||||||
ai
|
ai
|
||||||
alloc
|
alloc
|
||||||
allocatable
|
allocatable
|
||||||
@@ -581,17 +507,14 @@ allocator
|
|||||||
allocators
|
allocators
|
||||||
amdgpu
|
amdgpu
|
||||||
api
|
api
|
||||||
aten
|
|
||||||
atmi
|
atmi
|
||||||
atomics
|
atomics
|
||||||
autogenerated
|
autogenerated
|
||||||
autotune
|
autotune
|
||||||
avx
|
avx
|
||||||
awk
|
awk
|
||||||
az
|
|
||||||
backend
|
backend
|
||||||
backends
|
backends
|
||||||
bb
|
|
||||||
benchmarked
|
benchmarked
|
||||||
benchmarking
|
benchmarking
|
||||||
bfloat
|
bfloat
|
||||||
@@ -606,7 +529,6 @@ boson
|
|||||||
bosons
|
bosons
|
||||||
br
|
br
|
||||||
BrainFloat
|
BrainFloat
|
||||||
btn
|
|
||||||
buildable
|
buildable
|
||||||
bursty
|
bursty
|
||||||
bzip
|
bzip
|
||||||
@@ -616,23 +538,18 @@ cd
|
|||||||
centos
|
centos
|
||||||
centric
|
centric
|
||||||
changelog
|
changelog
|
||||||
checkpointing
|
|
||||||
chiplet
|
chiplet
|
||||||
classList
|
|
||||||
cmake
|
cmake
|
||||||
cmd
|
cmd
|
||||||
coalescable
|
coalescable
|
||||||
codename
|
codename
|
||||||
collater
|
collater
|
||||||
comgr
|
comgr
|
||||||
compat
|
|
||||||
completers
|
completers
|
||||||
composable
|
composable
|
||||||
concretization
|
concretization
|
||||||
config
|
config
|
||||||
configs
|
|
||||||
conformant
|
conformant
|
||||||
const
|
|
||||||
constructible
|
constructible
|
||||||
convolutional
|
convolutional
|
||||||
convolves
|
convolves
|
||||||
@@ -661,7 +578,6 @@ de
|
|||||||
deallocation
|
deallocation
|
||||||
debuggability
|
debuggability
|
||||||
debian
|
debian
|
||||||
deepseek
|
|
||||||
denoise
|
denoise
|
||||||
denoised
|
denoised
|
||||||
denoises
|
denoises
|
||||||
@@ -685,7 +601,6 @@ embeddings
|
|||||||
enablement
|
enablement
|
||||||
encodings
|
encodings
|
||||||
endfor
|
endfor
|
||||||
endif
|
|
||||||
endpgm
|
endpgm
|
||||||
enqueue
|
enqueue
|
||||||
env
|
env
|
||||||
@@ -696,7 +611,6 @@ exascale
|
|||||||
executables
|
executables
|
||||||
ffmpeg
|
ffmpeg
|
||||||
filesystem
|
filesystem
|
||||||
forEach
|
|
||||||
fortran
|
fortran
|
||||||
fp
|
fp
|
||||||
framebuffer
|
framebuffer
|
||||||
@@ -705,7 +619,6 @@ galb
|
|||||||
gcc
|
gcc
|
||||||
gdb
|
gdb
|
||||||
gemm
|
gemm
|
||||||
getAttribute
|
|
||||||
gfortran
|
gfortran
|
||||||
gfx
|
gfx
|
||||||
githooks
|
githooks
|
||||||
@@ -713,7 +626,6 @@ github
|
|||||||
globals
|
globals
|
||||||
gnupg
|
gnupg
|
||||||
grayscale
|
grayscale
|
||||||
gx
|
|
||||||
gzip
|
gzip
|
||||||
heterogenous
|
heterogenous
|
||||||
hipBLAS
|
hipBLAS
|
||||||
@@ -761,7 +673,6 @@ installable
|
|||||||
interop
|
interop
|
||||||
interprocedural
|
interprocedural
|
||||||
intra
|
intra
|
||||||
intrinsics
|
|
||||||
invariants
|
invariants
|
||||||
invocating
|
invocating
|
||||||
ipo
|
ipo
|
||||||
@@ -780,22 +691,17 @@ linearized
|
|||||||
linter
|
linter
|
||||||
linux
|
linux
|
||||||
llvm
|
llvm
|
||||||
lm
|
|
||||||
localscratch
|
localscratch
|
||||||
logits
|
logits
|
||||||
lossy
|
lossy
|
||||||
macOS
|
macOS
|
||||||
matchers
|
matchers
|
||||||
maxtext
|
|
||||||
megablocks
|
|
||||||
megatron
|
|
||||||
microarchitecture
|
microarchitecture
|
||||||
migraphx
|
migraphx
|
||||||
migratable
|
migratable
|
||||||
miopen
|
miopen
|
||||||
miopengemm
|
miopengemm
|
||||||
mivisionx
|
mivisionx
|
||||||
mixtral
|
|
||||||
mjx
|
mjx
|
||||||
mkdir
|
mkdir
|
||||||
mlirmiopen
|
mlirmiopen
|
||||||
@@ -816,7 +722,6 @@ opencv
|
|||||||
openmp
|
openmp
|
||||||
openssl
|
openssl
|
||||||
optimizers
|
optimizers
|
||||||
ol
|
|
||||||
os
|
os
|
||||||
oversubscription
|
oversubscription
|
||||||
pageable
|
pageable
|
||||||
@@ -826,7 +731,6 @@ parallelizing
|
|||||||
param
|
param
|
||||||
parameterization
|
parameterization
|
||||||
passthrough
|
passthrough
|
||||||
pe
|
|
||||||
perfcounter
|
perfcounter
|
||||||
performant
|
performant
|
||||||
perl
|
perl
|
||||||
@@ -849,14 +753,11 @@ 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
|
recommender
|
||||||
@@ -864,10 +765,7 @@ recommenders
|
|||||||
quantile
|
quantile
|
||||||
quantizer
|
quantizer
|
||||||
quasirandom
|
quasirandom
|
||||||
querySelector
|
|
||||||
querySelectorAll
|
|
||||||
queueing
|
queueing
|
||||||
qwen
|
|
||||||
radeon
|
radeon
|
||||||
rccl
|
rccl
|
||||||
rdc
|
rdc
|
||||||
@@ -876,7 +774,6 @@ reStructuredText
|
|||||||
redirections
|
redirections
|
||||||
refactorization
|
refactorization
|
||||||
reformats
|
reformats
|
||||||
reinforcememt
|
|
||||||
repo
|
repo
|
||||||
repos
|
repos
|
||||||
representativeness
|
representativeness
|
||||||
@@ -884,9 +781,6 @@ req
|
|||||||
resampling
|
resampling
|
||||||
rescaling
|
rescaling
|
||||||
reusability
|
reusability
|
||||||
rhel
|
|
||||||
rl
|
|
||||||
RLHF
|
|
||||||
roadmap
|
roadmap
|
||||||
roc
|
roc
|
||||||
rocAL
|
rocAL
|
||||||
@@ -924,29 +818,22 @@ roctracer
|
|||||||
rst
|
rst
|
||||||
runtime
|
runtime
|
||||||
runtimes
|
runtimes
|
||||||
ResNet
|
|
||||||
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
|
||||||
sles
|
|
||||||
sm
|
sm
|
||||||
smi
|
smi
|
||||||
softmax
|
softmax
|
||||||
spack
|
spack
|
||||||
spmm
|
|
||||||
src
|
src
|
||||||
stanford
|
|
||||||
stochastically
|
stochastically
|
||||||
strided
|
strided
|
||||||
subcommand
|
subcommand
|
||||||
@@ -954,19 +841,15 @@ subdirectory
|
|||||||
subexpression
|
subexpression
|
||||||
subfolder
|
subfolder
|
||||||
subfolders
|
subfolders
|
||||||
submatrix
|
|
||||||
submodule
|
submodule
|
||||||
submodules
|
submodules
|
||||||
subnet
|
|
||||||
supercomputing
|
supercomputing
|
||||||
symlink
|
symlink
|
||||||
symlinks
|
symlinks
|
||||||
sys
|
sys
|
||||||
tabindex
|
tabindex
|
||||||
targetContainer
|
|
||||||
td
|
td
|
||||||
tensorfloat
|
tensorfloat
|
||||||
tf
|
|
||||||
th
|
th
|
||||||
tokenization
|
tokenization
|
||||||
tokenize
|
tokenize
|
||||||
@@ -977,12 +860,10 @@ toolchain
|
|||||||
toolchains
|
toolchains
|
||||||
toolset
|
toolset
|
||||||
toolsets
|
toolsets
|
||||||
torchtitan
|
|
||||||
torchvision
|
torchvision
|
||||||
tqdm
|
tqdm
|
||||||
tracebacks
|
tracebacks
|
||||||
txt
|
txt
|
||||||
TopK
|
|
||||||
uarch
|
uarch
|
||||||
uncached
|
uncached
|
||||||
uncacheable
|
uncacheable
|
||||||
@@ -1010,7 +891,6 @@ vectorize
|
|||||||
vectorized
|
vectorized
|
||||||
vectorizer
|
vectorizer
|
||||||
vectorizes
|
vectorizes
|
||||||
verl
|
|
||||||
virtualize
|
virtualize
|
||||||
virtualized
|
virtualized
|
||||||
vjxb
|
vjxb
|
||||||
|
|||||||
2090
CHANGELOG.md
2090
CHANGELOG.md
File diff suppressed because it is too large
Load Diff
140
README.md
140
README.md
@@ -19,14 +19,142 @@ ROCm supports programming models, such as OpenMP and OpenCL, and includes all ne
|
|||||||
source software compilers, debuggers, and libraries. ROCm is fully integrated into machine learning
|
source software compilers, debuggers, and libraries. ROCm is fully integrated into machine learning
|
||||||
(ML) frameworks, such as PyTorch and TensorFlow.
|
(ML) frameworks, such as PyTorch and TensorFlow.
|
||||||
|
|
||||||
> [!IMPORTANT]
|
## Getting the ROCm Source Code
|
||||||
> A new open source build platform for ROCm is under development at
|
|
||||||
> https://github.com/ROCm/TheRock, featuring a unified CMake build with bundled
|
|
||||||
> dependencies, Windows support, and more.
|
|
||||||
|
|
||||||
## Getting and Building ROCm from Source
|
AMD ROCm is built from open source software. It is, therefore, possible to modify the various components of ROCm by downloading the source code and rebuilding the components. The source code for ROCm components can be cloned from each of the GitHub repositories using git. For easy access to download the correct versions of each of these tools, the ROCm repository contains a repo manifest file called [default.xml](./default.xml). You can use this manifest file to download the source code for ROCm software.
|
||||||
|
|
||||||
Please use [TheRock](https://github.com/ROCm/TheRock) build system to build ROCm from source.
|
### Installing the repo tool
|
||||||
|
|
||||||
|
The repo tool from Google allows you to manage multiple git repositories simultaneously. Run the following commands to install the repo tool:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir -p ~/bin/
|
||||||
|
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
|
||||||
|
chmod a+x ~/bin/repo
|
||||||
|
```
|
||||||
|
|
||||||
|
**Note:** The ```~/bin/``` folder is used as an example. You can specify a different folder to install the repo tool into if you desire.
|
||||||
|
|
||||||
|
### Installing git-lfs
|
||||||
|
|
||||||
|
Some ROCm projects use the Git Large File Storage (LFS) format that may require you to install git-lfs. Refer to [Git Large File Storage](https://github.com/git-lfs/git-lfs/blob/main/INSTALLING.md) for more information. For example, to install git-lfs for Ubuntu, use the following command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo apt-get install git-lfs
|
||||||
|
```
|
||||||
|
|
||||||
|
### Downloading the ROCm source code
|
||||||
|
|
||||||
|
The following example shows how to use the repo tool to download the ROCm source code. If you choose a directory other than ~/bin/ to install the repo tool, you must use that chosen directory in the code as shown below:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir -p ~/ROCm/
|
||||||
|
cd ~/ROCm/
|
||||||
|
export ROCM_VERSION=6.4.0
|
||||||
|
~/bin/repo init -u http://github.com/ROCm/ROCm.git -b roc-6.4.x -m tools/rocm-build/rocm-${ROCM_VERSION}.xml
|
||||||
|
~/bin/repo sync
|
||||||
|
```
|
||||||
|
|
||||||
|
**Note:** Using this sample code will cause the repo tool to download the open source code associated with the specified ROCm release. Ensure that you have ssh-keys configured on your machine for your GitHub ID prior to the download as explained at [Connecting to GitHub with SSH](https://docs.github.com/en/authentication/connecting-to-github-with-ssh).
|
||||||
|
|
||||||
|
## Building the ROCm source code
|
||||||
|
|
||||||
|
Each ROCm component repository contains directions for building that component, such as the rocSPARSE documentation [Installation and Building for Linux](https://rocm.docs.amd.com/projects/rocSPARSE/en/latest/install/Linux_Install_Guide.html). Refer to the specific component documentation for instructions on building the repository.
|
||||||
|
|
||||||
|
Each release of the ROCm software supports specific hardware and software configurations. Refer to [System requirements (Linux)](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html) for the current supported hardware and OS.
|
||||||
|
|
||||||
|
## Build ROCm from source
|
||||||
|
|
||||||
|
The Build will use as many processors as it can find to build in parallel. Some of the compiles can consume as much as 10GB of RAM, so make sure you have plenty of Swap Space !
|
||||||
|
|
||||||
|
By default the ROCm build will compile for all supported GPU architectures and will take approximately 500 CPU hours.
|
||||||
|
The Build time will reduce significantly if we limit the GPU Architecture/s against which we need to build by using the environment variable GPU_ARCHS as mentioned below.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# --------------------------------------
|
||||||
|
# Step1: clone source code
|
||||||
|
# --------------------------------------
|
||||||
|
|
||||||
|
mkdir -p ~/WORKSPACE/ # Or any folder name other than WORKSPACE
|
||||||
|
cd ~/WORKSPACE/
|
||||||
|
export ROCM_VERSION=6.4.0
|
||||||
|
~/bin/repo init -u http://github.com/ROCm/ROCm.git -b roc-6.4.x -m tools/rocm-build/rocm-${ROCM_VERSION}.xml
|
||||||
|
~/bin/repo sync
|
||||||
|
|
||||||
|
# --------------------------------------
|
||||||
|
# Step 2: Prepare build environment
|
||||||
|
# --------------------------------------
|
||||||
|
|
||||||
|
# Option 1: Start a docker container
|
||||||
|
# Pulling required base docker images:
|
||||||
|
# Ubuntu22.04 built from ROCm/tools/rocm-build/docker/ubuntu22/Dockerfile
|
||||||
|
docker pull rocm/rocm-build-ubuntu-22.04:6.4
|
||||||
|
# Ubuntu24.04 built from ROCm/tools/rocm-build/docker/ubuntu24/Dockerfile
|
||||||
|
docker pull rocm/rocm-build-ubuntu-24.04:6.4
|
||||||
|
|
||||||
|
# Start docker container and mount the source code folder:
|
||||||
|
docker run -ti \
|
||||||
|
-e ROCM_VERSION=${ROCM_VERSION} \
|
||||||
|
-e CCACHE_DIR=$HOME/.ccache \
|
||||||
|
-e CCACHE_ENABLED=true \
|
||||||
|
-e DOCK_WORK_FOLD=/src \
|
||||||
|
-w /src \
|
||||||
|
-v $PWD:/src \
|
||||||
|
-v /etc/passwd:/etc/passwd \
|
||||||
|
-v /etc/shadow:/etc/shadow \
|
||||||
|
-v ${HOME}/.ccache:${HOME}/.ccache \
|
||||||
|
-u $(id -u):$(id -g) \
|
||||||
|
<replace_with_required_ubuntu_base_docker_image> bash
|
||||||
|
|
||||||
|
# Option 2: Install required packages into the host machine
|
||||||
|
# For ubuntu22.04 system
|
||||||
|
cd ROCm/tools/rocm-build/docker/ubuntu22
|
||||||
|
cp * /tmp && cd /tmp
|
||||||
|
bash install-prerequisites.sh
|
||||||
|
# For ubuntu24.04 system
|
||||||
|
cd ROCm/tools/rocm-build/docker/ubuntu24
|
||||||
|
cp * /tmp && cd /tmp
|
||||||
|
bash install-prerequisites.sh
|
||||||
|
|
||||||
|
# --------------------------------------
|
||||||
|
# Step 3: Run build command line
|
||||||
|
# --------------------------------------
|
||||||
|
|
||||||
|
# Select GPU targets before building:
|
||||||
|
# When GPU_ARCHS is not set, default GPU targets supported by ROCm6.1 will be used.
|
||||||
|
# To build against a subset of GFX architectures you can use the below env variable.
|
||||||
|
# Support MI300 (gfx940, gfx941, gfx942).
|
||||||
|
export GPU_ARCHS="gfx942" # Example
|
||||||
|
export GPU_ARCHS="gfx940;gfx941;gfx942" # Example
|
||||||
|
|
||||||
|
# Pick and run build commands in the docker container:
|
||||||
|
# Build rocm-dev packages
|
||||||
|
make -f ROCm/tools/rocm-build/ROCm.mk -j ${NPROC:-$(nproc)} rocm-dev
|
||||||
|
# Build all ROCm packages
|
||||||
|
make -f ROCm/tools/rocm-build/ROCm.mk -j ${NPROC:-$(nproc)} all
|
||||||
|
# list all ROCm components to find required components
|
||||||
|
make -f ROCm/tools/rocm-build/ROCm.mk list_components
|
||||||
|
# Build a single ROCm packages
|
||||||
|
make -f ROCm/tools/rocm-build/ROCm.mk T_rocblas
|
||||||
|
|
||||||
|
# Find built packages in ubuntu22.04:
|
||||||
|
out/ubuntu-22.04/22.04/deb/
|
||||||
|
# Find built packages in ubuntu24.04:
|
||||||
|
out/ubuntu-24.04/24.04/deb/
|
||||||
|
|
||||||
|
# Find built logs in ubuntu22.04:
|
||||||
|
out/ubuntu-22.04/22.04/logs/
|
||||||
|
# Find built logs in ubuntu24.04:
|
||||||
|
out/ubuntu-24.04/24.04/logs/
|
||||||
|
# All logs pertaining to failed components, end with .errrors extension.
|
||||||
|
out/ubuntu-22.04/22.04/logs/rocblas.errors # Example
|
||||||
|
# All logs pertaining to building components, end with .inprogress extension.
|
||||||
|
out/ubuntu-22.04/22.04/logs/rocblas.inprogress # Example
|
||||||
|
# All logs pertaining to passed components, use the component names.
|
||||||
|
out/ubuntu-22.04/22.04/logs/rocblas # Example
|
||||||
|
```
|
||||||
|
|
||||||
|
Note: [Overview for ROCm.mk](tools/rocm-build/README.md)
|
||||||
|
|
||||||
## ROCm documentation
|
## ROCm documentation
|
||||||
|
|
||||||
|
|||||||
3380
RELEASE.md
3380
RELEASE.md
File diff suppressed because it is too large
Load Diff
27
default.xml
27
default.xml
@@ -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.0"
|
<default revision="refs/tags/rocm-6.4.0"
|
||||||
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,26 +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="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="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" />
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ additional licenses. Please review individual repositories for more information.
|
|||||||
| [AMD SMI](https://github.com/ROCm/amdsmi) | [MIT](https://github.com/ROCm/amdsmi/blob/amd-staging/LICENSE) |
|
| [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](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) |
|
| [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) |
|
| [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) |
|
| [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) |
|
| [half](https://github.com/ROCm/half/) | [MIT](https://github.com/ROCm/half/blob/rocm/LICENSE.txt) |
|
||||||
@@ -47,10 +46,11 @@ additional licenses. Please review individual repositories for more information.
|
|||||||
| [hipSPARSE](https://github.com/ROCm/hipSPARSE/) | [MIT](https://github.com/ROCm/hipSPARSE/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) |
|
| [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) |
|
| [hipTensor](https://github.com/ROCm/hipTensor) | [MIT](https://github.com/ROCm/hipTensor/blob/develop/LICENSE) |
|
||||||
|
| hsa-amd-aqlprofile | [AMD Software EULA](https://www.amd.com/en/legal/eula/amd-software-eula.html) |
|
||||||
| [llvm-project](https://github.com/ROCm/llvm-project/) | [Apache](https://github.com/ROCm/llvm-project/blob/amd-staging/LICENSE.TXT) |
|
| [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) |
|
| [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) |
|
| [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) |
|
| [MIOpen](https://github.com/ROCm/MIOpen/) | [MIT](https://github.com/ROCm/MIOpen/blob/develop/LICENSE.txt) |
|
||||||
| [MIVisionX](https://github.com/ROCm/MIVisionX/) | [MIT](https://github.com/ROCm/MIVisionX/blob/develop/LICENSE.txt) |
|
| [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) |
|
| [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) |
|
| [rocALUTION](https://github.com/ROCm/rocALUTION/) | [MIT](https://github.com/ROCm/rocALUTION/blob/develop/LICENSE.md) |
|
||||||
@@ -67,15 +67,15 @@ additional licenses. Please review individual repositories for more information.
|
|||||||
| [ROCm Communication Collectives Library (RCCL)](https://github.com/ROCm/rccl/) | [Custom](https://github.com/ROCm/rccl/blob/develop/LICENSE.txt) |
|
| [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-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 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 Data Center (RDC)](https://github.com/ROCm/rdc/) | [MIT](https://github.com/ROCm/rdc/blob/amd-staging/LICENSE) |
|
||||||
| [ROCm-Device-Libs](https://github.com/ROCm/llvm-project/tree/amd-staging/amd/device-libs) | [The University of Illinois/NCSA](https://github.com/ROCm/llvm-project/blob/amd-staging/amd/device-libs/LICENSE.TXT) |
|
| [ROCm-Device-Libs](https://github.com/ROCm/llvm-project/tree/amd-staging/amd/device-libs) | [The University of Illinois/NCSA](https://github.com/ROCm/llvm-project/blob/amd-staging/amd/device-libs/LICENSE.TXT) |
|
||||||
| [ROCm-OpenCL-Runtime](https://github.com/ROCm/clr/tree/amd-staging/opencl) | [MIT](https://github.com/ROCm/clr/blob/amd-staging/opencl/LICENSE.txt) |
|
| [ROCm-OpenCL-Runtime](https://github.com/ROCm/clr/tree/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 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 SMI Lib](https://github.com/ROCm/rocm_smi_lib/) | [MIT](https://github.com/ROCm/rocm_smi_lib/blob/amd-staging/License.txt) |
|
||||||
| [ROCm Systems Profiler](https://github.com/ROCm/rocprofiler-systems) | [MIT](https://github.com/ROCm/rocprofiler-systems/blob/amd-staging/LICENSE.md) |
|
| [ROCm Systems Profiler](https://github.com/ROCm/rocprofiler-systems) | [MIT](https://github.com/ROCm/rocprofiler-systems/blob/amd-staging/LICENSE) |
|
||||||
| [ROCm Validation Suite](https://github.com/ROCm/ROCmValidationSuite/) | [MIT](https://github.com/ROCm/ROCmValidationSuite/blob/master/LICENSE) |
|
| [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) |
|
| [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](https://github.com/ROCm/rocprofiler/) | [MIT](https://github.com/ROCm/rocprofiler/blob/amd-staging/LICENSE) |
|
||||||
| [ROCprofiler-SDK](https://github.com/ROCm/rocprofiler-sdk) | [MIT](https://github.com/ROCm/rocprofiler-sdk/blob/amd-mainline/LICENSE) |
|
| [ROCprofiler-SDK](https://github.com/ROCm/rocprofiler-sdk) | [MIT](https://github.com/ROCm/rocprofiler-sdk/blob/amd-mainline/LICENSE) |
|
||||||
| [rocPyDecode](https://github.com/ROCm/rocPyDecode) | [MIT](https://github.com/ROCm/rocPyDecode/blob/develop/LICENSE.txt) |
|
| [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) |
|
| [rocRAND](https://github.com/ROCm/rocRAND/) | [MIT](https://github.com/ROCm/rocRAND/blob/develop/LICENSE.txt) |
|
||||||
@@ -132,10 +132,12 @@ companies.
|
|||||||
### Package licensing
|
### Package licensing
|
||||||
|
|
||||||
:::{attention}
|
:::{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,
|
AQL Profiler and AOCC CPU optimization are both provided in binary form, each
|
||||||
copying or distributing ROCprof Trace Decoder or AOCC CPU Optimizations, you agree to
|
subject to the license agreement enclosed in the directory for the binary available
|
||||||
|
in `/opt/rocm/share/doc/hsa-amd-aqlprofile/EULA`. By using, installing,
|
||||||
|
copying or distributing AQL Profiler and/or AOCC CPU Optimizations, you agree to
|
||||||
the terms and conditions of this license agreement. If you do not agree to the
|
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
|
terms of this agreement, do not install, copy or use the AQL Profiler and/or the
|
||||||
AOCC CPU Optimizations.
|
AOCC CPU Optimizations.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
|||||||
@@ -1,136 +1,121 @@
|
|||||||
ROCm Version,7.0.0,6.4.3,6.4.2,6.4.1,6.4.0,6.3.3,6.3.2,6.3.1,6.3.0,6.2.4,6.2.2,6.2.1,6.2.0, 6.1.5, 6.1.2, 6.1.1, 6.1.0, 6.0.2, 6.0.0
|
ROCm Version,6.4.0,6.3.3,6.3.2,6.3.1,6.3.0,6.2.4,6.2.2,6.2.1,6.2.0, 6.1.5, 6.1.2, 6.1.1, 6.1.0, 6.0.2, 6.0.0
|
||||||
:ref:`Operating systems & kernels <OS-kernel-versions>`,Ubuntu 24.04.3,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,"Ubuntu 24.04.1, 24.04","Ubuntu 24.04.1, 24.04","Ubuntu 24.04.1, 24.04",Ubuntu 24.04,,,,,,
|
:ref:`Operating systems & kernels <OS-kernel-versions>`,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,"Ubuntu 24.04.1, 24.04","Ubuntu 24.04.1, 24.04","Ubuntu 24.04.1, 24.04",Ubuntu 24.04,,,,,,
|
||||||
,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,"Ubuntu 22.04.5, 22.04.4","Ubuntu 22.04.5, 22.04.4","Ubuntu 22.04.5, 22.04.4","Ubuntu 22.04.5, 22.04.4","Ubuntu 22.04.5, 22.04.4, 22.04.3","Ubuntu 22.04.4, 22.04.3","Ubuntu 22.04.4, 22.04.3","Ubuntu 22.04.4, 22.04.3","Ubuntu 22.04.4, 22.04.3, 22.04.2","Ubuntu 22.04.4, 22.04.3, 22.04.2"
|
,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,"Ubuntu 22.04.5, 22.04.4","Ubuntu 22.04.5, 22.04.4","Ubuntu 22.04.5, 22.04.4","Ubuntu 22.04.5, 22.04.4","Ubuntu 22.04.5, 22.04.4, 22.04.3","Ubuntu 22.04.4, 22.04.3","Ubuntu 22.04.4, 22.04.3","Ubuntu 22.04.4, 22.04.3","Ubuntu 22.04.4, 22.04.3, 22.04.2","Ubuntu 22.04.4, 22.04.3, 22.04.2"
|
||||||
,,,,,,,,,,,,,,"Ubuntu 20.04.6, 20.04.5","Ubuntu 20.04.6, 20.04.5","Ubuntu 20.04.6, 20.04.5","Ubuntu 20.04.6, 20.04.5","Ubuntu 20.04.6, 20.04.5","Ubuntu 20.04.6, 20.04.5"
|
,,,,,,,,,,"Ubuntu 20.04.6, 20.04.5","Ubuntu 20.04.6, 20.04.5","Ubuntu 20.04.6, 20.04.5","Ubuntu 20.04.6, 20.04.5","Ubuntu 20.04.6, 20.04.5","Ubuntu 20.04.6, 20.04.5"
|
||||||
,"RHEL 9.6, 9.4","RHEL 9.6, 9.4","RHEL 9.6, 9.4","RHEL 9.6, 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.4, 9.3","RHEL 9.4, 9.3","RHEL 9.4, 9.3","RHEL 9.4, 9.3","RHEL 9.4, 9.3, 9.2","RHEL 9.4, 9.3, 9.2","RHEL 9.4, 9.3, 9.2","RHEL 9.4, 9.3, 9.2","RHEL 9.3, 9.2","RHEL 9.3, 9.2"
|
,"RHEL 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.4, 9.3","RHEL 9.4, 9.3","RHEL 9.4, 9.3","RHEL 9.4, 9.3","RHEL 9.4, 9.3, 9.2","RHEL 9.4, 9.3, 9.2","RHEL 9.4, 9.3, 9.2","RHEL 9.4, 9.3, 9.2","RHEL 9.3, 9.2","RHEL 9.3, 9.2"
|
||||||
,RHEL 8.10 [#rhel-700-past-60]_,RHEL 8.10,RHEL 8.10,RHEL 8.10,RHEL 8.10,RHEL 8.10,RHEL 8.10,RHEL 8.10,RHEL 8.10,"RHEL 8.10, 8.9","RHEL 8.10, 8.9","RHEL 8.10, 8.9","RHEL 8.10, 8.9","RHEL 8.9, 8.8","RHEL 8.9, 8.8","RHEL 8.9, 8.8","RHEL 8.9, 8.8","RHEL 8.9, 8.8","RHEL 8.9, 8.8"
|
,RHEL 8.10,RHEL 8.10,RHEL 8.10,RHEL 8.10,RHEL 8.10,"RHEL 8.10, 8.9","RHEL 8.10, 8.9","RHEL 8.10, 8.9","RHEL 8.10, 8.9","RHEL 8.9, 8.8","RHEL 8.9, 8.8","RHEL 8.9, 8.8","RHEL 8.9, 8.8","RHEL 8.9, 8.8","RHEL 8.9, 8.8"
|
||||||
,SLES 15 SP7 [#sles-db-700-past-60]_,"SLES 15 SP7, SP6","SLES 15 SP7, SP6",SLES 15 SP6,SLES 15 SP6,"SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP5, SP4","SLES 15 SP5, SP4","SLES 15 SP5, SP4","SLES 15 SP5, SP4","SLES 15 SP5, SP4","SLES 15 SP5, SP4"
|
,SLES 15 SP6,"SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP5, SP4","SLES 15 SP5, SP4","SLES 15 SP5, SP4","SLES 15 SP5, SP4","SLES 15 SP5, SP4","SLES 15 SP5, SP4"
|
||||||
,,,,,,,,,,,,,,,CentOS 7.9,CentOS 7.9,CentOS 7.9,CentOS 7.9,CentOS 7.9
|
,,,,,,,,,,,CentOS 7.9,CentOS 7.9,CentOS 7.9,CentOS 7.9,CentOS 7.9
|
||||||
,"Oracle Linux 9, 8 [#ol-700-mi300x-past-60]_","Oracle Linux 9, 8 [#mi300x-past-60]_","Oracle Linux 9, 8 [#mi300x-past-60]_","Oracle Linux 9, 8 [#mi300x-past-60]_","Oracle Linux 9, 8 [#mi300x-past-60]_",Oracle Linux 8.10 [#mi300x-past-60]_,Oracle Linux 8.10 [#mi300x-past-60]_,Oracle Linux 8.10 [#mi300x-past-60]_,Oracle Linux 8.10 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,,,
|
,"Oracle Linux 9, 8 [#mi300x-past-60]_",Oracle Linux 8.10 [#mi300x-past-60]_,Oracle Linux 8.10 [#mi300x-past-60]_,Oracle Linux 8.10 [#mi300x-past-60]_,Oracle Linux 8.10 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,,,
|
||||||
,Debian 12 [#sles-db-700-past-60]_,Debian 12 [#single-node-past-60]_,Debian 12 [#single-node-past-60]_,Debian 12 [#single-node-past-60]_,Debian 12 [#single-node-past-60]_,Debian 12 [#single-node-past-60]_,Debian 12 [#single-node-past-60]_,Debian 12 [#single-node-past-60]_,,,,,,,,,,,
|
,Debian 12 [#single-node-past-60]_,Debian 12 [#single-node-past-60]_,Debian 12 [#single-node-past-60]_,Debian 12 [#single-node-past-60]_,,,,,,,,,,,
|
||||||
,Azure Linux 3.0 [#az-mi300x-past-60]_,Azure Linux 3.0 [#az-mi300x-past-60]_,Azure Linux 3.0 [#az-mi300x-past-60]_,Azure Linux 3.0 [#az-mi300x-past-60]_,Azure Linux 3.0 [#az-mi300x-past-60]_,Azure Linux 3.0 [#az-mi300x-630-past-60]_,Azure Linux 3.0 [#az-mi300x-630-past-60]_,,,,,,,,,,,,
|
,Azure Linux 3.0 [#mi300x-past-60]_,Azure Linux 3.0 [#mi300x-past-60]_,Azure Linux 3.0 [#mi300x-past-60]_,,,,,,,,,,,,
|
||||||
,Rocky Linux 9 [#rl-700-past-60]_,,,,,,,,,,,,,,,,,,
|
,.. _architecture-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
,.. _architecture-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,,,,,
|
:doc:`Architecture <rocm-install-on-linux:reference/system-requirements>`,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3
|
||||||
:doc:`Architecture <rocm-install-on-linux:reference/system-requirements>`,CDNA4,,,,,,,,,,,,,,,,,,
|
,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2
|
||||||
,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3
|
,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA
|
||||||
,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2
|
,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3
|
||||||
,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA
|
,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2
|
||||||
,RDNA4,RDNA4,RDNA4,RDNA4,,,,,,,,,,,,,,,
|
,.. _gpu-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3
|
:doc:`GPU / LLVM target <rocm-install-on-linux:reference/system-requirements>`,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100
|
||||||
,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2
|
,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030
|
||||||
,.. _gpu-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,,,,,
|
,gfx942,gfx942,gfx942,gfx942,gfx942,gfx942 [#mi300_624-past-60]_,gfx942 [#mi300_622-past-60]_,gfx942 [#mi300_621-past-60]_,gfx942 [#mi300_620-past-60]_, gfx942 [#mi300_612-past-60]_, gfx942 [#mi300_612-past-60]_, gfx942 [#mi300_611-past-60]_, gfx942 [#mi300_610-past-60]_, gfx942 [#mi300_602-past-60]_, gfx942 [#mi300_600-past-60]_
|
||||||
:doc:`GPU / LLVM target <rocm-install-on-linux:reference/system-requirements>`,gfx950 [#mi350x-os-past-60]_,,,,,,,,,,,,,,,,,,
|
,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a
|
||||||
,gfx1201 [#RDNA-OS-700-past-60]_,gfx1201 [#RDNA-OS-past-60]_,gfx1201 [#RDNA-OS-past-60]_,gfx1201 [#RDNA-OS-past-60]_,,,,,,,,,,,,,,,
|
,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908
|
||||||
,gfx1200 [#RDNA-OS-700-past-60]_,gfx1200 [#RDNA-OS-past-60]_,gfx1200 [#RDNA-OS-past-60]_,gfx1200 [#RDNA-OS-past-60]_,,,,,,,,,,,,,,,
|
,,,,,,,,,,,,,,,
|
||||||
,gfx1101 [#RDNA-OS-700-past-60]_ [#rd-v710-past-60]_,gfx1101 [#RDNA-OS-past-60]_ [#7700XT-OS-past-60]_,gfx1101 [#RDNA-OS-past-60]_ [#7700XT-OS-past-60]_,gfx1101 [#RDNA-OS-past-60]_,,,,,,,,,,,,,,,
|
FRAMEWORK SUPPORT,.. _framework-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
,gfx1100 [#RDNA-OS-700-past-60]_,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100
|
:doc:`PyTorch <../compatibility/ml-compatibility/pytorch-compatibility>`,"2.6, 2.5, 2.4, 2.3","2.4, 2.3, 2.2, 1.13","2.4, 2.3, 2.2, 1.13","2.4, 2.3, 2.2, 1.13","2.4, 2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13"
|
||||||
,gfx1030 [#RDNA-OS-700-past-60]_ [#rd-v620-past-60]_,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030
|
:doc:`TensorFlow <../compatibility/ml-compatibility/tensorflow-compatibility>`,"2.18.1, 2.17.1, 2.16.2","2.17.0, 2.16.2, 2.15.1","2.17.0, 2.16.2, 2.15.1","2.17.0, 2.16.2, 2.15.1","2.17.0, 2.16.2, 2.15.1","2.16.1, 2.15.1, 2.14.1","2.16.1, 2.15.1, 2.14.1","2.16.1, 2.15.1, 2.14.1","2.16.1, 2.15.1, 2.14.1","2.15.0, 2.14.0, 2.13.1","2.15.0, 2.14.0, 2.13.1","2.15.0, 2.14.0, 2.13.1","2.15.0, 2.14.0, 2.13.1","2.14.0, 2.13.1, 2.12.1","2.14.0, 2.13.1, 2.12.1"
|
||||||
,gfx942 [#mi325x-os-past-60]_ [#mi300x-os-past-60]_ [#mi300A-os-past-60]_,gfx942,gfx942,gfx942,gfx942,gfx942,gfx942,gfx942,gfx942,gfx942 [#mi300_624-past-60]_,gfx942 [#mi300_622-past-60]_,gfx942 [#mi300_621-past-60]_,gfx942 [#mi300_620-past-60]_, gfx942 [#mi300_612-past-60]_, gfx942 [#mi300_612-past-60]_, gfx942 [#mi300_611-past-60]_, gfx942 [#mi300_610-past-60]_, gfx942 [#mi300_602-past-60]_, gfx942 [#mi300_600-past-60]_
|
:doc:`JAX <../compatibility/ml-compatibility/jax-compatibility>`,0.4.35,0.4.31,0.4.31,0.4.31,0.4.31,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26
|
||||||
,gfx90a [#mi200x-os-past-60]_,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a
|
`ONNX Runtime <https://onnxruntime.ai/docs/build/eps.html#amd-migraphx>`_,1.2,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.14.1,1.14.1
|
||||||
,gfx908 [#mi100-os-past-60]_,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908
|
,,,,,,,,,,,,,,,
|
||||||
,,,,,,,,,,,,,,,,,,,
|
THIRD PARTY COMMS,.. _thirdpartycomms-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
FRAMEWORK SUPPORT,.. _framework-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,,,,,
|
`UCC <https://github.com/ROCm/ucc>`_,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.2.0,>=1.2.0
|
||||||
:doc:`PyTorch <../compatibility/ml-compatibility/pytorch-compatibility>`,"2.7, 2.6, 2.5","2.6, 2.5, 2.4, 2.3","2.6, 2.5, 2.4, 2.3","2.6, 2.5, 2.4, 2.3","2.6, 2.5, 2.4, 2.3","2.4, 2.3, 2.2, 1.13","2.4, 2.3, 2.2, 1.13","2.4, 2.3, 2.2, 1.13","2.4, 2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13"
|
`UCX <https://github.com/ROCm/ucx>`_,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.14.1,>=1.14.1,>=1.14.1,>=1.14.1,>=1.14.1,>=1.14.1
|
||||||
:doc:`TensorFlow <../compatibility/ml-compatibility/tensorflow-compatibility>`,"2.19.1, 2.18.1, 2.17.1 [#tf-mi350-past-60]_","2.18.1, 2.17.1, 2.16.2","2.18.1, 2.17.1, 2.16.2","2.18.1, 2.17.1, 2.16.2","2.18.1, 2.17.1, 2.16.2","2.17.0, 2.16.2, 2.15.1","2.17.0, 2.16.2, 2.15.1","2.17.0, 2.16.2, 2.15.1","2.17.0, 2.16.2, 2.15.1","2.16.1, 2.15.1, 2.14.1","2.16.1, 2.15.1, 2.14.1","2.16.1, 2.15.1, 2.14.1","2.16.1, 2.15.1, 2.14.1","2.15.0, 2.14.0, 2.13.1","2.15.0, 2.14.0, 2.13.1","2.15.0, 2.14.0, 2.13.1","2.15.0, 2.14.0, 2.13.1","2.14.0, 2.13.1, 2.12.1","2.14.0, 2.13.1, 2.12.1"
|
,,,,,,,,,,,,,,,
|
||||||
:doc:`JAX <../compatibility/ml-compatibility/jax-compatibility>`,0.6.0,0.4.35,0.4.35,0.4.35,0.4.35,0.4.31,0.4.31,0.4.31,0.4.31,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26
|
THIRD PARTY ALGORITHM,.. _thirdpartyalgorithm-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
:doc:`verl <../compatibility/ml-compatibility/verl-compatibility>` [#verl_compat-past-60]_,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,0.3.0.post0,N/A,N/A,N/A,N/A,N/A,N/A
|
Thrust,2.5.0,2.3.2,2.3.2,2.3.2,2.3.2,2.2.0,2.2.0,2.2.0,2.2.0,2.1.0,2.1.0,2.1.0,2.1.0,2.0.1,2.0.1
|
||||||
:doc:`Stanford Megatron-LM <../compatibility/ml-compatibility/stanford-megatron-lm-compatibility>` [#stanford-megatron-lm_compat-past-60]_,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,85f95ae,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A
|
CUB,2.5.0,2.3.2,2.3.2,2.3.2,2.3.2,2.2.0,2.2.0,2.2.0,2.2.0,2.1.0,2.1.0,2.1.0,2.1.0,2.0.1,2.0.1
|
||||||
:doc:`DGL <../compatibility/ml-compatibility/dgl-compatibility>` [#dgl_compat-past-60]_,N/A,N/A,N/A,N/A,2.4.0,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A
|
,,,,,,,,,,,,,,,
|
||||||
:doc:`Megablocks <../compatibility/ml-compatibility/megablocks-compatibility>` [#megablocks_compat-past-60]_,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,0.7.0,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A
|
KMD & USER SPACE [#kfd_support-past-60]_,.. _kfd-userspace-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
:doc:`Ray <../compatibility/ml-compatibility/ray-compatibility>` [#ray_compat-past-60]_,N/A,N/A,N/A,2.48.0.post0,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A
|
KMD versions,"6.4.x, 6.3.x","6.4.x, 6.3.x, 6.2.x, 6.1.x","6.4.x, 6.3.x, 6.2.x, 6.1.x","6.4.x, 6.3.x, 6.2.x, 6.1.x","6.4.x, 6.3.x, 6.2.x, 6.1.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x, 5.7.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x, 5.7.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x, 5.7.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x, 5.7.x","6.2.x, 6.1.x, 6.0.x, 5.7.x, 5.6.x","6.2.x, 6.1.x, 6.0.x, 5.7.x, 5.6.x"
|
||||||
:doc:`llama.cpp <../compatibility/ml-compatibility/llama-cpp-compatibility>` [#llama-cpp_compat-past-60]_,b6356,b6356,b6356,b6356,b5997,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A
|
,,,,,,,,,,,,,,,
|
||||||
:doc:`FlashInfer <../compatibility/ml-compatibility/flashinfer-compatibility>` [#flashinfer_compat-past-60]_,N/A,N/A,N/A,v0.2.5,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A
|
ML & COMPUTER VISION,.. _mllibs-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
`ONNX Runtime <https://onnxruntime.ai/docs/build/eps.html#amd-migraphx>`_,1.22.0,1.20.0,1.20.0,1.20.0,1.20.0,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.14.1,1.14.1
|
:doc:`Composable Kernel <composable_kernel:index>`,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0
|
||||||
,,,,,,,,,,,,,,,,,,,
|
:doc:`MIGraphX <amdmigraphx:index>`,2.12.0,2.11.0,2.11.0,2.11.0,2.11.0,2.10.0,2.10.0,2.10.0,2.10.0,2.9.0,2.9.0,2.9.0,2.9.0,2.8.0,2.8.0
|
||||||
,,,,,,,,,,,,,,,,,,,
|
:doc:`MIOpen <miopen:index>`,3.4.0,3.3.0,3.3.0,3.3.0,3.3.0,3.2.0,3.2.0,3.2.0,3.2.0,3.1.0,3.1.0,3.1.0,3.1.0,3.0.0,3.0.0
|
||||||
THIRD PARTY COMMS,.. _thirdpartycomms-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,,,,,
|
:doc:`MIVisionX <mivisionx:index>`,3.2.0,3.1.0,3.1.0,3.1.0,3.1.0,3.0.0,3.0.0,3.0.0,3.0.0,2.5.0,2.5.0,2.5.0,2.5.0,2.5.0,2.5.0
|
||||||
`UCC <https://github.com/ROCm/ucc>`_,>=1.4.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.2.0,>=1.2.0
|
:doc:`rocAL <rocal:index>`,2.2.0,2.1.0,2.1.0,2.1.0,2.1.0,2.0.0,2.0.0,2.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0
|
||||||
`UCX <https://github.com/ROCm/ucx>`_,>=1.17.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.14.1,>=1.14.1,>=1.14.1,>=1.14.1,>=1.14.1,>=1.14.1
|
:doc:`rocDecode <rocdecode:index>`,0.10.0,0.8.0,0.8.0,0.8.0,0.8.0,0.6.0,0.6.0,0.6.0,0.6.0,0.6.0,0.6.0,0.5.0,0.5.0,N/A,N/A
|
||||||
,,,,,,,,,,,,,,,,,,,
|
:doc:`rocJPEG <rocjpeg:index>`,0.8.0,0.6.0,0.6.0,0.6.0,0.6.0,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A
|
||||||
THIRD PARTY ALGORITHM,.. _thirdpartyalgorithm-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,,,,,
|
:doc:`rocPyDecode <rocpydecode:index>`,0.3.1,0.2.0,0.2.0,0.2.0,0.2.0,0.1.0,0.1.0,0.1.0,0.1.0,N/A,N/A,N/A,N/A,N/A,N/A
|
||||||
Thrust,2.6.0,2.5.0,2.5.0,2.5.0,2.5.0,2.3.2,2.3.2,2.3.2,2.3.2,2.2.0,2.2.0,2.2.0,2.2.0,2.1.0,2.1.0,2.1.0,2.1.0,2.0.1,2.0.1
|
:doc:`RPP <rpp:index>`,1.9.10,1.9.1,1.9.1,1.9.1,1.9.1,1.8.0,1.8.0,1.8.0,1.8.0,1.5.0,1.5.0,1.5.0,1.5.0,1.4.0,1.4.0
|
||||||
CUB,2.6.0,2.5.0,2.5.0,2.5.0,2.5.0,2.3.2,2.3.2,2.3.2,2.3.2,2.2.0,2.2.0,2.2.0,2.2.0,2.1.0,2.1.0,2.1.0,2.1.0,2.0.1,2.0.1
|
,,,,,,,,,,,,,,,
|
||||||
,,,,,,,,,,,,,,,,,,,
|
COMMUNICATION,.. _commlibs-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
DRIVER & USER SPACE [#kfd_support-past-60]_,.. _kfd-userspace-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,,,,,
|
:doc:`RCCL <rccl:index>`,2.22.3,2.21.5,2.21.5,2.21.5,2.21.5,2.20.5,2.20.5,2.20.5,2.20.5,2.18.6,2.18.6,2.18.6,2.18.6,2.18.3,2.18.3
|
||||||
:doc:`AMD GPU Driver <rocm-install-on-linux:reference/user-kernel-space-compat-matrix>`,"30.10, 6.4.x, 6.3.x, 6.2.x","6.4.x, 6.3.x, 6.2.x, 6.1.x","6.4.x, 6.3.x, 6.2.x, 6.1.x","6.4.x, 6.3.x, 6.2.x, 6.1.x","6.4.x, 6.3.x, 6.2.x, 6.1.x","6.4.x, 6.3.x, 6.2.x, 6.1.x","6.4.x, 6.3.x, 6.2.x, 6.1.x","6.4.x, 6.3.x, 6.2.x, 6.1.x","6.4.x, 6.3.x, 6.2.x, 6.1.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x, 5.7.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x, 5.7.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x, 5.7.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x, 5.7.x","6.2.x, 6.1.x, 6.0.x, 5.7.x, 5.6.x","6.2.x, 6.1.x, 6.0.x, 5.7.x, 5.6.x"
|
`rocSHMEM <https://github.com/ROCm/rocSHMEM>`_,2.0.0,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A
|
||||||
,,,,,,,,,,,,,,,,,,,
|
,,,,,,,,,,,,,,,
|
||||||
ML & COMPUTER VISION,.. _mllibs-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,,,,,
|
MATH LIBS,.. _mathlibs-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
:doc:`Composable Kernel <composable_kernel:index>`,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0
|
`half <https://github.com/ROCm/half>`_ ,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0
|
||||||
:doc:`MIGraphX <amdmigraphx:index>`,2.13.0,2.12.0,2.12.0,2.12.0,2.12.0,2.11.0,2.11.0,2.11.0,2.11.0,2.10.0,2.10.0,2.10.0,2.10.0,2.9.0,2.9.0,2.9.0,2.9.0,2.8.0,2.8.0
|
:doc:`hipBLAS <hipblas:index>`,2.4.0,2.3.0,2.3.0,2.3.0,2.3.0,2.2.0,2.2.0,2.2.0,2.2.0,2.1.0,2.1.0,2.1.0,2.1.0,2.0.0,2.0.0
|
||||||
:doc:`MIOpen <miopen:index>`,3.5.0,3.4.0,3.4.0,3.4.0,3.4.0,3.3.0,3.3.0,3.3.0,3.3.0,3.2.0,3.2.0,3.2.0,3.2.0,3.1.0,3.1.0,3.1.0,3.1.0,3.0.0,3.0.0
|
:doc:`hipBLASLt <hipblaslt:index>`,0.12.0,0.10.0,0.10.0,0.10.0,0.10.0,0.8.0,0.8.0,0.8.0,0.8.0,0.7.0,0.7.0,0.7.0,0.7.0,0.6.0,0.6.0
|
||||||
:doc:`MIVisionX <mivisionx:index>`,3.3.0,3.2.0,3.2.0,3.2.0,3.2.0,3.1.0,3.1.0,3.1.0,3.1.0,3.0.0,3.0.0,3.0.0,3.0.0,2.5.0,2.5.0,2.5.0,2.5.0,2.5.0,2.5.0
|
:doc:`hipFFT <hipfft:index>`,1.0.18,1.0.17,1.0.17,1.0.17,1.0.17,1.0.16,1.0.15,1.0.15,1.0.14,1.0.14,1.0.14,1.0.14,1.0.14,1.0.13,1.0.13
|
||||||
:doc:`rocAL <rocal:index>`,2.3.0,2.2.0,2.2.0,2.2.0,2.2.0,2.1.0,2.1.0,2.1.0,2.1.0,2.0.0,2.0.0,2.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0
|
:doc:`hipfort <hipfort:index>`,0.6.0,0.5.1,0.5.1,0.5.0,0.5.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0
|
||||||
:doc:`rocDecode <rocdecode:index>`,1.0.0,0.10.0,0.10.0,0.10.0,0.10.0,0.8.0,0.8.0,0.8.0,0.8.0,0.6.0,0.6.0,0.6.0,0.6.0,0.6.0,0.6.0,0.5.0,0.5.0,N/A,N/A
|
:doc:`hipRAND <hiprand:index>`,2.12.0,2.11.1,2.11.1,2.11.1,2.11.0,2.11.1,2.11.0,2.11.0,2.11.0,2.10.16,2.10.16,2.10.16,2.10.16,2.10.16,2.10.16
|
||||||
:doc:`rocJPEG <rocjpeg:index>`,1.1.0,0.8.0,0.8.0,0.8.0,0.8.0,0.6.0,0.6.0,0.6.0,0.6.0,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A
|
:doc:`hipSOLVER <hipsolver:index>`,2.4.0,2.3.0,2.3.0,2.3.0,2.3.0,2.2.0,2.2.0,2.2.0,2.2.0,2.1.1,2.1.1,2.1.1,2.1.0,2.0.0,2.0.0
|
||||||
:doc:`rocPyDecode <rocpydecode:index>`,0.6.0,0.3.1,0.3.1,0.3.1,0.3.1,0.2.0,0.2.0,0.2.0,0.2.0,0.1.0,0.1.0,0.1.0,0.1.0,N/A,N/A,N/A,N/A,N/A,N/A
|
:doc:`hipSPARSE <hipsparse:index>`,3.2.0,3.1.2,3.1.2,3.1.2,3.1.2,3.1.1,3.1.1,3.1.1,3.1.1,3.0.1,3.0.1,3.0.1,3.0.1,3.0.0,3.0.0
|
||||||
:doc:`RPP <rpp:index>`,2.0.0,1.9.10,1.9.10,1.9.10,1.9.10,1.9.1,1.9.1,1.9.1,1.9.1,1.8.0,1.8.0,1.8.0,1.8.0,1.5.0,1.5.0,1.5.0,1.5.0,1.4.0,1.4.0
|
:doc:`hipSPARSELt <hipsparselt:index>`,0.2.3,0.2.2,0.2.2,0.2.2,0.2.2,0.2.1,0.2.1,0.2.1,0.2.1,0.2.0,0.2.0,0.1.0,0.1.0,0.1.0,0.1.0
|
||||||
,,,,,,,,,,,,,,,,,,,
|
:doc:`rocALUTION <rocalution:index>`,3.2.2,3.2.1,3.2.1,3.2.1,3.2.1,3.2.1,3.2.0,3.2.0,3.2.0,3.1.1,3.1.1,3.1.1,3.1.1,3.0.3,3.0.3
|
||||||
COMMUNICATION,.. _commlibs-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,,,,,
|
:doc:`rocBLAS <rocblas:index>`,4.4.0,4.3.0,4.3.0,4.3.0,4.3.0,4.2.4,4.2.1,4.2.1,4.2.0,4.1.2,4.1.2,4.1.0,4.1.0,4.0.0,4.0.0
|
||||||
:doc:`RCCL <rccl:index>`,2.26.6,2.22.3,2.22.3,2.22.3,2.22.3,2.21.5,2.21.5,2.21.5,2.21.5,2.20.5,2.20.5,2.20.5,2.20.5,2.18.6,2.18.6,2.18.6,2.18.6,2.18.3,2.18.3
|
:doc:`rocFFT <rocfft:index>`,1.0.32,1.0.31,1.0.31,1.0.31,1.0.31,1.0.30,1.0.29,1.0.29,1.0.28,1.0.27,1.0.27,1.0.27,1.0.26,1.0.25,1.0.23
|
||||||
:doc:`rocSHMEM <rocshmem:index>`,3.0.0,2.0.1,2.0.1,2.0.0,2.0.0,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A
|
:doc:`rocRAND <rocrand:index>`,3.3.0,3.2.0,3.2.0,3.2.0,3.2.0,3.1.1,3.1.0,3.1.0,3.1.0,3.0.1,3.0.1,3.0.1,3.0.1,3.0.0,2.10.17
|
||||||
,,,,,,,,,,,,,,,,,,,
|
:doc:`rocSOLVER <rocsolver:index>`,3.28.0,3.27.0,3.27.0,3.27.0,3.27.0,3.26.2,3.26.0,3.26.0,3.26.0,3.25.0,3.25.0,3.25.0,3.25.0,3.24.0,3.24.0
|
||||||
MATH LIBS,.. _mathlibs-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,,,,,
|
:doc:`rocSPARSE <rocsparse:index>`,3.4.0,3.3.0,3.3.0,3.3.0,3.3.0,3.2.1,3.2.0,3.2.0,3.2.0,3.1.2,3.1.2,3.1.2,3.1.2,3.0.2,3.0.2
|
||||||
`half <https://github.com/ROCm/half>`_ ,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0
|
:doc:`rocWMMA <rocwmma:index>`,1.7.0,1.6.0,1.6.0,1.6.0,1.6.0,1.5.0,1.5.0,1.5.0,1.5.0,1.4.0,1.4.0,1.4.0,1.4.0,1.3.0,1.3.0
|
||||||
:doc:`hipBLAS <hipblas:index>`,3.0.0,2.4.0,2.4.0,2.4.0,2.4.0,2.3.0,2.3.0,2.3.0,2.3.0,2.2.0,2.2.0,2.2.0,2.2.0,2.1.0,2.1.0,2.1.0,2.1.0,2.0.0,2.0.0
|
:doc:`Tensile <tensile:src/index>`,4.43.0,4.42.0,4.42.0,4.42.0,4.42.0,4.41.0,4.41.0,4.41.0,4.41.0,4.40.0,4.40.0,4.40.0,4.40.0,4.39.0,4.39.0
|
||||||
:doc:`hipBLASLt <hipblaslt:index>`,1.0.0,0.12.1,0.12.1,0.12.1,0.12.0,0.10.0,0.10.0,0.10.0,0.10.0,0.8.0,0.8.0,0.8.0,0.8.0,0.7.0,0.7.0,0.7.0,0.7.0,0.6.0,0.6.0
|
,,,,,,,,,,,,,,,
|
||||||
:doc:`hipFFT <hipfft:index>`,1.0.20,1.0.18,1.0.18,1.0.18,1.0.18,1.0.17,1.0.17,1.0.17,1.0.17,1.0.16,1.0.15,1.0.15,1.0.14,1.0.14,1.0.14,1.0.14,1.0.14,1.0.13,1.0.13
|
PRIMITIVES,.. _primitivelibs-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
:doc:`hipfort <hipfort:index>`,0.7.0,0.6.0,0.6.0,0.6.0,0.6.0,0.5.1,0.5.1,0.5.0,0.5.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0
|
:doc:`hipCUB <hipcub:index>`,3.4.0,3.3.0,3.3.0,3.3.0,3.3.0,3.2.1,3.2.0,3.2.0,3.2.0,3.1.0,3.1.0,3.1.0,3.1.0,3.0.0,3.0.0
|
||||||
:doc:`hipRAND <hiprand:index>`,3.0.0,2.12.0,2.12.0,2.12.0,2.12.0,2.11.1,2.11.1,2.11.1,2.11.0,2.11.1,2.11.0,2.11.0,2.11.0,2.10.16,2.10.16,2.10.16,2.10.16,2.10.16,2.10.16
|
:doc:`hipTensor <hiptensor:index>`,1.5.0,1.4.0,1.4.0,1.4.0,1.4.0,1.3.0,1.3.0,1.3.0,1.3.0,1.2.0,1.2.0,1.2.0,1.2.0,1.1.0,1.1.0
|
||||||
:doc:`hipSOLVER <hipsolver:index>`,3.0.0,2.4.0,2.4.0,2.4.0,2.4.0,2.3.0,2.3.0,2.3.0,2.3.0,2.2.0,2.2.0,2.2.0,2.2.0,2.1.1,2.1.1,2.1.1,2.1.0,2.0.0,2.0.0
|
:doc:`rocPRIM <rocprim:index>`,3.4.0,3.3.0,3.3.0,3.3.0,3.3.0,3.2.2,3.2.0,3.2.0,3.2.0,3.1.0,3.1.0,3.1.0,3.1.0,3.0.0,3.0.0
|
||||||
:doc:`hipSPARSE <hipsparse:index>`,4.0.1,3.2.0,3.2.0,3.2.0,3.2.0,3.1.2,3.1.2,3.1.2,3.1.2,3.1.1,3.1.1,3.1.1,3.1.1,3.0.1,3.0.1,3.0.1,3.0.1,3.0.0,3.0.0
|
:doc:`rocThrust <rocthrust:index>`,3.3.0,3.3.0,3.3.0,3.3.0,3.3.0,3.1.1,3.1.0,3.1.0,3.0.1,3.0.1,3.0.1,3.0.1,3.0.1,3.0.0,3.0.0
|
||||||
:doc:`hipSPARSELt <hipsparselt:index>`,0.2.4,0.2.3,0.2.3,0.2.3,0.2.3,0.2.2,0.2.2,0.2.2,0.2.2,0.2.1,0.2.1,0.2.1,0.2.1,0.2.0,0.2.0,0.1.0,0.1.0,0.1.0,0.1.0
|
,,,,,,,,,,,,,,,
|
||||||
:doc:`rocALUTION <rocalution:index>`,4.0.0,3.2.3,3.2.3,3.2.3,3.2.2,3.2.1,3.2.1,3.2.1,3.2.1,3.2.1,3.2.0,3.2.0,3.2.0,3.1.1,3.1.1,3.1.1,3.1.1,3.0.3,3.0.3
|
SUPPORT LIBS,,,,,,,,,,,,,,,
|
||||||
:doc:`rocBLAS <rocblas:index>`,5.0.0,4.4.1,4.4.1,4.4.0,4.4.0,4.3.0,4.3.0,4.3.0,4.3.0,4.2.4,4.2.1,4.2.1,4.2.0,4.1.2,4.1.2,4.1.0,4.1.0,4.0.0,4.0.0
|
`hipother <https://github.com/ROCm/hipother>`_,6.4.43482,6.3.42134,6.3.42134,6.3.42133,6.3.42131,6.2.41134,6.2.41134,6.2.41134,6.2.41133,6.1.40093,6.1.40093,6.1.40092,6.1.40091,6.1.32831,6.1.32830
|
||||||
:doc:`rocFFT <rocfft:index>`,1.0.34,1.0.32,1.0.32,1.0.32,1.0.32,1.0.31,1.0.31,1.0.31,1.0.31,1.0.30,1.0.29,1.0.29,1.0.28,1.0.27,1.0.27,1.0.27,1.0.26,1.0.25,1.0.23
|
`rocm-core <https://github.com/ROCm/rocm-core>`_,6.4.0,6.3.3,6.3.2,6.3.1,6.3.0,6.2.4,6.2.2,6.2.1,6.2.0,6.1.5,6.1.2,6.1.1,6.1.0,6.0.2,6.0.0
|
||||||
:doc:`rocRAND <rocrand:index>`,4.0.0,3.3.0,3.3.0,3.3.0,3.3.0,3.2.0,3.2.0,3.2.0,3.2.0,3.1.1,3.1.0,3.1.0,3.1.0,3.0.1,3.0.1,3.0.1,3.0.1,3.0.0,2.10.17
|
`ROCT-Thunk-Interface <https://github.com/ROCm/ROCT-Thunk-Interface>`_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,20240607.5.7,20240607.5.7,20240607.4.05,20240607.1.4246,20240125.5.08,20240125.5.08,20240125.5.08,20240125.3.30,20231016.2.245,20231016.2.245
|
||||||
:doc:`rocSOLVER <rocsolver:index>`,3.30.0,3.28.2,3.28.2,3.28.0,3.28.0,3.27.0,3.27.0,3.27.0,3.27.0,3.26.2,3.26.0,3.26.0,3.26.0,3.25.0,3.25.0,3.25.0,3.25.0,3.24.0,3.24.0
|
,,,,,,,,,,,,,,,
|
||||||
:doc:`rocSPARSE <rocsparse:index>`,4.0.2,3.4.0,3.4.0,3.4.0,3.4.0,3.3.0,3.3.0,3.3.0,3.3.0,3.2.1,3.2.0,3.2.0,3.2.0,3.1.2,3.1.2,3.1.2,3.1.2,3.0.2,3.0.2
|
SYSTEM MGMT TOOLS,.. _tools-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
:doc:`rocWMMA <rocwmma:index>`,2.0.0,1.7.0,1.7.0,1.7.0,1.7.0,1.6.0,1.6.0,1.6.0,1.6.0,1.5.0,1.5.0,1.5.0,1.5.0,1.4.0,1.4.0,1.4.0,1.4.0,1.3.0,1.3.0
|
:doc:`AMD SMI <amdsmi:index>`,25.3.0,24.7.1,24.7.1,24.7.1,24.7.1,24.6.3,24.6.3,24.6.3,24.6.2,24.5.1,24.5.1,24.5.1,24.4.1,23.4.2,23.4.2
|
||||||
:doc:`Tensile <tensile:src/index>`,4.44.0,4.43.0,4.43.0,4.43.0,4.43.0,4.42.0,4.42.0,4.42.0,4.42.0,4.41.0,4.41.0,4.41.0,4.41.0,4.40.0,4.40.0,4.40.0,4.40.0,4.39.0,4.39.0
|
:doc:`ROCm Data Center Tool <rdc:index>`,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0
|
||||||
,,,,,,,,,,,,,,,,,,,
|
:doc:`rocminfo <rocminfo:index>`,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0
|
||||||
PRIMITIVES,.. _primitivelibs-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,,,,,
|
:doc:`ROCm SMI <rocm_smi_lib:index>`,7.5.0,7.4.0,7.4.0,7.4.0,7.4.0,7.3.0,7.3.0,7.3.0,7.3.0,7.2.0,7.2.0,7.0.0,7.0.0,6.0.2,6.0.0
|
||||||
:doc:`hipCUB <hipcub:index>`,4.0.0,3.4.0,3.4.0,3.4.0,3.4.0,3.3.0,3.3.0,3.3.0,3.3.0,3.2.1,3.2.0,3.2.0,3.2.0,3.1.0,3.1.0,3.1.0,3.1.0,3.0.0,3.0.0
|
:doc:`ROCm Validation Suite <rocmvalidationsuite:index>`,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.0.60204,1.0.60202,1.0.60201,1.0.60200,1.0.60105,1.0.60102,1.0.60101,1.0.60100,1.0.60002,1.0.60000
|
||||||
:doc:`hipTensor <hiptensor:index>`,2.0.0,1.5.0,1.5.0,1.5.0,1.5.0,1.4.0,1.4.0,1.4.0,1.4.0,1.3.0,1.3.0,1.3.0,1.3.0,1.2.0,1.2.0,1.2.0,1.2.0,1.1.0,1.1.0
|
,,,,,,,,,,,,,,,
|
||||||
:doc:`rocPRIM <rocprim:index>`,4.0.0,3.4.1,3.4.1,3.4.0,3.4.0,3.3.0,3.3.0,3.3.0,3.3.0,3.2.2,3.2.0,3.2.0,3.2.0,3.1.0,3.1.0,3.1.0,3.1.0,3.0.0,3.0.0
|
PERFORMANCE TOOLS,,,,,,,,,,,,,,,
|
||||||
:doc:`rocThrust <rocthrust:index>`,4.0.0,3.3.0,3.3.0,3.3.0,3.3.0,3.3.0,3.3.0,3.3.0,3.3.0,3.1.1,3.1.0,3.1.0,3.0.1,3.0.1,3.0.1,3.0.1,3.0.1,3.0.0,3.0.0
|
:doc:`ROCm Bandwidth Test <rocm_bandwidth_test:index>`,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0
|
||||||
,,,,,,,,,,,,,,,,,,,
|
:doc:`ROCm Compute Profiler <rocprofiler-compute:index>`,3.1.0,3.0.0,3.0.0,3.0.0,3.0.0,2.0.1,2.0.1,2.0.1,2.0.1,N/A,N/A,N/A,N/A,N/A,N/A
|
||||||
SUPPORT LIBS,,,,,,,,,,,,,,,,,,,
|
:doc:`ROCm Systems Profiler <rocprofiler-systems:index>`,1.0.0,0.1.2,0.1.1,0.1.0,0.1.0,1.11.2,1.11.2,1.11.2,1.11.2,N/A,N/A,N/A,N/A,N/A,N/A
|
||||||
`hipother <https://github.com/ROCm/hipother>`_,7.0.51830,6.4.43483,6.4.43483,6.4.43483,6.4.43482,6.3.42134,6.3.42134,6.3.42133,6.3.42131,6.2.41134,6.2.41134,6.2.41134,6.2.41133,6.1.40093,6.1.40093,6.1.40092,6.1.40091,6.1.32831,6.1.32830
|
:doc:`ROCProfiler <rocprofiler:index>`,2.0.60400,2.0.60303,2.0.60302,2.0.60301,2.0.60300,2.0.60204,2.0.60202,2.0.60201,2.0.60200,2.0.60105,2.0.60102,2.0.60101,2.0.60100,2.0.60002,2.0.60000
|
||||||
`rocm-core <https://github.com/ROCm/rocm-core>`_,7.0.0,6.4.3,6.4.2,6.4.1,6.4.0,6.3.3,6.3.2,6.3.1,6.3.0,6.2.4,6.2.2,6.2.1,6.2.0,6.1.5,6.1.2,6.1.1,6.1.0,6.0.2,6.0.0
|
:doc:`ROCprofiler-SDK <rocprofiler-sdk:index>`,0.6.0,0.5.0,0.5.0,0.5.0,0.5.0,0.4.0,0.4.0,0.4.0,0.4.0,N/A,N/A,N/A,N/A,N/A,N/A
|
||||||
`ROCT-Thunk-Interface <https://github.com/ROCm/ROCT-Thunk-Interface>`_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,20240607.5.7,20240607.5.7,20240607.4.05,20240607.1.4246,20240125.5.08,20240125.5.08,20240125.5.08,20240125.3.30,20231016.2.245,20231016.2.245
|
:doc:`ROCTracer <roctracer:index>`,4.1.60400,4.1.60303,4.1.60302,4.1.60301,4.1.60300,4.1.60204,4.1.60202,4.1.60201,4.1.60200,4.1.60105,4.1.60102,4.1.60101,4.1.60100,4.1.60002,4.1.60000
|
||||||
,,,,,,,,,,,,,,,,,,,
|
,,,,,,,,,,,,,,,
|
||||||
SYSTEM MGMT TOOLS,.. _tools-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,,,,,
|
DEVELOPMENT TOOLS,,,,,,,,,,,,,,,
|
||||||
:doc:`AMD SMI <amdsmi:index>`,26.0.0,25.5.1,25.5.1,25.4.2,25.3.0,24.7.1,24.7.1,24.7.1,24.7.1,24.6.3,24.6.3,24.6.3,24.6.2,24.5.1,24.5.1,24.5.1,24.4.1,23.4.2,23.4.2
|
:doc:`HIPIFY <hipify:index>`,19.0.0.25104,18.0.0.25012,18.0.0.25012,18.0.0.24491,18.0.0.24455,18.0.0.24392,18.0.0.24355,18.0.0.24355,18.0.0.24232,17.0.0.24193,17.0.0.24193,17.0.0.24154,17.0.0.24103,17.0.0.24012,17.0.0.23483
|
||||||
:doc:`ROCm Data Center Tool <rdc:index>`,1.1.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0
|
:doc:`ROCm CMake <rocmcmakebuildtools:index>`,0.14.0,0.14.0,0.14.0,0.14.0,0.14.0,0.13.0,0.13.0,0.13.0,0.13.0,0.12.0,0.12.0,0.12.0,0.12.0,0.11.0,0.11.0
|
||||||
:doc:`rocminfo <rocminfo:index>`,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0
|
:doc:`ROCdbgapi <rocdbgapi:index>`,0.77.2,0.77.0,0.77.0,0.77.0,0.77.0,0.76.0,0.76.0,0.76.0,0.76.0,0.71.0,0.71.0,0.71.0,0.71.0,0.71.0,0.71.0
|
||||||
:doc:`ROCm SMI <rocm_smi_lib:index>`,7.8.0,7.7.0,7.5.0,7.5.0,7.5.0,7.4.0,7.4.0,7.4.0,7.4.0,7.3.0,7.3.0,7.3.0,7.3.0,7.2.0,7.2.0,7.0.0,7.0.0,6.0.2,6.0.0
|
:doc:`ROCm Debugger (ROCgdb) <rocgdb:index>`,15.2.0,15.2.0,15.2.0,15.2.0,15.2.0,14.2.0,14.2.0,14.2.0,14.2.0,14.1.0,14.1.0,14.1.0,14.1.0,13.2.0,13.2.0
|
||||||
:doc:`ROCm Validation Suite <rocmvalidationsuite:index>`,1.2.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.0.60204,1.0.60202,1.0.60201,1.0.60200,1.0.60105,1.0.60102,1.0.60101,1.0.60100,1.0.60002,1.0.60000
|
`rocprofiler-register <https://github.com/ROCm/rocprofiler-register>`_,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.3.0,0.3.0,0.3.0,0.3.0,N/A,N/A
|
||||||
,,,,,,,,,,,,,,,,,,,
|
:doc:`ROCr Debug Agent <rocr_debug_agent:index>`,2.0.4,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3
|
||||||
PERFORMANCE TOOLS,,,,,,,,,,,,,,,,,,,
|
,,,,,,,,,,,,,,,
|
||||||
:doc:`ROCm Bandwidth Test <rocm_bandwidth_test:index>`,2.6.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0
|
COMPILERS,.. _compilers-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
:doc:`ROCm Compute Profiler <rocprofiler-compute:index>`,3.2.3,3.1.1,3.1.1,3.1.0,3.1.0,3.0.0,3.0.0,3.0.0,3.0.0,2.0.1,2.0.1,2.0.1,2.0.1,N/A,N/A,N/A,N/A,N/A,N/A
|
`clang-ocl <https://github.com/ROCm/clang-ocl>`_,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,0.5.0,0.5.0,0.5.0,0.5.0,0.5.0,0.5.0
|
||||||
:doc:`ROCm Systems Profiler <rocprofiler-systems:index>`,1.1.0,1.0.2,1.0.2,1.0.1,1.0.0,0.1.2,0.1.1,0.1.0,0.1.0,1.11.2,1.11.2,1.11.2,1.11.2,N/A,N/A,N/A,N/A,N/A,N/A
|
:doc:`hipCC <hipcc:index>`,1.1.1,1.1.1,1.1.1,1.1.1,1.1.1,1.1.1,1.1.1,1.1.1,1.1.1,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0
|
||||||
:doc:`ROCProfiler <rocprofiler:index>`,2.0.70000,2.0.60403,2.0.60402,2.0.60401,2.0.60400,2.0.60303,2.0.60302,2.0.60301,2.0.60300,2.0.60204,2.0.60202,2.0.60201,2.0.60200,2.0.60105,2.0.60102,2.0.60101,2.0.60100,2.0.60002,2.0.60000
|
`Flang <https://github.com/ROCm/flang>`_,19.0.0.25133,18.0.0.25012,18.0.0.25012,18.0.0.24491,18.0.0.24455,18.0.0.24392,18.0.0.24355,18.0.0.24355,18.0.0.24232,17.0.0.24193,17.0.0.24193,17.0.0.24154,17.0.0.24103,17.0.0.24012,17.0.0.23483
|
||||||
:doc:`ROCprofiler-SDK <rocprofiler-sdk:index>`,1.0.0,0.6.0,0.6.0,0.6.0,0.6.0,0.5.0,0.5.0,0.5.0,0.5.0,0.4.0,0.4.0,0.4.0,0.4.0,N/A,N/A,N/A,N/A,N/A,N/A
|
:doc:`llvm-project <llvm-project:index>`,19.0.0.25133,18.0.0.25012,18.0.0.25012,18.0.0.24491,18.0.0.24491,18.0.0.24392,18.0.0.24355,18.0.0.24355,18.0.0.24232,17.0.0.24193,17.0.0.24193,17.0.0.24154,17.0.0.24103,17.0.0.24012,17.0.0.23483
|
||||||
:doc:`ROCTracer <roctracer:index>`,4.1.70000,4.1.60403,4.1.60402,4.1.60401,4.1.60400,4.1.60303,4.1.60302,4.1.60301,4.1.60300,4.1.60204,4.1.60202,4.1.60201,4.1.60200,4.1.60105,4.1.60102,4.1.60101,4.1.60100,4.1.60002,4.1.60000
|
`OpenMP <https://github.com/ROCm/llvm-project/tree/amd-staging/openmp>`_,19.0.0.25133,18.0.0.25012,18.0.0.25012,18.0.0.24491,18.0.0.24491,18.0.0.24392,18.0.0.24355,18.0.0.24355,18.0.0.24232,17.0.0.24193,17.0.0.24193,17.0.0.24154,17.0.0.24103,17.0.0.24012,17.0.0.23483
|
||||||
,,,,,,,,,,,,,,,,,,,
|
,,,,,,,,,,,,,,,
|
||||||
DEVELOPMENT TOOLS,,,,,,,,,,,,,,,,,,,
|
RUNTIMES,.. _runtime-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
:doc:`HIPIFY <hipify:index>`,20.0.0,19.0.0,19.0.0,19.0.0,19.0.0,18.0.0.25012,18.0.0.25012,18.0.0.24491,18.0.0.24455,18.0.0.24392,18.0.0.24355,18.0.0.24355,18.0.0.24232,17.0.0.24193,17.0.0.24193,17.0.0.24154,17.0.0.24103,17.0.0.24012,17.0.0.23483
|
:doc:`AMD CLR <hip:understand/amd_clr>`,6.4.43482,6.3.42134,6.3.42134,6.3.42133,6.3.42131,6.2.41134,6.2.41134,6.2.41134,6.2.41133,6.1.40093,6.1.40093,6.1.40092,6.1.40091,6.1.32831,6.1.32830
|
||||||
:doc:`ROCm CMake <rocmcmakebuildtools:index>`,0.14.0,0.14.0,0.14.0,0.14.0,0.14.0,0.14.0,0.14.0,0.14.0,0.14.0,0.13.0,0.13.0,0.13.0,0.13.0,0.12.0,0.12.0,0.12.0,0.12.0,0.11.0,0.11.0
|
:doc:`HIP <hip:index>`,6.4.43482,6.3.42134,6.3.42134,6.3.42133,6.3.42131,6.2.41134,6.2.41134,6.2.41134,6.2.41133,6.1.40093,6.1.40093,6.1.40092,6.1.40091,6.1.32831,6.1.32830
|
||||||
:doc:`ROCdbgapi <rocdbgapi:index>`,0.77.3,0.77.2,0.77.2,0.77.2,0.77.2,0.77.0,0.77.0,0.77.0,0.77.0,0.76.0,0.76.0,0.76.0,0.76.0,0.71.0,0.71.0,0.71.0,0.71.0,0.71.0,0.71.0
|
`OpenCL Runtime <https://github.com/ROCm/clr/tree/develop/opencl>`_,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0
|
||||||
:doc:`ROCm Debugger (ROCgdb) <rocgdb:index>`,16.3.0,15.2.0,15.2.0,15.2.0,15.2.0,15.2.0,15.2.0,15.2.0,15.2.0,14.2.0,14.2.0,14.2.0,14.2.0,14.1.0,14.1.0,14.1.0,14.1.0,13.2.0,13.2.0
|
:doc:`ROCr Runtime <rocr-runtime:index>`,1.15.0,1.14.0,1.14.0,1.14.0,1.14.0,1.14.0,1.14.0,1.14.0,1.13.0,1.13.0,1.13.0,1.13.0,1.13.0,1.12.0,1.12.0
|
||||||
`rocprofiler-register <https://github.com/ROCm/rocprofiler-register>`_,0.5.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.3.0,0.3.0,0.3.0,0.3.0,N/A,N/A
|
|
||||||
:doc:`ROCr Debug Agent <rocr_debug_agent:index>`,2.1.0,2.0.4,2.0.4,2.0.4,2.0.4,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3
|
|
||||||
,,,,,,,,,,,,,,,,,,,
|
|
||||||
COMPILERS,.. _compilers-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,,,,,
|
|
||||||
`clang-ocl <https://github.com/ROCm/clang-ocl>`_,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,0.5.0,0.5.0,0.5.0,0.5.0,0.5.0,0.5.0
|
|
||||||
:doc:`hipCC <hipcc:index>`,1.1.1,1.1.1,1.1.1,1.1.1,1.1.1,1.1.1,1.1.1,1.1.1,1.1.1,1.1.1,1.1.1,1.1.1,1.1.1,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0
|
|
||||||
`Flang <https://github.com/ROCm/flang>`_,20.0.0.25314,19.0.0.25224,19.0.0.25224,19.0.0.25184,19.0.0.25133,18.0.0.25012,18.0.0.25012,18.0.0.24491,18.0.0.24455,18.0.0.24392,18.0.0.24355,18.0.0.24355,18.0.0.24232,17.0.0.24193,17.0.0.24193,17.0.0.24154,17.0.0.24103,17.0.0.24012,17.0.0.23483
|
|
||||||
:doc:`llvm-project <llvm-project:index>`,20.0.0.25314,19.0.0.25224,19.0.0.25224,19.0.0.25184,19.0.0.25133,18.0.0.25012,18.0.0.25012,18.0.0.24491,18.0.0.24491,18.0.0.24392,18.0.0.24355,18.0.0.24355,18.0.0.24232,17.0.0.24193,17.0.0.24193,17.0.0.24154,17.0.0.24103,17.0.0.24012,17.0.0.23483
|
|
||||||
`OpenMP <https://github.com/ROCm/llvm-project/tree/amd-staging/openmp>`_,20.0.0.25314,19.0.0.25224,19.0.0.25224,19.0.0.25184,19.0.0.25133,18.0.0.25012,18.0.0.25012,18.0.0.24491,18.0.0.24491,18.0.0.24392,18.0.0.24355,18.0.0.24355,18.0.0.24232,17.0.0.24193,17.0.0.24193,17.0.0.24154,17.0.0.24103,17.0.0.24012,17.0.0.23483
|
|
||||||
,,,,,,,,,,,,,,,,,,,
|
|
||||||
RUNTIMES,.. _runtime-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,,,,,
|
|
||||||
:doc:`AMD CLR <hip:understand/amd_clr>`,7.0.51830,6.4.43484,6.4.43484,6.4.43483,6.4.43482,6.3.42134,6.3.42134,6.3.42133,6.3.42131,6.2.41134,6.2.41134,6.2.41134,6.2.41133,6.1.40093,6.1.40093,6.1.40092,6.1.40091,6.1.32831,6.1.32830
|
|
||||||
:doc:`HIP <hip:index>`,7.0.51830,6.4.43484,6.4.43484,6.4.43483,6.4.43482,6.3.42134,6.3.42134,6.3.42133,6.3.42131,6.2.41134,6.2.41134,6.2.41134,6.2.41133,6.1.40093,6.1.40093,6.1.40092,6.1.40091,6.1.32831,6.1.32830
|
|
||||||
`OpenCL Runtime <https://github.com/ROCm/clr/tree/develop/opencl>`_,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0
|
|
||||||
:doc:`ROCr Runtime <rocr-runtime:index>`,1.18.0,1.15.0,1.15.0,1.15.0,1.15.0,1.14.0,1.14.0,1.14.0,1.14.0,1.14.0,1.14.0,1.14.0,1.13.0,1.13.0,1.13.0,1.13.0,1.13.0,1.12.0,1.12.0
|
|
||||||
|
|||||||
|
@@ -23,165 +23,137 @@ compatibility and system requirements.
|
|||||||
.. container:: format-big-table
|
.. container:: format-big-table
|
||||||
|
|
||||||
.. csv-table::
|
.. csv-table::
|
||||||
:header: "ROCm Version", "7.0.0", "6.4.3", "6.3.0"
|
:header: "ROCm Version", "6.4.0", "6.3.3", "6.2.0"
|
||||||
:stub-columns: 1
|
:stub-columns: 1
|
||||||
|
|
||||||
:ref:`Operating systems & kernels <OS-kernel-versions>`,Ubuntu 24.04.3,Ubuntu 24.04.2,Ubuntu 24.04.2
|
:ref:`Operating systems & kernels <OS-kernel-versions>`,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04
|
||||||
,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5
|
,Ubuntu 22.04.5,Ubuntu 22.04.5,"Ubuntu 22.04.5, 22.04.4"
|
||||||
,"RHEL 9.6, 9.4","RHEL 9.6, 9.4","RHEL 9.5, 9.4"
|
,"RHEL 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.4, 9.3"
|
||||||
,RHEL 8.10 [#rhel-700]_,RHEL 8.10,RHEL 8.10
|
,RHEL 8.10,RHEL 8.10,"RHEL 8.10, 8.9"
|
||||||
,SLES 15 SP7 [#sles-db-700]_,"SLES 15 SP7, SP6","SLES 15 SP6, SP5"
|
,"SLES 15 SP6","SLES 15 SP6, SP5","SLES 15 SP6, SP5"
|
||||||
,"Oracle Linux 9, 8 [#ol-700-mi300x]_","Oracle Linux 9, 8 [#ol-mi300x]_",Oracle Linux 8.10 [#ol-mi300x]_
|
,"Oracle Linux 9, 8 [#mi300x]_",Oracle Linux 8.10 [#mi300x]_,Oracle Linux 8.9 [#mi300x]_
|
||||||
,Debian 12 [#sles-db-700]_,Debian 12 [#single-node]_,
|
,Debian 12 [#single-node]_,Debian 12 [#single-node]_,
|
||||||
,Azure Linux 3.0 [#az-mi300x]_,Azure Linux 3.0 [#az-mi300x]_,
|
,Azure Linux 3.0 [#mi300x]_,Azure Linux 3.0 [#mi300x]_,
|
||||||
,Rocky Linux 9 [#rl-700]_,,
|
|
||||||
,.. _architecture-support-compatibility-matrix:,,
|
,.. _architecture-support-compatibility-matrix:,,
|
||||||
:doc:`Architecture <rocm-install-on-linux:reference/system-requirements>`,CDNA4,,
|
:doc:`Architecture <rocm-install-on-linux:reference/system-requirements>`,CDNA3,CDNA3,CDNA3
|
||||||
,CDNA3,CDNA3,CDNA3
|
|
||||||
,CDNA2,CDNA2,CDNA2
|
,CDNA2,CDNA2,CDNA2
|
||||||
,CDNA,CDNA,CDNA
|
,CDNA,CDNA,CDNA
|
||||||
,RDNA4,RDNA4,
|
|
||||||
,RDNA3,RDNA3,RDNA3
|
,RDNA3,RDNA3,RDNA3
|
||||||
,RDNA2,RDNA2,RDNA2
|
,RDNA2,RDNA2,RDNA2
|
||||||
,.. _gpu-support-compatibility-matrix:,,
|
,.. _gpu-support-compatibility-matrix:,,
|
||||||
:doc:`GPU / LLVM target <rocm-install-on-linux:reference/system-requirements>`,gfx950 [#mi350x-os]_,,
|
:doc:`GPU / LLVM target <rocm-install-on-linux:reference/system-requirements>`,gfx1100,gfx1100,gfx1100
|
||||||
,gfx1201 [#RDNA-OS-700]_,gfx1201 [#RDNA-OS]_,
|
,gfx1030,gfx1030,gfx1030
|
||||||
,gfx1200 [#RDNA-OS-700]_,gfx1200 [#RDNA-OS]_,
|
,gfx942,gfx942,gfx942 [#mi300_620]_
|
||||||
,gfx1101 [#RDNA-OS-700]_ [#rd-v710]_,gfx1101 [#RDNA-OS]_ [#7700XT-OS]_,
|
,gfx90a,gfx90a,gfx90a
|
||||||
,gfx1100 [#RDNA-OS-700]_,gfx1100,gfx1100
|
,gfx908,gfx908,gfx908
|
||||||
,gfx1030 [#RDNA-OS-700]_ [#rd-v620]_,gfx1030,gfx1030
|
|
||||||
,gfx942 [#mi325x-os]_ [#mi300x-os]_ [#mi300A-os]_,gfx942,gfx942
|
|
||||||
,gfx90a [#mi200x-os]_,gfx90a,gfx90a
|
|
||||||
,gfx908 [#mi100-os]_,gfx908,gfx908
|
|
||||||
,,,
|
,,,
|
||||||
FRAMEWORK SUPPORT,.. _framework-support-compatibility-matrix:,,
|
FRAMEWORK SUPPORT,.. _framework-support-compatibility-matrix:,,
|
||||||
:doc:`PyTorch <../compatibility/ml-compatibility/pytorch-compatibility>`,"2.7, 2.6, 2.5","2.6, 2.5, 2.4, 2.3","2.4, 2.3, 2.2, 2.1, 2.0, 1.13"
|
:doc:`PyTorch <../compatibility/ml-compatibility/pytorch-compatibility>`,"2.6, 2.5, 2.4, 2.3","2.4, 2.3, 2.2, 1.13","2.3, 2.2, 2.1, 2.0, 1.13"
|
||||||
:doc:`TensorFlow <../compatibility/ml-compatibility/tensorflow-compatibility>`,"2.19.1, 2.18.1, 2.17.1 [#tf-mi350]_","2.18.1, 2.17.1, 2.16.2","2.17.0, 2.16.2, 2.15.1"
|
:doc:`TensorFlow <../compatibility/ml-compatibility/tensorflow-compatibility>`,"2.18.1, 2.17.1, 2.16.2","2.17.0, 2.16.2, 2.15.1","2.16.1, 2.15.1, 2.14.1"
|
||||||
:doc:`JAX <../compatibility/ml-compatibility/jax-compatibility>`,0.6.0,0.4.35,0.4.31
|
:doc:`JAX <../compatibility/ml-compatibility/jax-compatibility>`,0.4.35,0.4.31,0.4.26
|
||||||
:doc:`Stanford Megatron-LM <../compatibility/ml-compatibility/stanford-megatron-lm-compatibility>` [#stanford-megatron-lm_compat]_,N/A,N/A,85f95ae
|
`ONNX Runtime <https://onnxruntime.ai/docs/build/eps.html#amd-migraphx>`_,1.20,1.17.3,1.17.3
|
||||||
:doc:`Megablocks <../compatibility/ml-compatibility/megablocks-compatibility>` [#megablocks_compat]_,N/A,N/A,0.7.0
|
|
||||||
:doc:`llama.cpp <../compatibility/ml-compatibility/llama-cpp-compatibility>` [#llama-cpp_compat]_,b6356,b6356,N/A
|
|
||||||
`ONNX Runtime <https://onnxruntime.ai/docs/build/eps.html#amd-migraphx>`_,1.22.0,1.20.0,1.17.3
|
|
||||||
,,,
|
,,,
|
||||||
THIRD PARTY COMMS,.. _thirdpartycomms-support-compatibility-matrix:,,
|
THIRD PARTY COMMS,.. _thirdpartycomms-support-compatibility-matrix:,,
|
||||||
`UCC <https://github.com/ROCm/ucc>`_,>=1.4.0,>=1.3.0,>=1.3.0
|
`UCC <https://github.com/ROCm/ucc>`_,>=1.3.0,>=1.3.0,>=1.3.0
|
||||||
`UCX <https://github.com/ROCm/ucx>`_,>=1.17.0,>=1.15.0,>=1.15.0
|
`UCX <https://github.com/ROCm/ucx>`_,>=1.15.0,>=1.15.0,>=1.15.0
|
||||||
,,,
|
,,,
|
||||||
THIRD PARTY ALGORITHM,.. _thirdpartyalgorithm-support-compatibility-matrix:,,
|
THIRD PARTY ALGORITHM,.. _thirdpartyalgorithm-support-compatibility-matrix:,,
|
||||||
Thrust,2.6.0,2.5.0,2.3.2
|
Thrust,2.5.0,2.3.2,2.2.0
|
||||||
CUB,2.6.0,2.5.0,2.3.2
|
CUB,2.5.0,2.3.2,2.2.0
|
||||||
,,,
|
,,,
|
||||||
DRIVER & USER SPACE [#kfd_support]_,.. _kfd-userspace-support-compatibility-matrix:,,
|
KMD & USER SPACE [#kfd_support]_,.. _kfd-userspace-support-compatibility-matrix:,,
|
||||||
:doc:`AMD GPU Driver <rocm-install-on-linux:reference/user-kernel-space-compat-matrix>`,"30.10, 6.4.x, 6.3.x, 6.2.x","6.4.x, 6.3.x, 6.2.x, 6.1.x","6.4.x, 6.3.x, 6.2.x, 6.1.x"
|
KMD versions,"6.4.x, 6.3.x","6.4.x, 6.3.x, 6.2.x, 6.1.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x"
|
||||||
,,,
|
,,,
|
||||||
ML & COMPUTER VISION,.. _mllibs-support-compatibility-matrix:,,
|
ML & COMPUTER VISION,.. _mllibs-support-compatibility-matrix:,,
|
||||||
:doc:`Composable Kernel <composable_kernel:index>`,1.1.0,1.1.0,1.1.0
|
:doc:`Composable Kernel <composable_kernel:index>`,1.1.0,1.1.0,1.1.0
|
||||||
:doc:`MIGraphX <amdmigraphx:index>`,2.13.0,2.12.0,2.11.0
|
:doc:`MIGraphX <amdmigraphx:index>`,2.12.0,2.11.0,2.10.0
|
||||||
:doc:`MIOpen <miopen:index>`,3.5.0,3.4.0,3.3.0
|
:doc:`MIOpen <miopen:index>`,3.4.0,3.3.0,3.2.0
|
||||||
:doc:`MIVisionX <mivisionx:index>`,3.3.0,3.2.0,3.1.0
|
:doc:`MIVisionX <mivisionx:index>`,3.2.0,3.1.0,3.0.0
|
||||||
:doc:`rocAL <rocal:index>`,2.3.0,2.2.0,2.1.0
|
:doc:`rocAL <rocal:index>`,2.2.0,2.1.0,1.0.0
|
||||||
:doc:`rocDecode <rocdecode:index>`,1.0.0,0.10.0,0.8.0
|
:doc:`rocDecode <rocdecode:index>`,0.10.0,0.8.0,0.6.0
|
||||||
:doc:`rocJPEG <rocjpeg:index>`,1.1.0,0.8.0,0.6.0
|
:doc:`rocJPEG <rocjpeg:index>`,0.8.0,0.6.0,N/A
|
||||||
:doc:`rocPyDecode <rocpydecode:index>`,0.6.0,0.3.1,0.2.0
|
:doc:`rocPyDecode <rocpydecode:index>`,0.3.1,0.2.0,0.1.0
|
||||||
:doc:`RPP <rpp:index>`,2.0.0,1.9.10,1.9.1
|
:doc:`RPP <rpp:index>`,1.9.10,1.9.1,1.8.0
|
||||||
,,,
|
,,,
|
||||||
COMMUNICATION,.. _commlibs-support-compatibility-matrix:,,
|
COMMUNICATION,.. _commlibs-support-compatibility-matrix:,,
|
||||||
:doc:`RCCL <rccl:index>`,2.26.6,2.22.3,2.21.5
|
:doc:`RCCL <rccl:index>`,2.22.3,2.21.5,2.20.5
|
||||||
:doc:`rocSHMEM <rocshmem:index>`,3.0.0,2.0.1,N/A
|
`rocSHMEM <https://github.com/ROCm/rocSHMEM>`_ ,2.0.0,N/A,N/A
|
||||||
,,,
|
,,,
|
||||||
MATH LIBS,.. _mathlibs-support-compatibility-matrix:,,
|
MATH LIBS,.. _mathlibs-support-compatibility-matrix:,,
|
||||||
`half <https://github.com/ROCm/half>`_ ,1.12.0,1.12.0,1.12.0
|
`half <https://github.com/ROCm/half>`_ ,1.12.0,1.12.0,1.12.0
|
||||||
:doc:`hipBLAS <hipblas:index>`,3.0.0,2.4.0,2.3.0
|
:doc:`hipBLAS <hipblas:index>`,2.4.0,2.3.0,2.2.0
|
||||||
:doc:`hipBLASLt <hipblaslt:index>`,1.0.0,0.12.1,0.10.0
|
:doc:`hipBLASLt <hipblaslt:index>`,0.12.0,0.10.0,0.8.0
|
||||||
:doc:`hipFFT <hipfft:index>`,1.0.20,1.0.18,1.0.17
|
:doc:`hipFFT <hipfft:index>`,1.0.18,1.0.17,1.0.14
|
||||||
:doc:`hipfort <hipfort:index>`,0.7.0,0.6.0,0.5.0
|
:doc:`hipfort <hipfort:index>`,0.6.0,0.5.1,0.4.0
|
||||||
:doc:`hipRAND <hiprand:index>`,3.0.0,2.12.0,2.11.0
|
:doc:`hipRAND <hiprand:index>`,2.12.0,2.11.1,2.11.0
|
||||||
:doc:`hipSOLVER <hipsolver:index>`,3.0.0,2.4.0,2.3.0
|
:doc:`hipSOLVER <hipsolver:index>`,2.4.0,2.3.0,2.2.0
|
||||||
:doc:`hipSPARSE <hipsparse:index>`,4.0.1,3.2.0,3.1.2
|
:doc:`hipSPARSE <hipsparse:index>`,3.2.0,3.1.2,3.1.1
|
||||||
:doc:`hipSPARSELt <hipsparselt:index>`,0.2.4,0.2.3,0.2.2
|
:doc:`hipSPARSELt <hipsparselt:index>`,0.2.3,0.2.2,0.2.1
|
||||||
:doc:`rocALUTION <rocalution:index>`,4.0.0,3.2.3,3.2.1
|
:doc:`rocALUTION <rocalution:index>`,3.2.2,3.2.1,3.2.0
|
||||||
:doc:`rocBLAS <rocblas:index>`,5.0.0,4.4.1,4.3.0
|
:doc:`rocBLAS <rocblas:index>`,4.4.0,4.3.0,4.2.0
|
||||||
:doc:`rocFFT <rocfft:index>`,1.0.34,1.0.32,1.0.31
|
:doc:`rocFFT <rocfft:index>`,1.0.32,1.0.31,1.0.28
|
||||||
:doc:`rocRAND <rocrand:index>`,4.0.0,3.3.0,3.2.0
|
:doc:`rocRAND <rocrand:index>`,3.3.0,3.2.0,3.1.0
|
||||||
:doc:`rocSOLVER <rocsolver:index>`,3.30.0,3.28.2,3.27.0
|
:doc:`rocSOLVER <rocsolver:index>`,3.28.0,3.27.0,3.26.0
|
||||||
:doc:`rocSPARSE <rocsparse:index>`,4.0.2,3.4.0,3.3.0
|
:doc:`rocSPARSE <rocsparse:index>`,3.4.0,3.3.0,3.2.0
|
||||||
:doc:`rocWMMA <rocwmma:index>`,2.0.0,1.7.0,1.6.0
|
:doc:`rocWMMA <rocwmma:index>`,1.7.0,1.6.0,1.5.0
|
||||||
:doc:`Tensile <tensile:src/index>`,4.44.0,4.43.0,4.42.0
|
:doc:`Tensile <tensile:src/index>`,4.43.0,4.42.0,4.41.0
|
||||||
,,,
|
,,,
|
||||||
PRIMITIVES,.. _primitivelibs-support-compatibility-matrix:,,
|
PRIMITIVES,.. _primitivelibs-support-compatibility-matrix:,,
|
||||||
:doc:`hipCUB <hipcub:index>`,4.0.0,3.4.0,3.3.0
|
:doc:`hipCUB <hipcub:index>`,3.4.0,3.3.0,3.2.0
|
||||||
:doc:`hipTensor <hiptensor:index>`,2.0.0,1.5.0,1.4.0
|
:doc:`hipTensor <hiptensor:index>`,1.5.0,1.4.0,1.3.0
|
||||||
:doc:`rocPRIM <rocprim:index>`,4.0.0,3.4.1,3.3.0
|
:doc:`rocPRIM <rocprim:index>`,3.4.0,3.3.0,3.2.0
|
||||||
:doc:`rocThrust <rocthrust:index>`,4.0.0,3.3.0,3.3.0
|
:doc:`rocThrust <rocthrust:index>`,3.3.0,3.3.0,3.0.1
|
||||||
,,,
|
,,,
|
||||||
SUPPORT LIBS,,,
|
SUPPORT LIBS,,,
|
||||||
`hipother <https://github.com/ROCm/hipother>`_,7.0.51830,6.4.43483,6.3.42131
|
`hipother <https://github.com/ROCm/hipother>`_,6.4.43482,6.3.42134,6.2.41133
|
||||||
`rocm-core <https://github.com/ROCm/rocm-core>`_,7.0.0,6.4.3,6.3.0
|
`rocm-core <https://github.com/ROCm/rocm-core>`_,6.4.0,6.3.3,6.2.0
|
||||||
`ROCT-Thunk-Interface <https://github.com/ROCm/ROCT-Thunk-Interface>`_,N/A [#ROCT-rocr]_,N/A [#ROCT-rocr]_,N/A [#ROCT-rocr]_
|
`ROCT-Thunk-Interface <https://github.com/ROCm/ROCT-Thunk-Interface>`_,N/A [#ROCT-rocr]_,N/A [#ROCT-rocr]_,20240607.1.4246
|
||||||
,,,
|
,,,
|
||||||
SYSTEM MGMT TOOLS,.. _tools-support-compatibility-matrix:,,
|
SYSTEM MGMT TOOLS,.. _tools-support-compatibility-matrix:,,
|
||||||
:doc:`AMD SMI <amdsmi:index>`,26.0.0,25.5.1,24.7.1
|
:doc:`AMD SMI <amdsmi:index>`,25.3.0,24.7.1,24.6.2
|
||||||
:doc:`ROCm Data Center Tool <rdc:index>`,1.1.0,0.3.0,0.3.0
|
:doc:`ROCm Data Center Tool <rdc:index>`,0.3.0,0.3.0,0.3.0
|
||||||
:doc:`rocminfo <rocminfo:index>`,1.0.0,1.0.0,1.0.0
|
:doc:`rocminfo <rocminfo:index>`,1.0.0,1.0.0,1.0.0
|
||||||
:doc:`ROCm SMI <rocm_smi_lib:index>`,7.8.0,7.7.0,7.4.0
|
:doc:`ROCm SMI <rocm_smi_lib:index>`,7.5.0,7.4.0,7.3.0
|
||||||
:doc:`ROCm Validation Suite <rocmvalidationsuite:index>`,1.2.0,1.1.0,1.1.0
|
:doc:`ROCm Validation Suite <rocmvalidationsuite:index>`,1.1.0,1.1.0,1.0.60200
|
||||||
,,,
|
,,,
|
||||||
PERFORMANCE TOOLS,,,
|
PERFORMANCE TOOLS,,,
|
||||||
:doc:`ROCm Bandwidth Test <rocm_bandwidth_test:index>`,2.6.0,1.4.0,1.4.0
|
:doc:`ROCm Bandwidth Test <rocm_bandwidth_test:index>`,1.4.0,1.4.0,1.4.0
|
||||||
:doc:`ROCm Compute Profiler <rocprofiler-compute:index>`,3.2.3,3.1.1,3.0.0
|
:doc:`ROCm Compute Profiler <rocprofiler-compute:index>`,3.1.0,3.0.0,2.0.1
|
||||||
:doc:`ROCm Systems Profiler <rocprofiler-systems:index>`,1.1.0,1.0.2,0.1.0
|
:doc:`ROCm Systems Profiler <rocprofiler-systems:index>`,1.0.0,0.1.2,1.11.2
|
||||||
:doc:`ROCProfiler <rocprofiler:index>`,2.0.70000,2.0.60403,2.0.60300
|
:doc:`ROCProfiler <rocprofiler:index>`,2.0.60400,2.0.60303,2.0.60200
|
||||||
:doc:`ROCprofiler-SDK <rocprofiler-sdk:index>`,1.0.0,0.6.0,0.5.0
|
:doc:`ROCprofiler-SDK <rocprofiler-sdk:index>`,0.6.0,0.5.0,0.4.0
|
||||||
:doc:`ROCTracer <roctracer:index>`,4.1.70000,4.1.60403,4.1.60300
|
:doc:`ROCTracer <roctracer:index>`,4.1.60400,4.1.60303,4.1.60200
|
||||||
,,,
|
,,,
|
||||||
DEVELOPMENT TOOLS,,,
|
DEVELOPMENT TOOLS,,,
|
||||||
:doc:`HIPIFY <hipify:index>`,20.0.0,19.0.0,18.0.0.24455
|
:doc:`HIPIFY <hipify:index>`,19.0.0.25133,18.0.0.25012,18.0.0.24232
|
||||||
:doc:`ROCm CMake <rocmcmakebuildtools:index>`,0.14.0,0.14.0,0.14.0
|
:doc:`ROCm CMake <rocmcmakebuildtools:index>`,0.14.0,0.14.0,0.13.0
|
||||||
:doc:`ROCdbgapi <rocdbgapi:index>`,0.77.3,0.77.2,0.77.0
|
:doc:`ROCdbgapi <rocdbgapi:index>`,0.77.2,0.77.0,0.76.0
|
||||||
:doc:`ROCm Debugger (ROCgdb) <rocgdb:index>`,16.3.0,15.2.0,15.2.0
|
:doc:`ROCm Debugger (ROCgdb) <rocgdb:index>`,15.2.0,15.2.0,14.2.0
|
||||||
`rocprofiler-register <https://github.com/ROCm/rocprofiler-register>`_,0.5.0,0.4.0,0.4.0
|
`rocprofiler-register <https://github.com/ROCm/rocprofiler-register>`_,0.4.0,0.4.0,0.4.0
|
||||||
:doc:`ROCr Debug Agent <rocr_debug_agent:index>`,2.1.0,2.0.4,2.0.3
|
:doc:`ROCr Debug Agent <rocr_debug_agent:index>`,2.0.4,2.0.3,2.0.3
|
||||||
,,,
|
,,,
|
||||||
COMPILERS,.. _compilers-support-compatibility-matrix:,,
|
COMPILERS,.. _compilers-support-compatibility-matrix:,,
|
||||||
|
`clang-ocl <https://github.com/ROCm/clang-ocl>`_,N/A,N/A,N/A
|
||||||
:doc:`hipCC <hipcc:index>`,1.1.1,1.1.1,1.1.1
|
:doc:`hipCC <hipcc:index>`,1.1.1,1.1.1,1.1.1
|
||||||
`Flang <https://github.com/ROCm/flang>`_,20.0.0.25314,19.0.0.25224,18.0.0.24455
|
`Flang <https://github.com/ROCm/flang>`_,19.0.0.25133,18.0.0.25012,18.0.0.24232
|
||||||
:doc:`llvm-project <llvm-project:index>`,20.0.0.25314,19.0.0.25224,18.0.0.24491
|
:doc:`llvm-project <llvm-project:index>`,19.0.0.25133,18.0.0.25012,18.0.0.24232
|
||||||
`OpenMP <https://github.com/ROCm/llvm-project/tree/amd-staging/openmp>`_,20.0.0.25314,19.0.0.25224,18.0.0.24491
|
`OpenMP <https://github.com/ROCm/llvm-project/tree/amd-staging/openmp>`_,19.0.0.25133,18.0.0.25012,18.0.0.24232
|
||||||
,,,
|
,,,
|
||||||
RUNTIMES,.. _runtime-support-compatibility-matrix:,,
|
RUNTIMES,.. _runtime-support-compatibility-matrix:,,
|
||||||
:doc:`AMD CLR <hip:understand/amd_clr>`,7.0.51830,6.4.43484,6.3.42131
|
:doc:`AMD CLR <hip:understand/amd_clr>`,6.4.43482,6.3.42134,6.2.41133
|
||||||
:doc:`HIP <hip:index>`,7.0.51830,6.4.43484,6.3.42131
|
:doc:`HIP <hip:index>`,6.4.43482,6.3.42134,6.2.41133
|
||||||
`OpenCL Runtime <https://github.com/ROCm/clr/tree/develop/opencl>`_,2.0.0,2.0.0,2.0.0
|
`OpenCL Runtime <https://github.com/ROCm/clr/tree/develop/opencl>`_,2.0.0,2.0.0,2.0.0
|
||||||
:doc:`ROCr Runtime <rocr-runtime:index>`,1.18.0,1.15.0,1.14.0
|
:doc:`ROCr Runtime <rocr-runtime:index>`,1.15.0,1.14.0,1.13.0
|
||||||
|
|
||||||
|
|
||||||
.. rubric:: Footnotes
|
.. rubric:: Footnotes
|
||||||
|
|
||||||
.. [#rhel-700] RHEL 8.10 is only supported on AMD Instinct MI300X, MI300A, MI250X, MI250, MI210, and MI100 GPUs.
|
.. [#mi300x] Oracle Linux and Azure Linux are supported only on AMD Instinct MI300X.
|
||||||
.. [#ol-700-mi300x] **For ROCm 7.0.0** - Oracle Linux 9 is supported only on AMD Instinct MI355X, MI350X, and MI300X GPUs. Oracle Linux 8 is supported only on AMD Instinct MI300X GPUs.
|
.. [#single-node] Debian 12 is supported only on AMD Instinct MI300X for single-node functionality.
|
||||||
.. [#ol-mi300x] **Prior ROCm 7.0.0** - Oracle Linux is supported only on AMD Instinct MI300X GPUs.
|
.. [#mi300_620] **For ROCm 6.2.0** - MI300X (gfx942) is supported on listed operating systems *except* Ubuntu 22.04.5 [6.8 HWE] and Ubuntu 22.04.4 [6.5 HWE].
|
||||||
.. [#sles-db-700] **For ROCm 7.0.0** - SLES 15 SP7 and Debian 12 are only supported on AMD Instinct MI300X, MI300A, MI250X, MI250, and MI210 GPUs.
|
.. [#kfd_support] Starting from ROCm 6.4.0, forward and backward compatibility between the AMD Kernel-mode GPU Driver (KMD) and its user space software is provided up to a year apart (assuming hardware support is available in both). For earlier ROCm releases, the compatibility is provided for +/- 2 releases. These are the compatibility combinations that are currently supported.
|
||||||
.. [#az-mi300x] Starting ROCm 6.4.0, Azure Linux 3.0 is supported only on AMD Instinct MI300X and AMD Radeon PRO V710.
|
|
||||||
.. [#rl-700] Rocky Linux 9 is only supported on AMD Instinct MI300X and MI300A GPUs.
|
|
||||||
.. [#single-node] **Prior to ROCm 7.0.0** - Debian 12 is supported only on AMD Instinct MI300X for single-node functionality.
|
|
||||||
.. [#mi350x-os] AMD Instinct MI355X (gfx950) and MI350X(gfx950) GPUs are only supported on Ubuntu 24.04.3, Ubuntu 22.04.5, RHEL 9.6, RHEL 9.4, and Oracle Linux 9.
|
|
||||||
.. [#RDNA-OS-700] **For ROCm 7.0.0** - AMD Radeon PRO AI PRO R9700 (gfx1201), AMD Radeon RX 9070 XT (gfx1201), AMD Radeon RX 9070 GRE (gfx1201), AMD Radeon RX 9070 (gfx1201), AMD Radeon RX 9060 XT (gfx1200), AMD Radeon RX 7800 XT (gfx1101), AMD Radeon RX 7700 XT (gfx1101), AMD Radeon PRO W7700 (gfx1101), and AMD Radeon PRO W6800 (gfx1030) are only supported on Ubuntu 24.04.3, Ubuntu 22.04.5, and RHEL 9.6.
|
|
||||||
.. [#RDNA-OS] **Prior ROCm 7.0.0** - Radeon AI PRO R9700, Radeon RX 9070 XT (gfx1201), Radeon RX 9060 XT (gfx1200), Radeon PRO W7700 (gfx1101), and Radeon RX 7800 XT (gfx1101) are supported only on Ubuntu 24.04.2, Ubuntu 22.04.5, RHEL 9.6, and RHEL 9.4.
|
|
||||||
.. [#rd-v710] **For ROCm 7.0.0** - AMD Radeon PRO V710 (gfx1101) is only supported on Ubuntu 24.04.3, Ubuntu 22.04.5, RHEL 9.6, and Azure Linux 3.0.
|
|
||||||
.. [#rd-v620] **For ROCm 7.0.0** - AMD Radeon PRO V620 (gfx1030) is only supported on Ubuntu 24.04.3 and Ubuntu 22.04.5.
|
|
||||||
.. [#mi325x-os] **For ROCm 7.0.0** - AMD Instinct MI325X GPU (gfx942) is only supported on Ubuntu 24.04.3, Ubuntu 22.04.5, RHEL 9.6, and RHEL 9.4.
|
|
||||||
.. [#mi300x-os] **For ROCm 7.0.0** - AMD Instinct MI300X GPU (gfx942) is supported on all listed :ref:`supported_distributions`.
|
|
||||||
.. [#mi300A-os] **For ROCm 7.0.0** - AMD Instinct MI300A GPU (gfx942) is supported only on Ubuntu 24.04, Ubuntu 22.04, RHEL 9.6, RHEL 9.4, RHEL 8.10, SLES 15 SP7, Debian 12, and Rocky Linux 9.
|
|
||||||
.. [#mi200x-os] **For ROCm 7.0.0** - AMD Instinct MI200 Series GPUs (gfx90a) are supported only on Ubuntu 24.04, Ubuntu 22.04, RHEL 9.6, RHEL 9.4, RHEL 8.10, SLES 15 SP7, and Debian 12.
|
|
||||||
.. [#mi100-os] **For ROCm 7.0.0** - AMD Instinct MI100 GPU (gfx908) is only supported on Ubuntu 24.04.3, Ubuntu 22.04.5, RHEL 9.6, RHEL 9.4, and RHEL 8.10.
|
|
||||||
.. [#7700XT-OS] **Prior ROCm 7.0.0** - Radeon RX 7700 XT (gfx1101) is supported only on Ubuntu 24.04.2 and RHEL 9.6.
|
|
||||||
.. [#tf-mi350] TensorFlow 2.17.1 is not supported on AMD Instinct MI350 series GPUs. Use TensorFlow 2.19.1 or 2.18.1 with MI350 series GPUs instead.
|
|
||||||
.. [#stanford-megatron-lm_compat] Stanford Megatron-LM is only supported on ROCm 6.3.0.
|
|
||||||
.. [#megablocks_compat] Megablocks is only supported on ROCm 6.3.0.
|
|
||||||
.. [#llama-cpp_compat] llama.cpp is only supported on ROCm 7.0.0 and 6.4.x.
|
|
||||||
.. [#kfd_support] As of ROCm 6.4.0, forward and backward compatibility between the AMD GPU Driver (amdgpu) and its user space software is provided up to a year apart. For earlier ROCm releases, the compatibility is provided for +/- 2 releases. The supported user space versions on this page were accurate as of the time of initial ROCm release. For the most up-to-date information, see the latest version of this information at `User and AMD GPU Driver support matrix <https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/user-kernel-space-compat-matrix.html>`_.
|
|
||||||
.. [#ROCT-rocr] Starting from ROCm 6.3.0, the ROCT Thunk Interface is included as part of the ROCr runtime package.
|
.. [#ROCT-rocr] Starting from ROCm 6.3.0, the ROCT Thunk Interface is included as part of the ROCr runtime package.
|
||||||
|
|
||||||
|
|
||||||
.. _OS-kernel-versions:
|
.. _OS-kernel-versions:
|
||||||
|
|
||||||
Operating systems, kernel and Glibc versions
|
Operating systems, kernel and Glibc versions
|
||||||
@@ -194,30 +166,26 @@ Use this lookup table to confirm which operating system and kernel versions are
|
|||||||
:widths: 40, 20, 30, 20
|
:widths: 40, 20, 30, 20
|
||||||
:stub-columns: 1
|
:stub-columns: 1
|
||||||
|
|
||||||
`Ubuntu <https://ubuntu.com/about/release-cycle#ubuntu-kernel-release-cycle>`_, 24.04.3, "6.8 [GA], 6.14 [HWE]", 2.39
|
`Ubuntu <https://ubuntu.com/about/release-cycle#ubuntu-kernel-release-cycle>`_, 24.04.2, "6.8 GA, 6.11 HWE", 2.39
|
||||||
,,
|
,,
|
||||||
`Ubuntu <https://ubuntu.com/about/release-cycle#ubuntu-kernel-release-cycle>`_, 24.04.2, "6.8 [GA], 6.11 [HWE]", 2.39
|
`Ubuntu <https://ubuntu.com/about/release-cycle#ubuntu-kernel-release-cycle>`_, 22.04.5, "5.15 GA, 6.8 HWE", 2.35
|
||||||
,,
|
,,
|
||||||
`Ubuntu <https://ubuntu.com/about/release-cycle#ubuntu-kernel-release-cycle>`_, 22.04.5, "5.15 [GA], 6.8 [HWE]", 2.35
|
`Red Hat Enterprise Linux (RHEL 9) <https://access.redhat.com/articles/3078#RHEL9>`_, 9.5, 5.14+, 2.34
|
||||||
|
,9.4, 5.14+, 2.34
|
||||||
|
,9.3, 5.14+, 2.34
|
||||||
,,
|
,,
|
||||||
`Red Hat Enterprise Linux (RHEL 9) <https://access.redhat.com/articles/3078#RHEL9>`_, 9.6, 5.14.0-570, 2.34
|
`Red Hat Enterprise Linux (RHEL 8) <https://access.redhat.com/articles/3078#RHEL8>`_, 8.10, 4.18.0+, 2.28
|
||||||
,9.5, 5.14+, 2.34
|
,8.9, 4.18.0, 2.28
|
||||||
,9.4, 5.14.0-427, 2.34
|
|
||||||
,,
|
,,
|
||||||
`Red Hat Enterprise Linux (RHEL 8) <https://access.redhat.com/articles/3078#RHEL8>`_, 8.10, 4.18.0-553, 2.28
|
`SUSE Linux Enterprise Server (SLES) <https://www.suse.com/support/kb/doc/?id=000019587#SLE15SP4>`_, 15 SP6, "6.5.0+, 6.4.0", 2.38
|
||||||
,,
|
|
||||||
`SUSE Linux Enterprise Server (SLES) <https://www.suse.com/support/kb/doc/?id=000019587#SLE15SP4>`_, 15 SP7, 6.40-150700.51, 2.38
|
|
||||||
,15 SP6, "6.5.0+, 6.4.0", 2.38
|
|
||||||
,15 SP5, 5.14.21, 2.31
|
,15 SP5, 5.14.21, 2.31
|
||||||
,,
|
,,
|
||||||
`Rocky Linux <https://wiki.rockylinux.org/rocky/version/>`_, 9, 5.14.0-570, 2.34
|
`Oracle Linux <https://blogs.oracle.com/scoter/post/oracle-linux-and-unbreakable-enterprise-kernel-uek-releases>`_, 9, 5.15.0 (UEK), 2.35
|
||||||
,,
|
|
||||||
`Oracle Linux <https://blogs.oracle.com/scoter/post/oracle-linux-and-unbreakable-enterprise-kernel-uek-releases>`_, 9, 6.12.0 (UEK), 2.34
|
|
||||||
,8, 5.15.0 (UEK), 2.28
|
,8, 5.15.0 (UEK), 2.28
|
||||||
,,
|
,,
|
||||||
`Debian <https://www.debian.org/download>`_,12, 6.1.0, 2.36
|
`Debian <https://www.debian.org/download>`_,12, 6.1, 2.36
|
||||||
,,
|
,,
|
||||||
`Azure Linux <https://techcommunity.microsoft.com/blog/linuxandopensourceblog/azure-linux-3-0-now-in-preview-on-azure-kubernetes-service-v1-31/4287229>`_,3.0, 6.6.92, 2.38
|
`Azure Linux <https://techcommunity.microsoft.com/blog/linuxandopensourceblog/azure-linux-3-0-now-in-preview-on-azure-kubernetes-service-v1-31/4287229>`_,3.0, 6.6.60, 2.38
|
||||||
,,
|
,,
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
@@ -250,25 +218,8 @@ Expand for full historical view of:
|
|||||||
|
|
||||||
.. rubric:: Footnotes
|
.. rubric:: Footnotes
|
||||||
|
|
||||||
.. [#rhel-700-past-60] **For ROCm 7.0.0** - RHEL 8.10 is only supported on AMD Instinct MI300X, MI300A, MI250X, MI250, MI210, and MI100 GPUs.
|
.. [#mi300x-past-60] Oracle Linux and Azure Linux are supported only on AMD Instinct MI300X.
|
||||||
.. [#ol-700-mi300x-past-60] **For ROCm 7.0.0** - Oracle Linux 9 is supported only on AMD Instinct MI300X, MI350X, and MI355X. Oracle Linux 8 is only supported on AMD Instinct MI300X.
|
.. [#single-node-past-60] Debian 12 is supported only on AMD Instinct MI300X for single-node functionality.
|
||||||
.. [#mi300x-past-60] **Prior ROCm 7.0.0** - Oracle Linux is supported only on AMD Instinct MI300X.
|
|
||||||
.. [#sles-db-700-past-60] **For ROCm 7.0.0** - SLES 15 SP7 and Debian 12 are only supported on AMD Instinct MI300X, MI300A, MI250X, MI250, and MI210 GPUs.
|
|
||||||
.. [#single-node-past-60] **Prior to ROCm 7.0.0** - Debian 12 is supported only on AMD Instinct MI300X for single-node functionality.
|
|
||||||
.. [#az-mi300x-past-60] Starting from ROCm 6.4.0, Azure Linux 3.0 is supported only on AMD Instinct MI300X and AMD Radeon PRO V710.
|
|
||||||
.. [#az-mi300x-630-past-60] **Prior ROCm 6.4.0**- Azure Linux 3.0 is supported only on AMD Instinct MI300X.
|
|
||||||
.. [#rl-700-past-60] Rocky Linux 9 is only supported on AMD Instinct MI300X and MI300A GPUs.
|
|
||||||
.. [#mi350x-os-past-60] AMD Instinct MI355X (gfx950) and MI350X(gfx950) GPUs are only supported on Ubuntu 24.04.3, Ubuntu 22.04.5, RHEL 9.6, RHEL 9.4, and Oracle Linux 9.
|
|
||||||
.. [#RDNA-OS-700-past-60] **For ROCm 7.0.0** AMD Radeon PRO AI PRO R9700 (gfx1201), AMD Radeon RX 9070 XT (gfx1201), AMD Radeon RX 9070 GRE (gfx1201), AMD Radeon RX 9070 (gfx1201), AMD Radeon RX 9060 XT (gfx1200), AMD Radeon RX 7800 XT (gfx1101), AMD Radeon RX 7700 XT (gfx1101), AMD Radeon PRO W7700 (gfx1101), and AMD Radeon PRO W6800 (gfx1030) are only supported on Ubuntu 24.04.3, Ubuntu 22.04.5, and RHEL 9.6.
|
|
||||||
.. [#RDNA-OS-past-60] **Prior ROCm 7.0.0** - Radeon AI PRO R9700, Radeon RX 9070 XT (gfx1201), Radeon RX 9060 XT (gfx1200), Radeon PRO W7700 (gfx1101), and Radeon RX 7800 XT (gfx1101) are supported only on Ubuntu 24.04.2, Ubuntu 22.04.5, RHEL 9.6, and RHEL 9.4.
|
|
||||||
.. [#rd-v710-past-60] **For ROCm 7.0.0** - AMD Radeon PRO V710 (gfx1101) is only supported on Ubuntu 24.04.3, Ubuntu 22.04.5, RHEL 9.6, and Azure Linux 3.0.
|
|
||||||
.. [#rd-v620-past-60] **For ROCm 7.0.0** - AMD Radeon PRO V620 (gfx1030) is only supported on Ubuntu 24.04.3 and Ubuntu 22.04.5.
|
|
||||||
.. [#mi325x-os-past-60] **For ROCm 7.0.0** - AMD Instinct MI325X GPU (gfx942) is only supported on Ubuntu 24.04.3, Ubuntu 22.04.5, RHEL 9.6, and RHEL 9.4.
|
|
||||||
.. [#mi300x-os-past-60] **For ROCm 7.0.0** - AMD Instinct MI300X GPU (gfx942) is supported on all listed :ref:`supported_distributions`.
|
|
||||||
.. [#mi300A-os-past-60] **For ROCm 7.0.0** - AMD Instinct MI300A GPU (gfx942) is supported only on Ubuntu 24.04, Ubuntu 22.04, RHEL 9.6, RHEL 9.4, RHEL 8.10, SLES 15 SP7, Debian 12, and Rocky Linux 9.
|
|
||||||
.. [#mi200x-os-past-60] **For ROCm 7.0.0** - AMD Instinct MI200 Series GPUs (gfx90a) are supported only on Ubuntu 24.04, Ubuntu 22.04, RHEL 9.6, RHEL 9.4, RHEL 8.10, SLES 15 SP7, and Debian 12.
|
|
||||||
.. [#mi100-os-past-60] **For ROCm 7.0.0** - AMD Instinct MI100 GPU (gfx908) is only supported on Ubuntu 24.04.3, Ubuntu 22.04.5, RHEL 9.6, RHEL 9.4, and RHEL 8.10.
|
|
||||||
.. [#7700XT-OS-past-60] Radeon RX 7700 XT (gfx1101) is supported only on Ubuntu 24.04.2 and RHEL 9.6.
|
|
||||||
.. [#mi300_624-past-60] **For ROCm 6.2.4** - MI300X (gfx942) is supported on listed operating systems *except* Ubuntu 22.04.5 [6.8 HWE] and Ubuntu 22.04.4 [6.5 HWE].
|
.. [#mi300_624-past-60] **For ROCm 6.2.4** - MI300X (gfx942) is supported on listed operating systems *except* Ubuntu 22.04.5 [6.8 HWE] and Ubuntu 22.04.4 [6.5 HWE].
|
||||||
.. [#mi300_622-past-60] **For ROCm 6.2.2** - MI300X (gfx942) is supported on listed operating systems *except* Ubuntu 22.04.5 [6.8 HWE] and Ubuntu 22.04.4 [6.5 HWE].
|
.. [#mi300_622-past-60] **For ROCm 6.2.2** - MI300X (gfx942) is supported on listed operating systems *except* Ubuntu 22.04.5 [6.8 HWE] and Ubuntu 22.04.4 [6.5 HWE].
|
||||||
.. [#mi300_621-past-60] **For ROCm 6.2.1** - MI300X (gfx942) is supported on listed operating systems *except* Ubuntu 22.04.5 [6.8 HWE] and Ubuntu 22.04.4 [6.5 HWE].
|
.. [#mi300_621-past-60] **For ROCm 6.2.1** - MI300X (gfx942) is supported on listed operating systems *except* Ubuntu 22.04.5 [6.8 HWE] and Ubuntu 22.04.4 [6.5 HWE].
|
||||||
@@ -278,14 +229,5 @@ Expand for full historical view of:
|
|||||||
.. [#mi300_610-past-60] **For ROCm 6.1.0** - MI300A (gfx942) is supported on Ubuntu 22.04.4, RHEL 9.4, RHEL 9.3, RHEL 8.9, and SLES 15 SP5. MI300X (gfx942) is only supported on Ubuntu 22.04.4.
|
.. [#mi300_610-past-60] **For ROCm 6.1.0** - MI300A (gfx942) is supported on Ubuntu 22.04.4, RHEL 9.4, RHEL 9.3, RHEL 8.9, and SLES 15 SP5. MI300X (gfx942) is only supported on Ubuntu 22.04.4.
|
||||||
.. [#mi300_602-past-60] **For ROCm 6.0.2** - MI300A (gfx942) is supported on Ubuntu 22.04.3, RHEL 8.9, and SLES 15 SP5. MI300X (gfx942) is only supported on Ubuntu 22.04.3.
|
.. [#mi300_602-past-60] **For ROCm 6.0.2** - MI300A (gfx942) is supported on Ubuntu 22.04.3, RHEL 8.9, and SLES 15 SP5. MI300X (gfx942) is only supported on Ubuntu 22.04.3.
|
||||||
.. [#mi300_600-past-60] **For ROCm 6.0.0** - MI300A (gfx942) is supported on Ubuntu 22.04.3, RHEL 8.9, and SLES 15 SP5. MI300X (gfx942) is only supported on Ubuntu 22.04.3.
|
.. [#mi300_600-past-60] **For ROCm 6.0.0** - MI300A (gfx942) is supported on Ubuntu 22.04.3, RHEL 8.9, and SLES 15 SP5. MI300X (gfx942) is only supported on Ubuntu 22.04.3.
|
||||||
.. [#tf-mi350-past-60] TensorFlow 2.17.1 is not supported on AMD Instinct MI350 series GPUs. Use TensorFlow 2.19.1 or 2.18.1 with MI350 series GPUs instead.
|
.. [#kfd_support-past-60] Starting from ROCm 6.4.0, forward and backward compatibility between the AMD Kernel-mode GPU Driver (KMD) and its user space software is provided up to a year apart (assuming hardware support is available in both). For earlier ROCm releases, the compatibility is provided for +/- 2 releases. These are the compatibility combinations that are currently supported.
|
||||||
.. [#verl_compat-past-60] verl is only supported on ROCm 6.2.0.
|
|
||||||
.. [#stanford-megatron-lm_compat-past-60] Stanford Megatron-LM is only supported on ROCm 6.3.0.
|
|
||||||
.. [#dgl_compat-past-60] DGL is only supported on ROCm 6.4.0.
|
|
||||||
.. [#megablocks_compat-past-60] Megablocks is only supported on ROCm 6.3.0.
|
|
||||||
.. [#ray_compat-past-60] Ray is only supported on ROCm 6.4.1.
|
|
||||||
.. [#llama-cpp_compat-past-60] llama.cpp is only supported on ROCm 7.0.0 and 6.4.x.
|
|
||||||
.. [#flashinfer_compat-past-60] FlashInfer is only supported on ROCm 6.4.1.
|
|
||||||
.. [#kfd_support-past-60] As of ROCm 6.4.0, forward and backward compatibility between the AMD GPU Driver (amdgpu) and its user space software is provided up to a year apart. For earlier ROCm releases, the compatibility is provided for +/- 2 releases. The supported user space versions on this page were accurate as of the time of initial ROCm release. For the most up-to-date information, see the latest version of this information at `User and AMD GPU Driver support matrix <https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/user-kernel-space-compat-matrix.html>`_.
|
|
||||||
.. [#ROCT-rocr-past-60] Starting from ROCm 6.3.0, the ROCT Thunk Interface is included as part of the ROCr runtime package.
|
.. [#ROCT-rocr-past-60] Starting from ROCm 6.3.0, the ROCT Thunk Interface is included as part of the ROCr runtime package.
|
||||||
|
|
||||||
|
|||||||
@@ -1,255 +0,0 @@
|
|||||||
:orphan:
|
|
||||||
|
|
||||||
.. meta::
|
|
||||||
:description: Deep Graph Library (DGL) compatibility
|
|
||||||
:keywords: GPU, DGL compatibility
|
|
||||||
|
|
||||||
.. version-set:: rocm_version latest
|
|
||||||
|
|
||||||
********************************************************************************
|
|
||||||
DGL compatibility
|
|
||||||
********************************************************************************
|
|
||||||
|
|
||||||
Deep Graph Library `(DGL) <https://www.dgl.ai/>`_ is an easy-to-use, high-performance and scalable
|
|
||||||
Python package for deep learning on graphs. DGL is framework agnostic, meaning
|
|
||||||
if a deep graph model is a component in an end-to-end application, the rest of
|
|
||||||
the logic is implemented using PyTorch.
|
|
||||||
|
|
||||||
* ROCm support for DGL is hosted in the `https://github.com/ROCm/dgl <https://github.com/ROCm/dgl>`_ repository.
|
|
||||||
* Due to independent compatibility considerations, this location differs from the `https://github.com/dmlc/dgl <https://github.com/dmlc/dgl>`_ upstream repository.
|
|
||||||
* Use the prebuilt :ref:`Docker images <dgl-docker-compat>` with DGL, PyTorch, and ROCm preinstalled.
|
|
||||||
* See the :doc:`ROCm DGL installation guide <rocm-install-on-linux:install/3rd-party/dgl-install>`
|
|
||||||
to install and get started.
|
|
||||||
|
|
||||||
|
|
||||||
Supported devices
|
|
||||||
================================================================================
|
|
||||||
|
|
||||||
- **Officially Supported**: TF32 with AMD Instinct MI300X (through hipblaslt)
|
|
||||||
- **Partially Supported**: TF32 with AMD Instinct MI250X
|
|
||||||
|
|
||||||
|
|
||||||
.. _dgl-recommendations:
|
|
||||||
|
|
||||||
Use cases and recommendations
|
|
||||||
================================================================================
|
|
||||||
|
|
||||||
DGL can be used for Graph Learning, and building popular graph models like
|
|
||||||
GAT, GCN and GraphSage. Using these we can support a variety of use-cases such as:
|
|
||||||
|
|
||||||
- Recommender systems
|
|
||||||
- Network Optimization and Analysis
|
|
||||||
- 1D (Temporal) and 2D (Image) Classification
|
|
||||||
- Drug Discovery
|
|
||||||
|
|
||||||
Multiple use cases of DGL have been tested and verified.
|
|
||||||
However, a recommended example follows a drug discovery pipeline using the ``SE3Transformer``.
|
|
||||||
Refer to the `AMD ROCm blog <https://rocm.blogs.amd.com/>`_,
|
|
||||||
where you can search for DGL examples and best practices to optimize your training workflows on AMD GPUs.
|
|
||||||
|
|
||||||
Coverage includes:
|
|
||||||
|
|
||||||
- Single-GPU training/inference
|
|
||||||
- Multi-GPU training
|
|
||||||
|
|
||||||
|
|
||||||
.. _dgl-docker-compat:
|
|
||||||
|
|
||||||
Docker image compatibility
|
|
||||||
================================================================================
|
|
||||||
|
|
||||||
.. |docker-icon| raw:: html
|
|
||||||
|
|
||||||
<i class="fab fa-docker"></i>
|
|
||||||
|
|
||||||
AMD validates and publishes `DGL images <https://hub.docker.com/r/rocm/dgl>`_
|
|
||||||
with ROCm and Pytorch backends on Docker Hub. The following Docker image tags and associated
|
|
||||||
inventories were tested on `ROCm 6.4.0 <https://repo.radeon.com/rocm/apt/6.4/>`_.
|
|
||||||
Click the |docker-icon| to view the image on Docker Hub.
|
|
||||||
|
|
||||||
.. list-table:: DGL Docker image components
|
|
||||||
:header-rows: 1
|
|
||||||
:class: docker-image-compatibility
|
|
||||||
|
|
||||||
* - Docker
|
|
||||||
- DGL
|
|
||||||
- PyTorch
|
|
||||||
- Ubuntu
|
|
||||||
- Python
|
|
||||||
|
|
||||||
* - .. raw:: html
|
|
||||||
|
|
||||||
<a href="https://hub.docker.com/layers/rocm/dgl/dgl-2.4_rocm6.4_ubuntu24.04_py3.12_pytorch_release_2.6.0/images/sha256-8ce2c3bcfaa137ab94a75f9e2ea711894748980f57417739138402a542dd5564"><i class="fab fa-docker fa-lg"></i></a>
|
|
||||||
|
|
||||||
- `2.4.0 <https://github.com/dmlc/dgl/releases/tag/v2.4.0>`_
|
|
||||||
- `2.6.0 <https://github.com/ROCm/pytorch/tree/release/2.6>`_
|
|
||||||
- 24.04
|
|
||||||
- `3.12.9 <https://www.python.org/downloads/release/python-3129/>`_
|
|
||||||
|
|
||||||
* - .. raw:: html
|
|
||||||
|
|
||||||
<a href="https://hub.docker.com/layers/rocm/dgl/dgl-2.4_rocm6.4_ubuntu24.04_py3.12_pytorch_release_2.4.1/images/sha256-cf1683283b8eeda867b690229c8091c5bbf1edb9f52e8fb3da437c49a612ebe4"><i class="fab fa-docker fa-lg"></i></a>
|
|
||||||
|
|
||||||
- `2.4.0 <https://github.com/dmlc/dgl/releases/tag/v2.4.0>`_
|
|
||||||
- `2.4.1 <https://github.com/ROCm/pytorch/tree/release/2.4>`_
|
|
||||||
- 24.04
|
|
||||||
- `3.12.9 <https://www.python.org/downloads/release/python-3129/>`_
|
|
||||||
|
|
||||||
|
|
||||||
* - .. raw:: html
|
|
||||||
|
|
||||||
<a href="https://hub.docker.com/layers/rocm/dgl/dgl-2.4_rocm6.4_ubuntu22.04_py3.10_pytorch_release_2.4.1/images/sha256-4834f178c3614e2d09e89e32041db8984c456d45dfd20286e377ca8635686554"><i class="fab fa-docker fa-lg"></i></a>
|
|
||||||
|
|
||||||
- `2.4.0 <https://github.com/dmlc/dgl/releases/tag/v2.4.0>`_
|
|
||||||
- `2.4.1 <https://github.com/ROCm/pytorch/tree/release/2.4>`_
|
|
||||||
- 22.04
|
|
||||||
- `3.10.16 <https://www.python.org/downloads/release/python-31016/>`_
|
|
||||||
|
|
||||||
|
|
||||||
* - .. raw:: html
|
|
||||||
|
|
||||||
<a href="https://hub.docker.com/layers/rocm/dgl/dgl-2.4_rocm6.4_ubuntu22.04_py3.10_pytorch_release_2.3.0/images/sha256-88740a2c8ab4084b42b10c3c6ba984cab33dd3a044f479c6d7618e2b2cb05e69"><i class="fab fa-docker fa-lg"></i></a>
|
|
||||||
|
|
||||||
- `2.4.0 <https://github.com/dmlc/dgl/releases/tag/v2.4.0>`_
|
|
||||||
- `2.3.0 <https://github.com/ROCm/pytorch/tree/release/2.3>`_
|
|
||||||
- 22.04
|
|
||||||
- `3.10.16 <https://www.python.org/downloads/release/python-31016/>`_
|
|
||||||
|
|
||||||
|
|
||||||
Key ROCm libraries for DGL
|
|
||||||
================================================================================
|
|
||||||
|
|
||||||
DGL on ROCm depends on specific libraries that affect its features and performance.
|
|
||||||
Using the DGL Docker container or building it with the provided docker file or a ROCm base image is recommended.
|
|
||||||
If you prefer to build it yourself, ensure the following dependencies are installed:
|
|
||||||
|
|
||||||
.. list-table::
|
|
||||||
:header-rows: 1
|
|
||||||
|
|
||||||
* - ROCm library
|
|
||||||
- Version
|
|
||||||
- Purpose
|
|
||||||
* - `Composable Kernel <https://github.com/ROCm/composable_kernel>`_
|
|
||||||
- :version-ref:`"Composable Kernel" rocm_version`
|
|
||||||
- Enables faster execution of core operations like matrix multiplication
|
|
||||||
(GEMM), convolutions and transformations.
|
|
||||||
* - `hipBLAS <https://github.com/ROCm/hipBLAS>`_
|
|
||||||
- :version-ref:`hipBLAS rocm_version`
|
|
||||||
- Provides GPU-accelerated Basic Linear Algebra Subprograms (BLAS) for
|
|
||||||
matrix and vector operations.
|
|
||||||
* - `hipBLASLt <https://github.com/ROCm/hipBLASLt>`_
|
|
||||||
- :version-ref:`hipBLASLt rocm_version`
|
|
||||||
- hipBLASLt is an extension of the hipBLAS library, providing additional
|
|
||||||
features like epilogues fused into the matrix multiplication kernel or
|
|
||||||
use of integer tensor cores.
|
|
||||||
* - `hipCUB <https://github.com/ROCm/hipCUB>`_
|
|
||||||
- :version-ref:`hipCUB rocm_version`
|
|
||||||
- Provides a C++ template library for parallel algorithms for reduction,
|
|
||||||
scan, sort and select.
|
|
||||||
* - `hipFFT <https://github.com/ROCm/hipFFT>`_
|
|
||||||
- :version-ref:`hipFFT rocm_version`
|
|
||||||
- Provides GPU-accelerated Fast Fourier Transform (FFT) operations.
|
|
||||||
* - `hipRAND <https://github.com/ROCm/hipRAND>`_
|
|
||||||
- :version-ref:`hipRAND rocm_version`
|
|
||||||
- Provides fast random number generation for GPUs.
|
|
||||||
* - `hipSOLVER <https://github.com/ROCm/hipSOLVER>`_
|
|
||||||
- :version-ref:`hipSOLVER rocm_version`
|
|
||||||
- Provides GPU-accelerated solvers for linear systems, eigenvalues, and
|
|
||||||
singular value decompositions (SVD).
|
|
||||||
* - `hipSPARSE <https://github.com/ROCm/hipSPARSE>`_
|
|
||||||
- :version-ref:`hipSPARSE rocm_version`
|
|
||||||
- Accelerates operations on sparse matrices, such as sparse matrix-vector
|
|
||||||
or matrix-matrix products.
|
|
||||||
* - `hipSPARSELt <https://github.com/ROCm/hipSPARSELt>`_
|
|
||||||
- :version-ref:`hipSPARSELt rocm_version`
|
|
||||||
- Accelerates operations on sparse matrices, such as sparse matrix-vector
|
|
||||||
or matrix-matrix products.
|
|
||||||
* - `hipTensor <https://github.com/ROCm/hipTensor>`_
|
|
||||||
- :version-ref:`hipTensor rocm_version`
|
|
||||||
- Optimizes for high-performance tensor operations, such as contractions.
|
|
||||||
* - `MIOpen <https://github.com/ROCm/MIOpen>`_
|
|
||||||
- :version-ref:`MIOpen rocm_version`
|
|
||||||
- Optimizes deep learning primitives such as convolutions, pooling,
|
|
||||||
normalization, and activation functions.
|
|
||||||
* - `MIGraphX <https://github.com/ROCm/AMDMIGraphX>`_
|
|
||||||
- :version-ref:`MIGraphX rocm_version`
|
|
||||||
- Adds graph-level optimizations, ONNX models and mixed precision support
|
|
||||||
and enable Ahead-of-Time (AOT) Compilation.
|
|
||||||
* - `MIVisionX <https://github.com/ROCm/MIVisionX>`_
|
|
||||||
- :version-ref:`MIVisionX rocm_version`
|
|
||||||
- Optimizes acceleration for computer vision and AI workloads like
|
|
||||||
preprocessing, augmentation, and inferencing.
|
|
||||||
* - `rocAL <https://github.com/ROCm/rocAL>`_
|
|
||||||
- :version-ref:`rocAL rocm_version`
|
|
||||||
- Accelerates the data pipeline by offloading intensive preprocessing and
|
|
||||||
augmentation tasks. rocAL is part of MIVisionX.
|
|
||||||
* - `RCCL <https://github.com/ROCm/rccl>`_
|
|
||||||
- :version-ref:`RCCL rocm_version`
|
|
||||||
- Optimizes for multi-GPU communication for operations like AllReduce and
|
|
||||||
Broadcast.
|
|
||||||
* - `rocDecode <https://github.com/ROCm/rocDecode>`_
|
|
||||||
- :version-ref:`rocDecode rocm_version`
|
|
||||||
- Provides hardware-accelerated data decoding capabilities, particularly
|
|
||||||
for image, video, and other dataset formats.
|
|
||||||
* - `rocJPEG <https://github.com/ROCm/rocJPEG>`_
|
|
||||||
- :version-ref:`rocJPEG rocm_version`
|
|
||||||
- Provides hardware-accelerated JPEG image decoding and encoding.
|
|
||||||
* - `RPP <https://github.com/ROCm/RPP>`_
|
|
||||||
- :version-ref:`RPP rocm_version`
|
|
||||||
- Speeds up data augmentation, transformation, and other preprocessing steps.
|
|
||||||
* - `rocThrust <https://github.com/ROCm/rocThrust>`_
|
|
||||||
- :version-ref:`rocThrust rocm_version`
|
|
||||||
- Provides a C++ template library for parallel algorithms like sorting,
|
|
||||||
reduction, and scanning.
|
|
||||||
* - `rocWMMA <https://github.com/ROCm/rocWMMA>`_
|
|
||||||
- :version-ref:`rocWMMA rocm_version`
|
|
||||||
- Accelerates warp-level matrix-multiply and matrix-accumulate to speed up matrix
|
|
||||||
multiplication (GEMM) and accumulation operations with mixed precision
|
|
||||||
support.
|
|
||||||
|
|
||||||
|
|
||||||
Supported features
|
|
||||||
================================================================================
|
|
||||||
|
|
||||||
Many functions and methods available in DGL Upstream are also supported in DGL ROCm.
|
|
||||||
Instead of listing them all, support is grouped into the following categories to provide a general overview.
|
|
||||||
|
|
||||||
* DGL Base
|
|
||||||
* DGL Backend
|
|
||||||
* DGL Data
|
|
||||||
* DGL Dataloading
|
|
||||||
* DGL DGLGraph
|
|
||||||
* DGL Function
|
|
||||||
* DGL Ops
|
|
||||||
* DGL Sampling
|
|
||||||
* DGL Transforms
|
|
||||||
* DGL Utils
|
|
||||||
* DGL Distributed
|
|
||||||
* DGL Geometry
|
|
||||||
* DGL Mpops
|
|
||||||
* DGL NN
|
|
||||||
* DGL Optim
|
|
||||||
* DGL Sparse
|
|
||||||
|
|
||||||
|
|
||||||
Unsupported features
|
|
||||||
================================================================================
|
|
||||||
|
|
||||||
* Graphbolt
|
|
||||||
* Partial TF32 Support (MI250x only)
|
|
||||||
* Kineto/ ROCTracer integration
|
|
||||||
|
|
||||||
|
|
||||||
Unsupported functions
|
|
||||||
================================================================================
|
|
||||||
|
|
||||||
* ``more_nnz``
|
|
||||||
* ``format``
|
|
||||||
* ``multiprocess_sparse_adam_state_dict``
|
|
||||||
* ``record_stream_ndarray``
|
|
||||||
* ``half_spmm``
|
|
||||||
* ``segment_mm``
|
|
||||||
* ``gather_mm_idx_b``
|
|
||||||
* ``pgexplainer``
|
|
||||||
* ``sample_labors_prob``
|
|
||||||
* ``sample_labors_noprob``
|
|
||||||
@@ -1,107 +0,0 @@
|
|||||||
:orphan:
|
|
||||||
|
|
||||||
.. meta::
|
|
||||||
:description: FlashInfer deep learning framework compatibility
|
|
||||||
:keywords: GPU, LLM, FlashInfer, compatibility
|
|
||||||
|
|
||||||
.. version-set:: rocm_version latest
|
|
||||||
|
|
||||||
********************************************************************************
|
|
||||||
FlashInfer compatibility
|
|
||||||
********************************************************************************
|
|
||||||
|
|
||||||
`FlashInfer <https://docs.flashinfer.ai/index.html>`__ is a library and kernel generator
|
|
||||||
for Large Language Models (LLMs) that provides high-performance implementation of graphics
|
|
||||||
processing units (GPUs) kernels. FlashInfer focuses on LLM serving and inference, as well
|
|
||||||
as advanced performance across diverse scenarios.
|
|
||||||
|
|
||||||
FlashInfer features highly efficient attention kernels, load-balanced scheduling, and memory-optimized
|
|
||||||
techniques, while supporting customized attention variants. It’s compatible with ``torch.compile``, and
|
|
||||||
offers high-performance LLM-specific operators, with easy integration through PyTorch, and C++ APIs.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
The ROCm port of FlashInfer is under active development, and some features are not yet available.
|
|
||||||
For the latest feature compatibility matrix, refer to the ``README`` of the
|
|
||||||
`https://github.com/ROCm/flashinfer <https://github.com/ROCm/flashinfer>`__ repository.
|
|
||||||
|
|
||||||
Support for the ROCm port of FlashInfer is available as follows:
|
|
||||||
|
|
||||||
- ROCm support for FlashInfer is hosted in the `https://github.com/ROCm/flashinfer
|
|
||||||
<https://github.com/ROCm/flashinfer>`__ repository. This location differs from the
|
|
||||||
`https://github.com/flashinfer-ai/flashinfer <https://github.com/flashinfer-ai/flashinfer>`_
|
|
||||||
upstream repository.
|
|
||||||
|
|
||||||
- To install FlashInfer, use the prebuilt :ref:`Docker image <flashinfer-docker-compat>`,
|
|
||||||
which includes ROCm, FlashInfer, and all required dependencies.
|
|
||||||
|
|
||||||
- See the :doc:`ROCm FlashInfer installation guide <rocm-install-on-linux:install/3rd-party/flashinfer-install>`
|
|
||||||
to install and get started.
|
|
||||||
|
|
||||||
- See the `Installation guide <https://docs.flashinfer.ai/installation.html>`__
|
|
||||||
in the upstream FlashInfer documentation.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
Flashinfer is supported on ROCm 6.4.1.
|
|
||||||
|
|
||||||
Supported devices
|
|
||||||
================================================================================
|
|
||||||
|
|
||||||
**Officially Supported**: AMD Instinct™ MI300X
|
|
||||||
|
|
||||||
|
|
||||||
.. _flashinfer-recommendations:
|
|
||||||
|
|
||||||
Use cases and recommendations
|
|
||||||
================================================================================
|
|
||||||
|
|
||||||
This release of FlashInfer on ROCm provides the decode functionality for LLM inferencing.
|
|
||||||
In the decode phase, tokens are generated sequentially, with the model predicting each new
|
|
||||||
token based on the previously generated tokens and the input context.
|
|
||||||
|
|
||||||
FlashInfer on ROCm brings over upstream features such as load balancing, sparse and dense
|
|
||||||
attention optimizations, and batching support, enabling efficient execution on AMD Instinct™ MI300X GPUs.
|
|
||||||
|
|
||||||
Because large LLMs often require substantial KV caches or long context windows, FlashInfer on ROCm
|
|
||||||
also implements cascade attention from upstream to reduce memory usage.
|
|
||||||
|
|
||||||
For currently supported use cases and recommendations, refer to the `AMD ROCm blog <https://rocm.blogs.amd.com/>`__,
|
|
||||||
where you can search for examples and best practices to optimize your workloads on AMD GPUs.
|
|
||||||
|
|
||||||
.. _flashinfer-docker-compat:
|
|
||||||
|
|
||||||
Docker image compatibility
|
|
||||||
================================================================================
|
|
||||||
|
|
||||||
.. |docker-icon| raw:: html
|
|
||||||
|
|
||||||
<i class="fab fa-docker"></i>
|
|
||||||
|
|
||||||
AMD validates and publishes `ROCm FlashInfer images <https://hub.docker.com/r/rocm/flashinfer/tags>`__
|
|
||||||
with ROCm and Pytorch backends on Docker Hub. The following Docker image tags and associated
|
|
||||||
inventories represent the FlashInfer version from the official Docker Hub.
|
|
||||||
The Docker images have been validated for `ROCm 6.4.1 <https://repo.radeon.com/rocm/apt/6.4.1/>`__.
|
|
||||||
Click |docker-icon| to view the image on Docker Hub.
|
|
||||||
|
|
||||||
.. list-table::
|
|
||||||
:header-rows: 1
|
|
||||||
:class: docker-image-compatibility
|
|
||||||
|
|
||||||
* - Docker image
|
|
||||||
- ROCm
|
|
||||||
- FlashInfer
|
|
||||||
- PyTorch
|
|
||||||
- Ubuntu
|
|
||||||
- Python
|
|
||||||
|
|
||||||
* - .. raw:: html
|
|
||||||
|
|
||||||
<a href="https://hub.docker.com/layers/rocm/flashinfer/flashinfer-0.2.5_rocm6.4_ubuntu24.04_py3.12_pytorch2.7/images/sha256-558914838821c88c557fb6d42cfbc1bdb67d79d19759f37c764a9ee801f93313"><i class="fab fa-docker fa-lg"></i> rocm/flashinfer</a>
|
|
||||||
- `6.4.1 <https://repo.radeon.com/rocm/apt/6.4.1/>`__
|
|
||||||
- `v0.2.5 <https://github.com/flashinfer-ai/flashinfer/releases/tag/v0.2.5>`__
|
|
||||||
- `2.7.1 <https://github.com/ROCm/pytorch/releases/tag/v2.7.1>`__
|
|
||||||
- 24.04
|
|
||||||
- `3.12 <https://www.python.org/downloads/release/python-3129/>`__
|
|
||||||
|
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user