mirror of
https://github.com/ROCm/ROCm.git
synced 2026-01-12 16:18:16 -05:00
Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
65b8498867 | ||
|
|
937dcb376b | ||
|
|
ac944077ba | ||
|
|
1688d56edc | ||
|
|
042b01a71b | ||
|
|
c26ff9528f | ||
|
|
9baa927218 | ||
|
|
d7136806da | ||
|
|
61ada2eae9 | ||
|
|
9b34984b1b | ||
|
|
20a264a715 | ||
|
|
3750e88066 | ||
|
|
beb5f5b48d | ||
|
|
65330eb26d | ||
|
|
23b90e4e6b | ||
|
|
080c442789 | ||
|
|
5d90797591 | ||
|
|
0417c2196d | ||
|
|
1f2a94bb3a | ||
|
|
9c5c2c9ca1 | ||
|
|
190f609ea2 |
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-open
|
||||||
|
- repository: aomp-extras_repo
|
||||||
|
type: github
|
||||||
|
endpoint: ROCm
|
||||||
|
name: ROCm/aomp-extras
|
||||||
|
ref: amd-mainline-open
|
||||||
|
- repository: flang_repo
|
||||||
|
type: github
|
||||||
|
endpoint: ROCm
|
||||||
|
name: ROCm/flang
|
||||||
|
ref: amd-mainline-open
|
||||||
|
- repository: llvm-project_repo
|
||||||
|
type: github
|
||||||
|
endpoint: ROCm
|
||||||
|
name: ROCm/llvm-project
|
||||||
|
ref: amd-mainline-open
|
||||||
|
pipelines:
|
||||||
|
- pipeline: rocr-runtime_pipeline
|
||||||
|
source: \ROCR-Runtime
|
||||||
|
trigger:
|
||||||
|
branches:
|
||||||
|
include:
|
||||||
|
- amd-master
|
||||||
|
# this job will only be triggered after successful build sequence of llvm-project and ROCR-Runtime
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: ${{ variables.CI_COMPONENT_PATH }}/aomp.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: aomp_repo
|
||||||
@@ -8,17 +8,17 @@ resources:
|
|||||||
type: github
|
type: github
|
||||||
endpoint: ROCm
|
endpoint: ROCm
|
||||||
name: ROCm/aomp
|
name: ROCm/aomp
|
||||||
ref: aomp-dev
|
ref: amd-staging
|
||||||
- repository: aomp-extras_repo
|
- repository: aomp-extras_repo
|
||||||
type: github
|
type: github
|
||||||
endpoint: ROCm
|
endpoint: ROCm
|
||||||
name: ROCm/aomp-extras
|
name: ROCm/aomp-extras
|
||||||
ref: aomp-dev
|
ref: amd-staging
|
||||||
- repository: flang_repo
|
- repository: flang_repo
|
||||||
type: github
|
type: github
|
||||||
endpoint: ROCm
|
endpoint: ROCm
|
||||||
name: ROCm/flang
|
name: ROCm/flang
|
||||||
ref: aomp-dev
|
ref: amd-staging
|
||||||
- repository: llvm-project_repo
|
- repository: llvm-project_repo
|
||||||
type: github
|
type: github
|
||||||
endpoint: ROCm
|
endpoint: ROCm
|
||||||
|
|||||||
@@ -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,34 +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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -51,12 +27,12 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- https://github.com/RadeonOpenCompute/rbuild/archive/master.tar.gz
|
- https://github.com/RadeonOpenCompute/rbuild/archive/master.tar.gz
|
||||||
- "onnx>=1.14.1"
|
- onnx>=1.14.1
|
||||||
- "numpy>=1.21.6"
|
- numpy>=1.21.6
|
||||||
- "typing>=3.7.4"
|
- typing>=3.7.4
|
||||||
- "pytest>=6.0.1"
|
- pytest>=6.0.1
|
||||||
- "packaging>=23.0"
|
- packaging>=23.0
|
||||||
- "protobuf>=3.20.2"
|
- protobuf>=3.20.2
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -96,153 +72,124 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: AMDMIGraphX
|
||||||
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
- ${{ build }}_ubuntu2204_${{ job.target }}
|
workspace:
|
||||||
variables:
|
clean: all
|
||||||
- group: common
|
strategy:
|
||||||
- template: /.azuredevops/variables-global.yml
|
matrix:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
gfx942:
|
||||||
workspace:
|
JOB_GPU_TARGET: gfx942
|
||||||
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/dependencies-cmake-custom.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
cmakeVersion: '3.28.6'
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
# half version should be fixed to 5.6.0
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
buildType: specific
|
||||||
# half version should be fixed to 5.6.0
|
definitionId: ${{ variables.HALF560_PIPELINE_ID }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
buildId: ${{ variables.HALF560_BUILD_ID }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
buildType: specific
|
parameters:
|
||||||
definitionId: ${{ variables.HALF560_PIPELINE_ID }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
buildId: ${{ variables.HALF560_BUILD_ID }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
parameters:
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
extraBuildFlags: >-
|
||||||
gpuTarget: ${{ job.target }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm
|
||||||
parameters:
|
-DHALF_INCLUDE_DIR=$(Agent.BuildDirectory)/rocm/include
|
||||||
extraBuildFlags: >-
|
-DBUILD_TESTING=ON
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-GNinja
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
parameters:
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm
|
parameters:
|
||||||
-DHALF_INCLUDE_DIR=$(Agent.BuildDirectory)/rocm/include
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DBUILD_TESTING=ON
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
-GNinja
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
gpuTarget: ${{ job.target }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- 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 }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: AMDMIGraphX_testing
|
||||||
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
dependsOn: AMDMIGraphX
|
||||||
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
condition:
|
variables:
|
||||||
and(succeeded(),
|
- group: common
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
- template: /.azuredevops/variables-global.yml
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
- name: MIGRAPHX_TRACE_BENCHMARKING
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
value: 1
|
||||||
)
|
pool: $(JOB_TEST_POOL)
|
||||||
variables:
|
workspace:
|
||||||
- group: common
|
clean: all
|
||||||
- template: /.azuredevops/variables-global.yml
|
strategy:
|
||||||
- name: MIGRAPHX_TRACE_BENCHMARKING
|
matrix:
|
||||||
value: 1
|
gfx942:
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_GPU_TARGET: gfx942
|
||||||
workspace:
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
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/dependencies-cmake-custom.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
cmakeVersion: '3.28.6'
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
# half version should be fixed to 5.6.0
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
buildType: specific
|
||||||
# half version should be fixed to 5.6.0
|
definitionId: ${{ variables.HALF560_PIPELINE_ID }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
buildId: ${{ variables.HALF560_BUILD_ID }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
buildType: specific
|
parameters:
|
||||||
definitionId: ${{ variables.HALF560_PIPELINE_ID }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
buildId: ${{ variables.HALF560_BUILD_ID }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
- task: CMake@1
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
displayName: MIGraphXTest CMake Flags
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
inputs:
|
||||||
gpuTarget: ${{ job.target }}
|
cmakeArgs: >-
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
- task: CMake@1
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
displayName: MIGraphXTest CMake Flags
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
inputs:
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm
|
||||||
cmakeArgs: >-
|
-DHALF_INCLUDE_DIR=$(Agent.BuildDirectory)/rocm/include
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DBUILD_TESTING=ON
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
-DMIGRAPHX_ENABLE_C_API_TEST=ON
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
..
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm
|
parameters:
|
||||||
-DHALF_INCLUDE_DIR=$(Agent.BuildDirectory)/rocm/include
|
componentName: AMDMIGraphX
|
||||||
-DBUILD_TESTING=ON
|
testExecutable: make
|
||||||
-DMIGRAPHX_ENABLE_C_API_TEST=ON
|
testParameters: -j$(nproc) check
|
||||||
..
|
testPublishResults: false
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
componentName: ${{ parameters.componentName }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
testExecutable: make
|
environment: test
|
||||||
testParameters: -j$(nproc) check
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
testPublishResults: false
|
extraEnvVars:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- MIGRAPHX_TRACE_BENCHMARKING:::1
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
extraEnvVars:
|
|
||||||
- MIGRAPHX_TRACE_BENCHMARKING:::1
|
|
||||||
|
|||||||
@@ -1,46 +1,20 @@
|
|||||||
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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- libnuma-dev
|
- libnuma-dev
|
||||||
- libsimde-dev
|
|
||||||
- mesa-common-dev
|
- mesa-common-dev
|
||||||
- ninja-build
|
|
||||||
- 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:
|
||||||
@@ -55,81 +29,118 @@ 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: ${{ variables.LOW_BUILD_POOL }}
|
||||||
- ${{ build }}_${{ job.os }}
|
workspace:
|
||||||
pool:
|
clean: all
|
||||||
vmImage: 'ubuntu-22.04'
|
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 }}
|
||||||
variables:
|
# checkout triggering repo (either HIP or clr)
|
||||||
- group: common
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
parameters:
|
||||||
workspace:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
clean: all
|
# if this is triggered by HIP repo, matching repo is clr
|
||||||
steps:
|
# if this is triggered by clr repo, matching repo is HIP
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
checkoutRepo: matching_repo
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
packageManager: ${{ job.packageManager }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
checkoutRepo: hipother_repo
|
||||||
# full checkout of rocm-systems superrepo, we need clr, hip, and hipother
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
dependencyList: ${{ parameters.rocmDependenciesAMD }}
|
||||||
# sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
# compile clr
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
componentName: clr
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
cmakeBuildDir: 'clr/build'
|
||||||
os: ${{ job.os }}
|
extraBuildFlags: >-
|
||||||
${{ if eq(job.platform, 'amd') }}:
|
-DHIP_COMMON_DIR=$(Build.SourcesDirectory)/HIP
|
||||||
dependencyList: ${{ parameters.rocmDependenciesAMD }}
|
-DHIP_PLATFORM=amd
|
||||||
${{ elseif eq(job.platform, 'nvidia') }}:
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
dependencyList: ${{ parameters.rocmDependenciesNvidia }}
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
-DHIPCC_BIN_DIR=$(Agent.BuildDirectory)/rocm/bin
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
-DCLR_BUILD_HIP=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DCLR_BUILD_OCL=ON
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
componentName: clr
|
parameters:
|
||||||
cmakeBuildDir: $(Agent.BuildDirectory)/s/projects/clr/build
|
artifactName: amd
|
||||||
cmakeSourceDir: $(Agent.BuildDirectory)/s/projects/clr
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
useAmdclang: false
|
artifactName: amd
|
||||||
extraBuildFlags: >-
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
parameters:
|
||||||
-DHIPCC_BIN_DIR=$(Agent.BuildDirectory)/rocm/bin
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
-DHIP_COMMON_DIR=$(Agent.BuildDirectory)/s/projects/hip
|
pipModules: ${{ parameters.pipModules }}
|
||||||
-DHIPNV_DIR=$(Agent.BuildDirectory)/s/projects/hipother/hipnv
|
environment: amd
|
||||||
-DHIP_PLATFORM=${{ job.platform }}
|
|
||||||
-DCLR_BUILD_HIP=ON
|
# HIP with Nvidia backend
|
||||||
-DCLR_BUILD_OCL=ON
|
- job: hip_clr_combined_nvidia
|
||||||
-GNinja
|
variables:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- group: common
|
||||||
parameters:
|
- template: /.azuredevops/variables-global.yml
|
||||||
artifactName: ${{ job.platform }}
|
pool: ${{ variables.LOW_BUILD_POOL }}
|
||||||
os: ${{ job.os }}
|
workspace:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
clean: all
|
||||||
parameters:
|
steps:
|
||||||
artifactName: ${{ job.platform }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
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 }}
|
||||||
|
- script: 'ls -1R $(Agent.BuildDirectory)/rocm'
|
||||||
|
displayName: 'Artifact listing'
|
||||||
|
# compile clr
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
componentName: clr
|
||||||
|
cmakeBuildDir: 'clr/build'
|
||||||
|
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
|
||||||
|
- 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,155 +1,119 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: HIPIFY
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# 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
|
- 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-custom.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
|
installDir: $(Pipeline.Workspace)/llvm
|
||||||
parameters:
|
extraBuildFlags: >-
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
-DLLVM_ENABLE_PROJECTS=clang
|
||||||
os: ${{ job.os }}
|
-DLLVM_INCLUDE_TESTS=OFF
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||||
# cutensor is not available from apt or dnf
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache
|
||||||
- task: Bash@3
|
-GNinja
|
||||||
displayName: 'Download and install cutensor'
|
- task: Bash@3
|
||||||
inputs:
|
displayName: python install lit
|
||||||
targetType: inline
|
inputs:
|
||||||
script: |
|
targetType: inline
|
||||||
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
|
script: sudo python3 $(Pipeline.Workspace)/llvm-project/llvm/utils/lit/setup.py install
|
||||||
tar -xvJf libcutensor-linux-x86_64-*.tar.xz
|
- task: Bash@3
|
||||||
mkdir -p $(Pipeline.Workspace)/cutensor
|
displayName: install FileCheck
|
||||||
cp -r libcutensor-linux-x86_64-*/* $(Pipeline.Workspace)/cutensor/
|
inputs:
|
||||||
- task: Bash@3
|
targetType: inline
|
||||||
displayName: 'List downloaded CUDA files'
|
script: cp $(Pipeline.Workspace)/llvm-project/llvm/build/bin/FileCheck $(Pipeline.Workspace)/llvm/bin
|
||||||
inputs:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
targetType: inline
|
parameters:
|
||||||
script: ls -la1R /usr/local/cuda-12.9
|
componentName: HIPIFY
|
||||||
# script: cp $(Pipeline.Workspace)/llvm-project/llvm/build/bin/FileCheck $(Pipeline.Workspace)/llvm/bin
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DHIPIFY_CLANG_TESTS=ON
|
||||||
parameters:
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
componentName: ${{ parameters.componentName }}
|
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda/targets/x86_64-linux
|
||||||
os: ${{ job.os }}
|
-DCUDA_DNN_ROOT_DIR=/usr/local/cuda/targets/x86_64-linux
|
||||||
consolidateBuildAndInstall: true
|
-DCMAKE_PREFIX_PATH=$(Pipeline.Workspace)/llvm;/usr/local/cuda/targets/x86_64-linux/lib
|
||||||
extraBuildFlags: >-
|
-DLLVM_EXTERNAL_LIT=$(Pipeline.Workspace)/llvm-project/llvm/build/bin/llvm-lit
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;/usr/local/cuda/targets/x86_64-linux/lib
|
multithreadFlag: -- -j32
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
-DHIPIFY_CLANG_TESTS=ON
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
parameters:
|
||||||
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-12.9
|
componentName: HIPIFY
|
||||||
-DCUDA_DNN_ROOT_DIR=/usr/local/cuda-12.9
|
testDir: $(Build.SourcesDirectory)/build
|
||||||
-DCUDA_CUB_ROOT_DIR=/usr/local/cuda-12.9/targets/x86_64-linux/include/cub
|
testExecutable: make
|
||||||
-DCUDA_TENSOR_ROOT_DIR=$(Pipeline.Workspace)/cutensor/
|
testParameters: test-hipify
|
||||||
multithreadFlag: -- -j32
|
testPublishResults: false
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
environment: combined
|
||||||
os: ${{ job.os }}
|
registerCUDAPackages: true
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
extraCopyDirectories:
|
||||||
# parameters:
|
- llvm-project
|
||||||
# componentName: HIPIFY
|
extraEnvVars:
|
||||||
# testDir: $(Build.SourcesDirectory)/build
|
- UPSTREAM_LLVM_GIT_URL:::https://github.com/llvm/llvm-project.git
|
||||||
# testExecutable: make
|
- UPSTREAM_LLVM_TAG:::llvmorg-18.1.2
|
||||||
# testParameters: -j 32 test-hipify
|
|
||||||
# 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,41 +1,16 @@
|
|||||||
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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- jq
|
- jq
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- libmsgpack-dev
|
|
||||||
- libsqlite3-dev
|
- libsqlite3-dev
|
||||||
- libstdc++-12-dev
|
- libstdc++-12-dev
|
||||||
- ninja-build
|
- ninja-build
|
||||||
@@ -80,211 +55,149 @@ parameters:
|
|||||||
- rocRAND
|
- rocRAND
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- 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 }}:
|
- job: MIOpen
|
||||||
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
- ${{ build }}_ubuntu2204_${{ job.target }}
|
workspace:
|
||||||
variables:
|
clean: all
|
||||||
- group: common
|
strategy:
|
||||||
- template: /.azuredevops/variables-global.yml
|
matrix:
|
||||||
- name: ROCM_PATH
|
gfx942:
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
JOB_GPU_TARGET: gfx942
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
steps:
|
||||||
workspace:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
clean: all
|
parameters:
|
||||||
steps:
|
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/checkout.yml
|
||||||
pipModules: ${{ parameters.pipModules }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/miopen-get-ck-build.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/miopen-get-ck-build.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- task: Bash@3
|
||||||
parameters:
|
displayName: Build and install other dependencies
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
inputs:
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
targetType: inline
|
||||||
gpuTarget: ${{ job.target }}
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
script: |
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
sed -i '/composable_kernel/d' requirements.txt
|
||||||
- task: Bash@3
|
mkdir -p $(Agent.BuildDirectory)/miopen-deps
|
||||||
displayName: Build and install other dependencies
|
cmake -P install_deps.cmake --prefix $(Agent.BuildDirectory)/miopen-deps
|
||||||
retryCountOnTaskFailure: 3
|
sudo rm -rf /opt/rocm
|
||||||
inputs:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
targetType: inline
|
parameters:
|
||||||
workingDirectory: $(Agent.BuildDirectory)/s
|
extraBuildFlags: >-
|
||||||
script: |
|
-DMIOPEN_BACKEND=HIP
|
||||||
sed -i '/composable_kernel/d' requirements.txt
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
mkdir -p $(Agent.BuildDirectory)/miopen-deps
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/miopen-deps
|
||||||
export CXX=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
export CC=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
-DMIOPEN_ENABLE_AI_KERNEL_TUNING=OFF
|
||||||
cmake -P install_deps.cmake --prefix $(Agent.BuildDirectory)/miopen-deps --generator Ninja
|
-DMIOPEN_ENABLE_AI_IMMED_MODE_FALLBACK=OFF
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
parameters:
|
-DBUILD_TESTING=ON
|
||||||
extraBuildFlags: >-
|
-GNinja
|
||||||
-DMIOPEN_BACKEND=HIP
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
parameters:
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/miopen-deps
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
-DMIOPEN_ENABLE_AI_KERNEL_TUNING=OFF
|
parameters:
|
||||||
-DMIOPEN_ENABLE_AI_IMMED_MODE_FALLBACK=OFF
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
-DBUILD_TESTING=ON
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
-GNinja
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
pipModules: ${{ parameters.pipModules }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
extraCopyDirectories:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- miopen-deps
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- 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 }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
extraCopyDirectories:
|
|
||||||
- miopen-deps
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: MIOpen_testing
|
||||||
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
timeoutInMinutes: 180
|
||||||
timeoutInMinutes: 180
|
dependsOn: MIOpen
|
||||||
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
condition:
|
variables:
|
||||||
and(succeeded(),
|
- group: common
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
- template: /.azuredevops/variables-global.yml
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
pool: $(JOB_TEST_POOL)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
workspace:
|
||||||
)
|
clean: all
|
||||||
variables:
|
strategy:
|
||||||
- group: common
|
matrix:
|
||||||
- template: /.azuredevops/variables-global.yml
|
gfx942:
|
||||||
- name: ROCM_PATH
|
JOB_GPU_TARGET: gfx942
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
pool: ${{ job.target }}_test_pool
|
steps:
|
||||||
workspace:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
clean: all
|
parameters:
|
||||||
steps:
|
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/checkout.yml
|
||||||
pipModules: ${{ parameters.pipModules }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/miopen-get-ck-build.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
- 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/miopen-get-ck-build.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- task: Bash@3
|
||||||
parameters:
|
displayName: Build and install other dependencies
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
inputs:
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
targetType: inline
|
||||||
gpuTarget: ${{ job.target }}
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
script: |
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
- task: Bash@3
|
sed -i '/composable_kernel/d' requirements.txt
|
||||||
displayName: Build and install other dependencies
|
mkdir -p $(Agent.BuildDirectory)/miopen-deps
|
||||||
retryCountOnTaskFailure: 3
|
cmake -P install_deps.cmake --prefix $(Agent.BuildDirectory)/miopen-deps
|
||||||
inputs:
|
sudo rm -rf /opt/rocm
|
||||||
targetType: inline
|
- task: CMake@1
|
||||||
workingDirectory: $(Agent.BuildDirectory)/s
|
displayName: 'MIOpen Test CMake Flags'
|
||||||
script: |
|
inputs:
|
||||||
sed -i '/composable_kernel/d' requirements.txt
|
cmakeArgs: >-
|
||||||
mkdir -p $(Agent.BuildDirectory)/miopen-deps
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Build.SourcesDirectory)/bin;$(Agent.BuildDirectory)/miopen-deps
|
||||||
export CXX=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DCMAKE_INSTALL_PREFIX=$(Agent.BuildDirectory)/rocm
|
||||||
export CC=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
cmake -P install_deps.cmake --prefix $(Agent.BuildDirectory)/miopen-deps
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
- task: CMake@1
|
-DMIOPEN_BACKEND=HIP
|
||||||
displayName: 'MIOpen Test CMake Flags'
|
-DMIOPEN_TEST_FLAGS=" --disable-verification-cache"
|
||||||
inputs:
|
-DCMAKE_BUILD_TYPE=release
|
||||||
cmakeArgs: >-
|
-DBUILD_DEV=OFF
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/s/bin;$(Agent.BuildDirectory)/miopen-deps
|
-DMIOPEN_USE_MLIR=ON
|
||||||
-DCMAKE_INSTALL_PREFIX=$(Agent.BuildDirectory)/rocm
|
-DMIOPEN_GPU_SYNC=OFF
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
..
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
- task: Bash@3
|
||||||
-DMIOPEN_BACKEND=HIP
|
displayName: 'MIOpen Test Build'
|
||||||
-DMIOPEN_TEST_FLAGS=" --disable-verification-cache"
|
inputs:
|
||||||
-DCMAKE_BUILD_TYPE=release
|
targetType: inline
|
||||||
-DBUILD_DEV=OFF
|
script: |
|
||||||
-DMIOPEN_USE_MLIR=ON
|
cmake --build . --target tests -- -j$(nproc)
|
||||||
-DMIOPEN_GPU_SYNC=OFF
|
workingDirectory: $(Build.SourcesDirectory)/build
|
||||||
$(Agent.BuildDirectory)/s
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
- task: Bash@3
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
displayName: 'MIOpen Test Build'
|
parameters:
|
||||||
inputs:
|
componentName: MIOpen
|
||||||
targetType: inline
|
testParameters: '-VV --output-on-failure --force-new-ctest-process --output-junit test_output.xml --exclude-regex test_rnn_seq_api'
|
||||||
workingDirectory: build
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
script: |
|
parameters:
|
||||||
cmake --build . --target tests -- -j$(nproc)
|
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_GPU_TARGET)
|
||||||
componentName: ${{ parameters.componentName }}
|
extraCopyDirectories:
|
||||||
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"'
|
- miopen-deps
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
extraCopyDirectories:
|
|
||||||
- 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,34 +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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -62,24 +38,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
|
||||||
@@ -92,122 +65,97 @@ parameters:
|
|||||||
- roctracer
|
- roctracer
|
||||||
- rpp
|
- rpp
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: MIVisionX
|
||||||
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool: ${{ variables.LOW_BUILD_POOL }}
|
||||||
- ${{ build }}_ubuntu2204_${{ job.target }}
|
workspace:
|
||||||
variables:
|
clean: all
|
||||||
- group: common
|
strategy:
|
||||||
- template: /.azuredevops/variables-global.yml
|
matrix:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
gfx942:
|
||||||
workspace:
|
JOB_GPU_TARGET: gfx942
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/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_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
parameters:
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
extraBuildFlags: >-
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
parameters:
|
-DROCM_DEP_ROCMCORE=ON
|
||||||
extraBuildFlags: >-
|
-GNinja
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
parameters:
|
||||||
-DROCM_DEP_ROCMCORE=ON
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-GNinja
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
parameters:
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- 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/artifact-links.yml
|
pipModules: ${{ parameters.pipModules }}
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# pipModules: ${{ parameters.pipModules }}
|
|
||||||
# gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: MIVisionX_testing
|
||||||
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
dependsOn: MIVisionX
|
||||||
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
condition:
|
variables:
|
||||||
and(succeeded(),
|
- group: common
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
- template: /.azuredevops/variables-global.yml
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
pool: $(JOB_TEST_POOL)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
workspace:
|
||||||
)
|
clean: all
|
||||||
variables:
|
strategy:
|
||||||
- group: common
|
matrix:
|
||||||
- template: /.azuredevops/variables-global.yml
|
gfx942:
|
||||||
- name: LD_LIBRARY_PATH
|
JOB_GPU_TARGET: gfx942
|
||||||
value: $(Agent.BuildDirectory)/rocm/lib:$(Agent.BuildDirectory)/rocm/include/mivisionx/VX
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
pool: ${{ job.target }}_test_pool
|
steps:
|
||||||
workspace:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
clean: all
|
parameters:
|
||||||
steps:
|
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:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
gpuTarget: $(JOB_GPU_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
|
||||||
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_GPU_TARGET)
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
# anything in /opt may be persistent across runs
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
# so we need to remove the symlink if it already exists
|
||||||
gpuTarget: ${{ job.target }}
|
- script: |
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
sudo rm -f /opt/rocm
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
- task: Bash@3
|
mkdir mivisionx-tests
|
||||||
displayName: Build MIVisionX tests
|
cd mivisionx-tests
|
||||||
inputs:
|
cmake /opt/rocm/share/mivisionx/test
|
||||||
targetType: inline
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
script: |
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
# Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral
|
parameters:
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
componentName: MIVisionX
|
||||||
mkdir mivisionx-tests
|
testDir: 'mivisionx-tests'
|
||||||
cd mivisionx-tests
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
cmake $(Agent.BuildDirectory)/rocm/share/mivisionx/test
|
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_GPU_TARGET)
|
||||||
testDir: 'mivisionx-tests'
|
optSymLink: true
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
optSymLink: true
|
|
||||||
|
|||||||
@@ -1,34 +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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -37,9 +13,8 @@ parameters:
|
|||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- libelf-dev
|
- libelf-dev
|
||||||
- libnuma-dev
|
- libnuma-dev
|
||||||
- libsimde-dev
|
|
||||||
- ninja-build
|
|
||||||
- pkg-config
|
- pkg-config
|
||||||
|
- python3-pip
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -48,174 +23,128 @@ 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
|
|
||||||
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: ROCR_Runtime
|
||||||
- job: ROCR_Runtime_build_${{ job.os }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool: ${{ variables.LOW_BUILD_POOL }}
|
||||||
- ${{ build }}_${{ job.os }}
|
workspace:
|
||||||
pool:
|
clean: all
|
||||||
vmImage: 'ubuntu-22.04'
|
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
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
variables:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- group: common
|
parameters:
|
||||||
- template: /.azuredevops/variables-global.yml
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
workspace:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
clean: all
|
parameters:
|
||||||
steps:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
packageManager: ${{ job.packageManager }}
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
-DBUILD_SHARED_LIBS=ON
|
||||||
parameters:
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
parameters:
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
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:
|
|
||||||
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 }}
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: ROCR_Runtime_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
dependsOn: ROCR_Runtime
|
||||||
- job: ROCR_Runtime_test_${{ job.os }}_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
dependsOn: ROCR_Runtime_build_${{ job.os }}
|
variables:
|
||||||
condition:
|
- group: common
|
||||||
and(succeeded(),
|
- template: /.azuredevops/variables-global.yml
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
pool: $(JOB_TEST_POOL)
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
workspace:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
clean: all
|
||||||
)
|
strategy:
|
||||||
variables:
|
matrix:
|
||||||
- group: common
|
gfx942:
|
||||||
- template: /.azuredevops/variables-global.yml
|
JOB_GPU_TARGET: gfx942
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
workspace:
|
steps:
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
steps:
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
- task: Bash@3
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
displayName: Install libhwloc5
|
||||||
packageManager: ${{ job.packageManager }}
|
inputs:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
targetType: 'inline'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
script: |
|
||||||
parameters:
|
wget http://ftp.us.debian.org/debian/pool/main/h/hwloc/libhwloc5_1.11.12-3_amd64.deb
|
||||||
os: ${{ job.os }}
|
wget http://ftp.us.debian.org/debian/pool/main/h/hwloc/libhwloc-dev_1.11.12-3_amd64.deb
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
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/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
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:
|
||||||
os: ${{ job.os }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- 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/gpu-diagnostics.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
parameters:
|
||||||
parameters:
|
runRocminfo: false
|
||||||
runRocminfo: false
|
- task: Bash@3
|
||||||
- task: Bash@3
|
displayName: Build kfdtest
|
||||||
displayName: Build kfdtest
|
continueOnError: true
|
||||||
inputs:
|
inputs:
|
||||||
targetType: 'inline'
|
targetType: 'inline'
|
||||||
workingDirectory: $(Agent.BuildDirectory)/s/libhsakmt/tests/kfdtest
|
workingDirectory: $(Build.SourcesDirectory)/libhsakmt/tests/kfdtest
|
||||||
script: |
|
script: |
|
||||||
if [ -e /opt/rh/gcc-toolset-14/enable ]; then
|
mkdir build && cd build
|
||||||
source /opt/rh/gcc-toolset-14/enable
|
cmake -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm ..
|
||||||
fi
|
make
|
||||||
mkdir build && cd build
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
cmake -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm ..
|
parameters:
|
||||||
make
|
componentName: kfdtest
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
testExecutable: BIN_DIR=$(Build.SourcesDirectory)/libhsakmt/tests/kfdtest/build ./run_kfdtest.sh
|
||||||
parameters:
|
testParameters: '-p core --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
componentName: kfdtest
|
testDir: $(Build.SourcesDirectory)/libhsakmt/tests/kfdtest/scripts
|
||||||
testExecutable: BIN_DIR=$(Agent.BuildDirectory)/s/libhsakmt/tests/kfdtest/build ./run_kfdtest.sh
|
- task: Bash@3
|
||||||
testParameters: '-p core --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
displayName: Build rocrtst
|
||||||
testDir: $(Agent.BuildDirectory)/s/libhsakmt/tests/kfdtest/scripts
|
continueOnError: true
|
||||||
os: ${{ job.os }}
|
inputs:
|
||||||
- task: Bash@3
|
targetType: 'inline'
|
||||||
displayName: Build rocrtst
|
workingDirectory: $(Build.SourcesDirectory)/rocrtst/suites/test_common
|
||||||
inputs:
|
script: |
|
||||||
targetType: 'inline'
|
sudo rm -rf $(Agent.BuildDirectory)/external/llvm-project
|
||||||
workingDirectory: $(Agent.BuildDirectory)/s/rocrtst/suites/test_common
|
mkdir -p $(Agent.BuildDirectory)/external/llvm-project/clang/lib
|
||||||
script: |
|
sudo ln -s $(Agent.BuildDirectory)/rocm/llvm/lib/clang/20/include $(Agent.BuildDirectory)/external/llvm-project/clang/lib/Headers
|
||||||
echo $(Agent.BuildDirectory)/s/rocrtst/thirdparty/lib | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
mkdir build && cd build
|
||||||
sudo cat /etc/ld.so.conf.d/rocm-ci.conf
|
cmake .. \
|
||||||
sudo ldconfig -v
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm \
|
||||||
ldconfig -p
|
-DTARGET_DEVICES=$(JOB_GPU_TARGET) \
|
||||||
if [ -e /opt/rh/gcc-toolset-14/enable ]; then
|
-DROCM_DIR=$(Agent.BuildDirectory)/rocm \
|
||||||
source /opt/rh/gcc-toolset-14/enable
|
-DLLVM_DIR=$(Agent.BuildDirectory)/rocm/llvm/bin \
|
||||||
fi
|
-DOPENCL_DIR=$(Agent.BuildDirectory)/rocm/llvm/bin
|
||||||
BASE_CLANG_DIR=$(Agent.BuildDirectory)/rocm/llvm/lib/clang
|
-DOPENCL_INC_DIR=$(Agent.BuildDirectory)/rocm/llvm/lib/clang/21/include
|
||||||
export NEWEST_CLANG_VER=$(ls -1 $BASE_CLANG_DIR | sort -V | tail -n 1)
|
make
|
||||||
mkdir build && cd build
|
make rocrtst_kernels
|
||||||
cmake .. \
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm \
|
parameters:
|
||||||
-DTARGET_DEVICES=${{ job.target }} \
|
componentName: rocrtst
|
||||||
-DROCM_DIR=$(Agent.BuildDirectory)/rocm \
|
testExecutable: ./rocrtst64
|
||||||
-DLLVM_DIR=$(Agent.BuildDirectory)/rocm/llvm/bin \
|
testParameters: '--gtest_filter="-rocrtstNeg.Memory_Negative_Tests:rocrtstFunc.Memory_Max_Mem" --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
-DOPENCL_INC_DIR=$BASE_CLANG_DIR/$NEWEST_CLANG_VER/include
|
testDir: $(Build.SourcesDirectory)/rocrtst/suites/test_common/build/$(JOB_GPU_TARGET)
|
||||||
make
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
make rocrtst_kernels
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
environment: test
|
||||||
componentName: rocrtst
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
testExecutable: ./rocrtst64
|
# docker image will be missing libhwloc5
|
||||||
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
|
|
||||||
|
|||||||
@@ -5,16 +5,12 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# 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
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- ninja-build
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -23,57 +19,35 @@ 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: ${{ variables.LOW_BUILD_POOL }}
|
||||||
container:
|
workspace:
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
clean: all
|
||||||
endpoint: ContainerService3
|
steps:
|
||||||
variables:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- group: common
|
parameters:
|
||||||
- template: /.azuredevops/variables-global.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
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:
|
||||||
packageManager: ${{ job.packageManager }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
parameters:
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-GNinja
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
os: ${{ job.os }}
|
- 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:
|
||||||
os: ${{ job.os }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
useAmdclang: false
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-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,24 +1,15 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: ROCgdb
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# set to true if doing full build of ROCm stack
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# reference: https://github.com/ROCm/ROCgdb/blob/amd-staging/README-ROCM.md
|
# reference: https://github.com/ROCm/ROCgdb/blob/amd-staging/README-ROCM.md
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- bison
|
- bison
|
||||||
- cmake
|
|
||||||
- dejagnu
|
- dejagnu
|
||||||
- flex
|
- flex
|
||||||
- libbabeltrace-dev
|
- libbabeltrace-dev
|
||||||
@@ -27,9 +18,6 @@ parameters:
|
|||||||
- liblzma-dev
|
- liblzma-dev
|
||||||
- libmpfr-dev
|
- libmpfr-dev
|
||||||
- ncurses-dev
|
- ncurses-dev
|
||||||
- pkg-config
|
|
||||||
- python3-dev
|
|
||||||
- python3-pip
|
|
||||||
- texinfo
|
- texinfo
|
||||||
- zlib1g-dev
|
- zlib1g-dev
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
@@ -42,174 +30,87 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
- 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: ROCgdb
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
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: $(JOB_TEST_POOL)
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
workspace:
|
||||||
name: rocm-ci_medium_build_pool_2404
|
clean: all
|
||||||
${{ else }}:
|
strategy:
|
||||||
name: ${{ variables.MEDIUM_BUILD_POOL }}
|
matrix:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
gfx942:
|
||||||
container:
|
JOB_GPU_TARGET: gfx942
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
endpoint: ContainerService3
|
steps:
|
||||||
workspace:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
clean: all
|
parameters:
|
||||||
steps:
|
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/checkout.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
packageManager: ${{ job.packageManager }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- 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 }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-autotools.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
configureFlags: >-
|
||||||
parameters:
|
--program-prefix=roc
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
--enable-64-bit-bfd
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
--enable-targets="x86_64-linux-gnu,amdgcn-amd-amdhsa"
|
||||||
os: ${{ job.os }}
|
--disable-ld
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
--disable-gas
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-autotools.yml
|
--disable-gdbserver
|
||||||
parameters:
|
--disable-sim
|
||||||
os: ${{ job.os }}
|
--enable-tui
|
||||||
configureFlags: >-
|
--disable-gdbtk
|
||||||
--program-prefix=roc
|
--disable-shared
|
||||||
--enable-64-bit-bfd
|
--disable-gprofng
|
||||||
--enable-targets="x86_64-linux-gnu,amdgcn-amd-amdhsa"
|
--with-expat
|
||||||
--disable-ld
|
--with-system-zlib
|
||||||
--disable-gas
|
--without-guile
|
||||||
--disable-gdbserver
|
--with-babeltrace
|
||||||
--disable-sim
|
--with-lzma
|
||||||
--enable-tui
|
--with-python=python3
|
||||||
--disable-gdbtk
|
--with-rocm-dbgapi=$(Agent.BuildDirectory)/rocm
|
||||||
--disable-shared
|
LDFLAGS="-Wl,--enable-new-dtags,-rpath=$(Agent.BuildDirectory)/rocm/lib"
|
||||||
--disable-gprofng
|
makeCallPrefix: LD_RUN_PATH='${ORIGIN}/../lib'
|
||||||
--with-expat
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
--with-system-zlib
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
--without-guile
|
- task: Bash@3
|
||||||
--with-babeltrace
|
displayName: Setup test environment
|
||||||
--with-lzma
|
inputs:
|
||||||
--with-python=python3
|
targetType: inline
|
||||||
--with-rocm-dbgapi=$(Agent.BuildDirectory)/rocm
|
script: |
|
||||||
LDFLAGS="-Wl,--enable-new-dtags,-rpath=$(Agent.BuildDirectory)/rocm/lib"
|
sudo rm -rf /opt/rocm
|
||||||
makeCallPrefix: LD_RUN_PATH='${ORIGIN}/../lib'
|
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
echo "##vso[task.prependpath]/opt/rocm/bin"
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
componentName: ${{ parameters.componentName }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
os: ${{ job.os }}
|
- task: Bash@3
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
displayName: check-gdb
|
||||||
parameters:
|
continueOnError: true
|
||||||
componentName: ${{ parameters.componentName }}
|
inputs:
|
||||||
os: ${{ job.os }}
|
targetType: inline
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
script: make check-gdb TESTS=gdb.rocm/simple.exp
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- task: Bash@3
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
displayName: print gdb log
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}
|
inputs:
|
||||||
condition:
|
targetType: inline
|
||||||
and(succeeded(),
|
script: find -name gdb.log -exec cat {} \;
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
parameters:
|
||||||
)
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
variables:
|
environment: combined
|
||||||
- group: common
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: /.azuredevops/variables-global.yml
|
extraEnvVars:
|
||||||
- name: PKG_CONFIG_PATH
|
- PKG_CONFIG_PATH:::/home/user/workspace/rocm/share/pkgconfig
|
||||||
value: $(Agent.BuildDirectory)/rocm/share/pkgconfig
|
|
||||||
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 }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-autotools.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
configureFlags: >-
|
|
||||||
--program-prefix=roc
|
|
||||||
--enable-64-bit-bfd
|
|
||||||
--enable-targets="x86_64-linux-gnu,amdgcn-amd-amdhsa"
|
|
||||||
--disable-ld
|
|
||||||
--disable-gas
|
|
||||||
--disable-gdbserver
|
|
||||||
--disable-sim
|
|
||||||
--enable-tui
|
|
||||||
--disable-gdbtk
|
|
||||||
--disable-shared
|
|
||||||
--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'
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Setup test environment
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
# Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral
|
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
|
||||||
echo "##vso[task.prependpath]/opt/rocm/bin"
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: check-gdb
|
|
||||||
continueOnError: true
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
${{ iif(eq(job.os, 'almalinux8'), 'source /opt/rh/gcc-toolset-14/enable', '') }}
|
|
||||||
make check-gdb TESTS=gdb.rocm/simple.exp
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: print gdb log
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: find -name gdb.log -exec cat {} \;
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: combined
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
extraEnvVars:
|
|
||||||
- PKG_CONFIG_PATH:::/home/user/workspace/rocm/share/pkgconfig
|
|
||||||
|
|||||||
@@ -5,11 +5,6 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# 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
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -26,8 +21,6 @@ parameters:
|
|||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- amdsmi
|
|
||||||
- aomp
|
|
||||||
- clr
|
- clr
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- hipBLASLt
|
- hipBLASLt
|
||||||
@@ -43,8 +36,6 @@ parameters:
|
|||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- amdsmi
|
|
||||||
- aomp
|
|
||||||
- clr
|
- clr
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- hipBLASLt
|
- hipBLASLt
|
||||||
@@ -58,115 +49,99 @@ parameters:
|
|||||||
- rocRAND
|
- rocRAND
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
confDir: MI300X
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
confDir: MI210
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: ROCmValidationSuite
|
||||||
- job: ROCmValidationSuite_build_${{ 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
|
- name: ROCM_PATH
|
||||||
- name: ROCM_PATH
|
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.LOW_BUILD_POOL }}
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
strategy:
|
||||||
steps:
|
matrix:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
gfx942:
|
||||||
parameters:
|
JOB_GPU_TARGET: gfx942
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
steps:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
extraBuildFlags: >-
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
parameters:
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/llvm/include
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
||||||
-DCPACK_PACKAGING_INSTALL_PREFIX=$(Build.BinariesDirectory)
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-GNinja
|
-DCPACK_PACKAGING_INSTALL_PREFIX=$(Build.BinariesDirectory)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
-GNinja
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
# parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
# gpuTarget: ${{ job.target }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
# extraEnvVars:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
# - HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
extraEnvVars:
|
||||||
# - ROCM_PATH:::/home/user/workspace/rocm
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
# - HIP_INC_DIR:::/home/user/workspace/rocm
|
- ROCM_PATH:::/home/user/workspace/rocm
|
||||||
|
- HIP_INC_DIR:::/home/user/workspace/rocm
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: ROCmValidationSuite_testing
|
||||||
- job: ROCmValidationSuite_test_${{ job.target }}
|
dependsOn: ROCmValidationSuite
|
||||||
dependsOn: ROCmValidationSuite_build_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
condition:
|
variables:
|
||||||
and(succeeded(),
|
- group: common
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
- template: /.azuredevops/variables-global.yml
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
pool: $(JOB_TEST_POOL)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
workspace:
|
||||||
)
|
clean: all
|
||||||
variables:
|
strategy:
|
||||||
- group: common
|
matrix:
|
||||||
- template: /.azuredevops/variables-global.yml
|
gfx942:
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_GPU_TARGET: gfx942
|
||||||
workspace:
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/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_GPU_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
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ 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: ROCmValidationSuite
|
||||||
componentName: ROCmValidationSuite
|
testExecutable: $(Agent.BuildDirectory)/rocm/bin/rvs -c $(Agent.BuildDirectory)/rocm/share/rocm-validation-suite/conf/MI300X/gst_single.conf
|
||||||
testExecutable: $(Agent.BuildDirectory)/rocm/bin/rvs -c $(Agent.BuildDirectory)/rocm/share/rocm-validation-suite/conf/${{ job.confDir }}/gst_single.conf
|
testParameters: ''
|
||||||
testParameters: ''
|
testDir: $(Agent.BuildDirectory)
|
||||||
testDir: $(Agent.BuildDirectory)
|
testPublishResults: false
|
||||||
testPublishResults: false
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
environment: test
|
||||||
environment: test
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -1,41 +1,17 @@
|
|||||||
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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- 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:
|
||||||
@@ -54,168 +30,161 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
- 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: Tensile
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn: ${{ parameters.buildDependsOn[job.target] }}
|
- template: /.azuredevops/variables-global.yml
|
||||||
variables:
|
pool: ${{ variables.LOW_BUILD_POOL }}
|
||||||
- group: common
|
workspace:
|
||||||
- template: /.azuredevops/variables-global.yml
|
clean: all
|
||||||
- name: ROCM_PATH
|
steps:
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
pool:
|
parameters:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
pipModules: ${{ parameters.pipModules }}
|
||||||
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 }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- task: Bash@3
|
||||||
packageManager: ${{ job.packageManager }}
|
displayName: Create wheel file
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
inputs:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
targetType: inline
|
||||||
parameters:
|
script: python3 setup.py bdist_wheel
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
env:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
ROCM_PATH: $(Agent.BuildDirectory)/rocm
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
parameters:
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
sourceDir: $(Build.SourcesDirectory)/dist
|
||||||
os: ${{ job.os }}
|
contentsString: '*.whl'
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
targetDir: $(Build.ArtifactStagingDirectory)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
clean: false
|
||||||
parameters:
|
- task: PublishPipelineArtifact@1
|
||||||
os: ${{ job.os }}
|
displayName: 'wheel file Publish'
|
||||||
- task: Bash@3
|
retryCountOnTaskFailure: 3
|
||||||
displayName: Create wheel file
|
inputs:
|
||||||
inputs:
|
targetPath: $(Build.ArtifactStagingDirectory)
|
||||||
targetType: inline
|
- task: Bash@3
|
||||||
script: python3 setup.py bdist_wheel
|
displayName: Save pipeline artifact file names
|
||||||
workingDirectory: $(Agent.BuildDirectory)/s
|
inputs:
|
||||||
- task: Bash@3
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
displayName: Rename wheel file with job OS
|
targetType: inline
|
||||||
inputs:
|
script: |
|
||||||
targetType: inline
|
echo "$(Build.DefinitionName)_$(Build.SourceBranchName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_drop_$(JOB_GPU_TARGET).tar.gz" >> pipelineArtifacts.txt
|
||||||
workingDirectory: $(Agent.BuildDirectory)/s
|
whlFile=$(find "$(Build.ArtifactStagingDirectory)" -type f -name "*.whl" | head -n 1)
|
||||||
script: |
|
if [ -n "$whlFile" ]; then
|
||||||
wheelFile=$(find "$(Agent.BuildDirectory)/s/dist" -type f -name "*.whl" | head -n 1)
|
echo $(basename "$whlFile") >> pipelineArtifacts.txt
|
||||||
newWheelFile="$(basename "$wheelFile" .whl)-${{ job.os }}.whl"
|
fi
|
||||||
mv "$wheelFile" "$(dirname "$wheelFile")/$newWheelFile"
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
parameters:
|
||||||
sourceDir: $(Agent.BuildDirectory)/s/dist
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
contentsString: '*.whl'
|
pipModules: ${{ parameters.pipModules }}
|
||||||
targetDir: $(Build.ArtifactStagingDirectory)
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
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 }}:
|
- job: Tensile_testing
|
||||||
- job: Tensile_test_${{ job.os }}_${{ job.target }}
|
timeoutInMinutes: 90
|
||||||
timeoutInMinutes: 180
|
dependsOn: Tensile
|
||||||
dependsOn: Tensile_build_${{ job.os }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
condition:
|
variables:
|
||||||
and(succeeded(),
|
- group: common
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
- template: /.azuredevops/variables-global.yml
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
pool: $(JOB_TEST_POOL)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
workspace:
|
||||||
)
|
clean: all
|
||||||
variables:
|
strategy:
|
||||||
- group: common
|
matrix:
|
||||||
- template: /.azuredevops/variables-global.yml
|
gfx942:
|
||||||
- name: ROCM_PATH
|
JOB_GPU_TARGET: gfx942
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
pool: ${{ job.target }}_test_pool
|
steps:
|
||||||
workspace:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
clean: all
|
parameters:
|
||||||
steps:
|
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 }}
|
- task: DownloadPipelineArtifact@2
|
||||||
pipModules: ${{ parameters.pipModules }}
|
displayName: 'Download Pipeline Wheel Files'
|
||||||
packageManager: ${{ job.packageManager }}
|
inputs:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
itemPattern: '**/*.whl'
|
||||||
- task: DownloadPipelineArtifact@2
|
targetPath: $(Agent.BuildDirectory)
|
||||||
displayName: 'Download Pipeline Wheel Files'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
retryCountOnTaskFailure: 3
|
parameters:
|
||||||
inputs:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
itemPattern: '**/*${{ job.os }}*.whl'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
targetPath: $(Agent.BuildDirectory)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- task: Bash@3
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
displayName: pip install
|
||||||
parameters:
|
inputs:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
targetType: inline
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
script: find -name *.whl -exec pip install {} \;
|
||||||
os: ${{ job.os }}
|
workingDirectory: $(Agent.BuildDirectory)
|
||||||
gpuTarget: ${{ job.target }}
|
- task: Bash@3
|
||||||
- task: Bash@3
|
displayName: Setup test environment
|
||||||
displayName: pip install
|
inputs:
|
||||||
inputs:
|
targetType: inline
|
||||||
targetType: inline
|
script: |
|
||||||
script: find -name *.whl -exec pip install {} \;
|
sudo rm -rf /opt/rocm
|
||||||
workingDirectory: $(Agent.BuildDirectory)
|
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Setup test environment
|
displayName: Add Python site-packages binaries to path
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
# Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral
|
USER_BASE=$(python3 -m site --user-base)
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
echo "##vso[task.prependpath]$USER_BASE/bin"
|
||||||
USER_BASE=$(python3 -m site --user-base)
|
- task: Bash@3
|
||||||
echo "##vso[task.prependpath]$USER_BASE/bin"
|
displayName: Add ROCm binaries to PATH
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
inputs:
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
targetType: inline
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: tox test
|
displayName: Add ROCm compilers to PATH
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: tox run -v -e ci -- -m pre_checkin
|
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
||||||
workingDirectory: $(Agent.BuildDirectory)/s
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- task: Bash@3
|
||||||
parameters:
|
displayName: tox test
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
inputs:
|
||||||
pipModules: ${{ parameters.pipModules }}
|
targetType: inline
|
||||||
environment: test
|
script: tox run -v -e ci -- -m pre_checkin
|
||||||
gpuTarget: ${{ job.target }}
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
pythonEnvVars: true
|
- task: Bash@3
|
||||||
extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin
|
displayName: Remove Python site-packages binaries from path
|
||||||
# docker image will not have python site-packages in path, but the env vars will make it easier
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
USER_BASE=$(python3 -m site --user-base)
|
||||||
|
echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$USER_BASE/bin;;' -e 's;^/;;' -e 's;/$;;')"
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Remove ROCm binaries from PATH
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$(Agent.BuildDirectory)/rocm/bin;;' -e 's;^/;;' -e 's;/$;;')"
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Remove ROCm compilers from PATH
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$(Agent.BuildDirectory)/rocm/llvm/bin;;' -e 's;^/;;' -e 's;/$;;')"
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
|
optSymLink: true
|
||||||
|
pythonEnvVars: true
|
||||||
|
extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin
|
||||||
|
# docker image will not have python site-packages in path, but the env vars will make it easier
|
||||||
|
|||||||
@@ -5,11 +5,6 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# 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
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -35,108 +30,94 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: TransferBench
|
||||||
- job: TransferBench_build_${{ job.target }}
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool: ${{ variables.LOW_BUILD_POOL }}
|
||||||
pool:
|
workspace:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
clean: all
|
||||||
workspace:
|
strategy:
|
||||||
clean: all
|
matrix:
|
||||||
steps:
|
gfx942:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
JOB_GPU_TARGET: gfx942
|
||||||
parameters:
|
steps:
|
||||||
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/checkout.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- 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 }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
extraBuildFlags: >-
|
parameters:
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-GNinja
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
-GNinja
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
# parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
# gpuTarget: ${{ job.target }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: TransferBench_testing
|
||||||
- job: TransferBench_test_${{ job.target }}
|
dependsOn: TransferBench
|
||||||
dependsOn: TransferBench_build_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
condition:
|
variables:
|
||||||
and(succeeded(),
|
- group: common
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
- template: /.azuredevops/variables-global.yml
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
pool: $(JOB_TEST_POOL)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
workspace:
|
||||||
)
|
clean: all
|
||||||
variables:
|
strategy:
|
||||||
- group: common
|
matrix:
|
||||||
- template: /.azuredevops/variables-global.yml
|
gfx942:
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_GPU_TARGET: gfx942
|
||||||
workspace:
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/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_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
- 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_GPU_TARGET)
|
||||||
gpuTarget: ${{ 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: TransferBench All-to-all
|
||||||
componentName: TransferBench All-to-all
|
testDir: '$(Agent.BuildDirectory)'
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
testExecutable: './rocm/bin/TransferBench'
|
||||||
testExecutable: './rocm/bin/TransferBench'
|
testParameters: 'a2a'
|
||||||
testParameters: 'a2a'
|
testPublishResults: false
|
||||||
testPublishResults: false
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
parameters:
|
||||||
parameters:
|
componentName: TransferBench Peer-to-peer
|
||||||
componentName: TransferBench Peer-to-peer
|
testDir: '$(Agent.BuildDirectory)'
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
testExecutable: './rocm/bin/TransferBench'
|
||||||
testExecutable: './rocm/bin/TransferBench'
|
testParameters: 'p2p'
|
||||||
testParameters: 'p2p'
|
testPublishResults: false
|
||||||
testPublishResults: false
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
environment: test
|
||||||
environment: test
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -1,138 +1,76 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: amdsmi
|
|
||||||
- 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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- ninja-build
|
- python3-pip
|
||||||
- pkg-config
|
- pkg-config
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
|
||||||
- { os: ubuntu2404, 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: amdsmi
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}
|
variables:
|
||||||
pool:
|
- group: common
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
- template: /.azuredevops/variables-global.yml
|
||||||
vmImage: 'ubuntu-24.04'
|
pool: ${{ variables.LOW_BUILD_POOL }}
|
||||||
${{ else }}:
|
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:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- group: common
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
parameters:
|
||||||
workspace:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
steps:
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DBUILD_TESTS=ON
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
useAmdclang: false
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DBUILD_TESTS=ON
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- 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 }}
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: amdsmi_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
dependsOn: amdsmi
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}
|
variables:
|
||||||
condition:
|
- group: common
|
||||||
and(succeeded(),
|
- template: /.azuredevops/variables-global.yml
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
pool: $(JOB_TEST_POOL)
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
workspace:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
clean: all
|
||||||
)
|
strategy:
|
||||||
variables:
|
matrix:
|
||||||
- group: common
|
gfx942:
|
||||||
- template: /.azuredevops/variables-global.yml
|
JOB_GPU_TARGET: gfx942
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
workspace:
|
steps:
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
steps:
|
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 }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
runRocminfo: false
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
componentName: amdsmi
|
||||||
parameters:
|
testDir: '$(Agent.BuildDirectory)'
|
||||||
runRocminfo: false
|
testExecutable: './rocm/share/amd_smi/tests/amdsmitst'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
testParameters: '--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)'
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
testExecutable: 'sudo ./rocm/share/amd_smi/tests/amdsmitst'
|
environment: test
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -5,11 +5,6 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# 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
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -28,8 +23,7 @@ jobs:
|
|||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool:
|
pool: ${{ variables.LOW_BUILD_POOL }}
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
@@ -44,7 +38,6 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: aomp-extras
|
componentName: aomp-extras
|
||||||
@@ -58,6 +51,6 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.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/artifact-links.yml
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
# parameters:
|
parameters:
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
|||||||
@@ -1,280 +1,523 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: aomp
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# set to true if doing full build of ROCm stack
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# reference:
|
# reference:
|
||||||
# https://github.com/ROCm/aomp/blob/aomp-dev/docs/SOURCEINSTALL_PREREQUISITE.md
|
# https://github.com/ROCm/aomp/blob/aomp-dev/docs/SOURCEINSTALL_PREREQUISITE.md
|
||||||
- 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 below but excluding rocprofiler and roctracer.
|
||||||
- python3-dev
|
# This is to remove need for separate build per gpu target.
|
||||||
- python3-pip
|
# With our selected build flags, compilation and installation work fine without these two.
|
||||||
- python3-setuptools
|
#
|
||||||
- texinfo
|
# snippet from https://github.com/ROCm/aomp/blob/aomp-dev/bin/build_aomp.sh#L131-L134
|
||||||
|
#
|
||||||
|
# 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-register
|
- rocprofiler-register
|
||||||
|
- ROCR-Runtime
|
||||||
- name: jobMatrix
|
- roctracer
|
||||||
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: 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
|
# Because clang is not being rebuilt and to separate downloaded ROCm
|
||||||
parameters:
|
# dependencies from the new artifacts, we use temporary symbolic links
|
||||||
checkoutRepo: flang_repo
|
# for the compilation and installation to go through.
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- script: |
|
||||||
parameters:
|
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
checkoutRepo: llvm-project_repo
|
mkdir -p $(Build.BinariesDirectory)/lib/llvm/bin
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
ln -s $(Agent.BuildDirectory)/rocm/llvm/bin/clang $(Build.BinariesDirectory)/lib/llvm/bin/clang
|
||||||
parameters:
|
ln -s $(Agent.BuildDirectory)/rocm/llvm/bin/clang++ $(Build.BinariesDirectory)/lib/llvm/bin/clang++
|
||||||
dependencyList:
|
ln -s $(Agent.BuildDirectory)/rocm/llvm/bin/llvm-config $(Build.BinariesDirectory)/lib/llvm/bin/llvm-config
|
||||||
- gtest
|
ln -s $(Agent.BuildDirectory)/rocm/llvm $(Build.BinariesDirectory)/llvm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
ls -1R $(Build.BinariesDirectory)
|
||||||
parameters:
|
displayName: Extra build environment setup
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
# We follow the sequence described in the aomp repo instructions
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
# https://github.com/ROCm/aomp/blob/aomp-dev/docs/SOURCEINSTALL.md
|
||||||
os: ${{ job.os }}
|
# But instead of calling build_aomp.sh directly, we have to split up the calls to build each component
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
# in order for the omp.h header file to be both be published as an artifact,
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
# and be found when building subsequent components.
|
||||||
parameters:
|
# Environment variables specified per bash script were determined from looking through the
|
||||||
os: ${{ job.os }}
|
# individual scripts and iteratively testing compilation.
|
||||||
useAmdclang: false
|
# Splitting up the build_aomp.sh call is also easier for debugging within Azure, as the former
|
||||||
componentName: extras
|
# method leads to a giant build log compared to separate logs per script call.
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/aomp-extras/build'
|
#
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/aomp-extras'
|
# Components compiled and the order for non-standalone build found at
|
||||||
installDir: '$(Build.BinariesDirectory)/llvm'
|
# https://github.com/ROCm/aomp/blob/aomp-dev/bin/build_aomp.sh#L135-L142
|
||||||
extraBuildFlags: >-
|
- task: Bash@3
|
||||||
-DLLVM_DIR=$(Agent.BuildDirectory)/rocm/llvm
|
displayName: Build Prereq
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
inputs:
|
||||||
-DAOMP_STANDALONE_BUILD=0
|
filePath: $(Build.SourcesDirectory)/aomp/bin/build_prereq.sh
|
||||||
-DAOMP_VERSION_STRING=9.99.99
|
env:
|
||||||
-GNinja
|
AOMP_REPOS: $(Build.SourcesDirectory)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- task: Bash@3
|
||||||
parameters:
|
displayName: Build extras
|
||||||
os: ${{ job.os }}
|
inputs:
|
||||||
componentName: openmp
|
filePath: $(Build.SourcesDirectory)/aomp/bin/build_extras.sh
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/llvm-project/openmp/build'
|
env:
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/llvm-project/openmp'
|
AOMP_REPOS: $(Build.SourcesDirectory)
|
||||||
installDir: '$(Build.BinariesDirectory)/llvm'
|
AOMP_PROJECT_REPO_NAME: llvm-project
|
||||||
extraBuildFlags: >-
|
AOMP_STANDALONE_BUILD: 0
|
||||||
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Build.BinariesDirectory)"
|
AOMP_USE_NINJA: 1
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
||||||
-DOPENMP_TEST_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
CMAKE_INSTALL_PREFIX: $(Build.BinariesDirectory)
|
||||||
-DOPENMP_TEST_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
AOMP: $(Build.BinariesDirectory)
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
INSTALL_EXTRAS: $(Build.BinariesDirectory)
|
||||||
-DOPENMP_ENABLE_LIBOMPTARGET=1
|
- task: Bash@3
|
||||||
-DLIBOMP_COPY_EXPORTS=OFF
|
displayName: Install extras
|
||||||
-DLIBOMP_OMPD_SUPPORT=ON
|
inputs:
|
||||||
-DCMAKE_SKIP_INSTALL_RPATH=TRUE
|
filePath: $(Build.SourcesDirectory)/aomp/bin/build_extras.sh
|
||||||
-DLLVM_MAIN_INCLUDE_DIR=$(Build.SourcesDirectory)/llvm-project/llvm/include
|
arguments: install
|
||||||
-DLIBOMP_FORTRAN_MODULES_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/flang
|
env:
|
||||||
-DLIBOMP_MODULES_INSTALL_PATH=$(Build.BinariesDirectory)/llvm/include/flang/
|
AOMP_REPOS: $(Build.SourcesDirectory)
|
||||||
multithreadFlag: -- -j32
|
AOMP_PROJECT_REPO_NAME: llvm-project
|
||||||
- task: Bash@3
|
AOMP_STANDALONE_BUILD: 0
|
||||||
displayName: 'ROCm symbolic link'
|
AOMP_USE_NINJA: 1
|
||||||
inputs:
|
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
||||||
targetType: inline
|
CMAKE_INSTALL_PREFIX: $(Build.BinariesDirectory)
|
||||||
script: sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
AOMP: $(Build.BinariesDirectory)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
||||||
parameters:
|
INSTALL_EXTRAS: $(Build.BinariesDirectory)
|
||||||
os: ${{ job.os }}
|
- task: Bash@3
|
||||||
componentName: offload
|
displayName: Build openmp
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/llvm-project/offload/build'
|
inputs:
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/llvm-project/offload'
|
filePath: $(Build.SourcesDirectory)/aomp/bin/build_openmp.sh
|
||||||
installDir: '$(Build.BinariesDirectory)/llvm'
|
env:
|
||||||
extraBuildFlags: >-
|
AOMP_REPOS: $(Build.SourcesDirectory)
|
||||||
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Build.BinariesDirectory)"
|
AOMP_PROJECT_REPO_NAME: llvm-project
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
AOMP_STANDALONE_BUILD: 0
|
||||||
-DOPENMP_TEST_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
AOMP_BUILD_SANITIZER: 0
|
||||||
-DOPENMP_TEST_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
AOMP_BUILD_DEBUG: 0
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
AOMP_LEGACY_OPENMP: 1
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
AOMP_USE_NINJA: 1
|
||||||
-DCMAKE_SKIP_INSTALL_RPATH=TRUE
|
ALTAOMP: $(Agent.BuildDirectory)/rocm/llvm
|
||||||
-DLLVM_MAIN_INCLUDE_DIR=$(Build.SourcesDirectory)/llvm-project/llvm/include
|
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
||||||
-DLIBOMPTARGET_LLVM_INCLUDE_DIRS=$(Build.SourcesDirectory)/llvm-project/llvm/include
|
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
||||||
-DCMAKE_EXE_LINKER_FLAGS="-L$(Agent.BuildDirectory)/rocm/llvm/lib"
|
AOMP: $(Build.BinariesDirectory)
|
||||||
-DCMAKE_SHARED_LINKER_FLAGS="-L$(Agent.BuildDirectory)/rocm/llvm/lib"
|
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
||||||
-GNinja
|
INSTALL_OPENMP: $(Build.BinariesDirectory)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- task: Bash@3
|
||||||
parameters:
|
displayName: Install openmp
|
||||||
componentName: ${{ parameters.componentName }}
|
inputs:
|
||||||
os: ${{ job.os }}
|
filePath: $(Build.SourcesDirectory)/aomp/bin/build_openmp.sh
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
arguments: install
|
||||||
parameters:
|
env:
|
||||||
componentName: ${{ parameters.componentName }}
|
AOMP_REPOS: $(Build.SourcesDirectory)
|
||||||
os: ${{ job.os }}
|
AOMP_PROJECT_REPO_NAME: llvm-project
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
AOMP_STANDALONE_BUILD: 0
|
||||||
- ${{ if eq(job.os, 'ubuntu2204') }}:
|
AOMP_BUILD_SANITIZER: 0
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
AOMP_BUILD_DEBUG: 0
|
||||||
parameters:
|
AOMP_LEGACY_OPENMP: 1
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
AOMP_USE_NINJA: 1
|
||||||
|
ALTAOMP: $(Agent.BuildDirectory)/rocm/llvm
|
||||||
|
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
||||||
|
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
||||||
|
AOMP: $(Build.BinariesDirectory)
|
||||||
|
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
||||||
|
INSTALL_OPENMP: $(Build.BinariesDirectory)
|
||||||
|
- script: ln -s $(Build.BinariesDirectory)/lib/llvm/include/omp.h $(Build.SourcesDirectory)/llvm-project/llvm/include/omp.h
|
||||||
|
displayName: Link omp header
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Build offload
|
||||||
|
inputs:
|
||||||
|
filePath: $(Build.SourcesDirectory)/aomp/bin/build_offload.sh
|
||||||
|
env:
|
||||||
|
AOMP_REPOS: $(Build.SourcesDirectory)
|
||||||
|
AOMP_PROJECT_REPO_NAME: llvm-project
|
||||||
|
AOMP_STANDALONE_BUILD: 0
|
||||||
|
AOMP_BUILD_SANITIZER: 0
|
||||||
|
AOMP_BUILD_DEBUG: 0
|
||||||
|
AOMP_LEGACY_OPENMP: 1
|
||||||
|
AOMP_USE_NINJA: 1
|
||||||
|
ALTAOMP: $(Agent.BuildDirectory)/rocm/llvm
|
||||||
|
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
||||||
|
CMAKE_INSTALL_PREFIX: $(Build.BinariesDirectory)
|
||||||
|
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
||||||
|
AOMP: $(Build.BinariesDirectory)
|
||||||
|
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
||||||
|
INSTALL_OPENMP: $(Build.BinariesDirectory)
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Install offload
|
||||||
|
inputs:
|
||||||
|
filePath: $(Build.SourcesDirectory)/aomp/bin/build_offload.sh
|
||||||
|
arguments: install
|
||||||
|
env:
|
||||||
|
AOMP_REPOS: $(Build.SourcesDirectory)
|
||||||
|
AOMP_PROJECT_REPO_NAME: llvm-project
|
||||||
|
AOMP_STANDALONE_BUILD: 0
|
||||||
|
AOMP_BUILD_SANITIZER: 0
|
||||||
|
AOMP_BUILD_DEBUG: 0
|
||||||
|
AOMP_LEGACY_OPENMP: 1
|
||||||
|
AOMP_USE_NINJA: 1
|
||||||
|
ALTAOMP: $(Agent.BuildDirectory)/rocm/llvm
|
||||||
|
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
||||||
|
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
||||||
|
AOMP: $(Build.BinariesDirectory)
|
||||||
|
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
||||||
|
INSTALL_OPENMP: $(Build.BinariesDirectory)
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Build llvm-classic
|
||||||
|
inputs:
|
||||||
|
filePath: $(Build.SourcesDirectory)/aomp/bin/build_llvm-classic.sh
|
||||||
|
env:
|
||||||
|
AOMP_REPOS: $(Build.SourcesDirectory)
|
||||||
|
AOMP_PROJECT_REPO_NAME: llvm-project
|
||||||
|
AOMP_STANDALONE_BUILD: 0
|
||||||
|
AOMP_BUILD_SANITIZER: 0
|
||||||
|
AOMP_BUILD_DEBUG: 0
|
||||||
|
AOMP_USE_NINJA: 1
|
||||||
|
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
||||||
|
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
||||||
|
AOMP: $(Build.BinariesDirectory)
|
||||||
|
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Install llvm-classic
|
||||||
|
inputs:
|
||||||
|
filePath: $(Build.SourcesDirectory)/aomp/bin/build_llvm-classic.sh
|
||||||
|
arguments: install
|
||||||
|
env:
|
||||||
|
AOMP_REPOS: $(Build.SourcesDirectory)
|
||||||
|
AOMP_PROJECT_REPO_NAME: llvm-project
|
||||||
|
AOMP_STANDALONE_BUILD: 0
|
||||||
|
AOMP_BUILD_SANITIZER: 0
|
||||||
|
AOMP_BUILD_DEBUG: 0
|
||||||
|
AOMP_USE_NINJA: 1
|
||||||
|
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
||||||
|
CMAKE_INSTALL_PREFIX: $(Build.BinariesDirectory)
|
||||||
|
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
||||||
|
AOMP: $(Build.BinariesDirectory)
|
||||||
|
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Build flang-classic
|
||||||
|
inputs:
|
||||||
|
filePath: $(Build.SourcesDirectory)/aomp/bin/build_flang-classic.sh
|
||||||
|
env:
|
||||||
|
AOMP_REPOS: $(Build.SourcesDirectory)
|
||||||
|
AOMP_PROJECT_REPO_NAME: llvm-project
|
||||||
|
AOMP_STANDALONE_BUILD: 0
|
||||||
|
AOMP_BUILD_SANITIZER: 0
|
||||||
|
AOMP_BUILD_DEBUG: 0
|
||||||
|
AOMP_USE_NINJA: 1
|
||||||
|
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
||||||
|
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
||||||
|
AOMP: $(Build.BinariesDirectory)
|
||||||
|
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Install flang-classic
|
||||||
|
inputs:
|
||||||
|
filePath: $(Build.SourcesDirectory)/aomp/bin/build_flang-classic.sh
|
||||||
|
arguments: install
|
||||||
|
env:
|
||||||
|
AOMP_REPOS: $(Build.SourcesDirectory)
|
||||||
|
AOMP_PROJECT_REPO_NAME: llvm-project
|
||||||
|
AOMP_STANDALONE_BUILD: 0
|
||||||
|
AOMP_BUILD_SANITIZER: 0
|
||||||
|
AOMP_BUILD_DEBUG: 0
|
||||||
|
AOMP_USE_NINJA: 1
|
||||||
|
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
||||||
|
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
||||||
|
AOMP: $(Build.BinariesDirectory)
|
||||||
|
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Build pgmath
|
||||||
|
inputs:
|
||||||
|
filePath: $(Build.SourcesDirectory)/aomp/bin/build_pgmath.sh
|
||||||
|
env:
|
||||||
|
AOMP_REPOS: $(Build.SourcesDirectory)
|
||||||
|
AOMP_PROJECT_REPO_NAME: llvm-project
|
||||||
|
AOMP_STANDALONE_BUILD: 0
|
||||||
|
AOMP_BUILD_SANITIZER: 0
|
||||||
|
AOMP_BUILD_DEBUG: 0
|
||||||
|
AOMP_USE_NINJA: 1
|
||||||
|
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
||||||
|
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
||||||
|
AOMP: $(Build.BinariesDirectory)
|
||||||
|
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Install pgmath
|
||||||
|
inputs:
|
||||||
|
filePath: $(Build.SourcesDirectory)/aomp/bin/build_pgmath.sh
|
||||||
|
arguments: install
|
||||||
|
env:
|
||||||
|
AOMP_REPOS: $(Build.SourcesDirectory)
|
||||||
|
AOMP_PROJECT_REPO_NAME: llvm-project
|
||||||
|
AOMP_STANDALONE_BUILD: 0
|
||||||
|
AOMP_BUILD_SANITIZER: 0
|
||||||
|
AOMP_BUILD_DEBUG: 0
|
||||||
|
AOMP_USE_NINJA: 1
|
||||||
|
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
||||||
|
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
||||||
|
AOMP: $(Build.BinariesDirectory)
|
||||||
|
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Build flang
|
||||||
|
inputs:
|
||||||
|
filePath: $(Build.SourcesDirectory)/aomp/bin/build_flang.sh
|
||||||
|
env:
|
||||||
|
AOMP_REPOS: $(Build.SourcesDirectory)
|
||||||
|
AOMP_PROJECT_REPO_NAME: llvm-project
|
||||||
|
AOMP_STANDALONE_BUILD: 0
|
||||||
|
AOMP_BUILD_SANITIZER: 0
|
||||||
|
AOMP_BUILD_DEBUG: 0
|
||||||
|
AOMP_USE_NINJA: 1
|
||||||
|
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
||||||
|
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
||||||
|
AOMP: $(Build.BinariesDirectory)
|
||||||
|
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Install flang
|
||||||
|
inputs:
|
||||||
|
filePath: $(Build.SourcesDirectory)/aomp/bin/build_flang.sh
|
||||||
|
arguments: install
|
||||||
|
env:
|
||||||
|
AOMP_REPOS: $(Build.SourcesDirectory)
|
||||||
|
AOMP_PROJECT_REPO_NAME: llvm-project
|
||||||
|
AOMP_STANDALONE_BUILD: 0
|
||||||
|
AOMP_BUILD_SANITIZER: 0
|
||||||
|
AOMP_BUILD_DEBUG: 0
|
||||||
|
AOMP_USE_NINJA: 1
|
||||||
|
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
||||||
|
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
||||||
|
AOMP: $(Build.BinariesDirectory)
|
||||||
|
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Build flang_runtime
|
||||||
|
inputs:
|
||||||
|
filePath: $(Build.SourcesDirectory)/aomp/bin/build_flang_runtime.sh
|
||||||
|
env:
|
||||||
|
AOMP_REPOS: $(Build.SourcesDirectory)
|
||||||
|
AOMP_PROJECT_REPO_NAME: llvm-project
|
||||||
|
AOMP_STANDALONE_BUILD: 0
|
||||||
|
AOMP_BUILD_SANITIZER: 0
|
||||||
|
AOMP_BUILD_DEBUG: 0
|
||||||
|
AOMP_USE_NINJA: 1
|
||||||
|
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
||||||
|
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
||||||
|
AOMP: $(Build.BinariesDirectory)
|
||||||
|
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Install flang_runtime
|
||||||
|
inputs:
|
||||||
|
filePath: $(Build.SourcesDirectory)/aomp/bin/build_flang_runtime.sh
|
||||||
|
arguments: install
|
||||||
|
env:
|
||||||
|
AOMP_REPOS: $(Build.SourcesDirectory)
|
||||||
|
AOMP_PROJECT_REPO_NAME: llvm-project
|
||||||
|
AOMP_STANDALONE_BUILD: 0
|
||||||
|
AOMP_BUILD_SANITIZER: 0
|
||||||
|
AOMP_BUILD_DEBUG: 0
|
||||||
|
AOMP_USE_NINJA: 1
|
||||||
|
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
||||||
|
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
||||||
|
AOMP: $(Build.BinariesDirectory)
|
||||||
|
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
||||||
|
# Clean up build environment before publish artifact
|
||||||
|
- script: |
|
||||||
|
rm $(Build.BinariesDirectory)/lib/llvm/bin/clang
|
||||||
|
rm $(Build.BinariesDirectory)/lib/llvm/bin/clang++
|
||||||
|
rm $(Build.BinariesDirectory)/lib/llvm/bin/llvm-config
|
||||||
|
rm $(Build.BinariesDirectory)/lib/llvm/bin/flang
|
||||||
|
rm $(Build.BinariesDirectory)/llvm
|
||||||
|
displayName: Remove temporary symbolic links
|
||||||
|
# aomp scripts changed where files get installed in scripts, copy to expected location
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
||||||
|
parameters:
|
||||||
|
sourceDir: $(Build.BinariesDirectory)/lib/llvm
|
||||||
|
targetDir: $(Build.ArtifactStagingDirectory)
|
||||||
|
# Remove temporary directory used to deal with expected paths of scripts
|
||||||
|
- script: |
|
||||||
|
rm -rf $(Build.BinariesDirectory)/lib/llvm
|
||||||
|
displayName: Remove temporary directories
|
||||||
|
# Copy the files to artifact staging temporarily to clean up binaries directory
|
||||||
|
# and then copy files back to llvm subdirectory in the cleaned up binaries directory
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
||||||
|
parameters:
|
||||||
|
sourceDir: $(Build.BinariesDirectory)
|
||||||
|
targetDir: $(Build.ArtifactStagingDirectory)
|
||||||
|
clean: false
|
||||||
|
- script: |
|
||||||
|
ln -s $(Build.ArtifactStagingDirectory)/bin/flang-classic $(Build.ArtifactStagingDirectory)/bin/flang
|
||||||
|
displayName: Recreate flang symlink
|
||||||
|
- task: DeleteFiles@1
|
||||||
|
displayName: 'Cleanup Binaries Directory'
|
||||||
|
inputs:
|
||||||
|
SourceFolder: '$(Build.BinariesDirectory)'
|
||||||
|
Contents: '/**/*'
|
||||||
|
RemoveDotFiles: true
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
||||||
|
parameters:
|
||||||
|
sourceDir: $(Build.ArtifactStagingDirectory)
|
||||||
|
targetDir: $(Build.BinariesDirectory)/llvm
|
||||||
|
- task: DeleteFiles@1
|
||||||
|
displayName: 'Cleanup Staging Directory'
|
||||||
|
inputs:
|
||||||
|
SourceFolder: $(Build.ArtifactStagingDirectory)
|
||||||
|
Contents: '/**/*'
|
||||||
|
RemoveDotFiles: true
|
||||||
|
- 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 }}
|
||||||
|
optSymLink: true
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: aomp_testing
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
dependsOn: aomp
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
condition:
|
variables:
|
||||||
and(succeeded(),
|
- group: common
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
- template: /.azuredevops/variables-global.yml
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
pool: $(JOB_TEST_POOL)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
workspace:
|
||||||
)
|
clean: all
|
||||||
variables:
|
strategy:
|
||||||
- group: common
|
matrix:
|
||||||
- template: /.azuredevops/variables-global.yml
|
gfx942:
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_GPU_TARGET: gfx942
|
||||||
workspace:
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- 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 }}
|
||||||
os: ${{ job.os }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- task: Bash@3
|
||||||
parameters:
|
displayName: ROCm symbolic link
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
inputs:
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
targetType: inline
|
||||||
os: ${{ job.os }}
|
script: |
|
||||||
- task: Bash@3
|
sudo rm -rf /opt/rocm
|
||||||
displayName: ROCm symbolic link
|
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
inputs:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
targetType: inline
|
parameters:
|
||||||
script: sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: aomp-extras_repo
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
# these copy steps are from the aomp prototype script for test prep
|
||||||
parameters:
|
- task: CopyFiles@2
|
||||||
checkoutRepo: aomp-extras_repo
|
displayName: 'Copy AOMP contents'
|
||||||
# these copy steps are from the aomp prototype script for test prep
|
inputs:
|
||||||
- task: CopyFiles@2
|
CleanTargetFolder: false
|
||||||
displayName: 'Copy AOMP contents'
|
SourceFolder: $(Build.SourcesDirectory)/aomp
|
||||||
inputs:
|
Contents: |
|
||||||
CleanTargetFolder: false
|
**
|
||||||
SourceFolder: $(Build.SourcesDirectory)/aomp
|
!**/.git/**
|
||||||
Contents: |
|
!**/.github/**
|
||||||
**
|
!**/.gitignore
|
||||||
!**/.git/**
|
TargetFolder: $(Agent.BuildDirectory)/rocm/share/openmp-extras/tests
|
||||||
!**/.github/**
|
retryCount: 3
|
||||||
!**/.gitignore
|
- task: CopyFiles@2
|
||||||
TargetFolder: $(Agent.BuildDirectory)/rocm/share/openmp-extras/tests
|
displayName: 'Copy FileCheck'
|
||||||
retryCount: 3
|
inputs:
|
||||||
- task: CopyFiles@2
|
CleanTargetFolder: false
|
||||||
displayName: 'Copy FileCheck'
|
SourceFolder: $(Agent.BuildDirectory)/rocm/llvm/bin
|
||||||
inputs:
|
Contents: FileCheck
|
||||||
CleanTargetFolder: false
|
TargetFolder: $(Agent.BuildDirectory)/rocm/share/openmp-extras/tests/bin
|
||||||
SourceFolder: $(Agent.BuildDirectory)/rocm/llvm/bin
|
retryCount: 3
|
||||||
Contents: FileCheck
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
TargetFolder: $(Agent.BuildDirectory)/rocm/share/openmp-extras/tests/bin
|
- task: Bash@3
|
||||||
retryCount: 3
|
displayName: Test AOMP
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
continueOnError: true
|
||||||
- task: Bash@3
|
inputs:
|
||||||
displayName: Test AOMP
|
targetType: inline
|
||||||
continueOnError: true
|
script: ./run_rocm_test.sh
|
||||||
inputs:
|
workingDirectory: $(Build.SourcesDirectory)/aomp/bin
|
||||||
targetType: inline
|
env:
|
||||||
script: ./run_rocm_test.sh
|
AOMP: $(Agent.BuildDirectory)/rocm/llvm
|
||||||
workingDirectory: $(Build.SourcesDirectory)/aomp/bin
|
AOMP_REPOS_TEST: $(Build.SourcesDirectory)/aomp-test
|
||||||
env:
|
AOMP_TEST_DIR: $(Build.SourcesDirectory)/aomp-test
|
||||||
AOMP: $(Agent.BuildDirectory)/rocm/llvm
|
SKIP_TEST_PACKAGE: 1
|
||||||
AOMP_REPOS_TEST: $(Build.SourcesDirectory)/aomp-test
|
MAINLINE_BUILD: 1
|
||||||
AOMP_TEST_DIR: $(Build.SourcesDirectory)/aomp-test
|
SUITE_LIST: smoke
|
||||||
SKIP_TEST_PACKAGE: 1
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
MAINLINE_BUILD: 1
|
parameters:
|
||||||
SUITE_LIST: smoke
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
environment: test
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
optSymLink: true
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
optSymLink: true
|
|
||||||
|
|||||||
@@ -1,174 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: aqlprofile
|
|
||||||
- name: checkoutRepo
|
|
||||||
type: string
|
|
||||||
default: 'self'
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- cmake
|
|
||||||
- git
|
|
||||||
- ninja-build
|
|
||||||
- python3-pip
|
|
||||||
- name: rocmDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- ROCR-Runtime
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- ROCR-Runtime
|
|
||||||
- rocprofiler-register
|
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
testJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.os }}
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
|
||||||
parameters:
|
|
||||||
dependencyList:
|
|
||||||
- gtest
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
consolidateBuildAndInstall: true
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/aqlprofile/cmake_modules
|
|
||||||
-DAQLPROFILE_BUILD_TESTS=ON
|
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- ${{ if eq(job.os, 'ubuntu2204') }}:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
pool: ${{ job.target }}_test_pool
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- checkout: none
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
testDir: $(Agent.BuildDirectory)/rocm/share/hsa-amd-aqlprofile/
|
|
||||||
testExecutable: ./run_tests.sh
|
|
||||||
testParameters: ''
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
@@ -5,11 +5,6 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# 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
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -32,135 +27,122 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- clr
|
- clr
|
||||||
|
- composable_kernel
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: composable_kernel
|
||||||
- job: composable_kernel_build_${{ job.target }}
|
timeoutInMinutes: 240
|
||||||
timeoutInMinutes: 240
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
- name: DAY_STRING
|
||||||
- name: DAY_STRING
|
value: $[format('{0:ddMMyyyy}', pipeline.startTime)]
|
||||||
value: $[format('{0:ddMMyyyy}', pipeline.startTime)]
|
pool: ${{ variables.ULTRA_BUILD_POOL }}
|
||||||
pool: ${{ variables.ULTRA_BUILD_POOL }}
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
strategy:
|
||||||
steps:
|
matrix:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
gfx942:
|
||||||
parameters:
|
JOB_GPU_TARGET: gfx942
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
steps:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- script: |
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
mkdir -p $(CCACHE_DIR)
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
echo "##vso[task.prependpath]/usr/lib/ccache"
|
- script: |
|
||||||
displayName: Update path for ccache
|
mkdir -p $(CCACHE_DIR)
|
||||||
- task: Cache@2
|
echo "##vso[task.prependpath]/usr/lib/ccache"
|
||||||
displayName: Ccache caching
|
displayName: Update path for ccache
|
||||||
inputs:
|
- task: Cache@2
|
||||||
key: composable_kernel | $(Agent.OS) | ${{ job.target }} | $(DAY_STRING) | $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
displayName: Ccache caching
|
||||||
path: $(CCACHE_DIR)
|
inputs:
|
||||||
restoreKeys: |
|
key: composable_kernel | $(Agent.OS) | $(JOB_GPU_TARGET) | $(DAY_STRING) | $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
composable_kernel | $(Agent.OS) | ${{ job.target }} | $(DAY_STRING)
|
path: $(CCACHE_DIR)
|
||||||
composable_kernel | $(Agent.OS) | ${{ job.target }}
|
restoreKeys: |
|
||||||
composable_kernel | $(Agent.OS)
|
composable_kernel | $(Agent.OS) | $(JOB_GPU_TARGET) | $(DAY_STRING)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
composable_kernel | $(Agent.OS) | $(JOB_GPU_TARGET)
|
||||||
parameters:
|
composable_kernel | $(Agent.OS)
|
||||||
extraBuildFlags: >-
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
parameters:
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
extraBuildFlags: >-
|
||||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
-DCMAKE_HIP_FLAGS="-Wno-missing-include-dirs"
|
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache
|
||||||
-DCK_BUILD_JIT_LIB=ON
|
-DCMAKE_HIP_FLAGS="-Wno-missing-include-dirs"
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCK_BUILD_JIT_LIB=ON
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||||
-GNinja
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
parameters:
|
-GNinja
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
# if this artifact name is changed, please also update $ARTIFACT_URL inside miopen-get-ck-build.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: composable_kernel_testing
|
||||||
- job: composable_kernel_test_${{ job.target }}
|
timeoutInMinutes: 90
|
||||||
timeoutInMinutes: 180
|
dependsOn: composable_kernel
|
||||||
dependsOn: composable_kernel_build_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
condition:
|
variables:
|
||||||
and(succeeded(),
|
- group: common
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
- template: /.azuredevops/variables-global.yml
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
- name: TEST_LOG_FILE
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
value: $(Pipeline.Workspace)/ckTestLog.log
|
||||||
)
|
pool: $(JOB_TEST_POOL)
|
||||||
variables:
|
workspace:
|
||||||
- group: common
|
clean: all
|
||||||
- template: /.azuredevops/variables-global.yml
|
strategy:
|
||||||
- name: TEST_LOG_FILE
|
matrix:
|
||||||
value: $(Pipeline.Workspace)/ckTestLog.log
|
gfx942:
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_GPU_TARGET: gfx942
|
||||||
workspace:
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/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_GPU_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
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
- task: Bash@3
|
||||||
- task: Bash@3
|
displayName: Iterate through test scripts
|
||||||
displayName: Iterate through test scripts
|
inputs:
|
||||||
inputs:
|
targetType: inline
|
||||||
targetType: inline
|
script: |
|
||||||
script: |
|
for file in ./test_*; do
|
||||||
for file in ./test_*; do
|
./$file | tee -a $(TEST_LOG_FILE)
|
||||||
./$file | tee -a $(TEST_LOG_FILE)
|
done
|
||||||
done
|
workingDirectory: $(Agent.BuildDirectory)/rocm/bin
|
||||||
workingDirectory: $(Agent.BuildDirectory)/rocm/bin
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
environment: test
|
||||||
environment: test
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -1,44 +1,34 @@
|
|||||||
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)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
||||||
fileFilter: ${{ job.os }}*${{ job.backend }}
|
parameters:
|
||||||
- task: Bash@3
|
sourceDir: $(Agent.BuildDirectory)/rocm
|
||||||
displayName: Copy HIP artifacts
|
- 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: cp -a $(Agent.BuildDirectory)/rocm/* $(Build.BinariesDirectory)/
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.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
|
|
||||||
|
|||||||
@@ -5,11 +5,6 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# 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
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -30,8 +25,7 @@ jobs:
|
|||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool:
|
pool: ${{ variables.LOW_BUILD_POOL }}
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
@@ -46,7 +40,6 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
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: >-
|
||||||
@@ -66,7 +59,7 @@ jobs:
|
|||||||
./bin/test
|
./bin/test
|
||||||
workingDirectory: $(Build.SourcesDirectory)/test
|
workingDirectory: $(Build.SourcesDirectory)/test
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
# parameters:
|
parameters:
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
# environment: combined
|
environment: combined
|
||||||
|
|||||||
@@ -1,34 +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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -61,132 +37,111 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
|
|
||||||
# HIP with AMD backend
|
# HIP with AMD backend
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: hip_tests
|
||||||
- job: hip_tests_build_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
- name: HIP_ROCCLR_HOME
|
||||||
- ${{ build }}_${{ job.target }}
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
variables:
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
- group: common
|
workspace:
|
||||||
- template: /.azuredevops/variables-global.yml
|
clean: all
|
||||||
- name: HIP_ROCCLR_HOME
|
strategy:
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
matrix:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
gfx942:
|
||||||
workspace:
|
JOB_GPU_TARGET: gfx942
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/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-rocm.yml
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
# compile hip-tests
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
parameters:
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
componentName: hip-tests
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
cmakeSourceDir: '../catch'
|
||||||
# compile hip-tests
|
customBuildTarget: build_tests
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DHIP_PLATFORM=amd
|
||||||
componentName: ${{ parameters.componentName }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
cmakeSourceDir: '../catch'
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
customBuildTarget: build_tests
|
-DHIP_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
extraBuildFlags: >-
|
-DOFFLOAD_ARCH_STR="--offload-arch=$(JOB_GPU_TARGET)"
|
||||||
-DHIP_PLATFORM=amd
|
-GNinja
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
parameters:
|
||||||
-DHIP_PATH=$(Agent.BuildDirectory)/rocm
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DOFFLOAD_ARCH_STR="--offload-arch=${{ job.target }}"
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
-GNinja
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
componentName: ${{ parameters.componentName }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
extraEnvVars:
|
||||||
componentName: ${{ parameters.componentName }}
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
extraEnvVars:
|
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: hip_tests_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
timeoutInMinutes: 240
|
||||||
- job: hip_tests_test_${{ job.target }}
|
dependsOn: hip_tests
|
||||||
timeoutInMinutes: 240
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
dependsOn: hip_tests_build_${{ job.target }}
|
variables:
|
||||||
condition:
|
- group: common
|
||||||
and(succeeded(),
|
- template: /.azuredevops/variables-global.yml
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
pool: $(JOB_TEST_POOL)
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
workspace:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
clean: all
|
||||||
)
|
strategy:
|
||||||
variables:
|
matrix:
|
||||||
- group: common
|
gfx942:
|
||||||
- template: /.azuredevops/variables-global.yml
|
JOB_GPU_TARGET: gfx942
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
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:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
gpuTarget: $(JOB_GPU_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
|
||||||
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_GPU_TARGET)
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- task: Bash@3
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
displayName: Symlink rocm_agent_enumerator
|
||||||
gpuTarget: ${{ job.target }}
|
inputs:
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
targetType: inline
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
script: |
|
||||||
- task: Bash@3
|
sudo rm -rf /opt/rocm
|
||||||
displayName: Symlink rocm_agent_enumerator
|
sudo mkdir -p /opt/rocm/bin
|
||||||
inputs:
|
sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rocm_agent_enumerator /opt/rocm/bin/rocm_agent_enumerator
|
||||||
targetType: inline
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
script: |
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
# Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral
|
parameters:
|
||||||
sudo mkdir -p /opt/rocm/bin
|
componentName: hip_tests
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rocm_agent_enumerator /opt/rocm/bin/rocm_agent_enumerator
|
testDir: $(Agent.BuildDirectory)/rocm/share/hip
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
- task: Bash@3
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
displayName: Clean up symlink
|
||||||
parameters:
|
condition: always()
|
||||||
componentName: ${{ parameters.componentName }}
|
inputs:
|
||||||
testDir: $(Agent.BuildDirectory)/rocm/share/hip
|
targetType: inline
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
script: sudo rm -rf /opt/rocm
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
environment: test
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
gpuTarget: ${{ job.target }}
|
environment: test
|
||||||
optSymLink: true
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
|
optSymLink: true
|
||||||
|
|||||||
@@ -1,135 +1,60 @@
|
|||||||
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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
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: ${{ variables.LOW_BUILD_POOL }}
|
||||||
- group: common
|
workspace:
|
||||||
- template: /.azuredevops/variables-global.yml
|
clean: all
|
||||||
- name: ROCM_PATH
|
steps:
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
pool:
|
parameters:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
container:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
parameters:
|
||||||
endpoint: ContainerService3
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
workspace:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
clean: all
|
parameters:
|
||||||
steps:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
packageManager: ${{ job.packageManager }}
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
parameters:
|
-GNinja
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
parameters:
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
os: ${{ job.os }}
|
extraEnvVars:
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
- ROCM_PATH:::/home/user/workspace/rocm
|
||||||
${{ 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++
|
|
||||||
-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,34 +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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -75,158 +51,98 @@ parameters:
|
|||||||
- rocSOLVER
|
- rocSOLVER
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- 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 }}:
|
- job: hipBLAS
|
||||||
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
- ${{ build }}_ubuntu2204_${{ job.target }}
|
workspace:
|
||||||
variables:
|
clean: all
|
||||||
- group: common
|
strategy:
|
||||||
- template: /.azuredevops/variables-global.yml
|
matrix:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
gfx942:
|
||||||
workspace:
|
JOB_GPU_TARGET: gfx942
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aocl.yml
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aocl.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
extraBuildFlags: >-
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
parameters:
|
-DHIP_PLATFORM=amd
|
||||||
extraBuildFlags: >-
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DCPACK_SET_DESTDIR=OFF
|
||||||
-DHIP_PLATFORM=amd
|
-GNinja
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
parameters:
|
||||||
-DBUILD_CLIENTS_SAMPLES=OFF
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DCPACK_SET_DESTDIR=OFF
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
-GNinja
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
componentName: ${{ parameters.componentName }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
pipModules: ${{ parameters.pipModules }}
|
||||||
parameters:
|
installAOCL: true
|
||||||
componentName: ${{ parameters.componentName }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- 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 }}
|
|
||||||
installAOCL: true
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: hipBLAS_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
dependsOn: hipBLAS
|
||||||
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
variables:
|
||||||
condition:
|
- group: common
|
||||||
and(succeeded(),
|
- template: /.azuredevops/variables-global.yml
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
pool: $(JOB_TEST_POOL)
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
workspace:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
clean: all
|
||||||
)
|
strategy:
|
||||||
variables:
|
matrix:
|
||||||
- group: common
|
gfx942:
|
||||||
- template: /.azuredevops/variables-global.yml
|
JOB_GPU_TARGET: gfx942
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
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_GPU_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 }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
gpuTarget: $(JOB_GPU_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: hipBLAS
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
testExecutable: $(Agent.BuildDirectory)/rocm/bin/hipblas-test
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
testParameters: '--yaml hipblas_smoke.yaml --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
- 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/bin/hipblas-test
|
pipModules: ${{ parameters.pipModules }}
|
||||||
testParameters: '--yaml hipblas_smoke.yaml --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
environment: test
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- 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,61 +1,28 @@
|
|||||||
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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- 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 +32,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
|
||||||
@@ -77,236 +43,157 @@ parameters:
|
|||||||
- clr
|
- clr
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocm-cmake
|
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocm_smi_lib
|
- rocm_smi_lib
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { pool: rocm-ci_ultra_build_pool, os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
- { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
|
||||||
- { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
|
||||||
#- { 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:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
- name: downstreamComponentMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- rocBLAS:
|
|
||||||
name: rocBLAS
|
|
||||||
sparseCheckoutDir: projects/rocblas
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- hipBLASLt_build
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: hipBLASLt
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
timeoutInMinutes: 300
|
||||||
timeoutInMinutes: 300
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
- name: HIP_ROCCLR_HOME
|
||||||
- ${{ build }}_${{ job.os }}
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
variables:
|
- name: TENSILE_ROCM_ASSEMBLER_PATH
|
||||||
- group: common
|
value: $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
- template: /.azuredevops/variables-global.yml
|
- name: TENSILE_ROCM_OFFLOAD_BUNDLER_PATH
|
||||||
- name: HIP_ROCCLR_HOME
|
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang-offload-bundler
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
- name: ROCM_PATH
|
||||||
- name: TENSILE_ROCM_ASSEMBLER_PATH
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
value: $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
- name: DAY_STRING
|
||||||
- name: TENSILE_ROCM_OFFLOAD_BUNDLER_PATH
|
value: $[format('{0:ddMMyyyy}', pipeline.startTime)]
|
||||||
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang-offload-bundler
|
pool: ${{ variables.ULTRA_BUILD_POOL }}
|
||||||
- name: ROCM_PATH
|
workspace:
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
clean: all
|
||||||
- name: DAY_STRING
|
strategy:
|
||||||
value: $[format('{0:ddMMyyyy}', pipeline.startTime)]
|
matrix:
|
||||||
pool: ${{ job.pool }}
|
gfx942:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
JOB_GPU_TARGET: gfx942
|
||||||
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
|
pipModules: ${{ parameters.pipModules }}
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
pipModules: ${{ parameters.pipModules }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- script: sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
displayName: ROCm symbolic link
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
# Build and install gtest, lapack, hipBLAS-common
|
||||||
parameters:
|
# $(Pipeline.Workspace)/deps is a temporary folder for the build process
|
||||||
dependencyList:
|
# $(Pipeline.Workspace)/s/deps is part of the hipBLASLt repo
|
||||||
- gtest
|
- script: mkdir $(Pipeline.Workspace)/deps
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
displayName: Create temp folder for external dependencies
|
||||||
parameters:
|
# hipBLASLt already has a CMake script for external deps, so we can just run that
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
# https://github.com/ROCm/hipBLASLt/blob/develop/deps/CMakeLists.txt
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- script: cmake $(Pipeline.Workspace)/s/deps
|
||||||
os: ${{ job.os }}
|
displayName: Configure hipBLASLt external dependencies
|
||||||
gpuTarget: ${{ job.target }}
|
workingDirectory: $(Pipeline.Workspace)/deps
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
- script: make
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
displayName: Build hipBLASLt external dependencies
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
workingDirectory: $(Pipeline.Workspace)/deps
|
||||||
- task: Bash@3
|
- script: sudo make install
|
||||||
displayName: Add ROCm binaries to PATH
|
displayName: Install hipBLASLt external dependencies
|
||||||
inputs:
|
workingDirectory: $(Pipeline.Workspace)/deps
|
||||||
targetType: inline
|
- script: |
|
||||||
script: |
|
mkdir -p $(CCACHE_DIR)
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
echo "##vso[task.prependpath]/usr/lib/ccache"
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
displayName: Update path for ccache
|
||||||
- task: Bash@3
|
- task: Cache@2
|
||||||
displayName: Build and install LAPACK
|
displayName: Ccache caching
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
key: hipBLASLt | $(Agent.OS) | $(JOB_GPU_TARGET) | $(DAY_STRING) | $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
script: |
|
path: $(CCACHE_DIR)
|
||||||
mkdir -p $(Agent.BuildDirectory)/temp-deps
|
restoreKeys: |
|
||||||
cd $(Agent.BuildDirectory)/temp-deps
|
hipBLASLt | $(Agent.OS) | $(JOB_GPU_TARGET) | $(DAY_STRING)
|
||||||
# position-independent LAPACK is required for almalinux8 builds
|
hipBLASLt | $(Agent.OS) | $(JOB_GPU_TARGET)
|
||||||
cmake -DBUILD_GTEST=OFF -DBUILD_LAPACK=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON $(Agent.BuildDirectory)/sparse/projects/hipblaslt/deps
|
hipBLASLt | $(Agent.OS)
|
||||||
make -j
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
sudo make install
|
parameters:
|
||||||
- script: |
|
extraBuildFlags: >-
|
||||||
mkdir -p $(CCACHE_DIR)
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
echo "##vso[task.prependpath]/usr/lib/ccache"
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
displayName: Update path for ccache
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
- task: Cache@2
|
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||||
displayName: Ccache caching
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache
|
||||||
inputs:
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
key: hipBLASLt | ${{ job.os }} | ${{ job.target }} | $(DAY_STRING) | $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DTensile_LOGIC=
|
||||||
path: $(CCACHE_DIR)
|
-DTensile_CPU_THREADS=
|
||||||
restoreKeys: |
|
-DTensile_LIBRARY_FORMAT=msgpack
|
||||||
hipBLASLt | ${{ job.os }} | ${{ job.target }} | $(DAY_STRING)
|
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm"
|
||||||
hipBLASLt | ${{ job.os }} | ${{ job.target }}
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
hipBLASLt | ${{ job.os }}
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
cmakeSourceDir: $(Agent.BuildDirectory)/sparse/projects/hipblaslt
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
cmakeBuildDir: $(Agent.BuildDirectory)/sparse/projects/hipblaslt/build
|
parameters:
|
||||||
extraBuildFlags: >-
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
-DCMAKE_INCLUDE_PATH=$(Agent.BuildDirectory)/rocm/llvm/include
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
parameters:
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
pipModules: ${{ parameters.pipModules }}
|
||||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
installLatestCMake: true
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
extraEnvVars:
|
||||||
-DHIPBLASLT_ENABLE_ROCROLLER=ON
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
-DHIPBLASLT_ENABLE_FETCH=ON
|
- TENSILE_ROCM_ASSEMBLER_PATH:::/home/user/workspace/rocm/llvm/bin/amdclang
|
||||||
-DHIPBLASLT_ENABLE_BLIS=OFF
|
- TENSILE_ROCM_OFFLOAD_BUNDLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang-offload-bundler
|
||||||
-GNinja
|
- ROCM_PATH:::/home/user/workspace/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
extraCopyDirectories:
|
||||||
parameters:
|
- deps
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
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
|
|
||||||
extraEnvVars:
|
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
|
||||||
- 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
|
|
||||||
- ROCM_PATH:::/home/user/workspace/rocm
|
|
||||||
extraCopyDirectories:
|
|
||||||
- deps
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: hipBLASLt_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
dependsOn: hipBLASLt
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
timeoutInMinutes: 300
|
variables:
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
- group: common
|
||||||
condition:
|
- template: /.azuredevops/variables-global.yml
|
||||||
and(succeeded(),
|
pool: $(JOB_TEST_POOL)
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
workspace:
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
clean: all
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
strategy:
|
||||||
)
|
matrix:
|
||||||
variables:
|
gfx942:
|
||||||
- group: common
|
JOB_GPU_TARGET: gfx942
|
||||||
- template: /.azuredevops/variables-global.yml
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
- name: ROCM_PATH
|
steps:
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
pool: ${{ job.target }}_test_pool
|
parameters:
|
||||||
workspace:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
clean: all
|
pipModules: ${{ parameters.pipModules }}
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- checkout: none
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
parameters:
|
||||||
parameters:
|
componentName: hipBLASLt
|
||||||
os: ${{ job.os }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
testExecutable: './hipblaslt-test'
|
||||||
parameters:
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes --gtest_filter=*pre_checkin*'
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
parameters:
|
||||||
os: ${{ job.os }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
gpuTarget: ${{ job.target }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
environment: test
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
|
||||||
testExecutable: './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,40 +1,17 @@
|
|||||||
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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
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 +28,90 @@ parameters:
|
|||||||
- llvm-project
|
- llvm-project
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocPRIM
|
- rocPRIM
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
- rocprofiler-register
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
|
||||||
- { 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:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: hipCUB
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
workspace:
|
||||||
variables:
|
clean: all
|
||||||
- group: common
|
strategy:
|
||||||
- template: /.azuredevops/variables-global.yml
|
matrix:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
gfx942:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
JOB_GPU_TARGET: gfx942
|
||||||
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:
|
- 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:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
dependencyList:
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
- gtest
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
-DBUILD_TEST=ON
|
||||||
parameters:
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-GNinja
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
os: ${{ job.os }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
parameters:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
consolidateBuildAndInstall: true
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
extraBuildFlags: >-
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DCMAKE_CXX_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"
|
|
||||||
-DBUILD_BENCHMARK=ON
|
|
||||||
-DBUILD_TEST=ON
|
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
|
||||||
-GNinja
|
|
||||||
extraCxxFlags: -Wno-deprecated-declarations
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- ${{ if eq(job.os, 'ubuntu2204') }}:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: hipCUB_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
dependsOn: hipCUB
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
condition:
|
- group: common
|
||||||
and(succeeded(),
|
- template: /.azuredevops/variables-global.yml
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
pool: $(JOB_TEST_POOL)
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
workspace:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
clean: all
|
||||||
)
|
strategy:
|
||||||
variables:
|
matrix:
|
||||||
- group: common
|
gfx942:
|
||||||
- template: /.azuredevops/variables-global.yml
|
JOB_GPU_TARGET: gfx942
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
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_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
gpuTarget: ${{ job.target }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
os: ${{ job.os }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- 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: hipCUB
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin/hipcub'
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
environment: test
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
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,34 +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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -64,124 +40,97 @@ parameters:
|
|||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocRAND
|
- rocRAND
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: hipFFT
|
||||||
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
- name: HIP_ROCCLR_HOME
|
||||||
- ${{ build }}_ubuntu2204_${{ job.target }}
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
variables:
|
pool: ${{ variables.LOW_BUILD_POOL }}
|
||||||
- group: common
|
workspace:
|
||||||
- template: /.azuredevops/variables-global.yml
|
clean: all
|
||||||
- name: HIP_ROCCLR_HOME
|
strategy:
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
matrix:
|
||||||
pool:
|
gfx942:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
JOB_GPU_TARGET: gfx942
|
||||||
workspace:
|
steps:
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
steps:
|
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/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
parameters:
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
extraBuildFlags: >-
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
parameters:
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
extraBuildFlags: >-
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DUSE_HIP_CLANG=ON
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
-DHIP_COMPILER=clang
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
-GNinja
|
||||||
-DUSE_HIP_CLANG=ON
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
-DHIP_COMPILER=clang
|
parameters:
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
-DBUILD_CLIENTS_SAMPLES=OFF
|
parameters:
|
||||||
-GNinja
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
componentName: ${{ parameters.componentName }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: hipFFT_testing
|
||||||
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
dependsOn: hipFFT
|
||||||
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
condition:
|
variables:
|
||||||
and(succeeded(),
|
- group: common
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
- template: /.azuredevops/variables-global.yml
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
pool: $(JOB_TEST_POOL)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
workspace:
|
||||||
)
|
clean: all
|
||||||
variables:
|
strategy:
|
||||||
- group: common
|
matrix:
|
||||||
- template: /.azuredevops/variables-global.yml
|
gfx942:
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_GPU_TARGET: gfx942
|
||||||
workspace:
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
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_GPU_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_GPU_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: hipFFT
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
testExecutable: './hipfft-test'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
testParameters: '--test_prob 0.002 --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: './hipfft-test'
|
environment: test
|
||||||
testParameters: '--test_prob 0.002 --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -1,50 +1,26 @@
|
|||||||
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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
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 +28,96 @@ parameters:
|
|||||||
- llvm-project
|
- llvm-project
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- rocRAND
|
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
- rocRAND
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
|
||||||
- { 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:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
- name: downstreamComponentMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- rocFFT:
|
|
||||||
name: rocFFT
|
|
||||||
sparseCheckoutDir: projects/rocfft
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- hipRAND_build
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: hipRAND
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
- name: HIP_ROCCLR_HOME
|
||||||
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
variables:
|
pool: ${{ variables.LOW_BUILD_POOL }}
|
||||||
- group: common
|
workspace:
|
||||||
- template: /.azuredevops/variables-global.yml
|
clean: all
|
||||||
- name: HIP_ROCCLR_HOME
|
strategy:
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
matrix:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
gfx942:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
JOB_GPU_TARGET: gfx942
|
||||||
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:
|
- 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:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
dependencyList:
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
- gtest
|
-DBUILD_TEST=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
parameters:
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
-GNinja
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
parameters:
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
parameters:
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
consolidateBuildAndInstall: true
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
extraBuildFlags: >-
|
parameters:
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DBUILD_TEST=ON
|
extraEnvVars:
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor"
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- ${{ if eq(job.os, 'ubuntu2204') }}:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
extraEnvVars:
|
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: hipRAND_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
dependsOn: hipRAND
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
condition:
|
- group: common
|
||||||
and(succeeded(),
|
- template: /.azuredevops/variables-global.yml
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
pool: $(JOB_TEST_POOL)
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
workspace:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
clean: all
|
||||||
)
|
strategy:
|
||||||
variables:
|
matrix:
|
||||||
- group: common
|
gfx942:
|
||||||
- template: /.azuredevops/variables-global.yml
|
JOB_GPU_TARGET: gfx942
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
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_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
os: ${{ job.os }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- 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: hipRAND
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin/hipRAND'
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
environment: test
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
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,34 +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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -69,130 +45,102 @@ parameters:
|
|||||||
- rocSPARSE
|
- rocSPARSE
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: hipSOLVER
|
||||||
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool: ${{ variables.LOW_BUILD_POOL }}
|
||||||
- ${{ build }}_ubuntu2204_${{ job.target }}
|
workspace:
|
||||||
variables:
|
clean: all
|
||||||
- group: common
|
strategy:
|
||||||
- template: /.azuredevops/variables-global.yml
|
matrix:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
gfx942:
|
||||||
workspace:
|
JOB_GPU_TARGET: gfx942
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/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-rocm.yml
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
# build external gtest and lapack
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
parameters:
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
componentName: external
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
cmakeBuildDir: 'deps/build'
|
||||||
# build external gtest and lapack
|
installDir: '$(Pipeline.Workspace)/deps-install'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DBUILD_BOOST=OFF
|
||||||
componentName: external
|
-DBUILD_GTEST=OFF
|
||||||
cmakeBuildDir: '$(Agent.BuildDirectory)/s/deps/build'
|
-GNinja
|
||||||
cmakeSourceDir: '$(Agent.BuildDirectory)/s/deps'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
installDir: '$(Pipeline.Workspace)/deps-install'
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DBUILD_BOOST=OFF
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Pipeline.Workspace)/deps-install
|
||||||
-DBUILD_GTEST=OFF
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-GNinja
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
parameters:
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
extraBuildFlags: >-
|
-DUSE_CUDA=OFF
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Pipeline.Workspace)/deps-install
|
-GNinja
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
parameters:
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
-DUSE_CUDA=OFF
|
parameters:
|
||||||
-GNinja
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
extraCopyDirectories:
|
||||||
componentName: ${{ parameters.componentName }}
|
- deps-install
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# gpuTarget: ${{ job.target }}
|
|
||||||
# extraCopyDirectories:
|
|
||||||
# - deps-install
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: hipSOLVER_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
dependsOn: hipSOLVER
|
||||||
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
variables:
|
||||||
condition:
|
- group: common
|
||||||
and(succeeded(),
|
- template: /.azuredevops/variables-global.yml
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
pool: $(JOB_TEST_POOL)
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
workspace:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
clean: all
|
||||||
)
|
strategy:
|
||||||
variables:
|
matrix:
|
||||||
- group: common
|
gfx942:
|
||||||
- template: /.azuredevops/variables-global.yml
|
JOB_GPU_TARGET: gfx942
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
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:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
gpuTarget: $(JOB_GPU_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 }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
gpuTarget: $(JOB_GPU_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: hipSOLVER
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
testExecutable: './hipsolver-test'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
testParameters: '--gtest_filter="*checkin*" --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
- 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/bin'
|
environment: test
|
||||||
testExecutable: './hipsolver-test'
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
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 }}
|
|
||||||
|
|||||||
@@ -1,43 +1,21 @@
|
|||||||
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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
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
|
||||||
@@ -62,163 +40,101 @@ parameters:
|
|||||||
- rocSPARSE
|
- rocSPARSE
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
|
||||||
#- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
|
||||||
testJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
- name: downstreamComponentMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- hipSPARSELt:
|
|
||||||
name: hipSPARSELt
|
|
||||||
sparseCheckoutDir: projects/hipsparselt
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- hipSPARSE_build
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: hipSPARSE
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool: ${{ variables.LOW_BUILD_POOL }}
|
||||||
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
workspace:
|
||||||
variables:
|
clean: all
|
||||||
- group: common
|
strategy:
|
||||||
- template: /.azuredevops/variables-global.yml
|
matrix:
|
||||||
pool:
|
gfx942:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
JOB_GPU_TARGET: gfx942
|
||||||
workspace:
|
steps:
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
steps:
|
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/checkout.yml
|
||||||
packageManager: ${{ job.packageManager }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- 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.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
dependencyList:
|
parameters:
|
||||||
- gtest
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
parameters:
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/share/rocm/cmake/
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
gpuTarget: ${{ job.target }}
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
os: ${{ job.os }}
|
-GNinja
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
parameters:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
artifactName: hipSPARSE
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
extraBuildFlags: >-
|
artifactName: hipSPARSE
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
publish: false
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
parameters:
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
sourceDir: $(Build.SourcesDirectory)/build/clients
|
||||||
-DBUILD_CLIENTS_SAMPLES=OFF
|
contentsString: matrices/**
|
||||||
-GNinja
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
parameters:
|
||||||
parameters:
|
artifactName: testMatrices
|
||||||
componentName: ${{ parameters.componentName }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
componentName: ${{ parameters.componentName }}
|
environment: test
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
os: ${{ job.os }}
|
|
||||||
publish: false
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
|
||||||
parameters:
|
|
||||||
sourceDir: $(Agent.BuildDirectory)/s/build/clients
|
|
||||||
contentsString: matrices/**
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
artifactName: testMatrices
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
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: test
|
|
||||||
# gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: hipSPARSE_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
dependsOn: hipSPARSE
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
condition:
|
- group: common
|
||||||
and(succeeded(),
|
- template: /.azuredevops/variables-global.yml
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
pool: $(JOB_TEST_POOL)
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
workspace:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
clean: all
|
||||||
)
|
strategy:
|
||||||
variables:
|
matrix:
|
||||||
- group: common
|
gfx942:
|
||||||
- template: /.azuredevops/variables-global.yml
|
JOB_GPU_TARGET: gfx942
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
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_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
gpuTarget: ${{ job.target }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
os: ${{ job.os }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- 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: hipSPARSE
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
gpuTarget: ${{ job.target }}
|
testExecutable: './hipsparse-test'
|
||||||
os: ${{ job.os }}
|
testParameters: '--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_GPU_TARGET)
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
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,34 +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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -40,12 +16,10 @@ parameters:
|
|||||||
- gfortran
|
- gfortran
|
||||||
- libgfortran5
|
- libgfortran5
|
||||||
- libopenblas-dev
|
- libopenblas-dev
|
||||||
- liblapack-dev
|
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- joblib
|
- joblib
|
||||||
- msgpack
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -54,8 +28,6 @@ parameters:
|
|||||||
- hipSPARSE
|
- hipSPARSE
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
- rocm-cmake
|
|
||||||
- rocm_smi_lib
|
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
@@ -68,197 +40,138 @@ parameters:
|
|||||||
- llvm-project
|
- llvm-project
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- hipBLASLt
|
- hipBLASLt
|
||||||
- rocm-cmake
|
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
testJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: hipSPARSELt
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
- name: HIP_ROCCLR_HOME
|
||||||
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
variables:
|
- name: TENSILE_ROCM_ASSEMBLER_PATH
|
||||||
- group: common
|
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
||||||
- template: /.azuredevops/variables-global.yml
|
- name: CMAKE_CXX_COMPILER
|
||||||
- name: HIP_ROCCLR_HOME
|
value: $(Agent.BuildDirectory)/rocm/llvm/bin/hipcc
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
- name: TENSILE_ROCM_OFFLOAD_BUNDLER_PATH
|
||||||
- name: TENSILE_ROCM_ASSEMBLER_PATH
|
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang-offload-bundler
|
||||||
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
- name: PATH
|
||||||
- name: CMAKE_CXX_COMPILER
|
value: $(Agent.BuildDirectory)/rocm/llvm/bin:$(Agent.BuildDirectory)/rocm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
|
||||||
value: $(Agent.BuildDirectory)/rocm/llvm/bin/hipcc
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
- name: TENSILE_ROCM_OFFLOAD_BUNDLER_PATH
|
workspace:
|
||||||
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang-offload-bundler
|
clean: all
|
||||||
- name: PATH
|
strategy:
|
||||||
value: $(Agent.BuildDirectory)/rocm/llvm/bin:$(Agent.BuildDirectory)/rocm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
|
matrix:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
gfx942:
|
||||||
workspace:
|
JOB_GPU_TARGET: gfx942
|
||||||
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/dependencies-cmake-latest.yml
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
parameters:
|
||||||
# ignore sparse checkout for monorepo case, we want access to hipblaslt directory
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
# sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
# Build and install gtest and lapack
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
# $(Pipeline.Workspace)/deps is a temporary folder for the build process
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
# $(Pipeline.Workspace)/s/deps is part of the hipSPARSELt repo
|
||||||
gpuTarget: ${{ job.target }}
|
- script: mkdir $(Pipeline.Workspace)/deps
|
||||||
os: ${{ job.os }}
|
displayName: Create temp folder for external dependencies
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
# hipSPARSELt already has a CMake script for external deps, so we can just run that
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
# https://github.com/ROCm/hipSPARSELt/blob/develop/deps/CMakeLists.txt
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
- script: cmake $(Pipeline.Workspace)/s/deps
|
||||||
# NOTE: content between `---` is for transition support between old/new build systems
|
displayName: Configure hipSPARSELt external dependencies
|
||||||
# and should be removed once transition is complete.
|
workingDirectory: $(Pipeline.Workspace)/deps
|
||||||
# -----------------------------
|
- script: make
|
||||||
# Build and install gtest and lapack
|
displayName: Build hipSPARSELt external dependencies
|
||||||
# $(Pipeline.Workspace)/deps is a temporary folder for the build process
|
workingDirectory: $(Pipeline.Workspace)/deps
|
||||||
# $(Pipeline.Workspace)/s/deps is part of the hipSPARSELt repo
|
- script: sudo make install
|
||||||
- script: mkdir -p $(Pipeline.Workspace)/deps
|
displayName: Install hipSPARSELt external dependencies
|
||||||
displayName: Create temp folder for external dependencies
|
workingDirectory: $(Pipeline.Workspace)/deps
|
||||||
# hipSPARSELt already has a CMake script for external deps, so we can just run that
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
# https://github.com/ROCm/hipSPARSELt/blob/develop/deps/CMakeLists.txt
|
parameters:
|
||||||
- ${{ if ne(parameters.sparseCheckoutDir, '') }}:
|
extraBuildFlags: >-
|
||||||
script: cmake $(Pipeline.Workspace)/s/projects/hipsparselt/deps
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
${{ else }}:
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
script: cmake $(Pipeline.Workspace)/s/deps
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
displayName: Configure hipSPARSELt external dependencies
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
workingDirectory: $(Pipeline.Workspace)/deps
|
-DTensile_LOGIC=
|
||||||
- script: make
|
-DTensile_CPU_THREADS=
|
||||||
displayName: Build hipSPARSELt external dependencies
|
-DTensile_LIBRARY_FORMAT=msgpack
|
||||||
workingDirectory: $(Pipeline.Workspace)/deps
|
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm"
|
||||||
- script: sudo make install
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
displayName: Install hipSPARSELt external dependencies
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
workingDirectory: $(Pipeline.Workspace)/deps
|
-GNinja
|
||||||
# -----------------------------
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
parameters:
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
# NOTE: the following options are old build only
|
parameters:
|
||||||
# and can be removed after full transition to new build
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
# -DAMDGPU_TARGETS=${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
# -DCMAKE_Fortran_COMPILER=f95
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
# -DTensile_LOGIC=
|
parameters:
|
||||||
# -DTensile_CPU_THREADS=
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
# -DTensile_LIBRARY_FORMAT=msgpack
|
pipModules: ${{ parameters.pipModules }}
|
||||||
# -DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
# -DBUILD_CLIENTS_TESTS=ON
|
extraCopyDirectories:
|
||||||
# -DBUILD_USE_LOCAL_TENSILE=OFF
|
- deps
|
||||||
extraBuildFlags: >-
|
extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
extraEnvVars:
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
- TENSILE_ROCM_ASSEMBLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang
|
||||||
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm"
|
- CMAKE_CXX_COMPILER:::/home/user/workspace/rocm/llvm/bin/hipcc
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
- TENSILE_ROCM_OFFLOAD_BUNDLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang-offload-bundler
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
installLatestCMake: true
|
||||||
-DCMAKE_Fortran_COMPILER=f95
|
|
||||||
-DTensile_LOGIC=
|
|
||||||
-DTensile_CPU_THREADS=
|
|
||||||
-DTensile_LIBRARY_FORMAT=msgpack
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
|
||||||
-DBUILD_USE_LOCAL_TENSILE=OFF
|
|
||||||
-DHIPSPARSELT_ENABLE_FETCH=ON
|
|
||||||
-GNinja
|
|
||||||
${{ if ne(parameters.sparseCheckoutDir, '') }}:
|
|
||||||
cmakeSourceDir: $(Build.SourcesDirectory)/projects/hipsparselt
|
|
||||||
cmakeBuildDir: $(Build.SourcesDirectory)/projects/hipsparselt
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- ${{ if eq(job.os, 'ubuntu2204') }}:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
extraCopyDirectories:
|
|
||||||
- deps
|
|
||||||
extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin
|
|
||||||
extraEnvVars:
|
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
|
||||||
- TENSILE_ROCM_ASSEMBLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang
|
|
||||||
- CMAKE_CXX_COMPILER:::/home/user/workspace/rocm/llvm/bin/hipcc
|
|
||||||
- TENSILE_ROCM_OFFLOAD_BUNDLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang-offload-bundler
|
|
||||||
installLatestCMake: true
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: hipSPARSELt_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
dependsOn: hipSPARSELt
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
timeoutInMinutes: 120
|
variables:
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
- group: common
|
||||||
condition:
|
- template: /.azuredevops/variables-global.yml
|
||||||
and(succeeded(),
|
pool: $(JOB_TEST_POOL)
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
workspace:
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
clean: all
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
strategy:
|
||||||
)
|
matrix:
|
||||||
variables:
|
gfx942:
|
||||||
- group: common
|
JOB_GPU_TARGET: gfx942
|
||||||
- template: /.azuredevops/variables-global.yml
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
pool: ${{ job.target }}_test_pool
|
steps:
|
||||||
workspace:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
clean: all
|
parameters:
|
||||||
steps:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- checkout: none
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
- 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: hipSPARSELt
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
testExecutable: './hipsparselt-test'
|
||||||
gpuTarget: ${{ job.target }}
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes --gtest_filter=*pre_checkin*'
|
||||||
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
|
pipModules: ${{ parameters.pipModules }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
environment: test
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
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 }}
|
|
||||||
|
|||||||
@@ -1,34 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: hipTensor
|
|
||||||
- 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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -54,113 +30,90 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: hipTensor
|
||||||
- job: ${{ parameters.componentName }}_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: ${{ variables.MEDIUM_BUILD_POOL }}
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
strategy:
|
||||||
steps:
|
matrix:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
gfx942:
|
||||||
parameters:
|
JOB_GPU_TARGET: gfx942
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
steps:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
- 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 }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
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: >-
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/llvm
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/llvm
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
-DHIPTENSOR_BUILD_TESTS=ON
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
-DHIPTENSOR_BUILD_TESTS=ON
|
multithreadFlag: -- -j32
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
-GNinja
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
componentName: ${{ parameters.componentName }}
|
parameters:
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: hipTensor_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
timeoutInMinutes: 90
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.target }}
|
dependsOn: hipTensor
|
||||||
timeoutInMinutes: 90
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.target }}
|
variables:
|
||||||
condition:
|
- group: common
|
||||||
and(succeeded(),
|
- template: /.azuredevops/variables-global.yml
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
pool: $(JOB_TEST_POOL)
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
workspace:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
clean: all
|
||||||
)
|
strategy:
|
||||||
variables:
|
matrix:
|
||||||
- group: common
|
gfx942:
|
||||||
- template: /.azuredevops/variables-global.yml
|
JOB_GPU_TARGET: gfx942
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
workspace:
|
steps:
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
steps:
|
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_GPU_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_GPU_TARGET)
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
parameters:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
componentName: hipTensor
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
testDir: '$(Agent.BuildDirectory)/rocm/bin/hiptensor'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
testParameters: '-E ".*-extended" -VV --output-on-failure --force-new-ctest-process --output-junit test_output.xml'
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
componentName: ${{ parameters.componentName }}
|
parameters:
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin/hiptensor'
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
testParameters: '-E ".*-extended" --extra-verbose --output-on-failure --force-new-ctest-process --output-junit test_output.xml'
|
environment: test
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -5,11 +5,6 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# 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
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -44,123 +39,110 @@ parameters:
|
|||||||
- rocSPARSE
|
- rocSPARSE
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: hipfort
|
||||||
- job: hipfort_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: ${{ variables.MEDIUM_BUILD_POOL }}
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
strategy:
|
||||||
steps:
|
matrix:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
gfx942:
|
||||||
parameters:
|
JOB_GPU_TARGET: gfx942
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
steps:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
extraBuildFlags: >-
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
parameters:
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/llvm
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DHIPFORT_INSTALL_DIR=$(Build.BinariesDirectory)
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DHIPFORT_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/flang
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/llvm
|
||||||
-DCMAKE_Fortran_FLAGS="-Mfree -fPIC"
|
-DHIPFORT_INSTALL_DIR=$(Build.BinariesDirectory)
|
||||||
-DCMAKE_Fortran_FLAGS_DEBUG=""
|
-DHIPFORT_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/flang
|
||||||
-DHIPFORT_COMPILER_FLAGS="-cpp"
|
-DCMAKE_Fortran_FLAGS="-Mfree -fPIC"
|
||||||
-DHIPFORT_AR=$(Agent.BuildDirectory)/rocm/llvm/bin/llvm-ar
|
-DCMAKE_Fortran_FLAGS_DEBUG=""
|
||||||
-DHIPFORT_RANLIB=$(Agent.BuildDirectory)/rocm/llvm/bin/llvm-ranlib
|
-DHIPFORT_COMPILER_FLAGS="-cpp"
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
-DHIPFORT_AR=$(Agent.BuildDirectory)/rocm/llvm/bin/llvm-ar
|
||||||
-DBUILD_TESTING=ON
|
-DHIPFORT_RANLIB=$(Agent.BuildDirectory)/rocm/llvm/bin/llvm-ranlib
|
||||||
-GNinja
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
-DBUILD_TESTING=ON
|
||||||
parameters:
|
-GNinja
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
parameters:
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
installLatestCMake: true
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
|
installLatestCMake: true
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: hipfort_testing
|
||||||
- job: hipfort_test_${{ job.target }}
|
dependsOn: hipfort
|
||||||
dependsOn: hipfort_build_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
condition:
|
variables:
|
||||||
and(succeeded(),
|
- group: common
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
- template: /.azuredevops/variables-global.yml
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
pool: $(JOB_TEST_POOL)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
workspace:
|
||||||
)
|
clean: all
|
||||||
variables:
|
strategy:
|
||||||
- group: common
|
matrix:
|
||||||
- template: /.azuredevops/variables-global.yml
|
gfx942:
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_GPU_TARGET: gfx942
|
||||||
workspace:
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/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_GPU_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
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- task: Bash@3
|
||||||
- task: Bash@3
|
displayName: 'ROCm symbolic link'
|
||||||
displayName: 'ROCm symbolic link'
|
inputs:
|
||||||
inputs:
|
targetType: inline
|
||||||
targetType: inline
|
script: |
|
||||||
script: |
|
sudo rm -rf /opt/rocm
|
||||||
# Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral
|
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
- task: Bash@3
|
||||||
- task: Bash@3
|
displayName: 'Test hipfort'
|
||||||
displayName: 'Test hipfort'
|
inputs:
|
||||||
inputs:
|
targetType: inline
|
||||||
targetType: inline
|
script: PATH=$(Agent.BuildDirectory)/rocm/bin:$PATH make run_all
|
||||||
script: PATH=$(Agent.BuildDirectory)/rocm/bin:$PATH make run_all
|
workingDirectory: $(Build.SourcesDirectory)/test
|
||||||
workingDirectory: $(Build.SourcesDirectory)/test
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
environment: test
|
||||||
environment: test
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
optSymLink: true
|
||||||
optSymLink: true
|
|
||||||
|
|||||||
@@ -5,196 +5,145 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# 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
|
- name: aptPackages
|
||||||
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.MEDIUM_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 }}
|
- 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
|
componentName: rocm-llvm
|
||||||
parameters:
|
extraBuildFlags: >-
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
-DCMAKE_PREFIX_PATH="$(Build.BinariesDirectory)/llvm;$(Build.BinariesDirectory)"
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
parameters:
|
-DLLVM_ENABLE_PROJECTS=clang;lld;clang-tools-extra;mlir
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DLLVM_ENABLE_RUNTIMES=compiler-rt;libunwind;libcxx;libcxxabi
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
-DCLANG_ENABLE_AMDCLANG=ON
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
-DLLVM_TARGETS_TO_BUILD=AMDGPU;X86
|
||||||
os: ${{ job.os }}
|
-DLIBCXX_ENABLE_SHARED=OFF
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DLIBCXX_ENABLE_STATIC=ON
|
||||||
parameters:
|
-DLIBCXX_INSTALL_LIBRARY=OFF
|
||||||
componentName: rocm-llvm
|
-DLIBCXX_INSTALL_HEADERS=OFF
|
||||||
os: ${{ job.os }}
|
-DLIBCXXABI_ENABLE_SHARED=OFF
|
||||||
useAmdclang: false
|
-DLIBCXXABI_ENABLE_STATIC=ON
|
||||||
extraBuildFlags: >-
|
-DLIBCXXABI_INSTALL_STATIC_LIBRARY=OFF
|
||||||
-DCMAKE_PREFIX_PATH="$(Build.BinariesDirectory)/llvm;$(Build.BinariesDirectory)"
|
-DLLVM_BUILD_DOCS=OFF
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DLLVM_ENABLE_SPHINX=OFF
|
||||||
-DLLVM_ENABLE_PROJECTS=clang;lld;clang-tools-extra;mlir;flang
|
-DLLVM_ENABLE_ASSERTIONS=OFF
|
||||||
-DLLVM_ENABLE_RUNTIMES=compiler-rt;libunwind;libcxx;libcxxabi
|
-DLLVM_ENABLE_Z3_SOLVER=OFF
|
||||||
-DCLANG_ENABLE_AMDCLANG=ON
|
-DLLVM_ENABLE_ZLIB=ON
|
||||||
-DLLVM_TARGETS_TO_BUILD=AMDGPU;X86
|
-DCLANG_DEFAULT_LINKER=lld
|
||||||
-DLIBCXX_ENABLE_SHARED=OFF
|
-DCLANG_DEFAULT_RTLIB=compiler-rt
|
||||||
-DLIBCXX_ENABLE_STATIC=ON
|
-DCLANG_DEFAULT_UNWINDLIB=libgcc
|
||||||
-DLIBCXX_INSTALL_LIBRARY=OFF
|
-DSANITIZER_AMDGPU=OFF
|
||||||
-DLIBCXX_INSTALL_HEADERS=OFF
|
-DPACKAGE_VENDOR=AMD
|
||||||
-DLIBCXXABI_ENABLE_SHARED=OFF
|
-DCLANG_LINK_FLANG_LEGACY=ON
|
||||||
-DLIBCXXABI_ENABLE_STATIC=ON
|
-DCMAKE_CXX_STANDARD=17
|
||||||
-DLIBCXXABI_INSTALL_STATIC_LIBRARY=OFF
|
-DROCM_LLVM_BACKWARD_COMPAT_LINK=$(Build.BinariesDirectory)/llvm
|
||||||
-DLLVM_BUILD_DOCS=OFF
|
-DROCM_LLVM_BACKWARD_COMPAT_LINK_TARGET=./lib/llvm
|
||||||
-DLLVM_ENABLE_SPHINX=OFF
|
-GNinja
|
||||||
-DLLVM_ENABLE_ASSERTIONS=OFF
|
cmakeBuildDir: 'llvm/build'
|
||||||
-DLLVM_ENABLE_Z3_SOLVER=OFF
|
installDir: '$(Build.BinariesDirectory)/llvm'
|
||||||
-DLLVM_ENABLE_ZLIB=ON
|
# use llvm-lit to run unit tests for llvm, clang, and lld
|
||||||
-DCLANG_DEFAULT_LINKER=lld
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
-DCLANG_DEFAULT_RTLIB=compiler-rt
|
parameters:
|
||||||
-DCLANG_DEFAULT_UNWINDLIB=libgcc
|
componentName: check-llvm
|
||||||
-DSANITIZER_AMDGPU=OFF
|
testDir: 'llvm/build'
|
||||||
-DPACKAGE_VENDOR=AMD
|
testExecutable: './bin/llvm-lit'
|
||||||
-DCLANG_LINK_FLANG_LEGACY=ON
|
testParameters: '-q --xunit-xml-output=llvm_test_output.xml ./test'
|
||||||
-DCMAKE_CXX_STANDARD=17
|
testOutputFile: llvm_test_output.xml
|
||||||
-DROCM_LLVM_BACKWARD_COMPAT_LINK=$(Build.BinariesDirectory)/llvm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
-DROCM_LLVM_BACKWARD_COMPAT_LINK_TARGET=./lib/llvm
|
parameters:
|
||||||
-GNinja
|
componentName: check-clang
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/llvm/build'
|
testDir: 'llvm/build'
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/llvm'
|
testExecutable: './bin/llvm-lit'
|
||||||
installDir: '$(Build.BinariesDirectory)/llvm'
|
testParameters: '-q --xunit-xml-output=clang_test_output.xml ./tools/clang/test'
|
||||||
# use llvm-lit to run unit tests for llvm, clang, and lld
|
testOutputFile: clang_test_output.xml
|
||||||
- task: Bash@3
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
displayName: 'Copy llvm-lit to install directory'
|
parameters:
|
||||||
inputs:
|
componentName: check-lld
|
||||||
targetType: inline
|
testDir: 'llvm/build'
|
||||||
script: |
|
testExecutable: './bin/llvm-lit'
|
||||||
cp $(Build.SourcesDirectory)/llvm/build/bin/llvm-lit $(Build.BinariesDirectory)/llvm/bin/
|
testParameters: '-q --xunit-xml-output=lld_test_output.xml ./tools/lld/test'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
testOutputFile: lld_test_output.xml
|
||||||
parameters:
|
- task: CopyFiles@2
|
||||||
componentName: check-llvm
|
displayName: Copy FileCheck for Publishing
|
||||||
testDir: 'llvm/build'
|
inputs:
|
||||||
testExecutable: './bin/llvm-lit'
|
CleanTargetFolder: false
|
||||||
testParameters: '-q --xunit-xml-output=llvm_test_output.xml --filter-out="live-debug-values-spill-tracking" ./test'
|
SourceFolder: llvm/build/bin
|
||||||
testOutputFile: llvm_test_output.xml
|
Contents: FileCheck
|
||||||
os: ${{ job.os }}
|
TargetFolder: $(Build.BinariesDirectory)/llvm/bin
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
retryCount: 3
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
componentName: check-clang
|
parameters:
|
||||||
testDir: 'llvm/build'
|
componentName: device-libs
|
||||||
testExecutable: './bin/llvm-lit'
|
extraBuildFlags: >-
|
||||||
testParameters: '-q --xunit-xml-output=clang_test_output.xml ./tools/clang/test'
|
-DCMAKE_PREFIX_PATH="$(Build.SourcesDirectory)/llvm/build"
|
||||||
testOutputFile: clang_test_output.xml
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
os: ${{ job.os }}
|
cmakeBuildDir: 'amd/device-libs/build'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: check-lld
|
componentName: comgr
|
||||||
testDir: 'llvm/build'
|
extraBuildFlags: >-
|
||||||
testExecutable: './bin/llvm-lit'
|
-DCMAKE_PREFIX_PATH="$(Build.SourcesDirectory)/llvm/build;$(Build.SourcesDirectory)/amd/device-libs/build"
|
||||||
testParameters: '-q --xunit-xml-output=lld_test_output.xml ./tools/lld/test'
|
-DCOMGR_DISABLE_SPIRV=1
|
||||||
testOutputFile: lld_test_output.xml
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
os: ${{ job.os }}
|
cmakeBuildDir: 'amd/comgr/build'
|
||||||
- task: CopyFiles@2
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
displayName: Copy FileCheck for Publishing
|
parameters:
|
||||||
inputs:
|
componentName: comgr
|
||||||
CleanTargetFolder: false
|
testParameters: '--output-on-failure --force-new-ctest-process --output-junit comgr_test_output.xml'
|
||||||
SourceFolder: llvm/build/bin
|
testDir: 'amd/comgr/build'
|
||||||
Contents: FileCheck
|
testOutputFile: comgr_test_output.xml
|
||||||
TargetFolder: $(Build.BinariesDirectory)/llvm/bin
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
retryCount: 3
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
componentName: hipcc
|
||||||
parameters:
|
extraBuildFlags: >-
|
||||||
componentName: device-libs
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
os: ${{ job.os }}
|
-DHIPCC_BACKWARD_COMPATIBILITY=OFF
|
||||||
useAmdclang: false
|
cmakeBuildDir: 'amd/hipcc/build'
|
||||||
extraBuildFlags: >-
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
-DCMAKE_PREFIX_PATH="$(Build.SourcesDirectory)/llvm/build"
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/amd/device-libs/build'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/amd/device-libs'
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
environment: combined
|
||||||
componentName: comgr
|
extraEnvVars:
|
||||||
os: ${{ job.os }}
|
- HIP_DEVICE_LIB_PATH:::/home/user/workspace/bin/amdgcn/bitcode
|
||||||
useAmdclang: false
|
- HIP_PATH:::/home/user/workspace/rocm
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH="$(Build.SourcesDirectory)/llvm/build;$(Build.SourcesDirectory)/amd/device-libs/build"
|
|
||||||
-DCOMGR_DISABLE_SPIRV=1
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/amd/comgr/build'
|
|
||||||
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
|
|
||||||
|
|||||||
140
.azuredevops/components/omnitrace.yml
Normal file
140
.azuredevops/components/omnitrace.yml
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
# largely referenced from: https://github.com/ROCm/omnitrace/blob/main/.github/workflows/ubuntu-jammy.yml
|
||||||
|
parameters:
|
||||||
|
- name: checkoutRepo
|
||||||
|
type: string
|
||||||
|
default: 'self'
|
||||||
|
- name: checkoutRef
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: aptPackages
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- autoconf
|
||||||
|
- autotools-dev
|
||||||
|
- bison
|
||||||
|
- build-essential
|
||||||
|
- bzip2
|
||||||
|
- clang
|
||||||
|
- cmake
|
||||||
|
- environment-modules
|
||||||
|
- g++-12
|
||||||
|
- libdrm-dev
|
||||||
|
- libfabric-dev
|
||||||
|
- libiberty-dev
|
||||||
|
- libpapi-dev
|
||||||
|
- libpfm4-dev
|
||||||
|
- libtool
|
||||||
|
- libopenmpi-dev
|
||||||
|
- m4
|
||||||
|
- openmpi-bin
|
||||||
|
- software-properties-common
|
||||||
|
- python3-pip
|
||||||
|
- texinfo
|
||||||
|
- zlib1g-dev
|
||||||
|
- name: pipModules
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- numpy
|
||||||
|
- perfetto
|
||||||
|
- dataclasses
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- aomp
|
||||||
|
- clr
|
||||||
|
- llvm-project
|
||||||
|
- rccl
|
||||||
|
- rocm-core
|
||||||
|
- rocm_smi_lib
|
||||||
|
- rocminfo
|
||||||
|
- ROCR-Runtime
|
||||||
|
- rocprofiler
|
||||||
|
- rocprofiler-register
|
||||||
|
- roctracer
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- job: omnitrace
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
gfx942:
|
||||||
|
JOB_GPU_TARGET: gfx942
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: ROCm symbolic link
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
sudo rm -rf /opt/rocm
|
||||||
|
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Add ROCm binaries to PATH
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Add ROCm compilers to PATH
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
# build flags reference: https://rocm.docs.amd.com/projects/omnitrace/en/latest/install/install.html
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DOMNITRACE_BUILD_TESTING=ON
|
||||||
|
-DOMNITRACE_BUILD_DYNINST=ON
|
||||||
|
-DOMNITRACE_BUILD_LIBUNWIND=ON
|
||||||
|
-DDYNINST_BUILD_TBB=ON
|
||||||
|
-DDYNINST_BUILD_ELFUTILS=ON
|
||||||
|
-DDYNINST_BUILD_LIBIBERTY=ON
|
||||||
|
-DDYNINST_BUILD_BOOST=ON
|
||||||
|
-DOMNITRACE_USE_PAPI=ON
|
||||||
|
-DOMNITRACE_USE_MPI=ON
|
||||||
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
|
multithreadFlag: -- -j32
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Set up omnitrace env
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: source share/omnitrace/setup-env.sh
|
||||||
|
workingDirectory: build
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: omnitrace
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Remove ROCm binaries from PATH
|
||||||
|
condition: always()
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$(Agent.BuildDirectory)/rocm/bin;;' -e 's;^/;;' -e 's;/$;;')"
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Remove ROCm compilers from PATH
|
||||||
|
condition: always()
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$(Agent.BuildDirectory)/rocm/llvm/bin;;' -e 's;^/;;' -e 's;/$;;')"
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
@@ -1,308 +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
|
|
||||||
- python3-venv
|
|
||||||
- libgtest-dev
|
|
||||||
- libboost-filesystem-dev
|
|
||||||
- libboost-program-options-dev
|
|
||||||
- name: pipModules
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- nanobind>=2.0.0
|
|
||||||
- pytest
|
|
||||||
- pytest-cov
|
|
||||||
- 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: gfx90a }
|
|
||||||
# - { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
|
||||||
# - { os: ubuntu2204, packageManager: apt, target: gfx1151 }
|
|
||||||
# - { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
|
||||||
- name: downstreamComponentMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- hipBLASLt:
|
|
||||||
name: hipBLASLt
|
|
||||||
sparseCheckoutDir: projects/hipblaslt
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- origami_build
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
|
||||||
- job: origami_build_${{ job.os }}
|
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.os }}
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
- name: ROCM_PATH
|
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
|
||||||
pool:
|
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
|
||||||
container:
|
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
|
||||||
endpoint: ContainerService3
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
|
||||||
parameters:
|
|
||||||
dependencyList:
|
|
||||||
- gtest
|
|
||||||
- ${{ if ne(job.os, 'almalinux8') }}:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
|
||||||
parameters:
|
|
||||||
dependencyList:
|
|
||||||
- catch2
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DORIGAMI_BUILD_SHARED_LIBS=ON
|
|
||||||
-DORIGAMI_ENABLE_PYTHON=ON
|
|
||||||
-DORIGAMI_BUILD_TESTING=ON
|
|
||||||
-DORIGAMI_ENABLE_FETCH=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(),
|
|
||||||
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 }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
|
||||||
parameters:
|
|
||||||
dependencyList:
|
|
||||||
- gtest
|
|
||||||
- ${{ if ne(job.os, 'almalinux8') }}:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
|
||||||
parameters:
|
|
||||||
dependencyList:
|
|
||||||
- catch2
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- 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 }}
|
|
||||||
- task: CMake@1
|
|
||||||
displayName: 'Origami Test CMake Configuration'
|
|
||||||
inputs:
|
|
||||||
cmakeArgs: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DORIGAMI_BUILD_SHARED_LIBS=ON
|
|
||||||
-DORIGAMI_ENABLE_PYTHON=ON
|
|
||||||
-DORIGAMI_BUILD_TESTING=ON
|
|
||||||
-GNinja
|
|
||||||
$(Agent.BuildDirectory)/s
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'Build Origami Tests and Python Bindings'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
workingDirectory: build
|
|
||||||
script: |
|
|
||||||
cmake --build . --target origami-tests origami_python -- -j$(nproc)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
# Run tests using CTest (discovers and runs both C++ and Python tests)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
testDir: 'build'
|
|
||||||
testParameters: '--output-on-failure --force-new-ctest-process --output-junit test_output.xml'
|
|
||||||
# Test pip install workflow
|
|
||||||
# - task: Bash@3
|
|
||||||
# displayName: 'Test Pip Install'
|
|
||||||
# inputs:
|
|
||||||
# targetType: inline
|
|
||||||
# script: |
|
|
||||||
# set -e
|
|
||||||
|
|
||||||
# echo "==================================================================="
|
|
||||||
# echo "Testing pip install workflow (pip install -e .)"
|
|
||||||
# echo "==================================================================="
|
|
||||||
|
|
||||||
# # Set environment variables for pip install CMake build
|
|
||||||
# export ROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
# export CMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm:$(Agent.BuildDirectory)/vendor
|
|
||||||
# export CMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
|
|
||||||
# echo "ROCM_PATH: $ROCM_PATH"
|
|
||||||
# echo "CMAKE_PREFIX_PATH: $CMAKE_PREFIX_PATH"
|
|
||||||
# echo "CMAKE_CXX_COMPILER: $CMAKE_CXX_COMPILER"
|
|
||||||
# echo ""
|
|
||||||
|
|
||||||
# # Install from source directory
|
|
||||||
# cd "$(Agent.BuildDirectory)/s/python"
|
|
||||||
# pip install -e .
|
|
||||||
|
|
||||||
# # Verify import works
|
|
||||||
# echo ""
|
|
||||||
# echo "Verifying origami can be imported..."
|
|
||||||
# python3 -c "import origami; print('✓ Successfully imported origami')"
|
|
||||||
|
|
||||||
# # Run pytest on installed package
|
|
||||||
# echo ""
|
|
||||||
# echo "Running pytest tests..."
|
|
||||||
# python3 -m pytest tests/ -v -m "not slow" --tb=short
|
|
||||||
|
|
||||||
# echo ""
|
|
||||||
# echo "==================================================================="
|
|
||||||
# echo "Pip install test completed successfully"
|
|
||||||
# echo "==================================================================="
|
|
||||||
- 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,45 +1,16 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rccl
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
- name: systemsRepo
|
|
||||||
type: string
|
|
||||||
default: systems_repo
|
|
||||||
- name: systemsSparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: 'projects/rocprofiler-sdk'
|
|
||||||
# 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
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- git
|
- git
|
||||||
|
- googletest
|
||||||
- libboost-program-options-dev
|
- libboost-program-options-dev
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- libfftw3-dev
|
- libfftw3-dev
|
||||||
@@ -78,165 +49,101 @@ parameters:
|
|||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
testJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
- name: downstreamComponentMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- rocprofiler-sdk:
|
|
||||||
name: rocprofiler-sdk
|
|
||||||
sparseCheckoutDir: ''
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- rccl_build
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: rccl
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
- name: HIP_ROCCLR_HOME
|
||||||
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
timeoutInMinutes: 120
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
variables:
|
workspace:
|
||||||
- group: common
|
clean: all
|
||||||
- template: /.azuredevops/variables-global.yml
|
strategy:
|
||||||
- name: HIP_ROCCLR_HOME
|
matrix:
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
gfx942:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
JOB_GPU_TARGET: gfx942
|
||||||
${{ 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 }}
|
||||||
workspace:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
||||||
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 }}
|
submoduleBehaviour: recursive
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- script: chmod +x $(Agent.BuildDirectory)/rocm/bin/hipify-perl
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
submoduleBehaviour: recursive
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
dependencyList:
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
- gtest
|
-DHALF_INCLUDE_DIR=$(Agent.BuildDirectory)/rocm/include
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
parameters:
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DBUILD_TESTS=ON
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/share/rocm/cmake/
|
||||||
os: ${{ job.os }}
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
-GNinja
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
parameters:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
extraBuildFlags: >-
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
parameters:
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DBUILD_TESTS=ON
|
extraEnvVars:
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/share/rocm/cmake;$(Agent.BuildDirectory)/rocm/libexec/hipify
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
installLatestCMake: true
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
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 }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
extraEnvVars:
|
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
|
||||||
installLatestCMake: true
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: rccl_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
timeoutInMinutes: 120
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
dependsOn: rccl
|
||||||
timeoutInMinutes: 120
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
condition:
|
- group: common
|
||||||
and(succeeded(),
|
- template: /.azuredevops/variables-global.yml
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
pool: $(JOB_TEST_POOL)
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
workspace:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
clean: all
|
||||||
)
|
strategy:
|
||||||
variables:
|
matrix:
|
||||||
- group: common
|
gfx942:
|
||||||
- template: /.azuredevops/variables-global.yml
|
JOB_GPU_TARGET: gfx942
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
workspace:
|
steps:
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
steps:
|
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_GPU_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 }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
gpuTarget: $(JOB_GPU_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:
|
||||||
os: ${{ job.os }}
|
componentName: rccl
|
||||||
gpuTarget: ${{ job.target }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
testExecutable: './rccl-UnitTests'
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
componentName: ${{ parameters.componentName }}
|
environment: test
|
||||||
os: ${{ job.os }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
|
||||||
testExecutable: './rccl-UnitTests'
|
|
||||||
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.systemsRepo }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.systemsSparseCheckoutDir }}
|
|
||||||
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,34 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rdc
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -52,7 +28,6 @@ parameters:
|
|||||||
- clr
|
- clr
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- hipBLASLt
|
- hipBLASLt
|
||||||
- hipRAND
|
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
@@ -63,7 +38,6 @@ parameters:
|
|||||||
- rocprofiler
|
- rocprofiler
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- rocprofiler-sdk
|
- rocprofiler-sdk
|
||||||
- rocRAND
|
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
@@ -79,157 +53,123 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: rdc
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
- ${{ build }}_${{ job.target }}
|
workspace:
|
||||||
variables:
|
clean: all
|
||||||
- group: common
|
strategy:
|
||||||
- template: /.azuredevops/variables-global.yml
|
matrix:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
gfx942:
|
||||||
workspace:
|
JOB_GPU_TARGET: gfx942
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
cmakeVersion: '3.25.0'
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
# Build grpc
|
||||||
parameters:
|
- task: Bash@3
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
displayName: 'git clone grpc'
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
inputs:
|
||||||
gpuTarget: ${{ job.target }}
|
targetType: inline
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
script: git clone -b v1.61.0 https://github.com/grpc/grpc --depth=1 --shallow-submodules --recurse-submodules
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
# Build grpc
|
parameters:
|
||||||
- task: Bash@3
|
cmakeBuildDir: $(Build.SourcesDirectory)/grpc/build
|
||||||
displayName: 'git clone grpc'
|
installDir: $(Build.SourcesDirectory)/bin
|
||||||
inputs:
|
extraBuildFlags: >-
|
||||||
targetType: inline
|
-DgRPC_INSTALL=ON
|
||||||
script: git clone -b v1.67.1 https://github.com/grpc/grpc --depth=1 --shallow-submodules --recurse-submodules
|
-DgRPC_BUILD_TESTS=OFF
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
-DBUILD_SHARED_LIBS=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DCMAKE_INSTALL_LIBDIR=lib
|
||||||
parameters:
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
componentName: ${{ parameters.componentName }}
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
cmakeBuildDir: $(Build.SourcesDirectory)/grpc/build
|
-GNinja
|
||||||
cmakeSourceDir: $(Build.SourcesDirectory)/grpc
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
installDir: $(Build.SourcesDirectory)/bin
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DgRPC_INSTALL=ON
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DgRPC_BUILD_TESTS=OFF
|
-DGRPC_ROOT="$(Build.SourcesDirectory)/bin"
|
||||||
-DBUILD_SHARED_LIBS=ON
|
-DBUILD_RVS=ON
|
||||||
-DCMAKE_INSTALL_LIBDIR=lib
|
-DBUILD_PROFILER=ON
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DBUILD_TESTS=ON
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
-GNinja
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
parameters:
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
componentName: ${{ parameters.componentName }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
extraBuildFlags: >-
|
parameters:
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DGRPC_ROOT="$(Build.SourcesDirectory)/bin"
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
-DBUILD_RVS=ON
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
-DBUILD_PROFILER=ON
|
parameters:
|
||||||
-DBUILD_TESTS=ON
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: rdc_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
dependsOn: rdc
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.target }}
|
variables:
|
||||||
condition:
|
- group: common
|
||||||
and(succeeded(),
|
- template: /.azuredevops/variables-global.yml
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
pool: $(JOB_TEST_POOL)
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
workspace:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
clean: all
|
||||||
)
|
strategy:
|
||||||
variables:
|
matrix:
|
||||||
- group: common
|
gfx942:
|
||||||
- template: /.azuredevops/variables-global.yml
|
JOB_GPU_TARGET: gfx942
|
||||||
- name: ROCM_PATH
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
steps:
|
||||||
- name: ROCM_DIR
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
parameters:
|
||||||
pool: ${{ job.target }}_test_pool
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
workspace:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
steps:
|
parameters:
|
||||||
- checkout: none
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
- task: Bash@3
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
displayName: Setup test environment
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
inputs:
|
||||||
parameters:
|
targetType: inline
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
script: |
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
sudo rm -rf /opt/rocm
|
||||||
gpuTarget: ${{ job.target }}
|
sudo rm -rf /usr/sbin/rdcd
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rdcd /usr/sbin/rdcd
|
||||||
- task: Bash@3
|
echo $(Agent.BuildDirectory)/rocm/lib/rdc/grpc/lib | sudo tee /etc/ld.so.conf.d/grpc.conf
|
||||||
displayName: Setup test environment
|
sudo ldconfig -v
|
||||||
inputs:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
targetType: inline
|
- task: Bash@3
|
||||||
script: |
|
displayName: Test rdc
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rdcd /usr/sbin/rdcd
|
inputs:
|
||||||
echo $(Agent.BuildDirectory)/rocm/lib/rdc/grpc/lib | sudo tee /etc/ld.so.conf.d/grpc.conf
|
targetType: inline
|
||||||
sudo ldconfig -v
|
script: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
$(Agent.BuildDirectory)/rocm/share/rdc/rdctst_tests/rdctst
|
||||||
- task: Bash@3
|
--batch_mode
|
||||||
displayName: Test rdc
|
--start_rdcd
|
||||||
inputs:
|
--unauth_comm
|
||||||
targetType: inline
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
script: >-
|
parameters:
|
||||||
$(Agent.BuildDirectory)/rocm/share/rdc/rdctst_tests/rdctst
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
--batch_mode
|
environment: test
|
||||||
--start_rdcd
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
--unauth_comm
|
extraPaths: /home/user/workspace/rocm/bin
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
extraPaths: /home/user/workspace/rocm/bin
|
|
||||||
|
|||||||
@@ -5,11 +5,6 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# 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
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -66,202 +61,188 @@ parameters:
|
|||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rpp
|
- rpp
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: rocAL
|
||||||
- job: rocAL_build_${{ job.target }}
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool: ${{ variables.LOW_BUILD_POOL }}
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
strategy:
|
||||||
steps:
|
matrix:
|
||||||
- task: Bash@3
|
gfx942:
|
||||||
displayName: 'Register libjpeg-turbo packages'
|
JOB_GPU_TARGET: gfx942
|
||||||
inputs:
|
steps:
|
||||||
targetType: inline
|
- task: Bash@3
|
||||||
script: |
|
displayName: 'Register libjpeg-turbo packages'
|
||||||
sudo mkdir --parents --mode=0755 /etc/apt/keyrings
|
inputs:
|
||||||
wget -q -O- https://packagecloud.io/dcommander/libjpeg-turbo/gpgkey | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/libjpeg-turbo.gpg > /dev/null
|
targetType: inline
|
||||||
echo "deb [signed-by=/etc/apt/trusted.gpg.d/libjpeg-turbo.gpg] https://packagecloud.io/dcommander/libjpeg-turbo/any/ any main" | sudo tee /etc/apt/sources.list.d/libjpeg-turbo.list
|
script: |
|
||||||
sudo apt update
|
sudo mkdir --parents --mode=0755 /etc/apt/keyrings
|
||||||
apt-cache show libjpeg-turbo-official | grep Version
|
wget -q -O- https://packagecloud.io/dcommander/libjpeg-turbo/gpgkey | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/libjpeg-turbo.gpg > /dev/null
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
echo "deb [signed-by=/etc/apt/trusted.gpg.d/libjpeg-turbo.gpg] https://packagecloud.io/dcommander/libjpeg-turbo/any/ any main" | sudo tee /etc/apt/sources.list.d/libjpeg-turbo.list
|
||||||
parameters:
|
sudo apt update
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
apt-cache show libjpeg-turbo-official | grep Version
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
pipModules: ${{ parameters.pipModules }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- task: Bash@3
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
displayName: 'Clone PyBind11'
|
parameters:
|
||||||
inputs:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
targetType: inline
|
- task: Bash@3
|
||||||
script: git clone --depth 1 -b v2.11.1 https://github.com/pybind/pybind11
|
displayName: 'Clone PyBind11'
|
||||||
workingDirectory: '$(Build.SourcesDirectory)'
|
inputs:
|
||||||
- task: Bash@3
|
targetType: inline
|
||||||
displayName: 'Clone RapidJSON'
|
script: git clone --depth 1 -b v2.11.1 https://github.com/pybind/pybind11
|
||||||
inputs:
|
workingDirectory: '$(Build.SourcesDirectory)'
|
||||||
targetType: inline
|
- task: Bash@3
|
||||||
script: git clone --depth 1 https://github.com/Tencent/rapidjson.git
|
displayName: 'Clone RapidJSON'
|
||||||
workingDirectory: '$(Build.SourcesDirectory)'
|
inputs:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
targetType: inline
|
||||||
parameters:
|
script: git clone --depth 1 https://github.com/Tencent/rapidjson.git
|
||||||
componentName: PyBind11
|
workingDirectory: '$(Build.SourcesDirectory)'
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/pybind11/build'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/pybind11'
|
parameters:
|
||||||
customInstallPath: false
|
componentName: PyBind11
|
||||||
installEnabled: false
|
cmakeBuildDir: '$(Build.SourcesDirectory)/pybind11/build'
|
||||||
extraBuildFlags: >-
|
customInstallPath: false
|
||||||
-DDOWNLOAD_CATCH=ON
|
installEnabled: false
|
||||||
-DDOWNLOAD_EIGEN=ON
|
extraBuildFlags: >-
|
||||||
-GNinja
|
-DDOWNLOAD_CATCH=ON
|
||||||
- task: Bash@3
|
-DDOWNLOAD_EIGEN=ON
|
||||||
displayName: 'Install PyBind11'
|
-GNinja
|
||||||
inputs:
|
- task: Bash@3
|
||||||
targetType: inline
|
displayName: 'Install PyBind11'
|
||||||
script: sudo cmake --build . --target install
|
inputs:
|
||||||
workingDirectory: '$(Build.SourcesDirectory)/pybind11/build'
|
targetType: inline
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
script: sudo cmake --build . --target install
|
||||||
parameters:
|
workingDirectory: '$(Build.SourcesDirectory)/pybind11/build'
|
||||||
componentName: RapidJSON
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/rapidjson/build'
|
parameters:
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/rapidjson'
|
componentName: RapidJSON
|
||||||
customInstallPath: false
|
cmakeBuildDir: '$(Build.SourcesDirectory)/rapidjson/build'
|
||||||
installEnabled: false
|
customInstallPath: false
|
||||||
extraBuildFlags: >-
|
installEnabled: false
|
||||||
-GNinja
|
extraBuildFlags: >-
|
||||||
- task: Bash@3
|
-GNinja
|
||||||
displayName: 'Install RapidJSON'
|
- task: Bash@3
|
||||||
inputs:
|
displayName: 'Install RapidJSON'
|
||||||
targetType: inline
|
inputs:
|
||||||
script: sudo cmake --build . --target install
|
targetType: inline
|
||||||
workingDirectory: '$(Build.SourcesDirectory)/rapidjson/build'
|
script: sudo cmake --build . --target install
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
workingDirectory: '$(Build.SourcesDirectory)/rapidjson/build'
|
||||||
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 }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;/opt/libjpeg-turbo
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;/opt/libjpeg-turbo
|
||||||
-DCMAKE_INSTALL_PREFIX_PYTHON=$Python3_STDARCH
|
-DCMAKE_INSTALL_PREFIX_PYTHON=$Python3_STDARCH
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- 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_GPU_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
|
||||||
# parameters:
|
parameters:
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
# pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
# registerJPEGPackages: true
|
registerJPEGPackages: true
|
||||||
# gpuTarget: ${{ job.target }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
# extraCopyDirectories:
|
extraCopyDirectories:
|
||||||
# - /opt/libjpeg-turbo
|
- /opt/libjpeg-turbo
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: rocAL_testing
|
||||||
- job: rocAL_test_${{ job.target }}
|
dependsOn: rocAL
|
||||||
dependsOn: rocAL_build_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
condition:
|
variables:
|
||||||
and(succeeded(),
|
- group: common
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
- template: /.azuredevops/variables-global.yml
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
- name: ROCM_PATH
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
)
|
- name: CMAKE_INCLUDE_PATH
|
||||||
variables:
|
value: $(Agent.BuildDirectory)/rocm/include/rocal
|
||||||
- group: common
|
pool:
|
||||||
- template: /.azuredevops/variables-global.yml
|
name: $(JOB_TEST_POOL)
|
||||||
- name: ROCM_PATH
|
demands: firstRenderDeviceAccess
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
workspace:
|
||||||
- name: CMAKE_INCLUDE_PATH
|
clean: all
|
||||||
value: $(Agent.BuildDirectory)/rocm/include/rocal
|
strategy:
|
||||||
pool:
|
matrix:
|
||||||
name: ${{ job.target }}_test_pool
|
gfx942:
|
||||||
workspace:
|
JOB_GPU_TARGET: gfx942
|
||||||
clean: all
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
steps:
|
steps:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'Register libjpeg-turbo packages'
|
displayName: 'Register libjpeg-turbo packages'
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
sudo mkdir --parents --mode=0755 /etc/apt/keyrings
|
sudo mkdir --parents --mode=0755 /etc/apt/keyrings
|
||||||
wget -q -O- https://packagecloud.io/dcommander/libjpeg-turbo/gpgkey | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/libjpeg-turbo.gpg > /dev/null
|
wget -q -O- https://packagecloud.io/dcommander/libjpeg-turbo/gpgkey | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/libjpeg-turbo.gpg > /dev/null
|
||||||
echo "deb [signed-by=/etc/apt/trusted.gpg.d/libjpeg-turbo.gpg] https://packagecloud.io/dcommander/libjpeg-turbo/any/ any main" | sudo tee /etc/apt/sources.list.d/libjpeg-turbo.list
|
echo "deb [signed-by=/etc/apt/trusted.gpg.d/libjpeg-turbo.gpg] https://packagecloud.io/dcommander/libjpeg-turbo/any/ any main" | sudo tee /etc/apt/sources.list.d/libjpeg-turbo.list
|
||||||
sudo apt update
|
sudo apt update
|
||||||
apt-cache show libjpeg-turbo-official | grep Version
|
apt-cache show libjpeg-turbo-official | grep Version
|
||||||
- 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:
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: $(JOB_GPU_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
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Link libjpeg-turbo
|
displayName: Link libjpeg-turbo
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
echo /opt/libjpeg-turbo/lib64 | sudo tee /etc/ld.so.conf.d/libjpeg-turbo.conf
|
echo /opt/libjpeg-turbo/lib64 | sudo tee /etc/ld.so.conf.d/libjpeg-turbo.conf
|
||||||
sudo ldconfig -v
|
sudo ldconfig -v
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Build rocAL tests
|
displayName: Build rocAL tests
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
mkdir rocAL-tests
|
mkdir rocAL-tests
|
||||||
cd rocAL-tests
|
cd rocAL-tests
|
||||||
cmake $(Agent.BuildDirectory)/rocm/share/rocal/test
|
cmake $(Agent.BuildDirectory)/rocm/share/rocal/test
|
||||||
- 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: rocAL
|
componentName: rocAL
|
||||||
testDir: rocAL-tests
|
testDir: rocAL-tests
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Clean up libjpeg-turbo
|
displayName: Clean up libjpeg-turbo
|
||||||
condition: always()
|
condition: always()
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
sudo rm /etc/ld.so.conf.d/libjpeg-turbo.conf
|
sudo rm /etc/ld.so.conf.d/libjpeg-turbo.conf
|
||||||
sudo ldconfig -v
|
sudo ldconfig -v
|
||||||
- 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 }}
|
||||||
registerJPEGPackages: true
|
registerJPEGPackages: true
|
||||||
environment: test
|
environment: test
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
extraCopyDirectories:
|
extraCopyDirectories:
|
||||||
- /opt/libjpeg-turbo
|
- /opt/libjpeg-turbo
|
||||||
# docker image will be missing the ldconfig to libjpeg-turbo
|
# docker image will be missing the ldconfig to libjpeg-turbo
|
||||||
|
|||||||
@@ -5,11 +5,6 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# 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
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -51,109 +46,96 @@ parameters:
|
|||||||
- rocSPARSE
|
- rocSPARSE
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: rocALUTION
|
||||||
- job: rocALUTION_build_${{ 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.LOW_BUILD_POOL }}
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
strategy:
|
||||||
steps:
|
matrix:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
gfx942:
|
||||||
parameters:
|
JOB_GPU_TARGET: gfx942
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
steps:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
extraBuildFlags: >-
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
parameters:
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/share/rocm/cmake/
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/share/rocm/cmake/
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
-DBUILD_CLIENTS_SAMPLES=OFF
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
-GNinja
|
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
parameters:
|
-GNinja
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
parameters:
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
parameters:
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
# parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
# gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
# extraEnvVars:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
# - HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
|
extraEnvVars:
|
||||||
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: rocALUTION_testing
|
||||||
- job: rocALUTION_test_${{ job.target }}
|
dependsOn: rocALUTION
|
||||||
dependsOn: rocALUTION_build_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
condition:
|
variables:
|
||||||
and(succeeded(),
|
- group: common
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
- template: /.azuredevops/variables-global.yml
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
pool: $(JOB_TEST_POOL)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
workspace:
|
||||||
)
|
clean: all
|
||||||
variables:
|
strategy:
|
||||||
- group: common
|
matrix:
|
||||||
- template: /.azuredevops/variables-global.yml
|
gfx942:
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_GPU_TARGET: gfx942
|
||||||
workspace:
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/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_GPU_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
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ 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: rocALUTION
|
||||||
componentName: rocALUTION
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
testExecutable: './rocalution-test'
|
||||||
testExecutable: './rocalution-test'
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
environment: test
|
||||||
environment: test
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -1,47 +1,25 @@
|
|||||||
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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
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 +28,18 @@ parameters:
|
|||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- aomp
|
|
||||||
- clr
|
|
||||||
- hipBLAS-common
|
|
||||||
- hipBLASLt
|
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
- rocm-core
|
- llvm-project
|
||||||
- rocm_smi_lib
|
- ROCR-Runtime
|
||||||
|
- clr
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- rocm_smi_lib
|
||||||
|
- rocm-core
|
||||||
|
- aomp
|
||||||
|
- aomp-extras
|
||||||
|
- hipBLAS-common
|
||||||
|
- hipBLASLt
|
||||||
- roctracer
|
- roctracer
|
||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
@@ -70,218 +49,124 @@ parameters:
|
|||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- hipBLASLt
|
- hipBLASLt
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocm-cmake
|
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- rocm_smi_lib
|
- rocm_smi_lib
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
|
||||||
#- { 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:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
- name: downstreamComponentMatrix
|
|
||||||
type: object
|
|
||||||
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 }}:
|
- job: rocBLAS
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
- name: HIP_ROCCLR_HOME
|
||||||
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
variables:
|
- name: TENSILE_ROCM_ASSEMBLER_PATH
|
||||||
- group: common
|
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
||||||
- template: /.azuredevops/variables-global.yml
|
- name: TENSILE_ROCM_OFFLOAD_BUNDLER_PATH
|
||||||
- name: HIP_ROCCLR_HOME
|
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang-offload-bundler
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
- name: ROCM_PATH
|
||||||
- name: TENSILE_ROCM_ASSEMBLER_PATH
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
- name: TENSILE_ROCM_OFFLOAD_BUNDLER_PATH
|
workspace:
|
||||||
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang-offload-bundler
|
clean: all
|
||||||
- name: ROCM_PATH
|
strategy:
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
matrix:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
gfx942:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
JOB_GPU_TARGET: gfx942
|
||||||
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
|
pipModules: ${{ parameters.pipModules }}
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aocl.yml
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aocl.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DCMAKE_TOOLCHAIN_FILE=toolchain-linux.cmake
|
||||||
os: ${{ job.os }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
parameters:
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang++
|
||||||
dependencyList:
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang
|
||||||
- gtest
|
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
-DTensile_CODE_OBJECT_VERSION=default
|
||||||
parameters:
|
-DTensile_LOGIC=asm_full
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DTensile_SEPARATE_ARCHITECTURES=ON
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
-DTensile_LAZY_LIBRARY_LOADING=ON
|
||||||
os: ${{ job.os }}
|
-DTensile_LIBRARY_FORMAT=msgpack
|
||||||
gpuTarget: ${{ job.target }}
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-GNinja
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
cmakeSourceDir: $(Agent.BuildDirectory)/sparse/projects/rocblas
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
cmakeBuildDir: $(Agent.BuildDirectory)/sparse/projects/rocblas/build
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
extraBuildFlags: >-
|
parameters:
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang++
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang
|
parameters:
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
pipModules: ${{ parameters.pipModules }}
|
||||||
-GNinja
|
installAOCL: true
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
extraEnvVars:
|
||||||
componentName: ${{ parameters.componentName }}
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
- TENSILE_ROCM_ASSEMBLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang
|
||||||
os: ${{ job.os }}
|
- TENSILE_ROCM_OFFLOAD_BUNDLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang-offload-bundler
|
||||||
gpuTarget: ${{ job.target }}
|
- ROCM_PATH:::/home/user/workspace/rocm
|
||||||
- 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 }}
|
|
||||||
installAOCL: true
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
extraEnvVars:
|
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
|
||||||
- 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
|
|
||||||
- ROCM_PATH:::/home/user/workspace/rocm
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: rocBLAS_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
dependsOn: rocBLAS
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
timeoutInMinutes: 120
|
variables:
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
- group: common
|
||||||
condition:
|
- template: /.azuredevops/variables-global.yml
|
||||||
and(succeeded(),
|
pool: $(JOB_TEST_POOL)
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
workspace:
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
clean: all
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
strategy:
|
||||||
)
|
matrix:
|
||||||
variables:
|
gfx942:
|
||||||
- group: common
|
JOB_GPU_TARGET: gfx942
|
||||||
- template: /.azuredevops/variables-global.yml
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
pool: ${{ job.target }}_test_pool
|
steps:
|
||||||
workspace:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
clean: all
|
parameters:
|
||||||
steps:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- checkout: none
|
pipModules: ${{ parameters.pipModules }}
|
||||||
- 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:
|
||||||
pipModules: ${{ parameters.pipModules }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
os: ${{ job.os }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
componentName: rocBLAS
|
||||||
parameters:
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
testExecutable: './rocblas-test'
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
testParameters: '--yaml rocblas_smoke.yaml --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
environment: test
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
|
||||||
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,62 +1,36 @@
|
|||||||
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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- 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:
|
||||||
@@ -66,153 +40,89 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
- 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:
|
|
||||||
- rocPyDecode:
|
|
||||||
name: rocPyDecode
|
|
||||||
sparseCheckoutDir: ''
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- rocDecode_build
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: rocDecode
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool: ${{ variables.LOW_BUILD_POOL }}
|
||||||
- ${{ build }}_${{ job.os }}
|
workspace:
|
||||||
variables:
|
clean: all
|
||||||
- group: common
|
steps:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- name: ROCM_PATH
|
parameters:
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pool:
|
registerROCmPackages: true
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
container:
|
parameters:
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
endpoint: ContainerService3
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
workspace:
|
parameters:
|
||||||
clean: all
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
steps:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
extraBuildFlags: >-
|
||||||
packageManager: ${{ job.packageManager }}
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
registerROCmPackages: true
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
- 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/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
registerROCmPackages: true
|
||||||
os: ${{ job.os }}
|
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
consolidateBuildAndInstall: true
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-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 }}:
|
- job: rocDecode_testing
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
dependsOn: rocDecode
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
condition:
|
variables:
|
||||||
and(succeeded(),
|
- group: common
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
- template: /.azuredevops/variables-global.yml
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
pool:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
name: $(JOB_TEST_POOL)
|
||||||
)
|
demands: firstRenderDeviceAccess
|
||||||
variables:
|
workspace:
|
||||||
- group: common
|
clean: all
|
||||||
- template: /.azuredevops/variables-global.yml
|
strategy:
|
||||||
- name: ROCM_PATH
|
matrix:
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
gfx942:
|
||||||
pool:
|
JOB_GPU_TARGET: gfx942
|
||||||
name: ${{ job.target }}_test_pool
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
workspace:
|
steps:
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
steps:
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
registerROCmPackages: true
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
registerROCmPackages: true
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- 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 }}
|
||||||
os: ${{ job.os }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
# anything in /opt may be persistent across runs
|
||||||
os: ${{ job.os }}
|
# so we need to remove the symlink if it already exists
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- script: |
|
||||||
parameters:
|
sudo rm -rf /opt/rocm
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
mkdir rocDecode-tests
|
||||||
gpuTarget: ${{ job.target }}
|
cd rocDecode-tests
|
||||||
os: ${{ job.os }}
|
cmake /opt/rocm/share/rocdecode/test
|
||||||
- task: Bash@3
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
displayName: Build rocDecode tests
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
inputs:
|
parameters:
|
||||||
targetType: inline
|
componentName: rocDecode
|
||||||
script: |
|
testDir: 'rocDecode-tests'
|
||||||
${{ iif(eq(job.os, 'almalinux8'), 'source /opt/rh/gcc-toolset-14/enable', '') }}
|
- script: sudo rm /opt/rocm
|
||||||
mkdir rocDecode-tests
|
condition: always()
|
||||||
cd rocDecode-tests
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
cmake $(Agent.BuildDirectory)/rocm/share/rocdecode/test
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
registerROCmPackages: true
|
||||||
parameters:
|
environment: test
|
||||||
componentName: rocDecode
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
testDir: 'rocDecode-tests'
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
registerROCmPackages: true
|
|
||||||
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.rocPyDecodeRepo }}
|
|
||||||
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
|
||||||
buildDependsOn: ${{ component.buildDependsOn }}
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
|
||||||
triggerDownstreamJobs: true
|
|
||||||
unifiedBuild: ${{ parameters.unifiedBuild }}
|
|
||||||
|
|||||||
@@ -1,34 +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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -65,145 +41,98 @@ parameters:
|
|||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocRAND
|
- rocRAND
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- 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 }}:
|
- job: rocFFT
|
||||||
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
- name: HIP_ROCCLR_HOME
|
||||||
- ${{ build }}_ubuntu2204_${{ job.target }} # todo: un-hardcode OS
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
variables:
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
- group: common
|
workspace:
|
||||||
- template: /.azuredevops/variables-global.yml
|
clean: all
|
||||||
- name: HIP_ROCCLR_HOME
|
strategy:
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
matrix:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
gfx942:
|
||||||
workspace:
|
JOB_GPU_TARGET: gfx942
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/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-rocm.yml
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
extraBuildFlags: >-
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
parameters:
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
extraBuildFlags: >-
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DUSE_HIP_CLANG=ON
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
-DHIP_COMPILER=clang
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
-DUSE_HIP_CLANG=ON
|
-GNinja
|
||||||
-DHIP_COMPILER=clang
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
parameters:
|
||||||
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DBUILD_CLIENTS_SAMPLES=OFF
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
-GNinja
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
componentName: ${{ parameters.componentName }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
componentName: ${{ parameters.componentName }}
|
extraEnvVars:
|
||||||
gpuTarget: ${{ job.target }}
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
extraEnvVars:
|
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: rocFFT_testing
|
||||||
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
dependsOn: rocFFT
|
||||||
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
condition:
|
variables:
|
||||||
and(succeeded(),
|
- group: common
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
- template: /.azuredevops/variables-global.yml
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
pool: $(JOB_TEST_POOL)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
workspace:
|
||||||
)
|
clean: all
|
||||||
variables:
|
strategy:
|
||||||
- group: common
|
matrix:
|
||||||
- template: /.azuredevops/variables-global.yml
|
gfx942:
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_GPU_TARGET: gfx942
|
||||||
workspace:
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
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_GPU_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_GPU_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: rocFFT
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
testExecutable: './rocfft-test'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
testParameters: '--test_prob 0.004 --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: './rocfft-test'
|
environment: test
|
||||||
testParameters: '--test_prob 0.004 --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- 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,18 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rocJPEG
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# 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
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -43,141 +35,97 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
|
||||||
- { 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:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: rocJPEG
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool: ${{ variables.LOW_BUILD_POOL }}
|
||||||
- name: ROCM_PATH
|
workspace:
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
clean: all
|
||||||
pool:
|
strategy:
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
matrix:
|
||||||
name: rocm-ci_medium_build_pool_2404
|
gfx942:
|
||||||
${{ else }}:
|
JOB_GPU_TARGET: gfx942
|
||||||
name: ${{ variables.MEDIUM_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
|
registerROCmPackages: true
|
||||||
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:
|
||||||
packageManager: ${{ job.packageManager }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
registerROCmPackages: true
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
parameters:
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
-GNinja
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
consolidateBuildAndInstall: true
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
extraBuildFlags: >-
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm"
|
registerROCmPackages: true
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
|
||||||
-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 }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
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 }}
|
|
||||||
# gpuTarget: ${{ job.target }}
|
|
||||||
# registerROCmPackages: true
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: rocJPEG_testing
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
dependsOn: rocJPEG
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
condition:
|
variables:
|
||||||
and(succeeded(),
|
- group: common
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
- template: /.azuredevops/variables-global.yml
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
pool:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
name: $(JOB_TEST_POOL)
|
||||||
)
|
demands: firstRenderDeviceAccess
|
||||||
variables:
|
workspace:
|
||||||
- group: common
|
clean: all
|
||||||
- template: /.azuredevops/variables-global.yml
|
strategy:
|
||||||
- name: ROCM_PATH
|
matrix:
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
gfx942:
|
||||||
pool:
|
JOB_GPU_TARGET: gfx942
|
||||||
name: ${{ job.target }}_test_pool
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
workspace:
|
steps:
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
steps:
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
registerROCmPackages: true
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
registerROCmPackages: true
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- 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 }}
|
||||||
gpuTarget: ${{ job.target }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
os: ${{ job.os }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
# anything in /opt may be persistent across runs
|
||||||
parameters:
|
# so we need to remove the symlink if it already exists
|
||||||
os: ${{ job.os }}
|
- script: |
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
sudo rm -rf /opt/rocm
|
||||||
parameters:
|
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
mkdir rocJPEG-tests
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
cd rocJPEG-tests
|
||||||
gpuTarget: ${{ job.target }}
|
cmake $(Agent.BuildDirectory)/rocm/share/rocjpeg/test
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
- task: Bash@3
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
displayName: Build rocJPEG tests
|
parameters:
|
||||||
inputs:
|
componentName: rocJPEG
|
||||||
targetType: inline
|
testDir: 'rocJPEG-tests'
|
||||||
script: |
|
- script: sudo rm /opt/rocm
|
||||||
${{ iif(eq(job.os, 'almalinux8'), 'source /opt/rh/gcc-toolset-14/enable', '') }}
|
condition: always()
|
||||||
mkdir rocJPEG-tests
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
cd rocJPEG-tests
|
parameters:
|
||||||
cmake $(Agent.BuildDirectory)/rocm/share/rocjpeg/test
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
environment: test
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
registerROCmPackages: true
|
||||||
componentName: rocJPEG
|
optSymLink: true
|
||||||
testDir: 'rocJPEG-tests'
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
registerROCmPackages: true
|
|
||||||
|
|||||||
@@ -5,50 +5,31 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# 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
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
|
- ninja-build
|
||||||
- git
|
- git
|
||||||
|
- python3-pip
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- libstdc++-12-dev
|
- libstdc++-12-dev
|
||||||
- ninja-build
|
|
||||||
- python3-pip
|
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- hip-python --extra-index-url https://test.pypi.org/simple
|
|
||||||
- ml_dtypes
|
|
||||||
- numpy
|
|
||||||
- tomli
|
- tomli
|
||||||
- scipy
|
|
||||||
- pybind11
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- clr
|
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
|
- clr
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- job: rocMLIR_build
|
- job: rocMLIR
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -68,7 +49,6 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
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: >-
|
||||||
@@ -76,7 +56,6 @@ jobs:
|
|||||||
-DCMAKE_CXX_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_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DBUILD_FAT_LIBROCKCOMPILER=1
|
-DBUILD_FAT_LIBROCKCOMPILER=1
|
||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
@@ -87,69 +66,64 @@ jobs:
|
|||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
# compiling and running test on the test system together
|
||||||
# compiling and running test on the test system together
|
- job: rocMLIR_testing
|
||||||
- job: rocMLIR_test_${{ job.target }}
|
dependsOn: rocMLIR
|
||||||
dependsOn: rocMLIR_build
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
condition:
|
variables:
|
||||||
and(succeeded(),
|
- group: common
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
- template: /.azuredevops/variables-global.yml
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
pool: $(JOB_TEST_POOL)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
workspace:
|
||||||
)
|
clean: all
|
||||||
variables:
|
strategy:
|
||||||
- group: common
|
matrix:
|
||||||
- template: /.azuredevops/variables-global.yml
|
gfx942:
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_GPU_TARGET: gfx942
|
||||||
workspace:
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/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_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
- task: Bash@3
|
||||||
- task: Bash@3
|
displayName: ROCm symbolic link
|
||||||
displayName: Symlink rocm_agent_enumerator
|
inputs:
|
||||||
inputs:
|
targetType: inline
|
||||||
targetType: inline
|
script: |
|
||||||
script: |
|
sudo rm -rf /opt/rocm
|
||||||
# Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral
|
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
sudo mkdir -p /opt/rocm/bin
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rocm_agent_enumerator /opt/rocm/bin/rocm_agent_enumerator
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
installEnabled: false
|
||||||
parameters:
|
extraBuildFlags: >-
|
||||||
installEnabled: false
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
extraBuildFlags: >-
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/lib
|
-DROCM_TEST_CHIPSET=$(JOB_GPU_TARGET)
|
||||||
-DCMAKE_INCLUDE_PATH=$(Agent.BuildDirectory)/rocm/lib
|
-GNinja
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
-DROCM_TEST_CHIPSET=${{ job.target }}
|
parameters:
|
||||||
-GNinja
|
componentName: rocMLIR
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
testDir: $(Build.SourcesDirectory)/build
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
testExecutable: ninja
|
||||||
parameters:
|
testParameters: check-rocmlir
|
||||||
componentName: rocMLIR
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
testDir: $(Build.SourcesDirectory)/build
|
parameters:
|
||||||
testExecutable: ninja
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
testParameters: check-rocmlir
|
pipModules: ${{ parameters.pipModules }}
|
||||||
testPublishResults: false
|
environment: test
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -1,49 +1,26 @@
|
|||||||
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: 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
|
- name: aptPackages
|
||||||
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:
|
||||||
@@ -53,179 +30,87 @@ parameters:
|
|||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
|
||||||
- { 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:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942, shard: 1, shardCount: 3 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942, shard: 2, shardCount: 3 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942, shard: 3, shardCount: 3 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a, shard: 1, shardCount: 3 }
|
|
||||||
- { 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 }}:
|
- job: rocPRIM
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
workspace:
|
||||||
variables:
|
clean: all
|
||||||
- group: common
|
strategy:
|
||||||
- template: /.azuredevops/variables-global.yml
|
matrix:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
gfx942:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
JOB_GPU_TARGET: gfx942
|
||||||
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:
|
- 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:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
dependencyList:
|
-DBUILD_BENCHMARK=ON
|
||||||
- gtest
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
parameters:
|
-DBUILD_TEST=ON
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-GNinja
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
os: ${{ job.os }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
parameters:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
consolidateBuildAndInstall: true
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
extraBuildFlags: >-
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor"
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
|
||||||
-DBUILD_BENCHMARK=ON
|
|
||||||
-DBUILD_TEST=ON
|
|
||||||
-GNinja
|
|
||||||
extraCxxFlags: -Wno-deprecated-declarations
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- ${{ if eq(job.os, 'ubuntu2204') }}:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: rocPRIM_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
dependsOn: rocPRIM
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}_shard_${{ job.shard }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
condition:
|
- group: common
|
||||||
and(succeeded(),
|
- template: /.azuredevops/variables-global.yml
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
pool: $(JOB_TEST_POOL)
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
workspace:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
clean: all
|
||||||
)
|
strategy:
|
||||||
variables:
|
matrix:
|
||||||
- group: common
|
gfx942:
|
||||||
- template: /.azuredevops/variables-global.yml
|
JOB_GPU_TARGET: gfx942
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
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_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
gpuTarget: ${{ job.target }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
os: ${{ job.os }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- 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: rocPRIM
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin/rocprim'
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
environment: test
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin/rocprim'
|
|
||||||
extraTestParameters: '-I ${{ job.shard }},,${{ job.shardCount }}'
|
|
||||||
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,27 +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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -43,222 +22,219 @@ parameters:
|
|||||||
- name: pipModules
|
- name: pipModules
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- hip-python --extra-index-url https://test.pypi.org/simple
|
|
||||||
- numpy
|
- numpy
|
||||||
- pybind11
|
- pybind11
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocDecode
|
|
||||||
- rocJPEG
|
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
- rocm-core
|
- llvm-project
|
||||||
- rocminfo
|
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
- clr
|
||||||
|
- rocminfo
|
||||||
|
- rocm-core
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
|
- rocDecode
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
testJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: rocPyDecode
|
||||||
- job: rocPyDecode_build_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool: ${{ variables.LOW_BUILD_POOL }}
|
||||||
- ${{ build }}_${{ job.os }}
|
workspace:
|
||||||
variables:
|
clean: all
|
||||||
- group: common
|
strategy:
|
||||||
- template: /.azuredevops/variables-global.yml
|
matrix:
|
||||||
- name: ROCM_PATH
|
gfx942:
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
JOB_GPU_TARGET: gfx942
|
||||||
pool:
|
steps:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
workspace:
|
parameters:
|
||||||
clean: all
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
steps:
|
pipModules: ${{ parameters.pipModules }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- task: Bash@3
|
||||||
parameters:
|
displayName: 'pip install hip-python'
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
inputs:
|
||||||
pipModules: ${{ parameters.pipModules }}
|
targetType: inline
|
||||||
packageManager: ${{ job.packageManager }}
|
script: pip install -i https://test.pypi.org/simple hip-python
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/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_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
- task: Bash@3
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
displayName: 'ROCm symbolic link'
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
inputs:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
targetType: inline
|
||||||
- task: Bash@3
|
script: |
|
||||||
displayName: 'Save Python Package Paths'
|
sudo rm -rf /opt/rocm
|
||||||
inputs:
|
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
targetType: inline
|
- task: Bash@3
|
||||||
script: |
|
displayName: 'Save Python Package Paths'
|
||||||
echo "##vso[task.setvariable variable=PYTHON_USER_SITE;]$(python3 -m site --user-site)"
|
inputs:
|
||||||
echo "##vso[task.setvariable variable=PYTHON_DIST_PACKAGES;]$(python3 -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])')"
|
targetType: inline
|
||||||
echo "##vso[task.setvariable variable=PYBIND11_PATH;]$(python3 -c 'import pybind11; print(pybind11.get_cmake_dir())')"
|
script: |
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
echo "##vso[task.setvariable variable=PYTHON_USER_SITE;]$(python3 -m site --user-site)"
|
||||||
parameters:
|
echo "##vso[task.setvariable variable=PYTHON_DIST_PACKAGES;]$(python3 -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])')"
|
||||||
installEnabled: false
|
echo "##vso[task.setvariable variable=PYBIND11_PATH;]$(python3 -c 'import pybind11; print(pybind11.get_cmake_dir())')"
|
||||||
extraBuildFlags: >-
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(PYTHON_USER_SITE)/pybind11;$(PYTHON_DIST_PACKAGES)/pybind11;$(PYBIND11_PATH)
|
parameters:
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
extraBuildFlags: >-
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_INSTALL_PREFIX_PYTHON=$(Build.BinariesDirectory)
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(PYTHON_USER_SITE)/pybind11;$(PYTHON_DIST_PACKAGES)/pybind11;$(PYBIND11_PATH)
|
||||||
-GNinja
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
- task: Bash@3
|
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
displayName: 'rocPyDecode install'
|
-DCMAKE_INSTALL_PREFIX_PYTHON=$(Build.BinariesDirectory)
|
||||||
inputs:
|
-GNinja
|
||||||
targetType: inline
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
script: |
|
parameters:
|
||||||
sudo cmake --build . --target install
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
sudo chown -R $(whoami):$(id -gn) $(Build.BinariesDirectory)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
workingDirectory: $(Build.SourcesDirectory)/build
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
publish: false
|
||||||
gpuTarget: ${{ job.target }}
|
- task: Bash@3
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
displayName: Create wheel file
|
||||||
parameters:
|
inputs:
|
||||||
gpuTarget: ${{ job.target }}
|
targetType: inline
|
||||||
publish: false
|
script: |
|
||||||
- task: Bash@3
|
export ROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
displayName: Create wheel file
|
export HIP_INCLUDE_DIRS=$(Agent.BuildDirectory)/rocm/include/hip
|
||||||
inputs:
|
python3 setup.py bdist_wheel
|
||||||
targetType: inline
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
script: |
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
||||||
export HIP_INCLUDE_DIRS=$(Agent.BuildDirectory)/rocm/include/hip
|
parameters:
|
||||||
sudo python3 setup.py bdist_wheel
|
sourceDir: $(Build.SourcesDirectory)/dist
|
||||||
sudo chown -R $(whoami):$(id -gn) $(find . -name "*.whl")
|
contentsString: '*.whl'
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
targetDir: $(Build.ArtifactStagingDirectory)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
clean: false
|
||||||
parameters:
|
- task: PublishPipelineArtifact@1
|
||||||
sourceDir: $(Build.SourcesDirectory)/dist
|
displayName: 'wheel file Publish'
|
||||||
contentsString: '*.whl'
|
retryCountOnTaskFailure: 3
|
||||||
targetDir: $(Build.ArtifactStagingDirectory)
|
inputs:
|
||||||
clean: false
|
targetPath: $(Build.ArtifactStagingDirectory)
|
||||||
- task: PublishPipelineArtifact@1
|
- task: Bash@3
|
||||||
displayName: 'wheel file Publish'
|
displayName: Save pipeline artifact file names
|
||||||
retryCountOnTaskFailure: 3
|
inputs:
|
||||||
inputs:
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
targetPath: $(Build.ArtifactStagingDirectory)
|
targetType: inline
|
||||||
- task: Bash@3
|
script: |
|
||||||
displayName: Save pipeline artifact file names
|
whlFile=$(find "$(Build.ArtifactStagingDirectory)" -type f -name "*.whl" | head -n 1)
|
||||||
inputs:
|
if [ -n "$whlFile" ]; then
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
echo $(basename "$whlFile") >> pipelineArtifacts.txt
|
||||||
targetType: inline
|
fi
|
||||||
script: |
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
whlFile=$(find "$(Build.ArtifactStagingDirectory)" -type f -name "*.whl" | head -n 1)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
if [ -n "$whlFile" ]; then
|
parameters:
|
||||||
echo $(basename "$whlFile") >> pipelineArtifacts.txt
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
fi
|
pipModules: ${{ parameters.pipModules }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
optSymLink: true
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# pipModules: ${{ parameters.pipModules }}
|
|
||||||
# gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: rocPyDecode_testing
|
||||||
- job: rocPyDecode_test_${{ job.target }}
|
dependsOn: rocPyDecode
|
||||||
dependsOn: rocPyDecode_build_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
condition:
|
variables:
|
||||||
and(succeeded(),
|
- group: common
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
- template: /.azuredevops/variables-global.yml
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
pool:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
name: $(JOB_TEST_POOL)
|
||||||
)
|
demands: firstRenderDeviceAccess
|
||||||
variables:
|
workspace:
|
||||||
- group: common
|
clean: all
|
||||||
- template: /.azuredevops/variables-global.yml
|
strategy:
|
||||||
- name: ROCM_PATH
|
matrix:
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
gfx942:
|
||||||
pool:
|
JOB_GPU_TARGET: gfx942
|
||||||
name: ${{ job.target }}_test_pool
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
workspace:
|
steps:
|
||||||
clean: all
|
- task: Bash@3
|
||||||
steps:
|
displayName: Ensure pybind11-dev is not installed
|
||||||
- task: Bash@3
|
inputs:
|
||||||
displayName: Ensure pybind11-dev is not installed
|
targetType: inline
|
||||||
inputs:
|
script: |
|
||||||
targetType: inline
|
if dpkg -l | grep -q pybind11-dev; then
|
||||||
script: |
|
echo "Removing pybind11-dev..."
|
||||||
if dpkg -l | grep -q pybind11-dev; then
|
sudo apt remove -y pybind11-dev
|
||||||
echo "Removing pybind11-dev..."
|
else
|
||||||
sudo apt remove -y pybind11-dev
|
echo "pybind11-dev is not installed."
|
||||||
else
|
fi
|
||||||
echo "pybind11-dev is not installed."
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
fi
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
pipModules: ${{ parameters.pipModules }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- task: Bash@3
|
||||||
pipModules: ${{ parameters.pipModules }}
|
displayName: 'pip install hip-python'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
inputs:
|
||||||
- task: DownloadPipelineArtifact@2
|
targetType: inline
|
||||||
displayName: 'Download Pipeline Wheel Files'
|
script: pip install -i https://test.pypi.org/simple hip-python
|
||||||
retryCountOnTaskFailure: 3
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
inputs:
|
- task: DownloadPipelineArtifact@2
|
||||||
itemPattern: '**/*.whl'
|
displayName: 'Download Pipeline Wheel Files'
|
||||||
targetPath: $(Agent.BuildDirectory)
|
inputs:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
itemPattern: '**/*.whl'
|
||||||
parameters:
|
targetPath: $(Agent.BuildDirectory)
|
||||||
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/dependencies-aqlprofile.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
setupHIPLibrarySymlinks: true
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- task: Bash@3
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
displayName: pip install
|
setupHIPLibrarySymlinks: true
|
||||||
inputs:
|
- task: Bash@3
|
||||||
targetType: inline
|
displayName: pip install
|
||||||
script: |
|
inputs:
|
||||||
pip uninstall -y rocPyDecode
|
targetType: inline
|
||||||
find -name *.whl -exec pip install {} \;
|
script: |
|
||||||
workingDirectory: $(Agent.BuildDirectory)
|
pip uninstall -y rocPyDecode
|
||||||
- task: Bash@3
|
find -name *.whl -exec pip install {} \;
|
||||||
displayName: Setup search paths
|
workingDirectory: $(Agent.BuildDirectory)
|
||||||
inputs:
|
- task: Bash@3
|
||||||
targetType: inline
|
displayName: Setup search paths
|
||||||
script: |
|
inputs:
|
||||||
echo "##vso[task.setvariable variable=PYTHON_USER_SITE;]$(python3 -m site --user-site)"
|
targetType: inline
|
||||||
echo "##vso[task.setvariable variable=PYTHON_DIST_PACKAGES;]$(python3 -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])')"
|
script: |
|
||||||
echo "##vso[task.setvariable variable=PYBIND11_PATH;]$(python3 -c 'import pybind11; print(pybind11.get_cmake_dir())')"
|
sudo rm -rf /opt/rocm
|
||||||
- task: CMake@1
|
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
displayName: 'rocPyDecode Test CMake Flags'
|
echo "##vso[task.setvariable variable=PYTHON_USER_SITE;]$(python3 -m site --user-site)"
|
||||||
inputs:
|
echo "##vso[task.setvariable variable=PYTHON_DIST_PACKAGES;]$(python3 -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])')"
|
||||||
workingDirectory: $(Agent.BuildDirectory)/rocm/share/rocpydecode/tests
|
echo "##vso[task.setvariable variable=PYBIND11_PATH;]$(python3 -c 'import pybind11; print(pybind11.get_cmake_dir())')"
|
||||||
cmakeArgs: >-
|
- task: CMake@1
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(PYTHON_USER_SITE)/pybind11;$(PYTHON_DIST_PACKAGES)/pybind11;$(PYBIND11_PATH)
|
displayName: 'rocPyDecode Test CMake Flags'
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
inputs:
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
cmakeArgs: >-
|
||||||
.
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(PYTHON_USER_SITE)/pybind11;$(PYTHON_DIST_PACKAGES)/pybind11;$(PYBIND11_PATH)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
parameters:
|
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
componentName: rocPyDecode
|
..
|
||||||
testDir: $(Agent.BuildDirectory)/rocm/share/rocpydecode/tests
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
componentName: rocPyDecode
|
||||||
pipModules: ${{ parameters.pipModules }}
|
testDir: $(Build.SourcesDirectory)/build
|
||||||
environment: test
|
# sudo required for pip install but screws up permissions for next pipeline run
|
||||||
gpuTarget: ${{ job.target }}
|
- task: Bash@3
|
||||||
pythonEnvVars: true
|
displayName: Clean up test environment
|
||||||
# note that this docker won't have hip-python installed via pip
|
condition: always()
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
pip uninstall -y rocPyDecode
|
||||||
|
pip uninstall -y hip-python
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
|
pythonEnvVars: true
|
||||||
|
# note that this docker won't have hip-python installed via pip
|
||||||
|
|||||||
@@ -1,49 +1,27 @@
|
|||||||
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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
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:
|
||||||
@@ -53,171 +31,90 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
|
||||||
- { 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:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
- name: downstreamComponentMatrix
|
|
||||||
type: object
|
|
||||||
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 }}:
|
- job: rocRAND
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
- name: HIP_ROCCLR_HOME
|
||||||
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
variables:
|
pool: ${{ variables.LOW_BUILD_POOL }}
|
||||||
- group: common
|
workspace:
|
||||||
- template: /.azuredevops/variables-global.yml
|
clean: all
|
||||||
- name: HIP_ROCCLR_HOME
|
strategy:
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
matrix:
|
||||||
pool:
|
gfx942:
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
JOB_GPU_TARGET: gfx942
|
||||||
vmImage: 'ubuntu-24.04'
|
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
|
- 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 }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
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 }}
|
-DBUILD_TEST=ON
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
parameters:
|
-GNinja
|
||||||
dependencyList:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- gtest
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
parameters:
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
extraEnvVars:
|
||||||
parameters:
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
os: ${{ job.os }}
|
|
||||||
consolidateBuildAndInstall: true
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
|
||||||
-DBUILD_TEST=ON
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# gpuTarget: ${{ job.target }}
|
|
||||||
# extraEnvVars:
|
|
||||||
# - HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: rocRAND_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
dependsOn: rocRAND
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
condition:
|
- group: common
|
||||||
and(succeeded(),
|
- template: /.azuredevops/variables-global.yml
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
pool: $(JOB_TEST_POOL)
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
workspace:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
clean: all
|
||||||
)
|
strategy:
|
||||||
variables:
|
matrix:
|
||||||
- group: common
|
gfx942:
|
||||||
- template: /.azuredevops/variables-global.yml
|
JOB_GPU_TARGET: gfx942
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
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_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
gpuTarget: ${{ job.target }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
os: ${{ job.os }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- 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: rocRAND
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin/rocRAND'
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
environment: test
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
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,54 +1,34 @@
|
|||||||
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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
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:
|
||||||
@@ -66,203 +46,111 @@ parameters:
|
|||||||
- rocSPARSE
|
- rocSPARSE
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
|
||||||
#- { 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:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
- name: downstreamComponentMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- hipBLAS:
|
|
||||||
name: hipBLAS
|
|
||||||
sparseCheckoutDir: projects/hipblas
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- rocSOLVER_build
|
|
||||||
# hipSOLVER depends on both rocSOLVER and rocSPARSE
|
|
||||||
# for a unified build, rocSOLVER will be the one to call hipSOLVER
|
|
||||||
# - hipSOLVER:
|
|
||||||
# name: hipSOLVER
|
|
||||||
# sparseCheckoutDir: projects/hipsolver
|
|
||||||
# skipUnifiedBuild: 'false'
|
|
||||||
# buildDependsOn:
|
|
||||||
# - rocSOLVER_build
|
|
||||||
# unifiedBuild:
|
|
||||||
# downstreamAggregateNames: rocSOLVER+rocSPARSE
|
|
||||||
# buildDependsOn:
|
|
||||||
# - rocSOLVER_build
|
|
||||||
# - rocSPARSE_build
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: rocSOLVER
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
workspace:
|
||||||
variables:
|
clean: all
|
||||||
- group: common
|
strategy:
|
||||||
- template: /.azuredevops/variables-global.yml
|
matrix:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
gfx942:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
JOB_GPU_TARGET: gfx942
|
||||||
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:
|
- 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 }}
|
- task: Bash@3
|
||||||
packageManager: ${{ job.packageManager }}
|
displayName: 'Clone lapack'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
inputs:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
targetType: inline
|
||||||
parameters:
|
script: git clone --depth 1 --branch v3.9.1 https://github.com/Reference-LAPACK/lapack
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
workingDirectory: '$(Build.SourcesDirectory)'
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- task: Bash@3
|
parameters:
|
||||||
displayName: 'Clone lapack'
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
inputs:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
targetType: inline
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
script: git clone --depth 1 --branch v3.9.1 https://github.com/Reference-LAPACK/lapack
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
workingDirectory: '$(Build.SourcesDirectory)'
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
componentName: lapack
|
||||||
parameters:
|
extraBuildFlags: >-
|
||||||
dependencyList:
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
- gtest
|
-DCMAKE_Fortran_FLAGS=-fno-optimize-sibling-calls
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
-DBUILD_TESTING=OFF
|
||||||
parameters:
|
-DCBLAS=ON
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DLAPACKE=OFF
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
-GNinja
|
||||||
os: ${{ job.os }}
|
cmakeBuildDir: '$(Build.SourcesDirectory)/lapack/build'
|
||||||
gpuTarget: ${{ job.target }}
|
installDir: '$(Pipeline.Workspace)/deps-install'
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
parameters:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Pipeline.Workspace)/deps-install
|
||||||
parameters:
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
componentName: lapack
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
os: ${{ job.os }}
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
extraBuildFlags: >-
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
-DCMAKE_Fortran_FLAGS=-fno-optimize-sibling-calls
|
-GNinja
|
||||||
-DBUILD_TESTING=OFF
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
-DCBLAS=ON
|
parameters:
|
||||||
-DLAPACKE=OFF
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-GNinja
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/lapack/build'
|
parameters:
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/lapack'
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
installDir: '$(Pipeline.Workspace)/deps-install'
|
- 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:
|
||||||
os: ${{ job.os }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
extraBuildFlags: >-
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Pipeline.Workspace)/deps-install;$(Agent.BuildDirectory)/vendor
|
extraCopyDirectories:
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
- deps-install
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
|
||||||
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
|
||||||
-DBUILD_CLIENTS_SAMPLES=OFF
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
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 }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
extraCopyDirectories:
|
|
||||||
- deps-install
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: rocSOLVER_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
dependsOn: rocSOLVER
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
condition:
|
- group: common
|
||||||
and(succeeded(),
|
- template: /.azuredevops/variables-global.yml
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
pool: $(JOB_TEST_POOL)
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
workspace:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
clean: all
|
||||||
)
|
strategy:
|
||||||
variables:
|
matrix:
|
||||||
- group: common
|
gfx942:
|
||||||
- template: /.azuredevops/variables-global.yml
|
JOB_GPU_TARGET: gfx942
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
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:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
gpuTarget: $(JOB_GPU_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_GPU_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: rocSOLVER
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
testExecutable: './rocsolver-test'
|
||||||
os: ${{ job.os }}
|
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
|
||||||
${{ 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_GPU_TARGET)
|
||||||
parameters:
|
|
||||||
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,57 +1,34 @@
|
|||||||
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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- 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
|
|
||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -65,179 +42,110 @@ parameters:
|
|||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
|
||||||
#- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
|
||||||
testJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
- name: downstreamComponentMatrix
|
|
||||||
type: object
|
|
||||||
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 }}:
|
- job: rocSPARSE
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
- name: HIP_ROCCLR_HOME
|
||||||
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
variables:
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
- group: common
|
workspace:
|
||||||
- template: /.azuredevops/variables-global.yml
|
clean: all
|
||||||
- name: HIP_ROCCLR_HOME
|
strategy:
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
matrix:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
gfx942:
|
||||||
workspace:
|
JOB_GPU_TARGET: gfx942
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
parameters:
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
dependencyList:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- gtest
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
gpuTarget: ${{ job.target }}
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
os: ${{ job.os }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
||||||
parameters:
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip;$(Agent.BuildDirectory)/rocm/hip/cmake
|
||||||
os: ${{ job.os }}
|
-GNinja
|
||||||
extraBuildFlags: >-
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
parameters:
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang++
|
artifactName: rocSPARSE
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
parameters:
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
artifactName: rocSPARSE
|
||||||
-DBUILD_CLIENTS_SAMPLES=OFF
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
publish: false
|
||||||
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip;$(Agent.BuildDirectory)/rocm/hip/cmake
|
parameters:
|
||||||
-GNinja
|
sourceDir: $(Build.SourcesDirectory)/build/clients
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
contentsString: matrices/**
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
componentName: ${{ parameters.componentName }}
|
parameters:
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
artifactName: testMatrices
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
componentName: ${{ parameters.componentName }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
os: ${{ job.os }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
publish: false
|
extraEnvVars:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
parameters:
|
|
||||||
sourceDir: $(Agent.BuildDirectory)/s/build/clients
|
|
||||||
contentsString: matrices/**
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
artifactName: testMatrices
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- ${{ if eq(job.os, 'ubuntu2204') }}:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
extraEnvVars:
|
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: rocSPARSE_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
timeoutInMinutes: 90
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
dependsOn: rocSPARSE
|
||||||
timeoutInMinutes: 120
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
condition:
|
- group: common
|
||||||
and(succeeded(),
|
- template: /.azuredevops/variables-global.yml
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
pool: $(JOB_TEST_POOL)
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
workspace:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
clean: all
|
||||||
)
|
strategy:
|
||||||
variables:
|
matrix:
|
||||||
- group: common
|
gfx942:
|
||||||
- template: /.azuredevops/variables-global.yml
|
JOB_GPU_TARGET: gfx942
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
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_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
gpuTarget: ${{ job.target }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
os: ${{ job.os }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- 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: rocSPARSE
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
gpuTarget: ${{ job.target }}
|
testExecutable: './rocsparse-test'
|
||||||
os: ${{ job.os }}
|
testParameters: '--gtest_filter="*quick*" --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_GPU_TARGET)
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
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,49 +1,26 @@
|
|||||||
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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
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 +31,91 @@ parameters:
|
|||||||
- llvm-project
|
- llvm-project
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocPRIM
|
- rocPRIM
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
- hipRAND
|
||||||
- name: jobMatrix
|
- rocprofiler-register
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
|
||||||
- { 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:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: rocThrust
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
workspace:
|
||||||
variables:
|
clean: all
|
||||||
- group: common
|
strategy:
|
||||||
- template: /.azuredevops/variables-global.yml
|
matrix:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
gfx942:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
JOB_GPU_TARGET: gfx942
|
||||||
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:
|
- 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:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-GNinja
|
||||||
dependencyList:
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
- gtest
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
parameters:
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DBUILD_TEST=ON
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
os: ${{ job.os }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
parameters:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
consolidateBuildAndInstall: true
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
extraBuildFlags: >-
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-GNinja
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor"
|
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
|
||||||
-DBUILD_TEST=ON
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- ${{ if eq(job.os, 'ubuntu2204') }}:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: rocThrust_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
dependsOn: rocThrust
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
condition:
|
- group: common
|
||||||
and(succeeded(),
|
- template: /.azuredevops/variables-global.yml
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
pool: $(JOB_TEST_POOL)
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
workspace:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
clean: all
|
||||||
)
|
strategy:
|
||||||
variables:
|
matrix:
|
||||||
- group: common
|
gfx942:
|
||||||
- template: /.azuredevops/variables-global.yml
|
JOB_GPU_TARGET: gfx942
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
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_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
gpuTarget: ${{ job.target }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
os: ${{ job.os }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- 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: rocThrust
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin/rocthrust'
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
environment: test
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
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 }}
|
|
||||||
|
|||||||
@@ -1,34 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rocWMMA
|
|
||||||
- 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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -69,115 +45,92 @@ parameters:
|
|||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: rocWMMA
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
- ${{ build }}_${{ job.target }}
|
workspace:
|
||||||
variables:
|
clean: all
|
||||||
- group: common
|
strategy:
|
||||||
- template: /.azuredevops/variables-global.yml
|
matrix:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
gfx942:
|
||||||
workspace:
|
JOB_GPU_TARGET: gfx942
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/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-rocm.yml
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
parameters:
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
extraBuildFlags: >-
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DROCWMMA_BUILD_TESTS=ON
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DROCWMMA_BUILD_SAMPLES=OFF
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
-DROCWMMA_BUILD_TESTS=ON
|
-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON
|
||||||
-DROCWMMA_BUILD_SAMPLES=OFF
|
-DROCM_PLATFORM_VERSION=$(NEXT_RELEASE_VERSION)
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
-GNinja
|
||||||
-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON
|
# gfx1030 not supported in documentation
|
||||||
-DROCM_PLATFORM_VERSION=$(NEXT_RELEASE_VERSION)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
-GNinja
|
parameters:
|
||||||
# gfx1030 not supported in documentation
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
componentName: ${{ parameters.componentName }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: rocWMMA_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
timeoutInMinutes: 90
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.target }}
|
dependsOn: rocWMMA
|
||||||
timeoutInMinutes: 350
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.target }}
|
variables:
|
||||||
condition:
|
- group: common
|
||||||
and(succeeded(),
|
- template: /.azuredevops/variables-global.yml
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
pool: $(JOB_TEST_POOL)
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
workspace:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
clean: all
|
||||||
)
|
strategy:
|
||||||
variables:
|
matrix:
|
||||||
- group: common
|
gfx942:
|
||||||
- template: /.azuredevops/variables-global.yml
|
JOB_GPU_TARGET: gfx942
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
workspace:
|
steps:
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
steps:
|
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_GPU_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_GPU_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:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
componentName: rocWMMA
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
testDir: '$(Agent.BuildDirectory)/rocm/bin/rocwmma'
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
componentName: ${{ parameters.componentName }}
|
parameters:
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin/rocwmma'
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
environment: test
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -5,93 +5,55 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# 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
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
|
- cmake
|
||||||
- doxygen
|
- doxygen
|
||||||
- doxygen-doc
|
- doxygen-doc
|
||||||
- ninja-build
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
|
- python3-sphinx
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cget
|
- cget
|
||||||
- cmake==3.20.5
|
|
||||||
- ninja
|
- ninja
|
||||||
- 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: ${{ variables.LOW_BUILD_POOL }}
|
||||||
${{ else }}:
|
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
|
- 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
|
# extra steps for ctest suite
|
||||||
parameters:
|
- script: |
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
python -m pip install -r $(Build.SourcesDirectory)/docs/requirements.txt
|
||||||
pipModules: ${{ parameters.pipModules }}
|
python -m pip install -r $(Build.SourcesDirectory)/test/docsphinx/docs/.sphinx/requirements.txt
|
||||||
packageManager: ${{ job.packageManager }}
|
git config --global user.email "you@example.com"
|
||||||
- task: Bash@3
|
git config --global user.name "Your Name"
|
||||||
displayName: Add CMake to PATH
|
displayName: "ctest setup"
|
||||||
inputs:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
targetType: inline
|
parameters:
|
||||||
script: echo "##vso[task.prependpath]$(python3 -m site --user-base)/bin"
|
componentName: rocm-cmake
|
||||||
- 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 }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
useAmdclang: false
|
environment: combined
|
||||||
- task: Bash@3
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
displayName: CTest setup
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
python -m pip install -r $(Build.SourcesDirectory)/docs/requirements.txt
|
|
||||||
python -m pip install -r $(Build.SourcesDirectory)/test/docsphinx/docs/.sphinx/requirements.txt
|
|
||||||
git config --global user.email "you@example.com"
|
|
||||||
git config --global user.name "Your Name"
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: rocm-cmake
|
|
||||||
testParameters: '-E "pass-version-parent" --extra-verbose --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,103 +1,45 @@
|
|||||||
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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- 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: ${{ variables.LOW_BUILD_POOL }}
|
||||||
- ${{ build }}_${{ job.os }}
|
workspace:
|
||||||
pool:
|
clean: all
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
steps:
|
||||||
vmImage: 'ubuntu-24.04'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
${{ else }}:
|
parameters:
|
||||||
vmImage: 'ubuntu-22.04'
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
container:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
parameters:
|
||||||
endpoint: ContainerService3
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
variables:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- group: common
|
parameters:
|
||||||
- template: /.azuredevops/variables-global.yml
|
extraBuildFlags: >-
|
||||||
workspace:
|
-DCMAKE_CURRENT_BINARY_DIR=$PWD
|
||||||
clean: all
|
-DCMAKE_CURRENT_SOURCE_DIR=$PWD/../
|
||||||
steps:
|
-DCMAKE_VERBOSE_MAKEFILE=1
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
-DCPACK_GENERATOR=DEB
|
||||||
parameters:
|
-DCPACK_DEBIAN_PACKAGE_RELEASE="local.9999~99.99"
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
-DCPACK_RPM_PACKAGE_RELEASE="local.9999"
|
||||||
packageManager: ${{ job.packageManager }}
|
-DROCM_VERSION="$(NEXT_RELEASE_VERSION)"
|
||||||
- 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
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
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 }}
|
|
||||||
|
|||||||
@@ -5,51 +5,18 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# 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
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- libdw-dev
|
|
||||||
- libglfw3-dev
|
- libglfw3-dev
|
||||||
- libmsgpack-dev
|
|
||||||
- libopencv-dev
|
|
||||||
- libtbb-dev
|
- libtbb-dev
|
||||||
- libtiff-dev
|
|
||||||
- libva-amdgpu-dev
|
|
||||||
- libva2-amdgpu
|
|
||||||
- mesa-amdgpu-va-drivers
|
|
||||||
- libavcodec-dev
|
|
||||||
- libavformat-dev
|
|
||||||
- libavutil-dev
|
|
||||||
- ninja-build
|
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- protobuf-compiler
|
|
||||||
- libprotoc-dev
|
|
||||||
- libopencv-dev
|
|
||||||
- name: pipModules
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- future==1.0.0
|
|
||||||
- pytz==2022.1
|
|
||||||
- numpy==1.23
|
|
||||||
- google==3.0.0
|
|
||||||
- protobuf==3.12.4
|
|
||||||
- onnx==1.12.0
|
|
||||||
- nnef==1.0.7
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- AMDMIGraphX
|
- AMDMIGraphX
|
||||||
- aomp
|
|
||||||
- aomp-extras
|
|
||||||
- clr
|
- clr
|
||||||
- half
|
|
||||||
- composable_kernel
|
|
||||||
- hipBLAS
|
- hipBLAS
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- hipBLASLt
|
- hipBLASLt
|
||||||
@@ -59,37 +26,21 @@ parameters:
|
|||||||
- hipRAND
|
- hipRAND
|
||||||
- hipSOLVER
|
- hipSOLVER
|
||||||
- hipSPARSE
|
- hipSPARSE
|
||||||
- hipTensor
|
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- MIOpen
|
|
||||||
- MIVisionX
|
|
||||||
- rocm_smi_lib
|
|
||||||
- rccl
|
|
||||||
- rocAL
|
|
||||||
- rocALUTION
|
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
- rocDecode
|
|
||||||
- rocFFT
|
- rocFFT
|
||||||
- rocJPEG
|
|
||||||
- rocPRIM
|
- rocPRIM
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- rocprofiler-sdk
|
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocRAND
|
- rocRAND
|
||||||
- rocSOLVER
|
- rocSOLVER
|
||||||
- rocSPARSE
|
- rocSPARSE
|
||||||
- rocThrust
|
- rocThrust
|
||||||
- rocWMMA
|
|
||||||
- rpp
|
|
||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- AMDMIGraphX
|
- AMDMIGraphX
|
||||||
- aomp
|
|
||||||
- aomp-extras
|
|
||||||
- clr
|
- clr
|
||||||
- half
|
|
||||||
- composable_kernel
|
|
||||||
- hipBLAS
|
- hipBLAS
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- hipBLASLt
|
- hipBLASLt
|
||||||
@@ -99,158 +50,120 @@ parameters:
|
|||||||
- hipRAND
|
- hipRAND
|
||||||
- hipSOLVER
|
- hipSOLVER
|
||||||
- hipSPARSE
|
- hipSPARSE
|
||||||
- hipTensor
|
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- MIOpen
|
|
||||||
- MIVisionX
|
|
||||||
- rocm_smi_lib
|
|
||||||
- rccl
|
|
||||||
- rocAL
|
|
||||||
- rocALUTION
|
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
- rocDecode
|
|
||||||
- rocFFT
|
- rocFFT
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocPRIM
|
- rocPRIM
|
||||||
- rocJPEG
|
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- rocprofiler-sdk
|
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocRAND
|
- rocRAND
|
||||||
- rocSOLVER
|
- rocSOLVER
|
||||||
- rocSPARSE
|
- rocSPARSE
|
||||||
- rocThrust
|
- rocThrust
|
||||||
- roctracer
|
- roctracer
|
||||||
- rocWMMA
|
|
||||||
- rpp
|
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: rocm_examples
|
||||||
- job: rocm_examples_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: ${{ variables.MEDIUM_BUILD_POOL }}
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
strategy:
|
||||||
steps:
|
matrix:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
gfx942:
|
||||||
parameters:
|
JOB_GPU_TARGET: gfx942
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
steps:
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
registerROCmPackages: true
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
cmakeVersion: '3.25.0'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
# https://github.com/ROCm/HIP/issues/2203
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
# https://github.com/ROCm/HIP/issues/2203
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
extraBuildFlags: >-
|
-DROCM_ROOT=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_HIP_ARCHITECTURES=$(JOB_GPU_TARGET)
|
||||||
-DROCM_ROOT=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_EXE_LINKER_FLAGS=-fgpu-rdc
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
- task: Bash@3
|
||||||
-DCMAKE_HIP_ARCHITECTURES=${{ job.target }}
|
displayName: Move rocm-examples binaries to rocm/examples
|
||||||
-DCMAKE_EXE_LINKER_FLAGS=-fgpu-rdc
|
inputs:
|
||||||
-GNinja
|
targetType: inline
|
||||||
- task: Bash@3
|
script: |
|
||||||
displayName: Move rocm-examples binaries to rocm/examples
|
mkdir -p $(Build.BinariesDirectory)/examples
|
||||||
inputs:
|
mv $(Build.BinariesDirectory)/bin/* $(Build.BinariesDirectory)/examples
|
||||||
targetType: inline
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
script: |
|
parameters:
|
||||||
mkdir -p $(Build.BinariesDirectory)/examples
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
mv $(Build.BinariesDirectory)/bin/* $(Build.BinariesDirectory)/examples
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
parameters:
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- 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/artifact-links.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: rocm_examples_testing
|
||||||
- job: rocm_examples_test_${{ job.target }}
|
dependsOn: rocm_examples
|
||||||
dependsOn: rocm_examples_build_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
condition:
|
variables:
|
||||||
and(succeeded(),
|
- group: common
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
- template: /.azuredevops/variables-global.yml
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
- name: TEST_LOG_FILE
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
value: $(Pipeline.Workspace)/rocm-examplesTestLog.log
|
||||||
)
|
pool: $(JOB_TEST_POOL)
|
||||||
variables:
|
workspace:
|
||||||
- group: common
|
clean: all
|
||||||
- template: /.azuredevops/variables-global.yml
|
strategy:
|
||||||
- name: TEST_LOG_FILE
|
matrix:
|
||||||
value: $(Pipeline.Workspace)/rocm-examplesTestLog.log
|
gfx942:
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_GPU_TARGET: gfx942
|
||||||
workspace:
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
registerROCmPackages: true
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
parameters:
|
||||||
parameters:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
cmakeVersion: '3.25.0'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
# https://github.com/ROCm/HIP/issues/2203
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
extraBuildFlags: >-
|
||||||
gpuTarget: ${{ job.target }}
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
parameters:
|
-DROCM_ROOT=$(Agent.BuildDirectory)/rocm
|
||||||
# https://github.com/ROCm/HIP/issues/2203
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
extraBuildFlags: >-
|
-DCMAKE_HIP_ARCHITECTURES=$(JOB_GPU_TARGET)
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DCMAKE_EXE_LINKER_FLAGS=-fgpu-rdc
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
-DROCM_ROOT=$(Agent.BuildDirectory)/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
parameters:
|
||||||
-DCMAKE_HIP_ARCHITECTURES=${{ job.target }}
|
componentName: rocm-examples
|
||||||
-DCMAKE_EXE_LINKER_FLAGS=-fgpu-rdc
|
testDir: $(Build.SourcesDirectory)/build
|
||||||
-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:
|
environment: test
|
||||||
componentName: rocm-examples
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
testDir: $(Build.SourcesDirectory)/build
|
|
||||||
testParameters: '--output-on-failure --force-new-ctest-process --output-junit test_output.xml'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -1,193 +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
|
|
||||||
- googletest
|
|
||||||
- libgtest-dev
|
|
||||||
- libgmock-dev
|
|
||||||
- libboost-filesystem-dev
|
|
||||||
- name: pipModules
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- msgpack
|
|
||||||
- joblib
|
|
||||||
- "packaging>=22.0"
|
|
||||||
- pytest
|
|
||||||
- pytest-cmake
|
|
||||||
- --upgrade
|
|
||||||
- name: rocmDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- aomp
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocminfo
|
|
||||||
- rocm-cmake
|
|
||||||
- rocm_smi_lib
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
|
||||||
- roctracer
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- aomp
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocminfo
|
|
||||||
- rocm_smi_lib
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
|
||||||
- roctracer
|
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { pool: rocm-ci_ultra_build_pool, os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
|
||||||
timeoutInMinutes: 300
|
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.os }}
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
- name: DAY_STRING
|
|
||||||
value: $[format('{0:ddMMyyyy}', pipeline.startTime)]
|
|
||||||
pool: ${{ job.pool }}
|
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
|
||||||
container:
|
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
|
||||||
endpoint: ContainerService3
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
|
||||||
parameters:
|
|
||||||
dependencyList:
|
|
||||||
- gtest
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- script: |
|
|
||||||
mkdir -p $(CCACHE_DIR)
|
|
||||||
echo "##vso[task.prependpath]/usr/lib/ccache"
|
|
||||||
displayName: Update path for ccache
|
|
||||||
- task: Cache@2
|
|
||||||
displayName: Ccache caching
|
|
||||||
inputs:
|
|
||||||
key: rocm-libraries | ${{ job.os }} | ${{ job.target }} | $(DAY_STRING) | $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
path: $(CCACHE_DIR)
|
|
||||||
restoreKeys: |
|
|
||||||
rocm-libraries | ${{ job.os }} | ${{ job.target }} | $(DAY_STRING)
|
|
||||||
rocm-libraries | ${{ job.os }} | ${{ job.target }}
|
|
||||||
rocm-libraries | ${{ job.os }}
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Add paths for CMake and Python site-packages binaries
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
USER_BASE=$(python3 -m site --user-base)
|
|
||||||
echo "##vso[task.prependpath]$USER_BASE/bin"
|
|
||||||
echo "##vso[task.setvariable variable=PytestCmakePath]$USER_BASE/share/Pytest/cmake"
|
|
||||||
displayName: Set cmake configure paths
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Add ROCm binaries to PATH
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
|
||||||
- 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
|
|
||||||
@@ -5,12 +5,6 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# 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
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -37,17 +31,8 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- job: rocm_bandwidth_test_build
|
- job: rocm_bandwidth_test
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -55,8 +40,7 @@ jobs:
|
|||||||
value: $(Agent.BuildDirectory)/rocm
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
- name: ROCR_LIB_DIR
|
- name: ROCR_LIB_DIR
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
pool:
|
pool: ${{ variables.LOW_BUILD_POOL }}
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
@@ -72,7 +56,6 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
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: >-
|
||||||
@@ -83,52 +66,51 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.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/artifact-links.yml
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
# parameters:
|
parameters:
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
# pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
# extraEnvVars:
|
extraEnvVars:
|
||||||
# - ROCR_INC_DIR:::/home/user/workspace/rocm
|
- ROCR_INC_DIR:::/home/user/workspace/rocm
|
||||||
# - ROCR_LIB_DIR:::/home/user/workspace/rocm
|
- ROCR_LIB_DIR:::/home/user/workspace/rocm
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: rocm_bandwidth_test_testing
|
||||||
- job: rocm_bandwidth_test_test_${{ job.target }}
|
dependsOn: rocm_bandwidth_test
|
||||||
dependsOn: rocm_bandwidth_test_build
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
condition:
|
variables:
|
||||||
and(succeeded(),
|
- group: common
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
- template: /.azuredevops/variables-global.yml
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
pool: $(JOB_TEST_POOL)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
workspace:
|
||||||
)
|
clean: all
|
||||||
variables:
|
strategy:
|
||||||
- group: common
|
matrix:
|
||||||
- template: /.azuredevops/variables-global.yml
|
gfx942:
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_GPU_TARGET: gfx942
|
||||||
workspace:
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.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.rocmTestDependencies }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ 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: rocm_bandwidth_test
|
||||||
componentName: rocm_bandwidth_test
|
testDir: '$(Agent.BuildDirectory)'
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
testExecutable: './rocm/bin/rocm-bandwidth-test'
|
||||||
testExecutable: './rocm/bin/rocm-bandwidth-test'
|
testParameters: ''
|
||||||
testParameters: ''
|
testPublishResults: false
|
||||||
testPublishResults: false
|
- 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 }}
|
environment: test
|
||||||
environment: test
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -1,145 +1,74 @@
|
|||||||
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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- ninja-build
|
- python3-pip
|
||||||
- pkg-config
|
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
|
||||||
- { os: ubuntu2404, 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: rocm_smi_lib
|
||||||
- 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: ${{ variables.LOW_BUILD_POOL }}
|
||||||
- ${{ build }}_${{ job.os }}
|
workspace:
|
||||||
pool:
|
clean: all
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
steps:
|
||||||
vmImage: 'ubuntu-24.04'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
${{ else }}:
|
parameters:
|
||||||
vmImage: 'ubuntu-22.04'
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
container:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
parameters:
|
||||||
endpoint: ContainerService3
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
variables:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- group: common
|
parameters:
|
||||||
- template: /.azuredevops/variables-global.yml
|
extraBuildFlags: >-
|
||||||
workspace:
|
-DBUILD_TESTS=ON
|
||||||
clean: all
|
-DROCM_DEP_ROCMCORE=ON
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
packageManager: ${{ job.packageManager }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
useAmdclang: false
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DBUILD_TESTS=ON
|
|
||||||
-DROCM_DEP_ROCMCORE=ON
|
|
||||||
-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 }}
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: rocm_smi_lib_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
dependsOn: rocm_smi_lib
|
||||||
- job: rocm_smi_lib_test_${{ job.os }}_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
dependsOn: rocm_smi_lib_build_${{ job.os }}
|
variables:
|
||||||
condition:
|
- group: common
|
||||||
and(succeeded(),
|
- template: /.azuredevops/variables-global.yml
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
pool: $(JOB_TEST_POOL)
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
workspace:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
clean: all
|
||||||
)
|
strategy:
|
||||||
variables:
|
matrix:
|
||||||
- group: common
|
gfx942:
|
||||||
- template: /.azuredevops/variables-global.yml
|
JOB_GPU_TARGET: gfx942
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
workspace:
|
steps:
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- checkout: none
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
runRocminfo: false
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
packageManager: ${{ job.packageManager }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
componentName: rocm_smi_lib
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
testDir: '$(Agent.BuildDirectory)'
|
||||||
parameters:
|
testExecutable: './rocm/share/rocm_smi/rsmitst_tests/rsmitst'
|
||||||
os: ${{ job.os }}
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
parameters:
|
||||||
runRocminfo: false
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
environment: test
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
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,41 +1,17 @@
|
|||||||
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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- libdrm-amdgpu-dev
|
- libdrm-amdgpu-dev
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- ninja-build
|
- python3-pip
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -47,129 +23,84 @@ parameters:
|
|||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocprofiler-register
|
- 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 }
|
|
||||||
|
|
||||||
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: ${{ variables.LOW_BUILD_POOL }}
|
||||||
- ${{ build }}_${{ job.os }}
|
workspace:
|
||||||
pool:
|
clean: all
|
||||||
vmImage: 'ubuntu-22.04'
|
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
|
registerROCmPackages: true
|
||||||
variables:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- group: common
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
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 }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
registerROCmPackages: true
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
parameters:
|
-DROCRTST_BLD_TYPE=release
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
parameters:
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
useAmdclang: false
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DROCRTST_BLD_TYPE=release
|
|
||||||
-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
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: rocminfo_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
dependsOn: rocminfo
|
||||||
- job: rocminfo_test_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
dependsOn: rocminfo_build_${{ job.os }}
|
variables:
|
||||||
condition:
|
- group: common
|
||||||
and(succeeded(),
|
- template: /.azuredevops/variables-global.yml
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
pool: $(JOB_TEST_POOL)
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
workspace:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
clean: all
|
||||||
)
|
strategy:
|
||||||
variables:
|
matrix:
|
||||||
- group: common
|
gfx942:
|
||||||
- template: /.azuredevops/variables-global.yml
|
JOB_GPU_TARGET: gfx942
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
workspace:
|
steps:
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
steps:
|
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 }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
registerROCmPackages: true
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
parameters:
|
||||||
parameters:
|
runRocminfo: false
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
componentName: rocminfo
|
||||||
os: ${{ job.os }}
|
testDir: '$(Agent.BuildDirectory)'
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
testExecutable: './rocm/bin/rocminfo'
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
testParameters: ''
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
testPublishResults: false
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
runRocminfo: false
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
componentName: rocm_agent_enumerator
|
||||||
parameters:
|
testDir: '$(Agent.BuildDirectory)'
|
||||||
componentName: ${{ parameters.componentName }}
|
testExecutable: './rocm/bin/rocm_agent_enumerator'
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
testParameters: ''
|
||||||
testExecutable: './rocm/bin/rocminfo'
|
testPublishResults: false
|
||||||
testParameters: ''
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
testPublishResults: false
|
parameters:
|
||||||
os: ${{ job.os }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
environment: test
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
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,66 +1,34 @@
|
|||||||
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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- libdw-dev
|
|
||||||
- libtbb-dev
|
|
||||||
- locales
|
- locales
|
||||||
- ninja-build
|
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
type: object
|
type: object
|
||||||
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
|
||||||
@@ -68,14 +36,6 @@ parameters:
|
|||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- ROCR-Runtime
|
|
||||||
- rocprofiler-sdk
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- amdsmi
|
|
||||||
- clr
|
- clr
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
@@ -84,155 +44,133 @@ parameters:
|
|||||||
- rocm_smi_lib
|
- rocm_smi_lib
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocprofiler
|
- rocprofiler
|
||||||
- rocprofiler-sdk
|
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: rocprofiler_compute
|
||||||
- job: rocprofiler_compute_build_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool: ${{ variables.LOW_BUILD_POOL }}
|
||||||
- ${{ build }}_${{ job.target }}
|
workspace:
|
||||||
variables:
|
clean: all
|
||||||
- group: common
|
strategy:
|
||||||
- template: /.azuredevops/variables-global.yml
|
matrix:
|
||||||
- name: ROCM_PATH
|
gfx942:
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
JOB_GPU_TARGET: gfx942
|
||||||
pool:
|
steps:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
workspace:
|
parameters:
|
||||||
clean: all
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
steps:
|
pipModules: ${{ parameters.pipModules }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
pipModules: ${{ parameters.pipModules }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- 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.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
parameters:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
extraBuildFlags: >-
|
parameters:
|
||||||
-GNinja
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
pipModules: ${{ parameters.pipModules }}
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- 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 }}
|
|
||||||
# gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: rocprofiler_compute_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
timeoutInMinutes: 120
|
||||||
- job: rocprofiler_compute_test_${{ job.target }}
|
dependsOn: rocprofiler_compute
|
||||||
timeoutInMinutes: 120
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
dependsOn: rocprofiler_compute_build_${{ job.target }}
|
variables:
|
||||||
condition:
|
- group: common
|
||||||
and(succeeded(),
|
- template: /.azuredevops/variables-global.yml
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
- name: PYTHON_VERSION
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
value: 3.10
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
pool: $(JOB_TEST_POOL)
|
||||||
)
|
workspace:
|
||||||
variables:
|
clean: all
|
||||||
- group: common
|
strategy:
|
||||||
- template: /.azuredevops/variables-global.yml
|
matrix:
|
||||||
- name: PYTHON_VERSION
|
gfx942:
|
||||||
value: 3.10
|
JOB_GPU_TARGET: gfx942
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
workspace:
|
steps:
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
steps:
|
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 }}
|
- task: Bash@3
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
displayName: Add en_US.UTF-8 locale
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
inputs:
|
||||||
parameters:
|
targetType: inline
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
script: |
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
sudo locale-gen en_US.UTF-8
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
sudo update-locale
|
||||||
parameters:
|
locale -a
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
- 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/local-artifact-download.yml
|
||||||
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 }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Add en_US.UTF-8 locale
|
displayName: Add ROCm binaries to PATH
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
||||||
sudo locale-gen en_US.UTF-8
|
- task: Bash@3
|
||||||
sudo update-locale
|
displayName: Add ROCm compilers to PATH
|
||||||
locale -a
|
inputs:
|
||||||
- task: Bash@3
|
targetType: inline
|
||||||
displayName: Add ROCm binaries to PATH
|
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
||||||
inputs:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
targetType: inline
|
parameters:
|
||||||
script: |
|
extraBuildFlags: >-
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
-DCMAKE_HIP_ARCHITECTURES=$(JOB_GPU_TARGET)
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
parameters:
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
extraBuildFlags: >-
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_HIP_ARCHITECTURES=${{ job.target }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
-DENABLE_TESTS=ON
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
-DINSTALL_TESTS=ON
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
parameters:
|
||||||
-DENABLE_TESTS=ON
|
componentName: rocprofiler-compute
|
||||||
-DINSTALL_TESTS=ON
|
testDir: $(Build.BinariesDirectory)/libexec/rocprofiler-compute
|
||||||
-GNinja
|
testExecutable: ROCPROFCOMPUTE_ARCH_OVERRIDE="MI300X" ROCM_PATH=$(Agent.BuildDirectory)/rocm ctest
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
- task: Bash@3
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
displayName: Remove ROCm binaries from PATH
|
||||||
parameters:
|
condition: always()
|
||||||
componentName: ${{ parameters.componentName }}
|
inputs:
|
||||||
testDir: $(Build.BinariesDirectory)/libexec/rocprofiler-compute
|
targetType: inline
|
||||||
testExecutable: ROCM_PATH=$(Agent.BuildDirectory)/rocm ctest
|
script: echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$(Agent.BuildDirectory)/rocm/bin;;' -e 's;^/;;' -e 's;/$;;')"
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- task: Bash@3
|
||||||
parameters:
|
displayName: Remove ROCm compilers from PATH
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
condition: always()
|
||||||
pipModules: ${{ parameters.pipModules }}
|
inputs:
|
||||||
environment: test
|
targetType: inline
|
||||||
gpuTarget: ${{ job.target }}
|
script: echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$(Agent.BuildDirectory)/rocm/llvm/bin;;' -e 's;^/;;' -e 's;/$;;')"
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
|
|||||||
@@ -1,104 +1,50 @@
|
|||||||
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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- 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: ${{ variables.LOW_BUILD_POOL }}
|
||||||
- ${{ build }}_${{ job.os }}
|
workspace:
|
||||||
pool:
|
clean: all
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
steps:
|
||||||
vmImage: 'ubuntu-24.04'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
${{ else }}:
|
parameters:
|
||||||
vmImage: 'ubuntu-22.04'
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
container:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
parameters:
|
||||||
endpoint: ContainerService3
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
variables:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- group: common
|
parameters:
|
||||||
- template: /.azuredevops/variables-global.yml
|
componentName: rocprofiler-register
|
||||||
workspace:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
clean: all
|
parameters:
|
||||||
steps:
|
componentName: rocprofiler-register-tests
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DCMAKE_PREFIX_PATH=$(Build.BinariesDirectory)
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
cmakeBuildDir: 'tests/build'
|
||||||
packageManager: ${{ job.packageManager }}
|
installEnabled: false
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
componentName: rocprofiler-register
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
testDir: 'tests/build'
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
- 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
|
||||||
componentName: ${{ parameters.componentName }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
useAmdclang: false
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
extraBuildFlags: >-
|
environment: combined
|
||||||
-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,46 +1,18 @@
|
|||||||
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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
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
|
|
||||||
- ninja-build
|
|
||||||
- pkg-config
|
- pkg-config
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
@@ -57,12 +29,11 @@ parameters:
|
|||||||
- pandas
|
- pandas
|
||||||
- perfetto
|
- perfetto
|
||||||
- pycobertura
|
- pycobertura
|
||||||
- "pytest>=6.2.5"
|
- pytest>=6.2.5
|
||||||
- pyyaml
|
- pyyaml
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- aomp
|
|
||||||
- clr
|
- clr
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rccl
|
- rccl
|
||||||
@@ -73,159 +44,118 @@ parameters:
|
|||||||
- rocminfo
|
- rocminfo
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- roctracer
|
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
testJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: rocprofiler_sdk
|
||||||
- job: rocprofiler_sdk_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool: ${{ variables.LOW_BUILD_POOL }}
|
||||||
- ${{ build }}_${{ job.os}}_${{ job.target }}
|
workspace:
|
||||||
variables:
|
clean: all
|
||||||
- group: common
|
strategy:
|
||||||
- template: /.azuredevops/variables-global.yml
|
matrix:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
gfx942:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
JOB_GPU_TARGET: gfx942
|
||||||
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
|
pipModules: ${{ parameters.pipModules }}
|
||||||
steps:
|
registerROCmPackages: true
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
pipModules: ${{ parameters.pipModules }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
registerROCmPackages: true
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
- task: Bash@3
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
displayName: Add Python site-packages binaries to path
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
inputs:
|
||||||
parameters:
|
targetType: inline
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
script: |
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
USER_BASE=$(python3 -m site --user-base)
|
||||||
os: ${{ job.os }}
|
echo "##vso[task.prependpath]$USER_BASE/bin"
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
parameters:
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
extraBuildFlags: >-
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
- task: Bash@3
|
-DROCPROFILER_BUILD_TESTS=ON
|
||||||
displayName: Add Python site-packages binaries to path
|
-DROCPROFILER_BUILD_SAMPLES=ON
|
||||||
inputs:
|
-DROCPROFILER_BUILD_RELEASE=ON
|
||||||
targetType: inline
|
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
script: |
|
multithreadFlag: -- -j4
|
||||||
USER_BASE=$(python3 -m site --user-base)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
echo "##vso[task.prependpath]$USER_BASE/bin"
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
componentName: ${{ parameters.componentName }}
|
parameters:
|
||||||
os: ${{ job.os }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
extraBuildFlags: >-
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
-DROCPROFILER_BUILD_TESTS=ON
|
parameters:
|
||||||
-DROCPROFILER_BUILD_SAMPLES=ON
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
-DROCPROFILER_BUILD_RELEASE=ON
|
pipModules: ${{ parameters.pipModules }}
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-GNinja
|
registerROCmPackages: true
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- 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 }}
|
|
||||||
# gpuTarget: ${{ job.target }}
|
|
||||||
# registerROCmPackages: true
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: rocprofiler_sdk_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
dependsOn: rocprofiler_sdk
|
||||||
- job: rocprofiler_sdk_test_${{ job.os }}_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
dependsOn: rocprofiler_sdk_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
condition:
|
- group: common
|
||||||
and(succeeded(),
|
- template: /.azuredevops/variables-global.yml
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
pool: $(JOB_TEST_POOL)
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
workspace:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
clean: all
|
||||||
)
|
strategy:
|
||||||
variables:
|
matrix:
|
||||||
- group: common
|
gfx942:
|
||||||
- template: /.azuredevops/variables-global.yml
|
JOB_GPU_TARGET: gfx942
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
workspace:
|
steps:
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
steps:
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
pipModules: ${{ parameters.pipModules }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
registerROCmPackages: true
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
registerROCmPackages: true
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- 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
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
- task: Bash@3
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
displayName: Add Python site-packages binaries to path
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
inputs:
|
||||||
os: ${{ job.os }}
|
targetType: inline
|
||||||
gpuTarget: ${{ job.target }}
|
script: |
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
USER_BASE=$(python3 -m site --user-base)
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
echo "##vso[task.prependpath]$USER_BASE/bin"
|
||||||
- task: Bash@3
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
displayName: Add Python and ROCm binaries to path
|
parameters:
|
||||||
inputs:
|
extraBuildFlags: >-
|
||||||
targetType: inline
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
script: |
|
-DROCPROFILER_BUILD_TESTS=ON
|
||||||
USER_BASE=$(python3 -m site --user-base)
|
-DROCPROFILER_BUILD_SAMPLES=ON
|
||||||
echo "##vso[task.prependpath]$USER_BASE/bin"
|
-DROCPROFILER_BUILD_RELEASE=ON
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
multithreadFlag: -- -j16
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
componentName: ${{ parameters.componentName }}
|
parameters:
|
||||||
os: ${{ job.os }}
|
componentName: rocprofiler-sdk
|
||||||
extraBuildFlags: >-
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
parameters:
|
||||||
-DROCPROFILER_BUILD_TESTS=ON
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
-DROCPROFILER_BUILD_SAMPLES=ON
|
pipModules: ${{ parameters.pipModules }}
|
||||||
-DROCPROFILER_BUILD_RELEASE=ON
|
environment: test
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-GNinja
|
registerROCmPackages: true
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH}}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
testDir: $(Agent.BuildDirectory)/build
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
registerROCmPackages: true
|
|
||||||
|
|||||||
@@ -6,30 +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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -40,7 +16,6 @@ parameters:
|
|||||||
- bzip2
|
- bzip2
|
||||||
- clang
|
- clang
|
||||||
- cmake
|
- cmake
|
||||||
- chrpath
|
|
||||||
- environment-modules
|
- environment-modules
|
||||||
- ffmpeg
|
- ffmpeg
|
||||||
- g++-12
|
- g++-12
|
||||||
@@ -49,16 +24,13 @@ parameters:
|
|||||||
- libavutil-dev
|
- libavutil-dev
|
||||||
- libdrm-amdgpu-dev
|
- libdrm-amdgpu-dev
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- libdw-dev
|
|
||||||
- libfabric-dev
|
- libfabric-dev
|
||||||
- libiberty-dev
|
- libiberty-dev
|
||||||
- libpapi-dev
|
- libpapi-dev
|
||||||
- libpfm4-dev
|
- libpfm4-dev
|
||||||
- libtool
|
- libtool
|
||||||
- libopenmpi-dev
|
- libopenmpi-dev
|
||||||
- libsqlite3-dev
|
|
||||||
- m4
|
- m4
|
||||||
- ninja-build
|
|
||||||
- openmpi-bin
|
- openmpi-bin
|
||||||
- pkg-config
|
- pkg-config
|
||||||
- python3-pip
|
- python3-pip
|
||||||
@@ -87,185 +59,187 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- rocprofiler-sdk
|
- rocprofiler-sdk
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- roctracer
|
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: rocprofiler_systems
|
||||||
- job: rocprofiler_systems_build_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
- ${{ build }}_${{ job.os }}
|
workspace:
|
||||||
variables:
|
clean: all
|
||||||
- group: common
|
strategy:
|
||||||
- template: /.azuredevops/variables-global.yml
|
matrix:
|
||||||
- name: ROCM_PATH
|
gfx942:
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
JOB_GPU_TARGET: gfx942
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
steps:
|
||||||
workspace:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
clean: all
|
parameters:
|
||||||
steps:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
pipModules: ${{ parameters.pipModules }}
|
||||||
parameters:
|
registerROCmPackages: true
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
registerROCmPackages: true
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- 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:
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
- task: Bash@3
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
displayName: ROCm symbolic link
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
inputs:
|
||||||
gpuTarget: ${{ job.target }}
|
targetType: inline
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
script: |
|
||||||
- task: Bash@3
|
sudo rm -rf /opt/rocm
|
||||||
displayName: Add ROCm binaries to PATH
|
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
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: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- task: Bash@3
|
||||||
parameters:
|
displayName: Add ROCm compilers to PATH
|
||||||
# build flags reference: https://rocm.docs.amd.com/projects/omnitrace/en/latest/install/install.html
|
inputs:
|
||||||
extraBuildFlags: >-
|
targetType: inline
|
||||||
-DROCPROFSYS_BUILD_TESTING=ON
|
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
||||||
-DROCPROFSYS_BUILD_DYNINST=ON
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
-DROCPROFSYS_BUILD_LIBUNWIND=ON
|
parameters:
|
||||||
-DROCPROFSYS_DISABLE_EXAMPLES="openmp-target"
|
# build flags reference: https://rocm.docs.amd.com/projects/omnitrace/en/latest/install/install.html
|
||||||
-DDYNINST_BUILD_TBB=ON
|
extraBuildFlags: >-
|
||||||
-DDYNINST_BUILD_ELFUTILS=ON
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DDYNINST_BUILD_LIBIBERTY=ON
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DDYNINST_BUILD_BOOST=ON
|
-DROCPROFSYS_BUILD_TESTING=ON
|
||||||
-DROCPROFSYS_USE_PAPI=ON
|
-DROCPROFSYS_BUILD_DYNINST=ON
|
||||||
-DROCPROFSYS_USE_MPI=ON
|
-DROCPROFSYS_BUILD_LIBUNWIND=ON
|
||||||
-DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/include/rocjpeg
|
-DROCPROFSYS_DISABLE_EXAMPLES="openmp-target"
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
-DDYNINST_BUILD_TBB=ON
|
||||||
-GNinja
|
-DDYNINST_BUILD_ELFUTILS=ON
|
||||||
componentName: ${{ parameters.componentName }}
|
-DDYNINST_BUILD_LIBIBERTY=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
-DDYNINST_BUILD_BOOST=ON
|
||||||
parameters:
|
-DROCPROFSYS_USE_PAPI=ON
|
||||||
gpuTarget: ${{ job.target }}
|
-DROCPROFSYS_USE_MPI=ON
|
||||||
componentName: ${{ parameters.componentName }}
|
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
multithreadFlag: -- -j32
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
componentName: ${{ parameters.componentName }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
pipModules: ${{ parameters.pipModules }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
registerROCmPackages: true
|
pipModules: ${{ parameters.pipModules }}
|
||||||
extraPaths: /home/user/workspace/rocm/bin:/home/user/workspace/rocm/llvm/bin
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
|
registerROCmPackages: true
|
||||||
|
optSymLink: true
|
||||||
|
extraPaths: /home/user/workspace/rocm/bin:/home/user/workspace/rocm/llvm/bin
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: rocprofiler_systems_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
dependsOn: rocprofiler_systems
|
||||||
- job: rocprofiler_systems_test_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
dependsOn: rocprofiler_systems_build_${{ job.target }}
|
timeoutInMinutes: 180
|
||||||
condition:
|
variables:
|
||||||
and(succeeded(),
|
- group: common
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
- template: /.azuredevops/variables-global.yml
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
pool:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
name: $(JOB_TEST_POOL)
|
||||||
)
|
demands: firstRenderDeviceAccess
|
||||||
timeoutInMinutes: 180
|
workspace:
|
||||||
variables:
|
clean: all
|
||||||
- group: common
|
strategy:
|
||||||
- template: /.azuredevops/variables-global.yml
|
matrix:
|
||||||
- name: ROCM_PATH
|
gfx942:
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
JOB_GPU_TARGET: gfx942
|
||||||
pool:
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
name: ${{ job.target }}_test_pool
|
steps:
|
||||||
workspace:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
clean: all
|
parameters:
|
||||||
steps:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
pipModules: ${{ parameters.pipModules }}
|
||||||
parameters:
|
registerROCmPackages: true
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
registerROCmPackages: true
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- 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/dependencies-aqlprofile.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- task: Bash@3
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
displayName: ROCm symbolic link
|
||||||
gpuTarget: ${{ job.target }}
|
inputs:
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
targetType: inline
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
script: |
|
||||||
- task: Bash@3
|
sudo rm -rf /opt/rocm
|
||||||
displayName: Add ROCm binaries to PATH
|
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
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: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- task: Bash@3
|
||||||
parameters:
|
displayName: Add ROCm compilers to PATH
|
||||||
cmakeSourceDir: $(Agent.BuildDirectory)/s/projects/rocprofiler-systems
|
inputs:
|
||||||
# build flags reference: https://rocm.docs.amd.com/projects/omnitrace/en/latest/install/install.html
|
targetType: inline
|
||||||
extraBuildFlags: >-
|
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
||||||
-DCMAKE_INSTALL_PREFIX=$(Agent.BuildDirectory)/rocprofiler-systems
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
-DROCPROFSYS_USE_PYTHON=ON
|
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
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DROCPROFSYS_DISABLE_EXAMPLES="openmp-target"
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DDYNINST_BUILD_TBB=ON
|
-DROCPROFSYS_BUILD_TESTING=ON
|
||||||
-DDYNINST_BUILD_ELFUTILS=ON
|
-DROCPROFSYS_BUILD_DYNINST=ON
|
||||||
-DDYNINST_BUILD_LIBIBERTY=ON
|
-DROCPROFSYS_BUILD_LIBUNWIND=ON
|
||||||
-DDYNINST_BUILD_BOOST=ON
|
-DROCPROFSYS_DISABLE_EXAMPLES="openmp-target"
|
||||||
-DROCPROFSYS_USE_PAPI=ON
|
-DDYNINST_BUILD_TBB=ON
|
||||||
-DROCPROFSYS_USE_MPI=ON
|
-DDYNINST_BUILD_ELFUTILS=ON
|
||||||
-DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/include/rocjpeg
|
-DDYNINST_BUILD_LIBIBERTY=ON
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
-DDYNINST_BUILD_BOOST=ON
|
||||||
-GNinja
|
-DROCPROFSYS_USE_PAPI=ON
|
||||||
- task: Bash@3
|
-DROCPROFSYS_USE_MPI=ON
|
||||||
displayName: Set up rocprofiler-systems env
|
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
inputs:
|
multithreadFlag: -- -j32
|
||||||
targetType: inline
|
- task: Bash@3
|
||||||
script: source $(Agent.BuildDirectory)/rocprofiler-systems/share/rocprofiler-systems/setup-env.sh
|
displayName: Set up rocprofiler-systems env
|
||||||
workingDirectory: $(Agent.BuildDirectory)/rocprofiler-systems/share/rocprofiler-systems
|
inputs:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
targetType: inline
|
||||||
parameters:
|
script: source share/rocprofiler-systems/setup-env.sh
|
||||||
componentName: ${{ parameters.componentName }}
|
workingDirectory: build
|
||||||
testDir: $(Agent.BuildDirectory)/s/build/tests/
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
testParameters: '--output-on-failure'
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
componentName: rocprofiler-systems
|
||||||
parameters:
|
- task: Bash@3
|
||||||
gpuTarget: ${{ job.target }}
|
displayName: Remove ROCm binaries from PATH
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
condition: always()
|
||||||
parameters:
|
inputs:
|
||||||
gpuTarget: ${{ job.target }}
|
targetType: inline
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
script: echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$(Agent.BuildDirectory)/rocm/bin;;' -e 's;^/;;' -e 's;/$;;')"
|
||||||
parameters:
|
- task: Bash@3
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
displayName: Remove ROCm compilers from PATH
|
||||||
pipModules: ${{ parameters.pipModules }}
|
condition: always()
|
||||||
environment: test
|
inputs:
|
||||||
registerROCmPackages: true
|
targetType: inline
|
||||||
gpuTarget: ${{ job.target }}
|
script: echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$(Agent.BuildDirectory)/rocm/llvm/bin;;' -e 's;^/;;' -e 's;/$;;')"
|
||||||
extraPaths: /home/user/workspace/rocm/bin:/home/user/workspace/rocm/llvm/bin
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
registerROCmPackages: true
|
||||||
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
|
optSymLink: true
|
||||||
|
extraPaths: /home/user/workspace/rocm/bin:/home/user/workspace/rocm/llvm/bin
|
||||||
|
|||||||
@@ -1,39 +1,15 @@
|
|||||||
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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
|
- libgtest-dev
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- libdw-dev
|
- libdw-dev
|
||||||
- libsystemd-dev
|
- libsystemd-dev
|
||||||
@@ -44,13 +20,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,175 +35,122 @@ 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
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
|
||||||
- { 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:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: rocprofiler
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
- name: HIP_ROCCLR_HOME
|
||||||
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
variables:
|
- name: ROCM_PATH
|
||||||
- group: common
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
- name: HIP_ROCCLR_HOME
|
workspace:
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
clean: all
|
||||||
- name: ROCM_PATH
|
strategy:
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
matrix:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
gfx942:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
JOB_GPU_TARGET: gfx942
|
||||||
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
|
pipModules: ${{ parameters.pipModules }}
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
parameters:
|
||||||
parameters:
|
extraBuildFlags: >-
|
||||||
dependencyList:
|
-DCMAKE_MODULE_PATH=$(Build.SourcesDirectory)/cmake_modules;$(Agent.BuildDirectory)/rocm/lib/cmake;$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
- gtest
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
-DENABLE_LDCONFIG=OFF
|
||||||
parameters:
|
-DUSE_PROF_API=1
|
||||||
os: ${{ job.os }}
|
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
parameters:
|
multithreadFlag: -- -j32
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
parameters:
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
- 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:
|
||||||
os: ${{ job.os }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
useAmdclang: false
|
pipModules: ${{ parameters.pipModules }}
|
||||||
extraBuildFlags: >-
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-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
|
extraEnvVars:
|
||||||
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor"
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
- ROCM_PATH:::/home/user/workspace/rocm
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
|
||||||
-DENABLE_LDCONFIG=OFF
|
|
||||||
-DUSE_PROF_API=1
|
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
|
||||||
multithreadFlag: -- -j32
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- ${{ if eq(job.os, 'ubuntu2204') }}:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
extraEnvVars:
|
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
|
||||||
- ROCM_PATH:::/home/user/workspace/rocm
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: rocprofiler_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
dependsOn: rocprofiler
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
condition:
|
- group: common
|
||||||
and(succeeded(),
|
- template: /.azuredevops/variables-global.yml
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
pool: $(JOB_TEST_POOL)
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
workspace:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
clean: all
|
||||||
)
|
strategy:
|
||||||
variables:
|
matrix:
|
||||||
- group: common
|
gfx942:
|
||||||
- template: /.azuredevops/variables-global.yml
|
JOB_GPU_TARGET: gfx942
|
||||||
- name: ROCM_PATH
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
steps:
|
||||||
- name: LD_LIBRARY_PATH
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
value: $(Agent.BuildDirectory)/rocm/lib/rocprofiler:$(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1/test:$(Agent.BuildDirectory)/rocm/share/rocprofiler/tests
|
parameters:
|
||||||
pool: ${{ job.target }}_test_pool
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
workspace:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
steps:
|
parameters:
|
||||||
- checkout: none
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
packageManager: ${{ job.packageManager }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
- task: Bash@3
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
displayName: Setup test environment
|
||||||
gpuTarget: ${{ job.target }}
|
inputs:
|
||||||
os: ${{ job.os }}
|
targetType: inline
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
script: |
|
||||||
parameters:
|
sudo rm -rf /opt/rocm
|
||||||
os: ${{ job.os }}
|
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
- 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.rocmDependencies }}
|
componentName: rocprofilerV1
|
||||||
gpuTarget: ${{ job.target }}
|
testExecutable: LD_LIBRARY_PATH="$(Agent.BuildDirectory)/rocm/lib/rocprofiler:$(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1/test" ./run.sh
|
||||||
os: ${{ job.os }}
|
testDir: $(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
testParameters: ''
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
testPublishResults: false
|
||||||
- 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: rocprofilerV2
|
||||||
componentName: rocprofilerV1
|
testExecutable: LD_LIBRARY_PATH="$(Agent.BuildDirectory)/rocm/lib/rocprofiler:$(Agent.BuildDirectory)/rocm/share/rocprofiler/tests" share/rocprofiler/tests/runUnitTests
|
||||||
testDir: $(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
testExecutable: ./run.sh
|
testDir: $(Agent.BuildDirectory)/rocm
|
||||||
testParameters: ''
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
testPublishResults: false
|
parameters:
|
||||||
os: ${{ job.os }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
pipModules: ${{ parameters.pipModules }}
|
||||||
parameters:
|
environment: test
|
||||||
componentName: rocprofilerV2
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
testDir: $(Agent.BuildDirectory)/rocm
|
optSymLink: true
|
||||||
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 }}
|
|
||||||
|
|||||||
@@ -5,11 +5,6 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# 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
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -40,22 +35,12 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- job: rocr_debug_agent_build
|
- job: rocr_debug_agent
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool:
|
pool: ${{ variables.LOW_BUILD_POOL }}
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
@@ -70,7 +55,6 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
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: >-
|
||||||
@@ -82,54 +66,54 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.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/artifact-links.yml
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
# parameters:
|
parameters:
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: rocr_debug_agent_testing
|
||||||
- job: rocr_debug_agent_test_${{ job.target }}
|
dependsOn: rocr_debug_agent
|
||||||
dependsOn: rocr_debug_agent_build
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
condition:
|
variables:
|
||||||
and(succeeded(),
|
- group: common
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
- template: /.azuredevops/variables-global.yml
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
pool: $(JOB_TEST_POOL)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
workspace:
|
||||||
)
|
clean: all
|
||||||
variables:
|
strategy:
|
||||||
- group: common
|
matrix:
|
||||||
- template: /.azuredevops/variables-global.yml
|
gfx942:
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_GPU_TARGET: gfx942
|
||||||
workspace:
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/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
|
- 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.rocmTestDependencies }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
parameters:
|
||||||
parameters:
|
componentName: rocr_debug_agent-tests
|
||||||
componentName: rocr_debug_agent-tests
|
extraBuildFlags: >-
|
||||||
extraBuildFlags: >-
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake;$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake;$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
cmakeBuildDir: '$(Agent.BuildDirectory)/rocm/src/rocm-debug-agent-test'
|
||||||
cmakeBuildDir: '$(Agent.BuildDirectory)/rocm/src/rocm-debug-agent-test'
|
cmakeSourceDir: '.'
|
||||||
cmakeSourceDir: '.'
|
installEnabled: false
|
||||||
installEnabled: false
|
- 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: rocr_debug_agent
|
||||||
componentName: rocr_debug_agent
|
testDir: '$(Agent.BuildDirectory)/rocm/src/rocm-debug-agent-test'
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/src/rocm-debug-agent-test'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
environment: test
|
||||||
environment: test
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -1,43 +1,18 @@
|
|||||||
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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- doxygen
|
- doxygen
|
||||||
- graphviz
|
- graphviz
|
||||||
- libdrm-amdgpu-dev
|
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- zlib1g-dev
|
- python3-pip
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -60,146 +35,96 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
|
||||||
- { 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:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: roctracer
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
- name: HIP_ROCCLR_HOME
|
||||||
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
variables:
|
pool: ${{ variables.LOW_BUILD_POOL }}
|
||||||
- group: common
|
workspace:
|
||||||
- template: /.azuredevops/variables-global.yml
|
clean: all
|
||||||
pool:
|
strategy:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
matrix:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
gfx942:
|
||||||
container:
|
JOB_GPU_TARGET: gfx942
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
steps:
|
||||||
endpoint: ContainerService3
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
workspace:
|
parameters:
|
||||||
clean: all
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
steps:
|
pipModules: ${{ parameters.pipModules }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
pipModules: ${{ parameters.pipModules }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
registerROCmPackages: true
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DCMAKE_BUILD_TYPE=release
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
gpuTarget: ${{ job.target }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
os: ${{ job.os }}
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
-GNinja
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
# the linker flags will not affect ubuntu2204 builds as the paths do not exist
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
useAmdclang: false
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
extraBuildFlags: >-
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
-DCMAKE_BUILD_TYPE=release
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
parameters:
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip;$(Agent.BuildDirectory)/rocm/lib64/cmake/hip
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
pipModules: ${{ parameters.pipModules }}
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
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
|
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# pipModules: ${{ parameters.pipModules }}
|
|
||||||
# gpuTarget: ${{ job.target }}
|
|
||||||
# registerROCmPackages: true
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- job: roctracer_testing
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
dependsOn: roctracer
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
condition:
|
- group: common
|
||||||
and(succeeded(),
|
- template: /.azuredevops/variables-global.yml
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
pool: $(JOB_TEST_POOL)
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
workspace:
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
clean: all
|
||||||
)
|
strategy:
|
||||||
variables:
|
matrix:
|
||||||
- group: common
|
gfx942:
|
||||||
- template: /.azuredevops/variables-global.yml
|
JOB_GPU_TARGET: gfx942
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
workspace:
|
steps:
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
steps:
|
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
|
||||||
pipModules: ${{ parameters.pipModules }}
|
parameters:
|
||||||
packageManager: ${{ job.packageManager }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
registerROCmPackages: true
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- 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_GPU_TARGET)
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
parameters:
|
||||||
parameters:
|
componentName: roctracer
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
testExecutable: $(Agent.BuildDirectory)/rocm/share/roctracer/run_tests.sh
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
testParameters: ''
|
||||||
gpuTarget: ${{ job.target }}
|
testDir: $(Agent.BuildDirectory)
|
||||||
os: ${{ job.os }}
|
testPublishResults: false
|
||||||
${{ 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_GPU_TARGET)
|
||||||
testExecutable: $(Agent.BuildDirectory)/rocm/share/roctracer/run_tests.sh
|
|
||||||
testParameters: ''
|
|
||||||
testDir: $(Agent.BuildDirectory)
|
|
||||||
testPublishResults: false
|
|
||||||
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
|
|
||||||
|
|||||||
@@ -5,11 +5,6 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# 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
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -34,7 +29,6 @@ parameters:
|
|||||||
- clr
|
- clr
|
||||||
- half
|
- half
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocm-cmake
|
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
@@ -50,151 +44,140 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: rpp
|
||||||
- job: rpp_build_${{ job.target }}
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool: ${{ variables.LOW_BUILD_POOL }}
|
||||||
- name: ROCM_PATH
|
workspace:
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
clean: all
|
||||||
pool:
|
strategy:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
matrix:
|
||||||
workspace:
|
gfx942:
|
||||||
clean: all
|
JOB_GPU_TARGET: gfx942
|
||||||
steps:
|
steps:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/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-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_GPU_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: >-
|
-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
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DHALF_INCLUDE_DIRS=$(Agent.BuildDirectory)/rocm/include
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DHALF_INCLUDE_DIRS=$(Agent.BuildDirectory)/rocm/include
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DROCM_PLATFORM_VERSION=$(NEXT_RELEASE_VERSION)
|
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- 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_GPU_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
|
||||||
# parameters:
|
parameters:
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
# pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
# gpuTarget: ${{ job.target }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: rpp_testing
|
||||||
- job: rpp_test_${{ job.target }}
|
dependsOn: rpp
|
||||||
dependsOn: rpp_build_${{ job.target }}
|
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
||||||
condition:
|
variables:
|
||||||
and(succeeded(),
|
- group: common
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
- template: /.azuredevops/variables-global.yml
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
- name: LD_LIBRARY_PATH
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
value: $(Agent.BuildDirectory)/rocm/lib;$(Agent.BuildDirectory)/rocm/llvm/lib
|
||||||
)
|
pool: $(JOB_TEST_POOL)
|
||||||
variables:
|
workspace:
|
||||||
- group: common
|
clean: all
|
||||||
- template: /.azuredevops/variables-global.yml
|
strategy:
|
||||||
- name: ROCM_PATH
|
matrix:
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
gfx942:
|
||||||
pool: ${{ job.target }}_test_pool
|
JOB_GPU_TARGET: gfx942
|
||||||
workspace:
|
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
parameters:
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_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
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
# Dependencies from: https://github.com/ROCm/rpp/blob/develop/utilities/test_suite/README.md
|
||||||
# Dependencies from: https://github.com/ROCm/rpp/blob/develop/utilities/test_suite/README.md
|
- task: Bash@3
|
||||||
- task: Bash@3
|
displayName: Build and install Turbo JPEG
|
||||||
displayName: Build and install Turbo JPEG
|
inputs:
|
||||||
inputs:
|
targetType: 'inline'
|
||||||
targetType: 'inline'
|
script: |
|
||||||
script: |
|
sudo apt-get install nasm
|
||||||
sudo apt-get install nasm
|
sudo apt-get install wget
|
||||||
sudo apt-get install wget
|
git clone -b 3.0.2 https://github.com/libjpeg-turbo/libjpeg-turbo.git
|
||||||
git clone -b 3.0.2 https://github.com/libjpeg-turbo/libjpeg-turbo.git
|
cd libjpeg-turbo
|
||||||
cd libjpeg-turbo
|
mkdir build
|
||||||
mkdir build
|
cd build
|
||||||
cd build
|
cmake -DCMAKE_INSTALL_PREFIX=/usr \
|
||||||
cmake -DCMAKE_INSTALL_PREFIX=/usr \
|
-DCMAKE_BUILD_TYPE=RELEASE \
|
||||||
-DCMAKE_BUILD_TYPE=RELEASE \
|
-DENABLE_STATIC=FALSE \
|
||||||
-DENABLE_STATIC=FALSE \
|
-DCMAKE_INSTALL_DEFAULT_LIBDIR=lib \
|
||||||
-DCMAKE_INSTALL_DEFAULT_LIBDIR=lib \
|
-DWITH_JPEG8=TRUE \
|
||||||
-DWITH_JPEG8=TRUE \
|
..
|
||||||
..
|
make -j$nproc
|
||||||
make -j$nproc
|
sudo make install
|
||||||
sudo make install
|
- task: Bash@3
|
||||||
- task: Bash@3
|
displayName: Build and install Nifti
|
||||||
displayName: Build and install Nifti
|
inputs:
|
||||||
inputs:
|
targetType: 'inline'
|
||||||
targetType: 'inline'
|
script: |
|
||||||
script: |
|
git clone -b v3.0.1 https://github.com/NIFTI-Imaging/nifti_clib.git
|
||||||
git clone -b v3.0.1 https://github.com/NIFTI-Imaging/nifti_clib.git
|
cd nifti_clib
|
||||||
cd nifti_clib
|
mkdir build
|
||||||
mkdir build
|
cd build
|
||||||
cd build
|
cmake ..
|
||||||
cmake ..
|
sudo make -j$nproc install
|
||||||
sudo make -j$nproc install
|
- task: Bash@3
|
||||||
- task: Bash@3
|
displayName: Build rpp tests
|
||||||
displayName: Build rpp tests
|
inputs:
|
||||||
inputs:
|
targetType: 'inline'
|
||||||
targetType: 'inline'
|
script: |
|
||||||
script: |
|
sudo rm -rf /opt/rocm
|
||||||
mkdir rpp-tests
|
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
cd rpp-tests
|
mkdir rpp-tests
|
||||||
cmake $(Agent.BuildDirectory)/rocm/share/rpp/test \
|
cd rpp-tests
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ \
|
cmake /opt/rocm/share/rpp/test \
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ \
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
componentName: rpp
|
parameters:
|
||||||
testExecutable: 'CMAKE_VERBOSE_MAKEFILE=ON VERBOSE=1 ctest'
|
componentName: rpp
|
||||||
testDir: 'rpp-tests'
|
testExecutable: 'export PATH=$(Agent.BuildDirectory)/rocm/llvm/bin:$PATH; CC=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang CMAKE_VERBOSE_MAKEFILE=ON VERBOSE=1 ctest'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
testDir: 'rpp-tests'
|
||||||
parameters:
|
- script: sudo rm /opt/rocm
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
condition: always()
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
environment: test
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
|
|||||||
@@ -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,63 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- name: checkoutRepo
|
|
||||||
type: string
|
|
||||||
default: 'self'
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: cli11Version
|
|
||||||
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: cli11_${{ 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 cli11 ${{ parameters.cli11Version }}
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: git clone https://github.com/CLIUtils/CLI11.git -b ${{ parameters.cli11Version }}
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
cmakeBuildDir: $(Agent.BuildDirectory)/CLI11/build
|
|
||||||
cmakeSourceDir: $(Agent.BuildDirectory)/CLI11
|
|
||||||
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 }}
|
|
||||||
@@ -38,7 +38,6 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
cmakeBuildDir: $(Agent.BuildDirectory)/grpc/build
|
cmakeBuildDir: $(Agent.BuildDirectory)/grpc/build
|
||||||
cmakeSourceDir: $(Agent.BuildDirectory)/grpc
|
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DgRPC_INSTALL=ON
|
-DgRPC_INSTALL=ON
|
||||||
-DgRPC_BUILD_TESTS=OFF
|
-DgRPC_BUILD_TESTS=OFF
|
||||||
|
|||||||
@@ -11,54 +11,35 @@ 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:
|
extraBuildFlags: >-
|
||||||
targetType: inline
|
-DGTEST_FORCE_SHARED_CRT=ON
|
||||||
script: git clone https://github.com/google/googletest -b ${{ parameters.gtestVersion }} --depth=1 --shallow-submodules --recurse-submodules
|
-DCMAKE_DEBUG_POSTFIX=d
|
||||||
workingDirectory: $(Agent.BuildDirectory)
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
|
||||||
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 }}
|
|
||||||
@@ -1,66 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- name: checkoutRepo
|
|
||||||
type: string
|
|
||||||
default: 'self'
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: yamlcppVersion
|
|
||||||
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: yamlcpp_${{ 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 yaml-cpp ${{ parameters.yamlcppVersion }}
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: git clone https://github.com/jbeder/yaml-cpp.git -b ${{ parameters.yamlcppVersion }}
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
cmakeBuildDir: $(Agent.BuildDirectory)/yaml-cpp/build
|
|
||||||
cmakeSourceDir: $(Agent.BuildDirectory)/yaml-cpp
|
|
||||||
useAmdclang: false
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DYAML_CPP_BUILD_TOOLS=OFF
|
|
||||||
-DYAML_BUILD_SHARED_LIBS=OFF
|
|
||||||
-DYAML_CPP_INSTALL=ON
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
@@ -4,80 +4,80 @@ 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
|
||||||
- pyyaml
|
- pyyaml
|
||||||
- requests
|
- requests
|
||||||
- setuptools==75.8.0
|
- setuptools
|
||||||
- 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
|
||||||
@@ -85,8 +85,8 @@ parameters:
|
|||||||
- lintrunner
|
- lintrunner
|
||||||
- ninja
|
- ninja
|
||||||
- packaging
|
- packaging
|
||||||
- "optree>=0.13.0"
|
- optree>=0.13.0
|
||||||
- "click>=8.0.3"
|
- click>=8.0.3
|
||||||
# list for vision
|
# list for vision
|
||||||
- auditwheel
|
- auditwheel
|
||||||
- future
|
- future
|
||||||
@@ -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
|
||||||
@@ -173,13 +170,13 @@ jobs:
|
|||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
# various flags/parameters expected by bash scripts in pytorch repo's .ci directory
|
# various flags/parameters expected by bash scripts in pytorch repo's .ci directory
|
||||||
- name: ROCM_VERSION
|
- name: ROCM_VERSION
|
||||||
value: 6.5.0
|
value: 6.3.0
|
||||||
- name: ROCM_PATH
|
- name: ROCM_PATH
|
||||||
value: /opt/rocm
|
value: /opt/rocm
|
||||||
- name: DESIRED_CUDA
|
- name: DESIRED_CUDA
|
||||||
value: 6.5.0
|
value: 6.3.0
|
||||||
- name: MAGMA_ROCM
|
- name: MKLROOT
|
||||||
value: 6.3
|
value: /opt/intel
|
||||||
- name: DESIRED_PYTHON
|
- name: DESIRED_PYTHON
|
||||||
value: 3.10
|
value: 3.10
|
||||||
- name: PYTORCH_ROOT
|
- name: PYTORCH_ROOT
|
||||||
@@ -219,8 +216,8 @@ 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
|
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: ROCm symbolic link
|
displayName: ROCm symbolic link
|
||||||
inputs:
|
inputs:
|
||||||
@@ -242,6 +239,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:
|
||||||
@@ -249,6 +252,13 @@ jobs:
|
|||||||
script: |
|
script: |
|
||||||
sudo bash pytorch/.ci/docker/common/install_patchelf.sh
|
sudo bash pytorch/.ci/docker/common/install_patchelf.sh
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Install mkl dependency for magma
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
sudo bash pytorch/.ci/docker/common/install_mkl.sh
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Install rocm drm
|
displayName: Install rocm drm
|
||||||
inputs:
|
inputs:
|
||||||
@@ -261,20 +271,14 @@ jobs:
|
|||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
sudo bash pytorch/.ci/docker/common/install_rocm_magma.sh $(MAGMA_ROCM)
|
sudo PYTORCH_ROCM_ARCH=$(JOB_GPU_TARGET) MKLROOT=$(MKLROOT) bash pytorch/.ci/docker/common/install_rocm_magma.sh
|
||||||
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:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: >-
|
script: >-
|
||||||
sudo
|
sudo
|
||||||
PYTHONPATH=/home/AzDevOps/.local/lib/python3.10/site-packages:/usr/lib/python3/dist-packages
|
|
||||||
DESIRED_CUDA=$(DESIRED_CUDA)
|
DESIRED_CUDA=$(DESIRED_CUDA)
|
||||||
PYTORCH_ROCM_ARCH=$(JOB_GPU_TARGET)
|
PYTORCH_ROCM_ARCH=$(JOB_GPU_TARGET)
|
||||||
GPU_TARGET=$(JOB_GPU_TARGET)
|
GPU_TARGET=$(JOB_GPU_TARGET)
|
||||||
@@ -282,6 +286,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 +327,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 +404,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
|
||||||
|
|||||||
@@ -1,23 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
# using a parameter instead of a strategy matrix allows job variables to be eval'd at compile-time rather than runtime
|
- name: dependencySource
|
||||||
- name: jobList
|
type: string
|
||||||
type: object
|
default: staging
|
||||||
default:
|
values:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- staging
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
- mainline
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
|
||||||
- { os: ubuntu2404, packageManager: apt, target: gfx942 }
|
|
||||||
- { 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 +12,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
|
||||||
@@ -91,149 +78,62 @@ schedules:
|
|||||||
always: true
|
always: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobList }}:
|
- job: rocm_nightly
|
||||||
- job: nightly_${{ job.os }}_${{ job.target }}
|
variables:
|
||||||
timeoutInMinutes: 120
|
- group: common
|
||||||
variables:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- group: common
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
- template: /.azuredevops/variables-global.yml
|
workspace:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
clean: all
|
||||||
workspace:
|
strategy:
|
||||||
clean: all
|
matrix:
|
||||||
steps:
|
gfx942:
|
||||||
- task: DeleteFiles@1
|
JOB_GPU_TARGET: gfx942
|
||||||
displayName: 'Cleanup checkout space'
|
steps:
|
||||||
inputs:
|
- task: DeleteFiles@1
|
||||||
SourceFolder: '$(Agent.BuildDirectory)/s'
|
displayName: 'Cleanup checkout space'
|
||||||
Contents: '**/*'
|
inputs:
|
||||||
- task: DeleteFiles@1
|
SourceFolder: '$(Agent.BuildDirectory)/s'
|
||||||
displayName: 'Cleanup Staging Area'
|
Contents: '**/*'
|
||||||
inputs:
|
- task: DeleteFiles@1
|
||||||
SourceFolder: '$(Build.ArtifactStagingDirectory)'
|
displayName: 'Cleanup Staging Area'
|
||||||
Contents: '/**/*'
|
inputs:
|
||||||
RemoveDotFiles: true
|
SourceFolder: '$(Build.ArtifactStagingDirectory)'
|
||||||
- script: df -h
|
Contents: '/**/*'
|
||||||
displayName: System disk space before ROCm
|
RemoveDotFiles: true
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- script: df -h
|
||||||
parameters:
|
displayName: System disk space before ROCm
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
dependencySource: ${{ parameters.dependencySource }}
|
||||||
- script: df -h
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
displayName: System disk space after ROCm
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- script: du -sh $(Agent.BuildDirectory)/rocm
|
skipLibraryLinking: true
|
||||||
displayName: Uncompressed ROCm size
|
skipLlvmSymlink: true
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- script: df -h
|
||||||
- task: ArchiveFiles@2
|
displayName: System disk space after ROCm
|
||||||
displayName: Compress rocm-nightly
|
- script: du -sh $(Agent.BuildDirectory)/rocm
|
||||||
inputs:
|
displayName: Uncompressed ROCm size
|
||||||
rootFolderOrFile: $(Agent.BuildDirectory)/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
includeRootFolder: false
|
- task: ArchiveFiles@2
|
||||||
archiveType: tar
|
displayName: Compress rocm-nightly
|
||||||
tarCompression: gz
|
inputs:
|
||||||
archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.DefinitionName)_$(Build.BuildNumber)_${{ job.os }}_${{ job.target }}.tar.gz
|
rootFolderOrFile: $(Agent.BuildDirectory)/rocm
|
||||||
- script: du -sh $(Build.ArtifactStagingDirectory)
|
includeRootFolder: false
|
||||||
displayName: Compressed ROCm size
|
archiveType: tar
|
||||||
- task: PublishPipelineArtifact@1
|
tarCompression: gz
|
||||||
displayName: 'Publish ROCm Nightly Artifact'
|
archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.DefinitionName)_$(Build.BuildNumber)_ubuntu2204_$(JOB_GPU_TARGET).tar.gz
|
||||||
retryCountOnTaskFailure: 3
|
- script: du -sh $(Build.ArtifactStagingDirectory)
|
||||||
inputs:
|
displayName: Compressed ROCm size
|
||||||
targetPath: '$(Build.ArtifactStagingDirectory)'
|
- task: PublishPipelineArtifact@1
|
||||||
- task: Bash@3
|
displayName: 'Publish ROCm Nightly Artifact'
|
||||||
displayName: Save pipeline artifact file name
|
retryCountOnTaskFailure: 3
|
||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
targetPath: '$(Build.ArtifactStagingDirectory)'
|
||||||
targetType: inline
|
- task: Bash@3
|
||||||
script: echo "$(Build.DefinitionName)_$(Build.BuildNumber)_${{ job.os }}_${{ job.target }}.tar.gz" >> pipelineArtifacts.txt
|
displayName: Save pipeline artifact file name
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
inputs:
|
||||||
- ${{ if eq(job.packageManager, 'apt') }}:
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
- task: Bash@3
|
targetType: inline
|
||||||
displayName: Create Dockerfile
|
script: echo "$(Build.DefinitionName)_$(Build.BuildNumber)_ubuntu2204_$(JOB_GPU_TARGET).tar.gz" >> pipelineArtifacts.txt
|
||||||
inputs:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
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,68 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
|
|
||||||
import json
|
|
||||||
import requests
|
|
||||||
import argparse
|
|
||||||
from pathlib import Path
|
|
||||||
|
|
||||||
def get_builds(entries, gpu_target, output):
|
|
||||||
already_downloaded = {}
|
|
||||||
for entry in entries:
|
|
||||||
already_downloaded = _get_builds(entry, gpu_target, already_downloaded, output)
|
|
||||||
|
|
||||||
def _get_builds(entry, gpu_target, already_downloaded, output):
|
|
||||||
print()
|
|
||||||
print(f"{entry['buildNumber']} - {entry['buildId']} - {entry['repoName']}")
|
|
||||||
if already_downloaded.get(entry['buildId']):
|
|
||||||
print('Skipping, already downloaded from build ' + entry['buildId'])
|
|
||||||
return already_downloaded
|
|
||||||
|
|
||||||
artifacts_url = f"https://dev.azure.com/ROCm-CI/ROCm-CI/_apis/build/builds/{entry['buildId']}/artifacts?api-version=7.1"
|
|
||||||
artifacts = requests.get(artifacts_url).json()
|
|
||||||
for artifact in artifacts['value']:
|
|
||||||
if 'gfx' in artifact['name'] and gpu_target not in artifact['name']:
|
|
||||||
continue
|
|
||||||
|
|
||||||
print('Artifact name: ' + artifact['name'])
|
|
||||||
print('File size: ~' +
|
|
||||||
str(round(int(artifact['resource']['properties']['artifactsize'])/1000000, 2)) + ' MB')
|
|
||||||
download_url = f"{artifact['resource']['downloadUrl']}"
|
|
||||||
download = requests.get(download_url)
|
|
||||||
|
|
||||||
zip_file = Path(output) / f"{artifact['name']}.zip"
|
|
||||||
with open(zip_file, 'wb') as f:
|
|
||||||
f.write(download.content)
|
|
||||||
already_downloaded[entry['buildId']] = True
|
|
||||||
|
|
||||||
return already_downloaded
|
|
||||||
|
|
||||||
def main():
|
|
||||||
parser = argparse.ArgumentParser(description="Command line tool for downloading external ci artifacts")
|
|
||||||
parser.add_argument('--target', type=str, dest="target", choices=["gfx90a", "gfx942"], help="Target gfx")
|
|
||||||
parser.add_argument('--manifest', type=str, dest="manifest", help='JSON manifest url or path to local manifest')
|
|
||||||
parser.add_argument('--output_dir', type=str, dest="output", help='Path to download directory')
|
|
||||||
args = parser.parse_args()
|
|
||||||
|
|
||||||
manifest = args.manifest
|
|
||||||
gpu_target = args.target
|
|
||||||
|
|
||||||
if not gpu_target:
|
|
||||||
print("Enter the GPU target (gfx942, gfx90a)")
|
|
||||||
gpu_target = input()
|
|
||||||
|
|
||||||
if not manifest:
|
|
||||||
print("Enter the manifest file (URL or local path)")
|
|
||||||
manifest = input()
|
|
||||||
|
|
||||||
if 'http' in manifest:
|
|
||||||
data = requests.get(manifest).json()
|
|
||||||
else:
|
|
||||||
with open(manifest, 'r') as f:
|
|
||||||
data = json.load(f)
|
|
||||||
|
|
||||||
entries = [e for e in data['current']]
|
|
||||||
entries.extend([e for e in data['dependencies']])
|
|
||||||
get_builds(entries, gpu_target, args.output)
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
requests
|
|
||||||
@@ -3,16 +3,7 @@ variables:
|
|||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
|
||||||
parameters:
|
parameters:
|
||||||
- name: aompRef
|
- name: checkoutRef
|
||||||
type: string
|
|
||||||
default: refs/tags/$(LATEST_RELEASE_TAG)
|
|
||||||
- name: extrasRef
|
|
||||||
type: string
|
|
||||||
default: refs/tags/$(LATEST_RELEASE_TAG)
|
|
||||||
- name: flangRef
|
|
||||||
type: string
|
|
||||||
default: refs/tags/$(LATEST_RELEASE_TAG)
|
|
||||||
- name: llvmRef
|
|
||||||
type: string
|
type: string
|
||||||
default: refs/tags/$(LATEST_RELEASE_TAG)
|
default: refs/tags/$(LATEST_RELEASE_TAG)
|
||||||
|
|
||||||
@@ -22,22 +13,22 @@ resources:
|
|||||||
type: github
|
type: github
|
||||||
endpoint: ROCm
|
endpoint: ROCm
|
||||||
name: ROCm/aomp
|
name: ROCm/aomp
|
||||||
ref: ${{ parameters.aompRef }}
|
ref: ${{ parameters.checkoutRef }}
|
||||||
- repository: aomp-extras_repo
|
- repository: aomp-extras_repo
|
||||||
type: github
|
type: github
|
||||||
endpoint: ROCm
|
endpoint: ROCm
|
||||||
name: ROCm/aomp-extras
|
name: ROCm/aomp-extras
|
||||||
ref: ${{ parameters.extrasRef }}
|
ref: ${{ parameters.checkoutRef }}
|
||||||
- repository: flang_repo
|
- repository: flang_repo
|
||||||
type: github
|
type: github
|
||||||
endpoint: ROCm
|
endpoint: ROCm
|
||||||
name: ROCm/flang
|
name: ROCm/flang
|
||||||
ref: ${{ parameters.flangRef }}
|
ref: ${{ parameters.checkoutRef }}
|
||||||
- repository: llvm-project_repo
|
- repository: llvm-project_repo
|
||||||
type: github
|
type: github
|
||||||
endpoint: ROCm
|
endpoint: ROCm
|
||||||
name: ROCm/llvm-project
|
name: ROCm/llvm-project
|
||||||
ref: ${{ parameters.llvmRef }}
|
ref: amd-staging
|
||||||
|
|
||||||
trigger: none
|
trigger: none
|
||||||
pr: none
|
pr: none
|
||||||
@@ -46,4 +37,4 @@ jobs:
|
|||||||
- template: ${{ variables.CI_COMPONENT_PATH }}/aomp.yml
|
- template: ${{ variables.CI_COMPONENT_PATH }}/aomp.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: aomp_repo
|
checkoutRepo: aomp_repo
|
||||||
checkoutRef: ${{ parameters.aompRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
|||||||
@@ -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 }}
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: cli11Version
|
|
||||||
type: string
|
|
||||||
default: "main"
|
|
||||||
|
|
||||||
resources:
|
|
||||||
repositories:
|
|
||||||
- repository: pipelines_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/ROCm
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
pr: none
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: ${{ variables.CI_DEPENDENCIES_PATH }}/cli11.yml
|
|
||||||
parameters:
|
|
||||||
cli11Version: ${{ parameters.cli11Version }}
|
|
||||||
@@ -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 }}
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: yamlcppVersion
|
|
||||||
type: string
|
|
||||||
default: "0.8.0"
|
|
||||||
|
|
||||||
resources:
|
|
||||||
repositories:
|
|
||||||
- repository: pipelines_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/ROCm
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
pr: none
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: ${{ variables.CI_DEPENDENCIES_PATH }}/yamlcpp.yml
|
|
||||||
parameters:
|
|
||||||
yamlcppVersion: ${{ parameters.yamlcppVersion }}
|
|
||||||
|
|
||||||
@@ -12,49 +12,41 @@ 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
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
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') }}:
|
buildType: 'specific'
|
||||||
itemPattern: '**/*${{ parameters.componentName }}*${{ parameters.fileFilter }}*amd*' # filter out nvidia clr artifacts
|
project: ROCm-CI
|
||||||
${{ else }}:
|
definition: ${{ parameters.pipelineId }}
|
||||||
itemPattern: '**/*${{ parameters.componentName }}*${{ parameters.fileFilter }}*'
|
specificBuildWithTriggering: true
|
||||||
|
itemPattern: '**/*${{ parameters.fileFilter }}*'
|
||||||
|
${{ if notIn(parameters.componentName, 'aomp') }}: # remove this once these pipelines are functional + up-to-date
|
||||||
|
buildVersionToDownload: latestFromBranch # default is 'latest'
|
||||||
|
branchName: refs/heads/${{ parameters.branchName }}
|
||||||
|
allowPartiallySucceededBuilds: $(allowPartiallySucceededBuilds)
|
||||||
targetPath: '$(Pipeline.Workspace)/d'
|
targetPath: '$(Pipeline.Workspace)/d'
|
||||||
allowPartiallySucceededBuilds: true
|
- task: ExtractFiles@1
|
||||||
${{ if parameters.aggregatePipeline }}:
|
displayName: Extract ${{ parameters.componentName }}
|
||||||
buildType: 'current'
|
inputs:
|
||||||
${{ else }}:
|
archiveFilePatterns: '$(Pipeline.Workspace)/d/**/*.tar.gz'
|
||||||
buildType: 'specific'
|
destinationFolder: '$(Agent.BuildDirectory)/rocm'
|
||||||
project: ROCm-CI
|
cleanDestinationFolder: false
|
||||||
specificBuildWithTriggering: true
|
overwriteExistingFiles: true
|
||||||
definition: ${{ parameters.pipelineId }}
|
- task: DeleteFiles@1
|
||||||
branchName: refs/heads/${{ parameters.branchName }}
|
displayName: Cleanup Compressed ${{ parameters.componentName }}
|
||||||
${{ if eq(parameters.componentName, 'aomp') }}:
|
inputs:
|
||||||
buildVersionToDownload: latest # aomp trigger lives in ROCm/ROCm, so cannot use ROCm/aomp branch names
|
SourceFolder: '$(Pipeline.Workspace)/d'
|
||||||
${{ else }}:
|
Contents: '**/*.tar.gz'
|
||||||
buildVersionToDownload: latestFromBranch
|
RemoveDotFiles: true
|
||||||
- ${{ if eq(parameters.extractAndDeleteFiles, true) }}:
|
|
||||||
- task: ExtractFiles@1
|
|
||||||
displayName: Extract ${{ parameters.componentName }}
|
|
||||||
inputs:
|
|
||||||
archiveFilePatterns: '$(Pipeline.Workspace)/d/**/*.tar.gz'
|
|
||||||
destinationFolder: '$(Agent.BuildDirectory)/rocm'
|
|
||||||
cleanDestinationFolder: false
|
|
||||||
overwriteExistingFiles: true
|
|
||||||
- task: DeleteFiles@1
|
|
||||||
displayName: Clean up Compressed ${{ parameters.componentName }}
|
|
||||||
inputs:
|
|
||||||
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.SourceBranchName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ parameters.artifactName }}_${{ parameters.gpuTarget }}.tar.gz'
|
||||||
- task: DeleteFiles@1
|
- task: DeleteFiles@1
|
||||||
displayName: 'Cleanup Staging Area'
|
displayName: 'Cleanup Staging Area'
|
||||||
inputs:
|
inputs:
|
||||||
@@ -38,14 +32,11 @@ 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.SourceBranchName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ parameters.artifactName }}_${{ parameters.gpuTarget }}.tar.gz" >> pipelineArtifacts.txt
|
||||||
# then publish it
|
# then publish it
|
||||||
- ${{ if parameters.publish }}:
|
- ${{ if parameters.publish }}:
|
||||||
- task: PublishPipelineArtifact@1
|
- task: PublishPipelineArtifact@1
|
||||||
condition: always()
|
|
||||||
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,25 +1,19 @@
|
|||||||
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: ''
|
||||||
- name: cmakeBuildDir
|
- name: cmakeBuildDir
|
||||||
type: string
|
type: string
|
||||||
default: $(Agent.BuildDirectory)/s/build
|
default: 'build'
|
||||||
- name: cmakeSourceDir
|
- name: cmakeSourceDir
|
||||||
type: string
|
type: string
|
||||||
default: $(Agent.BuildDirectory)/s
|
default: '..'
|
||||||
- name: customBuildTarget
|
- name: customBuildTarget
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
@@ -38,81 +32,36 @@ 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
|
|
||||||
type: boolean
|
|
||||||
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 }} ..
|
||||||
-DCMAKE_CXX_FLAGS="${{ parameters.extraCxxFlags }} ${{ iif(and(eq(parameters.os, 'almalinux8'), parameters.useAmdclang), '--gcc-toolchain=/opt/rh/gcc-toolset-14/root', '') }}"
|
- script: df -h
|
||||||
${{ parameters.extraBuildFlags }}
|
displayName: Disk space before build
|
||||||
${{ parameters.cmakeSourceDir }}
|
|
||||||
- ${{ if parameters.printDiskSpace }}:
|
|
||||||
- script: df -h
|
|
||||||
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 }}
|
- script: df -h
|
||||||
${{ if ne(parameters.os, 'almalinux8') }}:
|
displayName: Disk space after build
|
||||||
cmakeArgs: >-
|
|
||||||
--build ${{ parameters.cmakeTargetDir }}
|
|
||||||
${{ iif(ne(parameters.customBuildTarget, ''), format('--target {0}', parameters.customBuildTarget), '') }}
|
|
||||||
${{ parameters.multithreadFlag }}
|
|
||||||
- ${{ if parameters.printDiskSpace }}:
|
|
||||||
- script: df -h
|
|
||||||
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,9 +4,6 @@ parameters:
|
|||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
# submodule download behaviour
|
# submodule download behaviour
|
||||||
# change to 'recursive' for repos with submodules
|
# change to 'recursive' for repos with submodules
|
||||||
- name: submoduleBehaviour
|
- name: submoduleBehaviour
|
||||||
@@ -18,13 +15,3 @@ steps:
|
|||||||
clean: true
|
clean: true
|
||||||
submodules: ${{ parameters.submoduleBehaviour }}
|
submodules: ${{ parameters.submoduleBehaviour }}
|
||||||
retryCountOnTaskFailure: 3
|
retryCountOnTaskFailure: 3
|
||||||
fetchFilter: blob:none
|
|
||||||
${{ if ne(parameters.sparseCheckoutDir, '') }}:
|
|
||||||
sparseCheckoutDirectories: ${{ parameters.sparseCheckoutDir }} shared
|
|
||||||
path: sparse
|
|
||||||
- ${{ if ne(parameters.sparseCheckoutDir, '') }}:
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Symlink sparse checkout
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: ln -s $(Agent.BuildDirectory)/sparse/${{ parameters.sparseCheckoutDir }} $(Agent.BuildDirectory)/s
|
|
||||||
|
|||||||
@@ -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,28 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- name: cmakeVersion
|
|
||||||
type: string
|
|
||||||
default: '3.31.0'
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Install CMake ${{ parameters.cmakeVersion }}
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
CMAKE_VERSION=${{ parameters.cmakeVersion }}
|
|
||||||
CMAKE_ROOT="$(Pipeline.Workspace)/cmake"
|
|
||||||
|
|
||||||
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
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user