mirror of
https://github.com/ROCm/ROCm.git
synced 2026-01-21 04:28:01 -05:00
Compare commits
48 Commits
deep-710
...
docs/6.2.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6815b69793 | ||
|
|
2f192a4768 | ||
|
|
0f80a3b068 | ||
|
|
c5bf17e358 | ||
|
|
5b7315f5b1 | ||
|
|
4302900e68 | ||
|
|
fe5fe6c4d0 | ||
|
|
aa5e1b98a9 | ||
|
|
8789d63887 | ||
|
|
0f61f2e8e0 | ||
|
|
f9586abf5a | ||
|
|
14f9c58e3a | ||
|
|
41383b3c77 | ||
|
|
2e7231fad2 | ||
|
|
ae158f00f6 | ||
|
|
275448a26e | ||
|
|
f6bf909ad1 | ||
|
|
6ae116f03c | ||
|
|
0c19e2da62 | ||
|
|
73d9fb01ab | ||
|
|
42085c14e6 | ||
|
|
e4774085da | ||
|
|
b6f9b58984 | ||
|
|
3b94287182 | ||
|
|
6366347c59 | ||
|
|
fc17a21260 | ||
|
|
e625ee55f6 | ||
|
|
78a93b63b2 | ||
|
|
b7be98cf43 | ||
|
|
4c0199abd9 | ||
|
|
84d44a7c3c | ||
|
|
f622b8796b | ||
|
|
6b2987d9b5 | ||
|
|
4c65fa36da | ||
|
|
18a14f8187 | ||
|
|
b9183c1b7d | ||
|
|
6c1ec0e9a4 | ||
|
|
f8fcdbeac6 | ||
|
|
0411a5a806 | ||
|
|
52ea80d262 | ||
|
|
a9d53e3d4e | ||
|
|
5ab19055ee | ||
|
|
a6f550d716 | ||
|
|
c835c16d68 | ||
|
|
af8f67a155 | ||
|
|
c32d002239 | ||
|
|
16dc949166 | ||
|
|
bf36a27e0b |
@@ -23,40 +23,8 @@ ROCm-CI Azure DevOps Pipelines contains markup language files that orchestrate b
|
|||||||
- [YAML schema](https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema/?view=azure-pipelines&viewFallbackFrom=azure-devops)
|
- [YAML schema](https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema/?view=azure-pipelines&viewFallbackFrom=azure-devops)
|
||||||
- [Azure Pipelines Task Index](https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/?view=azure-pipelines)
|
- [Azure Pipelines Task Index](https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/?view=azure-pipelines)
|
||||||
|
|
||||||
## VMSS Setup
|
|
||||||
|
|
||||||
The Azure VMSS used for build jobs have docker installed during provisioning through the Azure Portal's settings.
|
|
||||||
Select the VMSS, then go to Settings, Operating system.
|
|
||||||
In the Custom Data section, select to Modify Custom Data. Enter the code block below and Apply.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
#cloud-config
|
|
||||||
|
|
||||||
bootcmd:
|
|
||||||
- mkdir -p /etc/systemd/system/walinuxagent.service.d
|
|
||||||
- echo "[Unit]\nAfter=cloud-final.service" > /etc/systemd/system/walinuxagent.service.d/override.conf
|
|
||||||
- sed "s/After=multi-user.target//g" /lib/systemd/system/cloud-final.service > /etc/systemd/system/cloud-final.service
|
|
||||||
- systemctl daemon-reload
|
|
||||||
|
|
||||||
apt:
|
|
||||||
sources:
|
|
||||||
docker.list:
|
|
||||||
source: deb [arch=amd64] https://download.docker.com/linux/ubuntu $RELEASE stable
|
|
||||||
keyid: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88
|
|
||||||
|
|
||||||
packages:
|
|
||||||
- docker-ce
|
|
||||||
- docker-ce-cli
|
|
||||||
|
|
||||||
groups:
|
|
||||||
- docker
|
|
||||||
|
|
||||||
runcmd:
|
|
||||||
- usermod -aG docker $USER
|
|
||||||
- systemctl restart docker
|
|
||||||
- systemctl enable docker
|
|
||||||
```
|
|
||||||
|
|
||||||
## Disclaimer
|
## Disclaimer
|
||||||
|
|
||||||
The information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions, and typographical errors. The information contained herein is subject to change and may be rendered inaccurate for many reasons, including but not limited to product and roadmap changes, component and motherboard versionchanges, new model and/or product releases, product differences between differing manufacturers, software changes, BIOS flashes, firmware upgrades, or the like. Any computer system has risks of security vulnerabilities that cannot be completely prevented or mitigated.AMD assumes no obligation to update or otherwise correct or revise this information. However, AMD reserves the right to revise this information and to make changes from time to time to the content hereof without obligation of AMD to notify any person of such revisions or changes.THIS INFORMATION IS PROVIDED ‘AS IS.” AMD MAKES NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE CONTENTS HEREOF AND ASSUMES NO RESPONSIBILITY FOR ANY INACCURACIES, ERRORS, OR OMISSIONS THAT MAY APPEAR IN THIS INFORMATION. AMD SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT WILL AMD BE LIABLE TO ANY PERSON FOR ANY RELIANCE, DIRECT, INDIRECT, SPECIAL, OR OTHER CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF ANY INFORMATION CONTAINED HEREIN, EVEN IF AMD IS EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. AMD, the AMD Arrow logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. Other product names used in this publication are for identification purposes only and may be trademarks of their respective companies.
|
The information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions, and typographical errors. The information contained herein is subject to change and may be rendered inaccurate for many reasons, including but not limited to product and roadmap changes, component and motherboard versionchanges, new model and/or product releases, product differences between differing manufacturers, software changes, BIOS flashes, firmware upgrades, or the like. Any computer system has risks of security vulnerabilities that cannot be completely prevented or mitigated.AMD assumes no obligation to update or otherwise correct or revise this information. However, AMD reserves the right to revise this information and to make changes from time to time to the content hereof without obligation of AMD to notify any person of such revisions or changes.THIS INFORMATION IS PROVIDED ‘AS IS.” AMD MAKES NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE CONTENTS HEREOF AND ASSUMES NO RESPONSIBILITY FOR ANY INACCURACIES, ERRORS, OR OMISSIONS THAT MAY APPEAR IN THIS INFORMATION. AMD SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT WILL AMD BE LIABLE TO ANY PERSON FOR ANY RELIANCE, DIRECT, INDIRECT, SPECIAL, OR OTHER CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF ANY INFORMATION CONTAINED HEREIN, EVEN IF AMD IS EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. AMD, the AMD Arrow logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. Other product names used in this publication are for identification purposes only and may be trademarks of their respective companies.
|
||||||
|
|
||||||
|
© 2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
||||||
|
|||||||
@@ -4,21 +4,11 @@ variables:
|
|||||||
|
|
||||||
resources:
|
resources:
|
||||||
repositories:
|
repositories:
|
||||||
- repository: aomp_repo
|
- repository: release_repo
|
||||||
type: github
|
type: github
|
||||||
endpoint: ROCm
|
endpoint: ROCm
|
||||||
name: ROCm/aomp
|
name: ROCm/aomp
|
||||||
ref: aomp-dev
|
ref: aomp-dev
|
||||||
- repository: aomp-extras_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/aomp-extras
|
|
||||||
ref: aomp-dev
|
|
||||||
- repository: flang_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/flang
|
|
||||||
ref: aomp-dev
|
|
||||||
- repository: llvm-project_repo
|
- repository: llvm-project_repo
|
||||||
type: github
|
type: github
|
||||||
endpoint: ROCm
|
endpoint: ROCm
|
||||||
@@ -27,10 +17,7 @@ resources:
|
|||||||
pipelines:
|
pipelines:
|
||||||
- pipeline: rocr-runtime_pipeline
|
- pipeline: rocr-runtime_pipeline
|
||||||
source: \ROCR-Runtime
|
source: \ROCR-Runtime
|
||||||
trigger:
|
trigger: true
|
||||||
branches:
|
|
||||||
include:
|
|
||||||
- amd-staging
|
|
||||||
# this job will only be triggered after successful build sequence of llvm-project and ROCR-Runtime
|
# this job will only be triggered after successful build sequence of llvm-project and ROCR-Runtime
|
||||||
|
|
||||||
trigger: none
|
trigger: none
|
||||||
@@ -39,4 +26,4 @@ pr: none
|
|||||||
jobs:
|
jobs:
|
||||||
- template: ${{ variables.CI_COMPONENT_PATH }}/aomp.yml
|
- template: ${{ variables.CI_COMPONENT_PATH }}/aomp.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: aomp_repo
|
checkoutRepo: release_repo
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml@pipelines_repo
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: pipelinesRepoRef
|
|
||||||
type: string
|
|
||||||
default: refs/heads/develop
|
|
||||||
- name: librariesRepoRef
|
|
||||||
type: string
|
|
||||||
default: refs/heads/develop
|
|
||||||
|
|
||||||
resources:
|
|
||||||
repositories:
|
|
||||||
- repository: pipelines_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/ROCm
|
|
||||||
ref: ${{ parameters.pipelinesRepoRef }}
|
|
||||||
- repository: libraries_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/rocm-libraries
|
|
||||||
ref: ${{ parameters.librariesRepoRef }}
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
pr: none
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: /.azuredevops/ci-builds/mathlibs.yml@pipelines_repo
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: libraries_repo
|
|
||||||
buildDependsOn: false
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
# entrypoint for kicking off a unified build of the mathlibs
|
|
||||||
# this template is designed to be called by another pipeline (llvm, clr, etc.)
|
|
||||||
# `buildDependsOn` will need to be set when calling this template
|
|
||||||
# passes a `unifiedBuild` param to downstream pipelines, which will prevent duplicate jobs
|
|
||||||
# logic needs to be added in individual mathlib pipelines for handling `unifiedBuild`
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: checkoutRepo
|
|
||||||
type: string
|
|
||||||
default: monorepo
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: false
|
|
||||||
- name: downstreamComponentMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- rocRAND:
|
|
||||||
name: rocRAND
|
|
||||||
sparseCheckoutDir: projects/rocrand
|
|
||||||
- rocPRIM:
|
|
||||||
name: rocPRIM
|
|
||||||
sparseCheckoutDir: projects/rocprim
|
|
||||||
- hipBLAS-common:
|
|
||||||
name: hipBLAS-common
|
|
||||||
sparseCheckoutDir: projects/hipblas-common
|
|
||||||
# - composable_kernel:
|
|
||||||
# name: composable_kernel
|
|
||||||
# sparseCheckoutDir: projects/composablekernel
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
|
||||||
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
|
||||||
buildDependsOn: ${{ parameters.buildDependsOn }}
|
|
||||||
triggerDownstreamJobs: true
|
|
||||||
unifiedBuild: true
|
|
||||||
@@ -1,240 +1,105 @@
|
|||||||
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:
|
||||||
- cmake
|
|
||||||
- git
|
- git
|
||||||
- libdnnl-dev
|
- cmake
|
||||||
- libdrm-dev
|
|
||||||
- libmsgpack-dev
|
|
||||||
- libnuma-dev
|
|
||||||
- libprotobuf-dev
|
|
||||||
- libsqlite3-dev
|
|
||||||
- libtbb-dev
|
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- nlohmann-json3-dev
|
- libnuma-dev
|
||||||
- protobuf-compiler
|
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- python3-pybind11
|
|
||||||
- python3-venv
|
- python3-venv
|
||||||
|
- libtbb-dev
|
||||||
|
- nlohmann-json3-dev
|
||||||
|
- libmsgpack-dev
|
||||||
|
- libsqlite3-dev
|
||||||
|
- libprotobuf-dev
|
||||||
|
- protobuf-compiler
|
||||||
|
- python3-pybind11
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
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:
|
||||||
- aomp
|
|
||||||
- aomp-extras
|
|
||||||
- clr
|
|
||||||
- composable_kernel
|
|
||||||
- hipBLAS
|
|
||||||
- hipBLAS-common
|
|
||||||
- hipBLASLt
|
|
||||||
- llvm-project
|
|
||||||
- MIOpen
|
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
|
- llvm-project
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocBLAS
|
- clr
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocMLIR
|
- rocMLIR
|
||||||
- rocprofiler-register
|
- MIOpen
|
||||||
- roctracer
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- aomp
|
- aomp
|
||||||
- aomp-extras
|
- aomp-extras
|
||||||
- clr
|
|
||||||
- composable_kernel
|
|
||||||
- hipBLAS
|
|
||||||
- hipBLAS-common
|
|
||||||
- hipBLASLt
|
|
||||||
- llvm-project
|
|
||||||
- MIOpen
|
|
||||||
- rocm-cmake
|
|
||||||
- ROCR-Runtime
|
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
- rocminfo
|
- composable_kernel
|
||||||
- rocMLIR
|
|
||||||
- rocprofiler-register
|
|
||||||
- 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
|
gfx90a:
|
||||||
steps:
|
JOB_GPU_TARGET: gfx90a
|
||||||
- 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 }}
|
||||||
- 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:
|
||||||
# half version should be fixed to 5.6.0
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
# half version should be fixed to 5.6.0
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
buildType: specific
|
parameters:
|
||||||
definitionId: ${{ variables.HALF560_PIPELINE_ID }}
|
dependencySource: fixed
|
||||||
buildId: ${{ variables.HALF560_BUILD_ID }}
|
fixedComponentName: half
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
fixedPipelineIdentifier: $(half560-pipeline-id)
|
||||||
parameters:
|
skipLibraryLinking: true
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
skipLlvmSymlink: true
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
# CI case: download latest default branch build
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
parameters:
|
dependencySource: staging
|
||||||
extraBuildFlags: >-
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
dependencySource: tag-builds
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
- 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/llvm;$(Agent.BuildDirectory)/rocm
|
extraBuildFlags: >-
|
||||||
-DHALF_INCLUDE_DIR=$(Agent.BuildDirectory)/rocm/include
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
||||||
-DBUILD_TESTING=ON
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
||||||
-GNinja
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
parameters:
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm
|
||||||
gpuTarget: ${{ job.target }}
|
-DHALF_INCLUDE_DIR=$(Agent.BuildDirectory)/rocm/include
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
-DMIGRAPHX_USE_COMPOSABLEKERNEL=OFF
|
||||||
parameters:
|
-DBUILD_TESTING=ON
|
||||||
gpuTarget: ${{ job.target }}
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
# REFERENCE: https://github.com/ROCm/composable_kernel/issues/782
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
|
||||||
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ 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
|
|
||||||
- name: MIGRAPHX_TRACE_BENCHMARKING
|
|
||||||
value: 1
|
|
||||||
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 }}
|
|
||||||
- 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
|
|
||||||
# half version should be fixed to 5.6.0
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
buildType: specific
|
|
||||||
definitionId: ${{ variables.HALF560_PIPELINE_ID }}
|
|
||||||
buildId: ${{ variables.HALF560_BUILD_ID }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- task: CMake@1
|
|
||||||
displayName: MIGraphXTest CMake Flags
|
|
||||||
inputs:
|
|
||||||
cmakeArgs: >-
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm
|
|
||||||
-DHALF_INCLUDE_DIR=$(Agent.BuildDirectory)/rocm/include
|
|
||||||
-DBUILD_TESTING=ON
|
|
||||||
-DMIGRAPHX_ENABLE_C_API_TEST=ON
|
|
||||||
..
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
testExecutable: make
|
|
||||||
testParameters: -j$(nproc) check
|
|
||||||
testPublishResults: false
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
extraEnvVars:
|
|
||||||
- MIGRAPHX_TRACE_BENCHMARKING:::1
|
|
||||||
|
|||||||
@@ -1,45 +1,18 @@
|
|||||||
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
|
|
||||||
- libnuma-dev
|
- libnuma-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
|
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -48,87 +21,121 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- llvm-project
|
- llvm-project
|
||||||
|
- ROCT-Thunk-Interface
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- name: rocmDependenciesNvidia
|
- name: rocmDependenciesNvidia
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- ROCR-Runtime
|
|
||||||
|
|
||||||
- name: jobMatrix
|
# hip and clr are tightly-coupled
|
||||||
type: object
|
# run this same template for both repos
|
||||||
default:
|
# any changes for clr should just trigger HIP pipeline
|
||||||
buildJobs:
|
# similarly for hipother repo, for Nvidia backend
|
||||||
- { os: ubuntu2204, packageManager: apt, platform: amd }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, platform: nvidia }
|
|
||||||
- { os: almalinux8, packageManager: dnf, platform: amd }
|
|
||||||
- { os: almalinux8, packageManager: dnf, platform: nvidia }
|
|
||||||
|
|
||||||
|
# HIP with AMD backend
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: hip_clr_combined_amd
|
||||||
- job: ${{ parameters.componentName }}_${{ job.os }}_${{ job.platform }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool:
|
||||||
- ${{ build }}_${{ job.os }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
pool:
|
workspace:
|
||||||
vmImage: 'ubuntu-22.04'
|
clean: all
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
steps:
|
||||||
container:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
parameters:
|
||||||
endpoint: ContainerService3
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
variables:
|
pipModules: ${{ parameters.pipModules }}
|
||||||
- group: common
|
# checkout triggering repo (either HIP or clr)
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
workspace:
|
parameters:
|
||||||
clean: all
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
steps:
|
# if this is triggered by HIP repo, matching repo is clr
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
# if this is triggered by clr repo, matching repo is HIP
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
pipModules: ${{ parameters.pipModules }}
|
checkoutRepo: matching_repo
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
# full checkout of rocm-systems superrepo, we need clr, hip, and hipother
|
checkoutRepo: hipother_repo
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
dependencyList: ${{ parameters.rocmDependenciesAMD }}
|
||||||
# sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
# CI case: download latest default branch build
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
parameters:
|
dependencySource: staging
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
os: ${{ job.os }}
|
dependencySource: tag-builds
|
||||||
${{ if eq(job.platform, 'amd') }}:
|
# compile clr
|
||||||
dependencyList: ${{ parameters.rocmDependenciesAMD }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
${{ elseif eq(job.platform, 'nvidia') }}:
|
parameters:
|
||||||
dependencyList: ${{ parameters.rocmDependenciesNvidia }}
|
componentName: clr
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
cmakeBuildDir: 'clr/build'
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DHIP_COMMON_DIR=$(Build.SourcesDirectory)/HIP
|
||||||
parameters:
|
-DHIP_PLATFORM=amd
|
||||||
componentName: clr
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
cmakeBuildDir: $(Agent.BuildDirectory)/s/projects/clr/build
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
cmakeSourceDir: $(Agent.BuildDirectory)/s/projects/clr
|
-DHIPCC_BIN_DIR=$(Agent.BuildDirectory)/rocm/bin
|
||||||
os: ${{ job.os }}
|
-DCLR_BUILD_HIP=ON
|
||||||
useAmdclang: false
|
-DCLR_BUILD_OCL=ON
|
||||||
extraBuildFlags: >-
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
parameters:
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
artifactName: amd
|
||||||
-DHIPCC_BIN_DIR=$(Agent.BuildDirectory)/rocm/bin
|
|
||||||
-DHIP_COMMON_DIR=$(Agent.BuildDirectory)/s/projects/hip
|
# HIP with Nvidia backend
|
||||||
-DHIPNV_DIR=$(Agent.BuildDirectory)/s/projects/hipother/hipnv
|
- job: hip_clr_combined_nvidia
|
||||||
-DHIP_PLATFORM=${{ job.platform }}
|
variables:
|
||||||
-DCLR_BUILD_HIP=ON
|
- group: common
|
||||||
-DCLR_BUILD_OCL=ON
|
- template: /.azuredevops/variables-global.yml
|
||||||
-GNinja
|
pool:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
parameters:
|
workspace:
|
||||||
artifactName: ${{ job.platform }}
|
clean: all
|
||||||
os: ${{ job.os }}
|
steps:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
artifactName: ${{ job.platform }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
os: ${{ job.os }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.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:
|
||||||
|
dependencyList: ${{ parameters.rocmDependenciesNvidia }}
|
||||||
|
# CI case: download latest default branch build
|
||||||
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
|
dependencySource: staging
|
||||||
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
|
dependencySource: tag-builds
|
||||||
|
- 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
|
||||||
|
|||||||
@@ -1,155 +1,52 @@
|
|||||||
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-pip
|
|
||||||
- name: pipModules
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- lit
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- llvm-project
|
- 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
|
pool:
|
||||||
pool:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
workspace:
|
||||||
name: rocm-ci_medium_build_pool_2404
|
clean: all
|
||||||
${{ else }}:
|
steps:
|
||||||
name: ${{ variables.MEDIUM_BUILD_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
parameters:
|
||||||
container:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
endpoint: ContainerService3
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
workspace:
|
parameters:
|
||||||
clean: all
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- task: Bash@3
|
parameters:
|
||||||
displayName: 'Register CUDA packages'
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
inputs:
|
# CI case: download latest default branch build
|
||||||
targetType: inline
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
${{ if eq(job.os, 'ubuntu2204') }}:
|
dependencySource: staging
|
||||||
script: |
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
sudo dpkg -i cuda-keyring_1.1-1_all.deb
|
dependencySource: tag-builds
|
||||||
sudo rm -f cuda-keyring_1.1-1_all.deb
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
sudo apt update
|
parameters:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
extraBuildFlags: >-
|
||||||
script: |
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
parameters:
|
-GNinja
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Add lit to PATH
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
site_packages=$(python3 -m site --user-base)/bin
|
|
||||||
sudo ln -sf $site_packages/bin/lit $(Pipeline.Workspace)/llvm-lit
|
|
||||||
echo "##vso[task.prependpath]$site_packages"
|
|
||||||
- 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 }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
|
||||||
# cutensor is not available from apt or dnf
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'Download and install cutensor'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
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
|
|
||||||
tar -xvJf libcutensor-linux-x86_64-*.tar.xz
|
|
||||||
mkdir -p $(Pipeline.Workspace)/cutensor
|
|
||||||
cp -r libcutensor-linux-x86_64-*/* $(Pipeline.Workspace)/cutensor/
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'List downloaded CUDA files'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: ls -la1R /usr/local/cuda-12.9
|
|
||||||
# script: cp $(Pipeline.Workspace)/llvm-project/llvm/build/bin/FileCheck $(Pipeline.Workspace)/llvm/bin
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
consolidateBuildAndInstall: true
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;/usr/local/cuda/targets/x86_64-linux/lib
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
|
||||||
-DHIPIFY_CLANG_TESTS=ON
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-12.9
|
|
||||||
-DCUDA_DNN_ROOT_DIR=/usr/local/cuda-12.9
|
|
||||||
-DCUDA_CUB_ROOT_DIR=/usr/local/cuda-12.9/targets/x86_64-linux/include/cub
|
|
||||||
-DCUDA_TENSOR_ROOT_DIR=$(Pipeline.Workspace)/cutensor/
|
|
||||||
multithreadFlag: -- -j32
|
|
||||||
- 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/test.yml
|
|
||||||
# parameters:
|
|
||||||
# componentName: HIPIFY
|
|
||||||
# testDir: $(Build.SourcesDirectory)/build
|
|
||||||
# testExecutable: make
|
|
||||||
# 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,61 +1,33 @@
|
|||||||
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
|
|
||||||
- jq
|
|
||||||
- libdrm-dev
|
|
||||||
- libmsgpack-dev
|
|
||||||
- libsqlite3-dev
|
|
||||||
- libstdc++-12-dev
|
|
||||||
- ninja-build
|
|
||||||
- python3-pip
|
|
||||||
- python3-venv
|
|
||||||
- software-properties-common
|
- software-properties-common
|
||||||
- zip
|
- python3-pip
|
||||||
- name: pipModules
|
- cmake
|
||||||
type: object
|
- ninja-build
|
||||||
default:
|
- libsqlite3-dev
|
||||||
- cget
|
- libbz2-dev
|
||||||
|
- nlohmann-json3-dev
|
||||||
|
- libgtest-dev
|
||||||
|
- libdrm-dev
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- half
|
- rocMLIR
|
||||||
- rocRAND
|
- rocRAND
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
- hipBLAS
|
- hipBLAS
|
||||||
- hipBLASLt
|
- hipBLASLt
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
|
- half
|
||||||
|
- composable_kernel
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
@@ -63,228 +35,62 @@ parameters:
|
|||||||
- clr
|
- clr
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- roctracer
|
- roctracer
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- half
|
|
||||||
- hipBLAS
|
|
||||||
- hipBLAS-common
|
|
||||||
- hipBLASLt
|
|
||||||
- llvm-project
|
|
||||||
- rocBLAS
|
|
||||||
- rocm-cmake
|
|
||||||
- rocminfo
|
|
||||||
- ROCR-Runtime
|
|
||||||
- rocprofiler-register
|
|
||||||
- rocRAND
|
|
||||||
- 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.LARGE_DISK_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 }}
|
gfx90a:
|
||||||
workspace:
|
JOB_GPU_TARGET: gfx90a
|
||||||
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 }}
|
# The default boost library from apt is 1.74, which does not satisfy MIOpen's build requirement (1.79+)
|
||||||
pipModules: ${{ parameters.pipModules }}
|
# Upgrade boost from apt by following https://launchpad.net/~mhier/+archive/ubuntu/libboost-latest
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
- task: Bash@3
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
displayName: 'update boost version'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
inputs:
|
||||||
parameters:
|
targetType: inline
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
script: sudo add-apt-repository ppa:mhier/libboost-latest -y
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
- task: Bash@3
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/miopen-get-ck-build.yml
|
displayName: 'install boost'
|
||||||
parameters:
|
inputs:
|
||||||
gpuTarget: ${{ job.target }}
|
targetType: inline
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
script: sudo apt-get --yes install libboost1.83-dev libboost-system1.83-dev libboost-filesystem1.83-dev
|
||||||
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.target }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
parameters:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- task: Bash@3
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
displayName: Build and install other dependencies
|
# CI case: download latest default branch build
|
||||||
retryCountOnTaskFailure: 3
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
inputs:
|
dependencySource: staging
|
||||||
targetType: inline
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
workingDirectory: $(Agent.BuildDirectory)/s
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
script: |
|
dependencySource: tag-builds
|
||||||
sed -i '/composable_kernel/d' requirements.txt
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
mkdir -p $(Agent.BuildDirectory)/miopen-deps
|
parameters:
|
||||||
export CXX=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
extraBuildFlags: >-
|
||||||
export CC=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
-DMIOPEN_BACKEND=HIP
|
||||||
cmake -P install_deps.cmake --prefix $(Agent.BuildDirectory)/miopen-deps --generator Ninja
|
-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:
|
-DMIOPEN_ENABLE_AI_KERNEL_TUNING=OFF
|
||||||
extraBuildFlags: >-
|
-DMIOPEN_ENABLE_AI_IMMED_MODE_FALLBACK=OFF
|
||||||
-DMIOPEN_BACKEND=HIP
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DBUILD_TESTING=ON
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/miopen-deps
|
-GNinja
|
||||||
-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
|
|
||||||
-DBUILD_TESTING=ON
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- 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 }}
|
|
||||||
extraCopyDirectories:
|
|
||||||
- miopen-deps
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
|
||||||
timeoutInMinutes: 180
|
|
||||||
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
- name: ROCM_PATH
|
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
|
||||||
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 }}
|
|
||||||
- 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-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/miopen-get-ck-build.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build and install other dependencies
|
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)/s
|
|
||||||
script: |
|
|
||||||
sed -i '/composable_kernel/d' requirements.txt
|
|
||||||
mkdir -p $(Agent.BuildDirectory)/miopen-deps
|
|
||||||
export CXX=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
export CC=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
|
||||||
cmake -P install_deps.cmake --prefix $(Agent.BuildDirectory)/miopen-deps
|
|
||||||
- task: CMake@1
|
|
||||||
displayName: 'MIOpen Test CMake Flags'
|
|
||||||
inputs:
|
|
||||||
cmakeArgs: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/s/bin;$(Agent.BuildDirectory)/miopen-deps
|
|
||||||
-DCMAKE_INSTALL_PREFIX=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
|
||||||
-DMIOPEN_BACKEND=HIP
|
|
||||||
-DMIOPEN_TEST_FLAGS=" --disable-verification-cache"
|
|
||||||
-DCMAKE_BUILD_TYPE=release
|
|
||||||
-DBUILD_DEV=OFF
|
|
||||||
-DMIOPEN_USE_MLIR=ON
|
|
||||||
-DMIOPEN_GPU_SYNC=OFF
|
|
||||||
$(Agent.BuildDirectory)/s
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'MIOpen Test Build'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
workingDirectory: build
|
|
||||||
script: |
|
|
||||||
cmake --build . --target tests -- -j$(nproc)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
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"'
|
|
||||||
- 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,213 +1,105 @@
|
|||||||
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:
|
||||||
- cmake
|
- cmake
|
||||||
- ninja-build
|
- ninja-build
|
||||||
|
- git
|
||||||
- wget
|
- wget
|
||||||
- unzip
|
- unzip
|
||||||
- libstdc++-12-dev
|
|
||||||
- pkg-config
|
- pkg-config
|
||||||
|
- protobuf-compiler
|
||||||
|
- libprotoc-dev
|
||||||
- ffmpeg
|
- ffmpeg
|
||||||
- libavcodec-dev
|
- libavcodec-dev
|
||||||
- libavformat-dev
|
- libavformat-dev
|
||||||
- libavutil-dev
|
- libavutil-dev
|
||||||
- libswscale-dev
|
- libswscale-dev
|
||||||
|
- build-essential
|
||||||
|
- libgtk2.0-dev
|
||||||
|
- libavcodec-dev
|
||||||
|
- libavformat-dev
|
||||||
|
- libswscale-dev
|
||||||
|
- libtbb2
|
||||||
|
- libtbb-dev
|
||||||
|
- libjpeg-dev
|
||||||
|
- libpng-dev
|
||||||
|
- libtiff-dev
|
||||||
|
- libdc1394-dev
|
||||||
- libgmp-dev
|
- libgmp-dev
|
||||||
- libomp-dev
|
|
||||||
- libopencv-dev
|
- libopencv-dev
|
||||||
- protobuf-compiler
|
|
||||||
- libprotoc-dev
|
|
||||||
- python3-pip
|
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- future==1.0.0
|
- future==0.18.2
|
||||||
- pytz==2022.1
|
- pytz==2022.1
|
||||||
- numpy==1.23
|
- numpy==1.21
|
||||||
- google==3.0.0
|
- google==3.0.0
|
||||||
- protobuf==3.12.4
|
- protobuf==3.12.4
|
||||||
- onnx==1.12.0
|
- onnx==1.12.0
|
||||||
- nnef==1.0.7
|
|
||||||
- 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
|
|
||||||
- rpp
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- aomp
|
|
||||||
- clr
|
|
||||||
- half
|
- half
|
||||||
- hipBLAS-common
|
|
||||||
- hipBLASLt
|
|
||||||
- llvm-project
|
|
||||||
- MIOpen
|
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
- rocprofiler-register
|
- MIOpen
|
||||||
- ROCR-Runtime
|
- AMDMIGraphX
|
||||||
- roctracer
|
|
||||||
- rpp
|
- rpp
|
||||||
|
- rocDecode
|
||||||
- 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:
|
||||||
- ${{ build }}_ubuntu2204_${{ job.target }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
variables:
|
workspace:
|
||||||
- group: common
|
clean: all
|
||||||
- template: /.azuredevops/variables-global.yml
|
strategy:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
matrix:
|
||||||
workspace:
|
gfx942:
|
||||||
clean: all
|
JOB_GPU_TARGET: gfx942
|
||||||
steps:
|
gfx90a:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
JOB_GPU_TARGET: gfx90a
|
||||||
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/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 }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
# CI case: download latest default branch build
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
dependencySource: staging
|
||||||
parameters:
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
extraBuildFlags: >-
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
dependencySource: tag-builds
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
-DROCM_DEP_ROCMCORE=ON
|
parameters:
|
||||||
-GNinja
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
parameters:
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
gpuTarget: ${{ job.target }}
|
-DROCM_DEP_ROCMCORE=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
-GNinja
|
||||||
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
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# pipModules: ${{ parameters.pipModules }}
|
|
||||||
# gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
|
||||||
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ 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
|
|
||||||
- name: LD_LIBRARY_PATH
|
|
||||||
value: $(Agent.BuildDirectory)/rocm/lib:$(Agent.BuildDirectory)/rocm/include/mivisionx/VX
|
|
||||||
pool: ${{ job.target }}_test_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/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build MIVisionX tests
|
|
||||||
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
|
|
||||||
mkdir mivisionx-tests
|
|
||||||
cd mivisionx-tests
|
|
||||||
cmake $(Agent.BuildDirectory)/rocm/share/mivisionx/test
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
testDir: 'mivisionx-tests'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
optSymLink: true
|
|
||||||
|
|||||||
@@ -1,221 +1,53 @@
|
|||||||
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:
|
||||||
- cmake
|
- libelf-dev
|
||||||
- g++
|
- g++
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- libelf-dev
|
|
||||||
- libnuma-dev
|
- libnuma-dev
|
||||||
- libsimde-dev
|
|
||||||
- ninja-build
|
|
||||||
- pkg-config
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- llvm-project
|
- llvm-project
|
||||||
|
- ROCT-Thunk-Interface
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- amdsmi
|
|
||||||
- llvm-project
|
|
||||||
- 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:
|
||||||
- ${{ build }}_${{ job.os }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
pool:
|
workspace:
|
||||||
vmImage: 'ubuntu-22.04'
|
clean: all
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
steps:
|
||||||
container:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
parameters:
|
||||||
endpoint: ContainerService3
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
variables:
|
- 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
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
# CI case: download latest default branch build
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
packageManager: ${{ job.packageManager }}
|
dependencySource: staging
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
parameters:
|
dependencySource: tag-builds
|
||||||
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_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
cmakeBuildDir: 'src/build'
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
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) }}:
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: ROCR_Runtime_test_${{ job.os }}_${{ job.target }}
|
|
||||||
dependsOn: ROCR_Runtime_build_${{ job.os }}
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
pool: ${{ job.target }}_test_pool
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- 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/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
parameters:
|
|
||||||
runRocminfo: false
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build kfdtest
|
|
||||||
inputs:
|
|
||||||
targetType: 'inline'
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)/s/libhsakmt/tests/kfdtest
|
|
||||||
script: |
|
|
||||||
if [ -e /opt/rh/gcc-toolset-14/enable ]; then
|
|
||||||
source /opt/rh/gcc-toolset-14/enable
|
|
||||||
fi
|
|
||||||
mkdir build && cd build
|
|
||||||
cmake -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm ..
|
|
||||||
make
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: kfdtest
|
|
||||||
testExecutable: BIN_DIR=$(Agent.BuildDirectory)/s/libhsakmt/tests/kfdtest/build ./run_kfdtest.sh
|
|
||||||
testParameters: '-p core --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
|
||||||
testDir: $(Agent.BuildDirectory)/s/libhsakmt/tests/kfdtest/scripts
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build rocrtst
|
|
||||||
inputs:
|
|
||||||
targetType: 'inline'
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)/s/rocrtst/suites/test_common
|
|
||||||
script: |
|
|
||||||
echo $(Agent.BuildDirectory)/s/rocrtst/thirdparty/lib | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
|
||||||
sudo cat /etc/ld.so.conf.d/rocm-ci.conf
|
|
||||||
sudo ldconfig -v
|
|
||||||
ldconfig -p
|
|
||||||
if [ -e /opt/rh/gcc-toolset-14/enable ]; then
|
|
||||||
source /opt/rh/gcc-toolset-14/enable
|
|
||||||
fi
|
|
||||||
BASE_CLANG_DIR=$(Agent.BuildDirectory)/rocm/llvm/lib/clang
|
|
||||||
export NEWEST_CLANG_VER=$(ls -1 $BASE_CLANG_DIR | sort -V | tail -n 1)
|
|
||||||
mkdir build && cd build
|
|
||||||
cmake .. \
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm \
|
|
||||||
-DTARGET_DEVICES=${{ job.target }} \
|
|
||||||
-DROCM_DIR=$(Agent.BuildDirectory)/rocm \
|
|
||||||
-DLLVM_DIR=$(Agent.BuildDirectory)/rocm/llvm/bin \
|
|
||||||
-DOPENCL_INC_DIR=$BASE_CLANG_DIR/$NEWEST_CLANG_VER/include
|
|
||||||
make
|
|
||||||
make rocrtst_kernels
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: rocrtst
|
|
||||||
testExecutable: ./rocrtst64
|
|
||||||
testParameters: '--gtest_filter="-rocrtstNeg.Memory_Negative_Tests:rocrtstFunc.Memory_Max_Mem" --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
|
||||||
testDir: $(Agent.BuildDirectory)/s//rocrtst/suites/test_common/build/${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
# docker image will be missing libhwloc5
|
|
||||||
|
|||||||
@@ -16,7 +16,8 @@ jobs:
|
|||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: ${{ variables.LOW_BUILD_POOL }}
|
pool:
|
||||||
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
@@ -28,5 +29,4 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.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:
|
||||||
@@ -23,57 +18,36 @@ parameters:
|
|||||||
- rocminfo
|
- rocminfo
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
|
||||||
- { os: almalinux8, packageManager: dnf }
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: ROCdbgapi
|
||||||
- job: ROCdbgapi_build_${{ job.os }}
|
variables:
|
||||||
pool:
|
- group: common
|
||||||
vmImage: 'ubuntu-22.04'
|
- template: /.azuredevops/variables-global.yml
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
pool:
|
||||||
container:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
workspace:
|
||||||
endpoint: ContainerService3
|
clean: all
|
||||||
variables:
|
steps:
|
||||||
- group: common
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
parameters:
|
||||||
workspace:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
packageManager: ${{ job.packageManager }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
# CI case: download latest default branch build
|
||||||
parameters:
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
dependencySource: staging
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
parameters:
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
dependencySource: tag-builds
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
parameters:
|
||||||
os: ${{ job.os }}
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
parameters:
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
os: ${{ job.os }}
|
-GNinja
|
||||||
useAmdclang: false
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
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,215 +1,35 @@
|
|||||||
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
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- bison
|
|
||||||
- cmake
|
|
||||||
- dejagnu
|
|
||||||
- flex
|
|
||||||
- libbabeltrace-dev
|
|
||||||
- libexpat-dev
|
|
||||||
- libgmp-dev
|
- libgmp-dev
|
||||||
- liblzma-dev
|
|
||||||
- libmpfr-dev
|
- libmpfr-dev
|
||||||
- ncurses-dev
|
|
||||||
- pkg-config
|
|
||||||
- python3-dev
|
|
||||||
- python3-pip
|
|
||||||
- texinfo
|
- texinfo
|
||||||
- zlib1g-dev
|
- bison
|
||||||
- name: rocmDependencies
|
- flex
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- ROCdbgapi
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- 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 }}
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool:
|
||||||
- name: PKG_CONFIG_PATH
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
value: $(Agent.BuildDirectory)/rocm/share/pkgconfig
|
workspace:
|
||||||
pool:
|
clean: all
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
steps:
|
||||||
name: rocm-ci_medium_build_pool_2404
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
${{ else }}:
|
parameters:
|
||||||
name: ${{ variables.MEDIUM_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/build-autotools.yml
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
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'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
- name: PKG_CONFIG_PATH
|
|
||||||
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,32 +5,20 @@ 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
|
||||||
- libdrm-dev
|
|
||||||
- libyaml-cpp-dev
|
- libyaml-cpp-dev
|
||||||
- libpci-dev
|
- libpci-dev
|
||||||
- libpci3
|
- libpci3
|
||||||
- libgst-dev
|
|
||||||
- libgtest-dev
|
- libgtest-dev
|
||||||
- git
|
- git
|
||||||
- python3-pip
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- amdsmi
|
|
||||||
- aomp
|
|
||||||
- clr
|
- clr
|
||||||
- hipBLAS-common
|
|
||||||
- hipBLASLt
|
|
||||||
- hipRAND
|
- hipRAND
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
@@ -40,133 +28,55 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocRAND
|
- rocRAND
|
||||||
- name: rocmTestDependencies
|
- ROCT-Thunk-Interface
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- amdsmi
|
|
||||||
- aomp
|
|
||||||
- clr
|
|
||||||
- hipBLAS-common
|
|
||||||
- hipBLASLt
|
|
||||||
- hipRAND
|
|
||||||
- llvm-project
|
|
||||||
- rocBLAS
|
|
||||||
- rocm_smi_lib
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
|
||||||
- rocRAND
|
|
||||||
- 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:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
strategy:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
matrix:
|
||||||
parameters:
|
gfx942:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
JOB_GPU_TARGET: gfx942
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
gfx90a:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
JOB_GPU_TARGET: gfx90a
|
||||||
parameters:
|
steps:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
# CI case: download latest default branch build
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
-DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/llvm/include
|
dependencySource: staging
|
||||||
-DCPACK_PACKAGING_INSTALL_PREFIX=$(Build.BinariesDirectory)
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
-GNinja
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
dependencySource: tag-builds
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
gpuTarget: ${{ job.target }}
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
-DCPACK_PACKAGING_INSTALL_PREFIX=$(Build.BinariesDirectory)
|
||||||
# parameters:
|
-GNinja
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
# gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
# extraEnvVars:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
# - HIP_ROCCLR_HOME:::/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_test_${{ job.target }}
|
|
||||||
dependsOn: ROCmValidationSuite_build_${{ job.target }}
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- 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 }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ROCmValidationSuite
|
|
||||||
testExecutable: $(Agent.BuildDirectory)/rocm/bin/rvs -c $(Agent.BuildDirectory)/rocm/share/rocm-validation-suite/conf/${{ job.confDir }}/gst_single.conf
|
|
||||||
testParameters: ''
|
|
||||||
testDir: $(Agent.BuildDirectory)
|
|
||||||
testPublishResults: false
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -1,221 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: Tensile
|
|
||||||
- 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
|
|
||||||
- libboost-filesystem-dev
|
|
||||||
- libboost-program-options-dev
|
|
||||||
- libmsgpack-dev
|
|
||||||
- name: pipModules
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- tox
|
|
||||||
- pytest
|
|
||||||
- name: rocmDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- aomp
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
|
||||||
- rocm-core
|
|
||||||
- rocminfo
|
|
||||||
- rocm_smi_lib
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
|
||||||
|
|
||||||
- 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:
|
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}
|
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn: ${{ parameters.buildDependsOn[job.target] }}
|
|
||||||
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/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Create wheel file
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: python3 setup.py bdist_wheel
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)/s
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Rename wheel file with job OS
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)/s
|
|
||||||
script: |
|
|
||||||
wheelFile=$(find "$(Agent.BuildDirectory)/s/dist" -type f -name "*.whl" | head -n 1)
|
|
||||||
newWheelFile="$(basename "$wheelFile" .whl)-${{ job.os }}.whl"
|
|
||||||
mv "$wheelFile" "$(dirname "$wheelFile")/$newWheelFile"
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
|
||||||
parameters:
|
|
||||||
sourceDir: $(Agent.BuildDirectory)/s/dist
|
|
||||||
contentsString: '*.whl'
|
|
||||||
targetDir: $(Build.ArtifactStagingDirectory)
|
|
||||||
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_test_${{ job.os }}_${{ job.target }}
|
|
||||||
timeoutInMinutes: 180
|
|
||||||
dependsOn: Tensile_build_${{ job.os }}
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
- name: ROCM_PATH
|
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
|
||||||
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/preamble.yml
|
|
||||||
- task: DownloadPipelineArtifact@2
|
|
||||||
displayName: 'Download Pipeline Wheel Files'
|
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
|
||||||
itemPattern: '**/*${{ job.os }}*.whl'
|
|
||||||
targetPath: $(Agent.BuildDirectory)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: pip install
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: find -name *.whl -exec pip install {} \;
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Setup test environment
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
# Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral
|
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
|
||||||
USER_BASE=$(python3 -m site --user-base)
|
|
||||||
echo "##vso[task.prependpath]$USER_BASE/bin"
|
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: tox test
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: tox run -v -e ci -- -m pre_checkin
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)/s
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
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
|
|
||||||
@@ -1,142 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- name: checkoutRepo
|
|
||||||
type: string
|
|
||||||
default: 'self'
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
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
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- cmake
|
|
||||||
- libnuma-dev
|
|
||||||
- ninja-build
|
|
||||||
- python3-pip
|
|
||||||
- name: rocmDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
|
||||||
- rocminfo
|
|
||||||
- ROCR-Runtime
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
|
||||||
- job: TransferBench_build_${{ job.target }}
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
pool:
|
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- 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.target }}
|
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
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 }}
|
|
||||||
# gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: TransferBench_test_${{ job.target }}
|
|
||||||
dependsOn: TransferBench_build_${{ job.target }}
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- 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 }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: TransferBench All-to-all
|
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
|
||||||
testExecutable: './rocm/bin/TransferBench'
|
|
||||||
testParameters: 'a2a'
|
|
||||||
testPublishResults: false
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: TransferBench Peer-to-peer
|
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
|
||||||
testExecutable: './rocm/bin/TransferBench'
|
|
||||||
testParameters: 'p2p'
|
|
||||||
testPublishResults: false
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
@@ -5,110 +5,30 @@ 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
|
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- ninja-build
|
|
||||||
- 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: amdsmi_build_${{ job.os }}
|
variables:
|
||||||
pool:
|
- group: common
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
- template: /.azuredevops/variables-global.yml
|
||||||
vmImage: 'ubuntu-24.04'
|
pool:
|
||||||
${{ else }}:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
vmImage: 'ubuntu-22.04'
|
workspace:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
clean: all
|
||||||
container:
|
steps:
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
endpoint: ContainerService3
|
parameters:
|
||||||
variables:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- group: common
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
workspace:
|
parameters:
|
||||||
clean: all
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
extraBuildFlags: >-
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
-DBUILD_TESTS=ON
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- 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/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 }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: amdsmi_test_${{ job.os }}_${{ job.target }}
|
|
||||||
dependsOn: amdsmi_build_${{ job.os }}
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
pool: ${{ job.target }}_test_pool
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
parameters:
|
|
||||||
runRocminfo: false
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: amdsmi
|
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
|
||||||
testExecutable: 'sudo ./rocm/share/amd_smi/tests/amdsmitst'
|
|
||||||
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 }}
|
|
||||||
|
|||||||
@@ -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:
|
||||||
@@ -42,9 +37,13 @@ jobs:
|
|||||||
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 }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
# CI case: download latest default branch build
|
||||||
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
|
dependencySource: staging
|
||||||
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
|
dependencySource: tag-builds
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: aomp-extras
|
componentName: aomp-extras
|
||||||
@@ -55,9 +54,4 @@ jobs:
|
|||||||
-DAOMP_VERSION_STRING=$(LATEST_RELEASE_TAG)
|
-DAOMP_VERSION_STRING=$(LATEST_RELEASE_TAG)
|
||||||
-GNinja
|
-GNinja
|
||||||
installDir: $(Build.BinariesDirectory)/llvm
|
installDir: $(Build.BinariesDirectory)/llvm
|
||||||
- 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/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
|
|||||||
@@ -1,280 +1,122 @@
|
|||||||
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
|
- name: offloadEnabled
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
# reference:
|
|
||||||
# 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
|
|
||||||
- libtool
|
|
||||||
- libudev-dev
|
|
||||||
- parallel
|
|
||||||
- pkg-config
|
|
||||||
- python3-dev
|
|
||||||
- python3-pip
|
|
||||||
- python3-setuptools
|
|
||||||
- texinfo
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
|
- rocm-cmake
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- name: rocmTestDependencies
|
- ROCT-Thunk-Interface
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocm-core
|
|
||||||
- rocminfo
|
|
||||||
- ROCR-Runtime
|
|
||||||
- rocprofiler-register
|
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
|
||||||
- { os: almalinux8, packageManager: dnf }
|
|
||||||
testJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
|
|
||||||
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:
|
||||||
pool:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
workspace:
|
||||||
name: rocm-ci_medium_build_pool_2404
|
clean: all
|
||||||
${{ else }}:
|
steps:
|
||||||
name: ${{ variables.MEDIUM_BUILD_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
parameters:
|
||||||
container:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
endpoint: ContainerService3
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
workspace:
|
parameters:
|
||||||
clean: all
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
checkoutRepo: llvm-project_repo
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
packageManager: ${{ job.packageManager }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
# checkout the repos tied to openmp-extras, plus llvm-project
|
# CI case: download latest default branch build
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
parameters:
|
dependencySource: staging
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
parameters:
|
dependencySource: tag-builds
|
||||||
checkoutRepo: aomp-extras_repo
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
componentName: llvm-openmp
|
||||||
checkoutRepo: flang_repo
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
-DOPENMP_ENABLE_LIBOMPTARGET=1
|
||||||
parameters:
|
-DOPENMP_TEST_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
||||||
checkoutRepo: llvm-project_repo
|
-DOPENMP_TEST_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
||||||
parameters:
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
||||||
dependencyList:
|
-DLIBOMPTARGET_AMDGCN_GFXLIST=gfx700;gfx701;gfx801;gfx803;gfx900;gfx902;gfx906;gfx908;gfx90a;gfx90c;gfx940;gfx941;gfx942;gfx1030;gfx1031;gfx1035;gfx1036;gfx1100;gfx1101;gfx1102;gfx1103
|
||||||
- gtest
|
-DDEVICELIBS_ROOT=$(Build.SourcesDirectory)/llvm-project/amd/device-libs
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
-DLIBOMP_COPY_EXPORTS=OFF
|
||||||
parameters:
|
-DLLVM_DIR=$(Agent.BuildDirectory)/rocm/llvm
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DLLVM_MAIN_INCLUDE_DIR=$(Build.SourcesDirectory)/llvm-project/llvm/include
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
-DLIBOMPTARGET_LLVM_INCLUDE_DIRS=$(Build.SourcesDirectory)/llvm-project/llvm/include
|
||||||
os: ${{ job.os }}
|
-DCUDA_TOOLKIT_ROOT_DIR=OFF
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/lib/cmake
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DCMAKE_SKIP_BUILD_RPATH=TRUE
|
||||||
|
-DCMAKE_SKIP_INSTALL_RPATH=TRUE
|
||||||
|
-DCMAKE_SHARED_LINKER_FLAGS_INIT=-Wl,--enable-new-dtags,--build-id=sha1,--rpath,$ORIGIN:$ORIGIN/../lib:$ORIGIN/../../lib:$ORIGIN/../../../lib
|
||||||
|
-DCMAKE_EXE_LINKER_FLAGS_INIT=-Wl,--enable-new-dtags,--build-id=sha1,--rpath,$ORIGIN/../lib:$ORIGIN/../../lib:$ORIGIN/../../../lib
|
||||||
|
-DCMAKE_MODULE_LINKER_FLAGS_INIT=-Wl,--enable-new-dtags,--build-id=sha1,--rpath,$ORIGIN:$ORIGIN/../lib:$ORIGIN/../../lib:$ORIGIN/../../../lib
|
||||||
|
-GNinja
|
||||||
|
cmakeBuildDir: $(Build.SourcesDirectory)/llvm-project/openmp/build
|
||||||
|
installDir: $(Build.BinariesDirectory)/llvm
|
||||||
|
# offload does not exist for recent releases, so use CI conditional
|
||||||
|
- ${{ if eq(parameters.offloadEnabled, true) }}:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
componentName: llvm-offload
|
||||||
useAmdclang: false
|
|
||||||
componentName: extras
|
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/aomp-extras/build'
|
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/aomp-extras'
|
|
||||||
installDir: '$(Build.BinariesDirectory)/llvm'
|
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DLLVM_DIR=$(Agent.BuildDirectory)/rocm/llvm
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DAOMP_STANDALONE_BUILD=0
|
|
||||||
-DAOMP_VERSION_STRING=9.99.99
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
componentName: openmp
|
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/llvm-project/openmp/build'
|
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/llvm-project/openmp'
|
|
||||||
installDir: '$(Build.BinariesDirectory)/llvm'
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Build.BinariesDirectory)"
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DOPENMP_TEST_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
|
||||||
-DOPENMP_TEST_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
|
||||||
-DOPENMP_ENABLE_LIBOMPTARGET=1
|
-DOPENMP_ENABLE_LIBOMPTARGET=1
|
||||||
-DLIBOMP_COPY_EXPORTS=OFF
|
|
||||||
-DLIBOMP_OMPD_SUPPORT=ON
|
|
||||||
-DCMAKE_SKIP_INSTALL_RPATH=TRUE
|
|
||||||
-DLLVM_MAIN_INCLUDE_DIR=$(Build.SourcesDirectory)/llvm-project/llvm/include
|
|
||||||
-DLIBOMP_FORTRAN_MODULES_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/flang
|
|
||||||
-DLIBOMP_MODULES_INSTALL_PATH=$(Build.BinariesDirectory)/llvm/include/flang/
|
|
||||||
multithreadFlag: -- -j32
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'ROCm symbolic link'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
componentName: offload
|
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/llvm-project/offload/build'
|
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/llvm-project/offload'
|
|
||||||
installDir: '$(Build.BinariesDirectory)/llvm'
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Build.BinariesDirectory)"
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DOPENMP_TEST_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
|
||||||
-DOPENMP_TEST_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
-DOPENMP_TEST_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
-DOPENMP_TEST_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_SKIP_INSTALL_RPATH=TRUE
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
||||||
|
-DLIBOMPTARGET_AMDGCN_GFXLIST=gfx700;gfx701;gfx801;gfx803;gfx900;gfx902;gfx906;gfx908;gfx90a;gfx90c;gfx940;gfx941;gfx942;gfx1030;gfx1031;gfx1035;gfx1036;gfx1100;gfx1101;gfx1102;gfx1103
|
||||||
|
-DLLVM_DIR=$(Agent.BuildDirectory)/rocm/llvm
|
||||||
-DLLVM_MAIN_INCLUDE_DIR=$(Build.SourcesDirectory)/llvm-project/llvm/include
|
-DLLVM_MAIN_INCLUDE_DIR=$(Build.SourcesDirectory)/llvm-project/llvm/include
|
||||||
-DLIBOMPTARGET_LLVM_INCLUDE_DIRS=$(Build.SourcesDirectory)/llvm-project/llvm/include
|
-DLIBOMPTARGET_LLVM_INCLUDE_DIRS=$(Build.SourcesDirectory)/llvm-project/llvm/include
|
||||||
-DCMAKE_EXE_LINKER_FLAGS="-L$(Agent.BuildDirectory)/rocm/llvm/lib"
|
-DCUDA_TOOLKIT_ROOT_DIR=OFF
|
||||||
-DCMAKE_SHARED_LINKER_FLAGS="-L$(Agent.BuildDirectory)/rocm/llvm/lib"
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/lib/cmake
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DCMAKE_SKIP_BUILD_RPATH=TRUE
|
||||||
|
-DCMAKE_SKIP_INSTALL_RPATH=TRUE
|
||||||
|
-DCMAKE_SHARED_LINKER_FLAGS_INIT=-Wl,--enable-new-dtags,--build-id=sha1,--rpath,$ORIGIN:$ORIGIN/../lib:$ORIGIN/../../lib:$ORIGIN/../../../lib
|
||||||
|
-DCMAKE_EXE_LINKER_FLAGS_INIT=-Wl,--enable-new-dtags,--build-id=sha1,--rpath,$ORIGIN/../lib:$ORIGIN/../../lib:$ORIGIN/../../../lib
|
||||||
|
-DCMAKE_MODULE_LINKER_FLAGS_INIT=-Wl,--enable-new-dtags,--build-id=sha1,--rpath,$ORIGIN:$ORIGIN/../lib:$ORIGIN/../../lib:$ORIGIN/../../../lib
|
||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
cmakeBuildDir: $(Build.SourcesDirectory)/llvm-project/offload/build
|
||||||
parameters:
|
installDir: $(Build.BinariesDirectory)/llvm
|
||||||
componentName: ${{ parameters.componentName }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- ${{ if eq(job.os, 'ubuntu2204') }}:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
pool: ${{ job.target }}_test_pool
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: ROCm symbolic link
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: aomp-extras_repo
|
|
||||||
# these copy steps are from the aomp prototype script for test prep
|
|
||||||
- task: CopyFiles@2
|
|
||||||
displayName: 'Copy AOMP contents'
|
|
||||||
inputs:
|
|
||||||
CleanTargetFolder: false
|
|
||||||
SourceFolder: $(Build.SourcesDirectory)/aomp
|
|
||||||
Contents: |
|
|
||||||
**
|
|
||||||
!**/.git/**
|
|
||||||
!**/.github/**
|
|
||||||
!**/.gitignore
|
|
||||||
TargetFolder: $(Agent.BuildDirectory)/rocm/share/openmp-extras/tests
|
|
||||||
retryCount: 3
|
|
||||||
- task: CopyFiles@2
|
|
||||||
displayName: 'Copy FileCheck'
|
|
||||||
inputs:
|
|
||||||
CleanTargetFolder: false
|
|
||||||
SourceFolder: $(Agent.BuildDirectory)/rocm/llvm/bin
|
|
||||||
Contents: FileCheck
|
|
||||||
TargetFolder: $(Agent.BuildDirectory)/rocm/share/openmp-extras/tests/bin
|
|
||||||
retryCount: 3
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Test AOMP
|
|
||||||
continueOnError: true
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: ./run_rocm_test.sh
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)/aomp/bin
|
|
||||||
env:
|
|
||||||
AOMP: $(Agent.BuildDirectory)/rocm/llvm
|
|
||||||
AOMP_REPOS_TEST: $(Build.SourcesDirectory)/aomp-test
|
|
||||||
AOMP_TEST_DIR: $(Build.SourcesDirectory)/aomp-test
|
|
||||||
SKIP_TEST_PACKAGE: 1
|
|
||||||
MAINLINE_BUILD: 1
|
|
||||||
SUITE_LIST: smoke
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
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:
|
||||||
@@ -18,7 +13,6 @@ parameters:
|
|||||||
- git
|
- git
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- ccache
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -28,139 +22,50 @@ parameters:
|
|||||||
- clr
|
- clr
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- 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: 180
|
||||||
timeoutInMinutes: 240
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool: ${{ variables.ULTRA_BUILD_POOL }}
|
||||||
- name: DAY_STRING
|
workspace:
|
||||||
value: $[format('{0:ddMMyyyy}', pipeline.startTime)]
|
clean: all
|
||||||
pool: ${{ variables.ULTRA_BUILD_POOL }}
|
strategy:
|
||||||
workspace:
|
matrix:
|
||||||
clean: all
|
gfx942:
|
||||||
steps:
|
JOB_GPU_TARGET: gfx942
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
gfx90a:
|
||||||
parameters:
|
JOB_GPU_TARGET: gfx90a
|
||||||
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 }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- script: |
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
mkdir -p $(CCACHE_DIR)
|
# CI case: download latest default branch build
|
||||||
echo "##vso[task.prependpath]/usr/lib/ccache"
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
displayName: Update path for ccache
|
dependencySource: staging
|
||||||
- task: Cache@2
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
displayName: Ccache caching
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
inputs:
|
dependencySource: tag-builds
|
||||||
key: composable_kernel | $(Agent.OS) | ${{ job.target }} | $(DAY_STRING) | $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
path: $(CCACHE_DIR)
|
parameters:
|
||||||
restoreKeys: |
|
extraBuildFlags: >-
|
||||||
composable_kernel | $(Agent.OS) | ${{ job.target }} | $(DAY_STRING)
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
composable_kernel | $(Agent.OS) | ${{ job.target }}
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
composable_kernel | $(Agent.OS)
|
-DCMAKE_HIP_FLAGS="-Wno-missing-include-dirs"
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
parameters:
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
extraBuildFlags: >-
|
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-GNinja
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
parameters:
|
||||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DCMAKE_HIP_FLAGS="-Wno-missing-include-dirs"
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCK_BUILD_JIT_LIB=ON
|
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
# if this artifact name is changed, please also update $ARTIFACT_URL inside miopen-get-ck-build.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
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 }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: composable_kernel_test_${{ job.target }}
|
|
||||||
timeoutInMinutes: 180
|
|
||||||
dependsOn: composable_kernel_build_${{ job.target }}
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
- name: TEST_LOG_FILE
|
|
||||||
value: $(Pipeline.Workspace)/ckTestLog.log
|
|
||||||
pool: ${{ job.target }}_test_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/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Iterate through test scripts
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
for file in ./test_*; do
|
|
||||||
./$file | tee -a $(TEST_LOG_FILE)
|
|
||||||
done
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)/rocm/bin
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -1,44 +1,32 @@
|
|||||||
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/artifact-upload.yml
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
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:
|
||||||
@@ -44,29 +39,17 @@ jobs:
|
|||||||
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 }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
# CI case: download latest default branch build
|
||||||
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
|
dependencySource: staging
|
||||||
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
|
dependencySource: tag-builds
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
|
-DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
|
||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
# only run test03 because test11 has too many test cases, taking way too long
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: test03
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
make clean
|
|
||||||
make test03
|
|
||||||
./bin/test
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)/test
|
|
||||||
- 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,192 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: hip-tests
|
|
||||||
- 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
|
|
||||||
- ninja-build
|
|
||||||
- git
|
|
||||||
- libnuma-dev
|
|
||||||
- mesa-common-dev
|
|
||||||
- ocl-icd-libopencl1
|
|
||||||
- ocl-icd-opencl-dev
|
|
||||||
- opencl-headers
|
|
||||||
- libglu1-mesa-dev
|
|
||||||
- freeglut3-dev
|
|
||||||
- libboost-all-dev
|
|
||||||
- python3-pip
|
|
||||||
- name: rocmDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- llvm-project
|
|
||||||
- ROCR-Runtime
|
|
||||||
- clr
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- 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
|
|
||||||
jobs:
|
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
|
||||||
- job: hip_tests_build_${{ job.target }}
|
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.target }}
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
- name: HIP_ROCCLR_HOME
|
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
|
||||||
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-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
# compile hip-tests
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
cmakeSourceDir: '../catch'
|
|
||||||
customBuildTarget: build_tests
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DHIP_PLATFORM=amd
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DHIP_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DOFFLOAD_ARCH_STR="--offload-arch=${{ job.target }}"
|
|
||||||
-GNinja
|
|
||||||
- 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 }}
|
|
||||||
extraEnvVars:
|
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: hip_tests_test_${{ job.target }}
|
|
||||||
timeoutInMinutes: 240
|
|
||||||
dependsOn: hip_tests_build_${{ 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 }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Symlink rocm_agent_enumerator
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
# Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral
|
|
||||||
sudo mkdir -p /opt/rocm/bin
|
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rocm_agent_enumerator /opt/rocm/bin/rocm_agent_enumerator
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
testDir: $(Agent.BuildDirectory)/rocm/share/hip
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
optSymLink: true
|
|
||||||
@@ -1,135 +1,62 @@
|
|||||||
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:
|
||||||
- group: common
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
- template: /.azuredevops/variables-global.yml
|
workspace:
|
||||||
- name: ROCM_PATH
|
clean: all
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
steps:
|
||||||
pool:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
parameters:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
container:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
endpoint: ContainerService3
|
parameters:
|
||||||
workspace:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
clean: all
|
# CI case: download latest default branch build
|
||||||
steps:
|
- ${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
- 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 }}
|
|
||||||
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 }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
os: ${{ job.os }}
|
dependencySource: staging
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
- ${{ if ne(parameters.checkoutRef, '') }}:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
extraBuildFlags: >-
|
dependencySource: tag-builds
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
parameters:
|
||||||
-GNinja
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
parameters:
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
componentName: ${{ parameters.componentName }}
|
-GNinja
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
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:
|
||||||
@@ -40,10 +16,7 @@ parameters:
|
|||||||
- libgtest-dev
|
- libgtest-dev
|
||||||
- wget
|
- wget
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- name: pipModules
|
- libomp-dev
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- pyyaml
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -58,175 +31,63 @@ parameters:
|
|||||||
- rocBLAS
|
- rocBLAS
|
||||||
- rocSPARSE
|
- rocSPARSE
|
||||||
- rocSOLVER
|
- rocSOLVER
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- aomp
|
|
||||||
- clr
|
|
||||||
- hipBLAS-common
|
|
||||||
- hipBLASLt
|
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
|
||||||
- ROCR-Runtime
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- rocBLAS
|
|
||||||
- rocSPARSE
|
|
||||||
- rocSOLVER
|
|
||||||
- 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
|
gfx90a:
|
||||||
steps:
|
JOB_GPU_TARGET: gfx90a
|
||||||
- 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
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
- task: Bash@3
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aocl.yml
|
displayName: 'Download AOCL'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
inputs:
|
||||||
parameters:
|
targetType: inline
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
script: wget -nv https://download.amd.com/developer/eula/aocl/aocl-4-1/aocl-linux-aocc-4.1.0_1_amd64.deb
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
workingDirectory: '$(Pipeline.Workspace)'
|
||||||
gpuTarget: ${{ job.target }}
|
- task: Bash@3
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
displayName: 'Install AOCL'
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
inputs:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
targetType: inline
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
script: sudo apt install --yes ./aocl-linux-aocc-4.1.0_1_amd64.deb
|
||||||
parameters:
|
workingDirectory: '$(Pipeline.Workspace)'
|
||||||
extraBuildFlags: >-
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
parameters:
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DHIP_PLATFORM=amd
|
# CI case: download latest default branch build
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
dependencySource: staging
|
||||||
-DBUILD_CLIENTS_SAMPLES=OFF
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
-DCPACK_SET_DESTDIR=OFF
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
-GNinja
|
dependencySource: tag-builds
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
extraBuildFlags: >-
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
gpuTarget: ${{ job.target }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
parameters:
|
-DHIP_PLATFORM=amd
|
||||||
componentName: ${{ parameters.componentName }}
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
gpuTarget: ${{ job.target }}
|
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
-DCPACK_SET_DESTDIR=OFF
|
||||||
parameters:
|
-GNinja
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
pipModules: ${{ parameters.pipModules }}
|
parameters:
|
||||||
installAOCL: true
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
|
||||||
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ 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 }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
- 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 }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
testExecutable: $(Agent.BuildDirectory)/rocm/bin/hipblas-test
|
|
||||||
testParameters: '--yaml hipblas_smoke.yaml --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
|
||||||
- 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,47 +1,17 @@
|
|||||||
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
|
- gfortran
|
||||||
- git
|
- git
|
||||||
- libboost-filesystem-dev
|
|
||||||
- libboost-program-options-dev
|
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- liblapack-dev
|
|
||||||
- libmsgpack-dev
|
- libmsgpack-dev
|
||||||
- libnuma-dev
|
|
||||||
- libopenblas-dev
|
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- python3-venv
|
- python3-venv
|
||||||
@@ -49,264 +19,93 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- joblib
|
- joblib
|
||||||
- "packaging>=22.0"
|
|
||||||
- pyyaml
|
|
||||||
- msgpack
|
|
||||||
- simplejson
|
|
||||||
- ujson
|
|
||||||
- orjson
|
|
||||||
- yappi
|
|
||||||
- --upgrade
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- aomp
|
|
||||||
- clr
|
- clr
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocm-cmake
|
|
||||||
- rocm_smi_lib
|
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- roctracer
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- aomp
|
|
||||||
- clr
|
|
||||||
- hipBLAS-common
|
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
|
||||||
- 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 }
|
|
||||||
- { 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: CMAKE_CXX_COMPILER
|
||||||
- name: HIP_ROCCLR_HOME
|
value: $(Agent.BuildDirectory)/rocm/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/amdclang
|
- name: TENSILE_ROCM_PATH
|
||||||
- name: TENSILE_ROCM_OFFLOAD_BUNDLER_PATH
|
value: $(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang-offload-bundler
|
- name: PATH
|
||||||
- name: ROCM_PATH
|
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
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
- name: DAY_STRING
|
workspace:
|
||||||
value: $[format('{0:ddMMyyyy}', pipeline.startTime)]
|
clean: all
|
||||||
pool: ${{ job.pool }}
|
strategy:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
matrix:
|
||||||
container:
|
gfx942:
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
JOB_GPU_TARGET: gfx942
|
||||||
endpoint: ContainerService3
|
gfx90a:
|
||||||
workspace:
|
JOB_GPU_TARGET: gfx90a
|
||||||
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:
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
# CI case: download latest default branch build
|
||||||
dependencyList:
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
- gtest
|
dependencySource: staging
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
parameters:
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
dependencySource: tag-builds
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- script: sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
os: ${{ job.os }}
|
displayName: ROCm symbolic link
|
||||||
gpuTarget: ${{ job.target }}
|
# Build and install gtest, lapack, hipBLAS-common
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
# $(Pipeline.Workspace)/deps is a temporary folder for the build process
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
# $(Pipeline.Workspace)/s/deps is part of the hipBLASLt repo
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
- script: mkdir $(Pipeline.Workspace)/deps
|
||||||
- task: Bash@3
|
# hipBLASLt already has a CMake script for external deps, so we can just run that
|
||||||
displayName: Add ROCm binaries to PATH
|
# https://github.com/ROCm/hipBLASLt/blob/develop/deps/CMakeLists.txt
|
||||||
inputs:
|
- script: cmake $(Pipeline.Workspace)/s/deps
|
||||||
targetType: inline
|
displayName: Configure hipBLASLt external dependencies
|
||||||
script: |
|
workingDirectory: $(Pipeline.Workspace)/deps
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
- script: make
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
displayName: Build hipBLASLt external dependencies
|
||||||
- task: Bash@3
|
workingDirectory: $(Pipeline.Workspace)/deps
|
||||||
displayName: Build and install LAPACK
|
- script: sudo make install
|
||||||
inputs:
|
displayName: Install hipBLASLt external dependencies
|
||||||
targetType: inline
|
workingDirectory: $(Pipeline.Workspace)/deps
|
||||||
script: |
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
mkdir -p $(Agent.BuildDirectory)/temp-deps
|
parameters:
|
||||||
cd $(Agent.BuildDirectory)/temp-deps
|
extraBuildFlags: >-
|
||||||
# position-independent LAPACK is required for almalinux8 builds
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
cmake -DBUILD_GTEST=OFF -DBUILD_LAPACK=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON $(Agent.BuildDirectory)/sparse/projects/hipblaslt/deps
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
make -j
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
sudo make install
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
- script: |
|
-DTensile_LOGIC=
|
||||||
mkdir -p $(CCACHE_DIR)
|
-DTensile_CPU_THREADS=
|
||||||
echo "##vso[task.prependpath]/usr/lib/ccache"
|
-DTensile_CODE_OBJECT_VERSION=default
|
||||||
displayName: Update path for ccache
|
-DTensile_LIBRARY_FORMAT=msgpack
|
||||||
- task: Cache@2
|
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm"
|
||||||
displayName: Ccache caching
|
-GNinja
|
||||||
inputs:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
key: hipBLASLt | ${{ job.os }} | ${{ job.target }} | $(DAY_STRING) | $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
parameters:
|
||||||
path: $(CCACHE_DIR)
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
restoreKeys: |
|
|
||||||
hipBLASLt | ${{ job.os }} | ${{ job.target }} | $(DAY_STRING)
|
|
||||||
hipBLASLt | ${{ job.os }} | ${{ job.target }}
|
|
||||||
hipBLASLt | ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
cmakeSourceDir: $(Agent.BuildDirectory)/sparse/projects/hipblaslt
|
|
||||||
cmakeBuildDir: $(Agent.BuildDirectory)/sparse/projects/hipblaslt/build
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
|
||||||
-DCMAKE_INCLUDE_PATH=$(Agent.BuildDirectory)/rocm/llvm/include
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
|
||||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
|
||||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache
|
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
|
||||||
-DHIPBLASLT_ENABLE_ROCROLLER=ON
|
|
||||||
-DHIPBLASLT_ENABLE_FETCH=ON
|
|
||||||
-DHIPBLASLT_ENABLE_BLIS=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 }}
|
|
||||||
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) }}:
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
|
||||||
timeoutInMinutes: 300
|
|
||||||
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
|
|
||||||
- name: ROCM_PATH
|
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
|
||||||
pool: ${{ job.target }}_test_pool
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- checkout: none
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- 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.rocmTestDependencies }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
|
||||||
testExecutable: './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
|
||||||
|
- googletest
|
||||||
|
- git
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
@@ -44,150 +21,48 @@ parameters:
|
|||||||
- rocminfo
|
- rocminfo
|
||||||
- rocPRIM
|
- rocPRIM
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocminfo
|
|
||||||
- rocPRIM
|
|
||||||
- rocprofiler-register
|
|
||||||
- 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: 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:
|
gfx90a:
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
JOB_GPU_TARGET: gfx90a
|
||||||
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-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
# CI case: download latest default branch build
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
parameters:
|
dependencySource: staging
|
||||||
dependencyList:
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
- gtest
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
dependencySource: tag-builds
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
parameters:
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
extraBuildFlags: >-
|
||||||
gpuTarget: ${{ job.target }}
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
os: ${{ job.os }}
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
-DBUILD_TEST=ON
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-GNinja
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
consolidateBuildAndInstall: true
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
extraBuildFlags: >-
|
|
||||||
-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) }}:
|
|
||||||
- ${{ 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-aqlprofile.yml
|
|
||||||
- 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/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:
|
||||||
@@ -38,11 +14,11 @@ parameters:
|
|||||||
- libgtest-dev
|
- libgtest-dev
|
||||||
- libfftw3-dev
|
- libfftw3-dev
|
||||||
- python3-pip
|
- python3-pip
|
||||||
|
- libomp-14-dev
|
||||||
# rocm dependencies should match dependencies-rocm.yml
|
# rocm dependencies should match dependencies-rocm.yml
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- aomp
|
|
||||||
- rocRAND
|
- rocRAND
|
||||||
- hipRAND
|
- hipRAND
|
||||||
- llvm-project
|
- llvm-project
|
||||||
@@ -51,137 +27,56 @@ parameters:
|
|||||||
- rocminfo
|
- rocminfo
|
||||||
- rocFFT
|
- rocFFT
|
||||||
- aomp
|
- aomp
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- aomp
|
|
||||||
- clr
|
|
||||||
- hipRAND
|
|
||||||
- llvm-project
|
|
||||||
- rocFFT
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
|
||||||
- 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:
|
||||||
- group: common
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
- template: /.azuredevops/variables-global.yml
|
workspace:
|
||||||
- name: HIP_ROCCLR_HOME
|
clean: all
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
strategy:
|
||||||
pool:
|
matrix:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
gfx942:
|
||||||
workspace:
|
JOB_GPU_TARGET: gfx942
|
||||||
clean: all
|
gfx90a:
|
||||||
steps:
|
JOB_GPU_TARGET: gfx90a
|
||||||
- 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:
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
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 }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
# CI case: download latest default branch build
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
dependencySource: staging
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
parameters:
|
dependencySource: tag-builds
|
||||||
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_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DUSE_HIP_CLANG=ON
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DHIP_COMPILER=clang
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
-DUSE_HIP_CLANG=ON
|
||||||
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
-DHIP_COMPILER=clang
|
||||||
-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
|
||||||
componentName: ${{ parameters.componentName }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
- 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: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
|
||||||
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ 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 }}
|
|
||||||
- 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 }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
|
||||||
testExecutable: './hipfft-test'
|
|
||||||
testParameters: '--test_prob 0.002 --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,219 +1,72 @@
|
|||||||
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
|
||||||
- python3-pip
|
- googletest
|
||||||
|
- git
|
||||||
- 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
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- rocRAND
|
|
||||||
- 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 }
|
|
||||||
- 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:
|
||||||
- group: common
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
- template: /.azuredevops/variables-global.yml
|
workspace:
|
||||||
- name: HIP_ROCCLR_HOME
|
clean: all
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
strategy:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
matrix:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
gfx942:
|
||||||
container:
|
JOB_GPU_TARGET: gfx942
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
gfx90a:
|
||||||
endpoint: ContainerService3
|
JOB_GPU_TARGET: gfx90a
|
||||||
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 }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
# CI case: download latest default branch build
|
||||||
parameters:
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
dependencyList:
|
dependencySource: staging
|
||||||
- gtest
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
parameters:
|
dependencySource: tag-builds
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
extraBuildFlags: >-
|
||||||
os: ${{ job.os }}
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
-DBUILD_TEST=ON
|
||||||
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
|
||||||
os: ${{ job.os }}
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
consolidateBuildAndInstall: true
|
-GNinja
|
||||||
extraBuildFlags: >-
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.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_TEST=ON
|
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
|
||||||
-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) }}:
|
|
||||||
- ${{ 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 }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- 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/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:
|
||||||
@@ -39,7 +15,6 @@ parameters:
|
|||||||
- git
|
- git
|
||||||
- googletest
|
- googletest
|
||||||
- libgtest-dev
|
- libgtest-dev
|
||||||
- python3-pip
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -52,147 +27,60 @@ parameters:
|
|||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocSPARSE
|
- rocSPARSE
|
||||||
- rocSOLVER
|
- rocSOLVER
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- hipBLAS-common
|
|
||||||
- hipBLASLt
|
|
||||||
- hipSPARSE
|
|
||||||
- rocBLAS
|
|
||||||
- rocm-cmake
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
|
||||||
- rocSOLVER
|
|
||||||
- rocSPARSE
|
|
||||||
- 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:
|
||||||
- ${{ build }}_ubuntu2204_${{ job.target }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
variables:
|
workspace:
|
||||||
- group: common
|
clean: all
|
||||||
- template: /.azuredevops/variables-global.yml
|
strategy:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
matrix:
|
||||||
workspace:
|
gfx942:
|
||||||
clean: all
|
JOB_GPU_TARGET: gfx942
|
||||||
steps:
|
gfx90a:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
JOB_GPU_TARGET: gfx90a
|
||||||
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
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
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 }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
# CI case: download latest default branch build
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
dependencySource: staging
|
||||||
# build external gtest and lapack
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
parameters:
|
dependencySource: tag-builds
|
||||||
componentName: external
|
# build external gtest and lapack
|
||||||
cmakeBuildDir: '$(Agent.BuildDirectory)/s/deps/build'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
cmakeSourceDir: '$(Agent.BuildDirectory)/s/deps'
|
parameters:
|
||||||
installDir: '$(Pipeline.Workspace)/deps-install'
|
componentName: external
|
||||||
extraBuildFlags: >-
|
cmakeBuildDir: 'deps/build'
|
||||||
-DBUILD_BOOST=OFF
|
installDir: '$(Pipeline.Workspace)/deps-install'
|
||||||
-DBUILD_GTEST=OFF
|
extraBuildFlags: >-
|
||||||
-GNinja
|
-DBUILD_BOOST=OFF
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DBUILD_GTEST=OFF
|
||||||
parameters:
|
-GNinja
|
||||||
extraBuildFlags: >-
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Pipeline.Workspace)/deps-install
|
parameters:
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
extraBuildFlags: >-
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Pipeline.Workspace)/deps-install
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
-DUSE_CUDA=OFF
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
-GNinja
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
-DUSE_CUDA=OFF
|
||||||
parameters:
|
-GNinja
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
parameters:
|
||||||
- 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 }}
|
|
||||||
# extraCopyDirectories:
|
|
||||||
# - deps-install
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
|
||||||
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ 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 }}
|
|
||||||
- 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 }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
|
||||||
testExecutable: './hipsolver-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 }}
|
|
||||||
|
|||||||
@@ -1,44 +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
|
||||||
- python3-pip
|
- libboost-program-options-dev
|
||||||
|
- googletest
|
||||||
|
- libfftw3-dev
|
||||||
|
- git
|
||||||
|
- gfortran
|
||||||
|
- libgtest-dev
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -48,177 +25,59 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocSPARSE
|
- rocSPARSE
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- hipBLAS-common
|
|
||||||
- hipBLASLt
|
|
||||||
- rocBLAS
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
|
||||||
- rocSPARSE
|
|
||||||
- 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:
|
||||||
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
variables:
|
workspace:
|
||||||
- group: common
|
clean: all
|
||||||
- template: /.azuredevops/variables-global.yml
|
strategy:
|
||||||
pool:
|
matrix:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
gfx942:
|
||||||
workspace:
|
JOB_GPU_TARGET: gfx942
|
||||||
clean: all
|
gfx90a:
|
||||||
steps:
|
JOB_GPU_TARGET: gfx90a
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
steps:
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
packageManager: ${{ job.packageManager }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- 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-vendor.yml
|
parameters:
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
dependencyList:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- gtest
|
# CI case: download latest default branch build
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
parameters:
|
dependencySource: staging
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
gpuTarget: ${{ job.target }}
|
dependencySource: tag-builds
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
parameters:
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
extraBuildFlags: >-
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
parameters:
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/share/rocm/cmake/
|
||||||
os: ${{ job.os }}
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
extraBuildFlags: >-
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
-GNinja
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang
|
parameters:
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
artifactName: hipSPARSE
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DBUILD_CLIENTS_SAMPLES=OFF
|
publish: false
|
||||||
-GNinja
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
parameters:
|
||||||
parameters:
|
sourceDir: $(Build.SourcesDirectory)/build/clients
|
||||||
componentName: ${{ parameters.componentName }}
|
contentsString: matrices/**
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
artifactName: testMatrices
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.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) }}:
|
|
||||||
- ${{ 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-aqlprofile.yml
|
|
||||||
- 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 }}
|
|
||||||
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:
|
||||||
@@ -37,228 +13,78 @@ parameters:
|
|||||||
- libmsgpack-dev
|
- libmsgpack-dev
|
||||||
- git
|
- git
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- gfortran
|
|
||||||
- libgfortran5
|
|
||||||
- libopenblas-dev
|
|
||||||
- liblapack-dev
|
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- joblib
|
- joblib
|
||||||
- msgpack
|
# rocm dependencies should match dependencies-rocm.yml
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- aomp
|
- llvm-project
|
||||||
|
- ROCR-Runtime
|
||||||
- clr
|
- clr
|
||||||
|
- rocminfo
|
||||||
|
- rocprofiler-register
|
||||||
- hipSPARSE
|
- hipSPARSE
|
||||||
- llvm-project
|
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
- rocm-cmake
|
|
||||||
- rocm_smi_lib
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
|
||||||
- roctracer
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- aomp
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- hipBLAS-common
|
|
||||||
- hipBLASLt
|
|
||||||
- rocm-cmake
|
|
||||||
- rocBLAS
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
|
||||||
- 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
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
# sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
# CI case: download latest default branch build
|
||||||
parameters:
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
dependencySource: staging
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
gpuTarget: ${{ job.target }}
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
os: ${{ job.os }}
|
dependencySource: tag-builds
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
parameters:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
extraBuildFlags: >-
|
||||||
# NOTE: content between `---` is for transition support between old/new build systems
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
# and should be removed once transition is complete.
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
# -----------------------------
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
# Build and install gtest and lapack
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
# $(Pipeline.Workspace)/deps is a temporary folder for the build process
|
-DTensile_LOGIC=
|
||||||
# $(Pipeline.Workspace)/s/deps is part of the hipSPARSELt repo
|
-DTensile_CPU_THREADS=
|
||||||
- script: mkdir -p $(Pipeline.Workspace)/deps
|
-DTensile_CODE_OBJECT_VERSION=default
|
||||||
displayName: Create temp folder for external dependencies
|
-DTensile_LIBRARY_FORMAT=msgpack
|
||||||
# hipSPARSELt already has a CMake script for external deps, so we can just run that
|
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm"
|
||||||
# https://github.com/ROCm/hipSPARSELt/blob/develop/deps/CMakeLists.txt
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
- ${{ if ne(parameters.sparseCheckoutDir, '') }}:
|
-GNinja
|
||||||
script: cmake $(Pipeline.Workspace)/s/projects/hipsparselt/deps
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
${{ else }}:
|
parameters:
|
||||||
script: cmake $(Pipeline.Workspace)/s/deps
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
displayName: Configure hipSPARSELt external dependencies
|
|
||||||
workingDirectory: $(Pipeline.Workspace)/deps
|
|
||||||
- script: make
|
|
||||||
displayName: Build hipSPARSELt external dependencies
|
|
||||||
workingDirectory: $(Pipeline.Workspace)/deps
|
|
||||||
- script: sudo make install
|
|
||||||
displayName: Install hipSPARSELt external dependencies
|
|
||||||
workingDirectory: $(Pipeline.Workspace)/deps
|
|
||||||
# -----------------------------
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
# NOTE: the following options are old build only
|
|
||||||
# and can be removed after full transition to new build
|
|
||||||
# -DAMDGPU_TARGETS=${{ job.target }}
|
|
||||||
# -DCMAKE_Fortran_COMPILER=f95
|
|
||||||
# -DTensile_LOGIC=
|
|
||||||
# -DTensile_CPU_THREADS=
|
|
||||||
# -DTensile_LIBRARY_FORMAT=msgpack
|
|
||||||
# -DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
# -DBUILD_CLIENTS_TESTS=ON
|
|
||||||
# -DBUILD_USE_LOCAL_TENSILE=OFF
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
|
||||||
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm"
|
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
|
||||||
-DCMAKE_Fortran_COMPILER=f95
|
|
||||||
-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) }}:
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
|
||||||
timeoutInMinutes: 120
|
|
||||||
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 }}
|
|
||||||
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 }}
|
|
||||||
|
|||||||
@@ -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,113 +21,49 @@ parameters:
|
|||||||
- clr
|
- clr
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- composable_kernel
|
- composable_kernel
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- 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: hipTensor_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 }}
|
gfx90a:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
JOB_GPU_TARGET: gfx90a
|
||||||
- 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:
|
- 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.target }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
parameters:
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
extraBuildFlags: >-
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/llvm
|
# CI case: download latest default branch build
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
dependencySource: staging
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
-DHIPTENSOR_BUILD_TESTS=ON
|
dependencySource: tag-builds
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
-GNinja
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/llvm
|
||||||
gpuTarget: ${{ job.target }}
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
parameters:
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
gpuTarget: ${{ job.target }}
|
-DHIPTENSOR_BUILD_TESTS=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
multithreadFlag: -- -j32
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: hipTensor_test_${{ job.target }}
|
|
||||||
timeoutInMinutes: 90
|
|
||||||
dependsOn: hipTensor_build_${{ job.target }}
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- 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 }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: hipTensor
|
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin/hiptensor'
|
|
||||||
testParameters: '-E ".*-extended" --extra-verbose --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 }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -5,162 +5,32 @@ 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:
|
||||||
- gfortran
|
- gfortran
|
||||||
- git
|
- git
|
||||||
- cmake
|
- cmake
|
||||||
- python3-pip
|
|
||||||
- python3-dev
|
|
||||||
- ninja-build
|
|
||||||
- name: rocmDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- aomp
|
|
||||||
- llvm-project
|
|
||||||
- clr
|
|
||||||
- hipBLAS
|
|
||||||
- hipBLAS-common
|
|
||||||
- hipBLASLt
|
|
||||||
- hipFFT
|
|
||||||
- hipRAND
|
|
||||||
- hipSOLVER
|
|
||||||
- hipSPARSE
|
|
||||||
- rocBLAS
|
|
||||||
- rocFFT
|
|
||||||
- rocm-cmake
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler
|
|
||||||
- rocprofiler-register
|
|
||||||
- rocRAND
|
|
||||||
- ROCR-Runtime
|
|
||||||
- rocSOLVER
|
|
||||||
- rocSPARSE
|
|
||||||
- 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:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/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/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
parameters:
|
||||||
parameters:
|
extraBuildFlags: >-
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DHIPFORT_INSTALL_DIR=/tmp/hipfort
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/llvm
|
|
||||||
-DHIPFORT_INSTALL_DIR=$(Build.BinariesDirectory)
|
|
||||||
-DHIPFORT_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/flang
|
|
||||||
-DCMAKE_Fortran_FLAGS="-Mfree -fPIC"
|
|
||||||
-DCMAKE_Fortran_FLAGS_DEBUG=""
|
|
||||||
-DHIPFORT_COMPILER_FLAGS="-cpp"
|
|
||||||
-DHIPFORT_AR=$(Agent.BuildDirectory)/rocm/llvm/bin/llvm-ar
|
|
||||||
-DHIPFORT_RANLIB=$(Agent.BuildDirectory)/rocm/llvm/bin/llvm-ranlib
|
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
|
||||||
-DBUILD_TESTING=ON
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
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 }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
installLatestCMake: true
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: hipfort_test_${{ job.target }}
|
|
||||||
dependsOn: hipfort_build_${{ job.target }}
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- 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 }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'ROCm symbolic link'
|
|
||||||
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
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'Test hipfort'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: PATH=$(Agent.BuildDirectory)/rocm/bin:$PATH make run_all
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)/test
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
optSymLink: true
|
|
||||||
|
|||||||
@@ -5,196 +5,129 @@ 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'
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
workspace:
|
||||||
container:
|
clean: all
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
steps:
|
||||||
endpoint: ContainerService3
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
variables:
|
parameters:
|
||||||
- group: common
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- name: HIP_DEVICE_LIB_PATH
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
value: '$(Build.BinariesDirectory)/amdgcn/bitcode'
|
parameters:
|
||||||
- name: HIP_PATH
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
value: '$(Agent.BuildDirectory)/rocm'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
workspace:
|
parameters:
|
||||||
clean: all
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
steps:
|
# CI case: download latest default branch build
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
parameters:
|
dependencySource: staging
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
packageManager: ${{ job.packageManager }}
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
dependencySource: tag-builds
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
componentName: rocm-llvm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DCMAKE_PREFIX_PATH="$(Build.BinariesDirectory)/llvm;$(Build.BinariesDirectory)"
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
-DLLVM_ENABLE_PROJECTS=clang;lld;clang-tools-extra;mlir
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
-DLLVM_ENABLE_RUNTIMES=compiler-rt;libunwind;libcxx;libcxxabi
|
||||||
os: ${{ job.os }}
|
-DCLANG_ENABLE_AMDCLANG=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DLLVM_TARGETS_TO_BUILD=AMDGPU;X86
|
||||||
parameters:
|
-DLIBCXX_ENABLE_SHARED=OFF
|
||||||
componentName: rocm-llvm
|
-DLIBCXX_ENABLE_STATIC=ON
|
||||||
os: ${{ job.os }}
|
-DLIBCXX_INSTALL_LIBRARY=OFF
|
||||||
useAmdclang: false
|
-DLIBCXX_INSTALL_HEADERS=OFF
|
||||||
extraBuildFlags: >-
|
-DLIBCXXABI_ENABLE_SHARED=OFF
|
||||||
-DCMAKE_PREFIX_PATH="$(Build.BinariesDirectory)/llvm;$(Build.BinariesDirectory)"
|
-DLIBCXXABI_ENABLE_STATIC=ON
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DLIBCXXABI_INSTALL_STATIC_LIBRARY=OFF
|
||||||
-DLLVM_ENABLE_PROJECTS=clang;lld;clang-tools-extra;mlir;flang
|
-DLLVM_BUILD_DOCS=OFF
|
||||||
-DLLVM_ENABLE_RUNTIMES=compiler-rt;libunwind;libcxx;libcxxabi
|
-DLLVM_ENABLE_SPHINX=OFF
|
||||||
-DCLANG_ENABLE_AMDCLANG=ON
|
-DLLVM_ENABLE_ASSERTIONS=OFF
|
||||||
-DLLVM_TARGETS_TO_BUILD=AMDGPU;X86
|
-DLLVM_ENABLE_Z3_SOLVER=OFF
|
||||||
-DLIBCXX_ENABLE_SHARED=OFF
|
-DLLVM_ENABLE_ZLIB=ON
|
||||||
-DLIBCXX_ENABLE_STATIC=ON
|
-DCLANG_DEFAULT_LINKER=lld
|
||||||
-DLIBCXX_INSTALL_LIBRARY=OFF
|
-DCLANG_DEFAULT_RTLIB=compiler-rt
|
||||||
-DLIBCXX_INSTALL_HEADERS=OFF
|
-DCLANG_DEFAULT_UNWINDLIB=libgcc
|
||||||
-DLIBCXXABI_ENABLE_SHARED=OFF
|
-DSANITIZER_AMDGPU=OFF
|
||||||
-DLIBCXXABI_ENABLE_STATIC=ON
|
-DPACKAGE_VENDOR=AMD
|
||||||
-DLIBCXXABI_INSTALL_STATIC_LIBRARY=OFF
|
-DCLANG_LINK_FLANG_LEGACY=ON
|
||||||
-DLLVM_BUILD_DOCS=OFF
|
-DCMAKE_CXX_STANDARD=17
|
||||||
-DLLVM_ENABLE_SPHINX=OFF
|
-DROCM_LLVM_BACKWARD_COMPAT_LINK=$(Build.BinariesDirectory)/llvm
|
||||||
-DLLVM_ENABLE_ASSERTIONS=OFF
|
-DROCM_LLVM_BACKWARD_COMPAT_LINK_TARGET=./lib/llvm
|
||||||
-DLLVM_ENABLE_Z3_SOLVER=OFF
|
-GNinja
|
||||||
-DLLVM_ENABLE_ZLIB=ON
|
cmakeBuildDir: 'llvm/build'
|
||||||
-DCLANG_DEFAULT_LINKER=lld
|
installDir: '$(Build.BinariesDirectory)/llvm'
|
||||||
-DCLANG_DEFAULT_RTLIB=compiler-rt
|
# use llvm-lit to run unit tests for llvm, clang, and lld
|
||||||
-DCLANG_DEFAULT_UNWINDLIB=libgcc
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
-DSANITIZER_AMDGPU=OFF
|
parameters:
|
||||||
-DPACKAGE_VENDOR=AMD
|
componentName: check-llvm
|
||||||
-DCLANG_LINK_FLANG_LEGACY=ON
|
testDir: 'llvm/build'
|
||||||
-DCMAKE_CXX_STANDARD=17
|
testExecutable: './bin/llvm-lit'
|
||||||
-DROCM_LLVM_BACKWARD_COMPAT_LINK=$(Build.BinariesDirectory)/llvm
|
testParameters: '-q --xunit-xml-output=llvm_test_output.xml ./test'
|
||||||
-DROCM_LLVM_BACKWARD_COMPAT_LINK_TARGET=./lib/llvm
|
testOutputFile: llvm_test_output.xml
|
||||||
-GNinja
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/llvm/build'
|
parameters:
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/llvm'
|
componentName: check-clang
|
||||||
installDir: '$(Build.BinariesDirectory)/llvm'
|
testDir: 'llvm/build'
|
||||||
# use llvm-lit to run unit tests for llvm, clang, and lld
|
testExecutable: './bin/llvm-lit'
|
||||||
- task: Bash@3
|
testParameters: '-q --xunit-xml-output=clang_test_output.xml ./tools/clang/test'
|
||||||
displayName: 'Copy llvm-lit to install directory'
|
testOutputFile: clang_test_output.xml
|
||||||
inputs:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
targetType: inline
|
parameters:
|
||||||
script: |
|
componentName: check-lld
|
||||||
cp $(Build.SourcesDirectory)/llvm/build/bin/llvm-lit $(Build.BinariesDirectory)/llvm/bin/
|
testDir: 'llvm/build'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
testExecutable: './bin/llvm-lit'
|
||||||
parameters:
|
testParameters: '-q --xunit-xml-output=lld_test_output.xml ./tools/lld/test'
|
||||||
componentName: check-llvm
|
testOutputFile: lld_test_output.xml
|
||||||
testDir: 'llvm/build'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
testExecutable: './bin/llvm-lit'
|
parameters:
|
||||||
testParameters: '-q --xunit-xml-output=llvm_test_output.xml --filter-out="live-debug-values-spill-tracking" ./test'
|
componentName: device-libs
|
||||||
testOutputFile: llvm_test_output.xml
|
extraBuildFlags: >-
|
||||||
os: ${{ job.os }}
|
-DCMAKE_PREFIX_PATH="$(Build.SourcesDirectory)/llvm/build"
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
parameters:
|
cmakeBuildDir: 'amd/device-libs/build'
|
||||||
componentName: check-clang
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
testDir: 'llvm/build'
|
parameters:
|
||||||
testExecutable: './bin/llvm-lit'
|
componentName: comgr
|
||||||
testParameters: '-q --xunit-xml-output=clang_test_output.xml ./tools/clang/test'
|
extraBuildFlags: >-
|
||||||
testOutputFile: clang_test_output.xml
|
-DCMAKE_PREFIX_PATH="$(Build.SourcesDirectory)/llvm/build;$(Build.SourcesDirectory)/amd/device-libs/build"
|
||||||
os: ${{ job.os }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
cmakeBuildDir: 'amd/comgr/build'
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
componentName: check-lld
|
parameters:
|
||||||
testDir: 'llvm/build'
|
componentName: comgr
|
||||||
testExecutable: './bin/llvm-lit'
|
testParameters: '--output-on-failure --force-new-ctest-process --output-junit comgr_test_output.xml'
|
||||||
testParameters: '-q --xunit-xml-output=lld_test_output.xml ./tools/lld/test'
|
testDir: 'amd/comgr/build'
|
||||||
testOutputFile: lld_test_output.xml
|
testOutputFile: comgr_test_output.xml
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- task: CopyFiles@2
|
parameters:
|
||||||
displayName: Copy FileCheck for Publishing
|
componentName: hipcc
|
||||||
inputs:
|
extraBuildFlags: >-
|
||||||
CleanTargetFolder: false
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
SourceFolder: llvm/build/bin
|
-DHIPCC_BACKWARD_COMPATIBILITY=OFF
|
||||||
Contents: FileCheck
|
cmakeBuildDir: 'amd/hipcc/build'
|
||||||
TargetFolder: $(Build.BinariesDirectory)/llvm/bin
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
retryCount: 3
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
componentName: device-libs
|
|
||||||
os: ${{ job.os }}
|
|
||||||
useAmdclang: false
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH="$(Build.SourcesDirectory)/llvm/build"
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/amd/device-libs/build'
|
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/amd/device-libs'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
componentName: comgr
|
|
||||||
os: ${{ job.os }}
|
|
||||||
useAmdclang: false
|
|
||||||
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
|
|
||||||
|
|||||||
@@ -1,251 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: origami
|
|
||||||
- name: checkoutRepo
|
|
||||||
type: string
|
|
||||||
default: 'self'
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- cmake
|
|
||||||
- git
|
|
||||||
- ninja-build
|
|
||||||
- wget
|
|
||||||
- python3
|
|
||||||
- python3-dev
|
|
||||||
- python3-pip
|
|
||||||
- libgtest-dev
|
|
||||||
- libboost-filesystem-dev
|
|
||||||
- libboost-program-options-dev
|
|
||||||
- name: pipModules
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- nanobind>=2.0.0
|
|
||||||
- name: rocmDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
|
||||||
- rocminfo
|
|
||||||
- ROCR-Runtime
|
|
||||||
- rocprofiler-register
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
|
||||||
- rocminfo
|
|
||||||
- ROCR-Runtime
|
|
||||||
- rocprofiler-register
|
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
|
||||||
- { os: almalinux8, packageManager: dnf }
|
|
||||||
testJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
- name: downstreamComponentMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- hipBLASLt:
|
|
||||||
name: hipBLASLt
|
|
||||||
sparseCheckoutDir: projects/hipblaslt
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- origami_build
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
|
||||||
- job: origami_build_${{ job.os }}
|
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.os }}
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
- name: ROCM_PATH
|
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
|
||||||
pool:
|
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
|
||||||
container:
|
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
|
||||||
endpoint: ContainerService3
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
|
||||||
parameters:
|
|
||||||
dependencyList:
|
|
||||||
- gtest
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DORIGAMI_BUILD_SHARED_LIBS=ON
|
|
||||||
-DORIGAMI_ENABLE_PYTHON=ON
|
|
||||||
-DORIGAMI_BUILD_TESTING=ON
|
|
||||||
-GNinja
|
|
||||||
- ${{ if ne(job.os, 'almalinux8') }}:
|
|
||||||
- task: PublishPipelineArtifact@1
|
|
||||||
displayName: 'Publish Build Directory Artifact'
|
|
||||||
inputs:
|
|
||||||
targetPath: '$(Agent.BuildDirectory)/s/build'
|
|
||||||
artifact: '${{ parameters.componentName }}_${{ job.os }}_build_dir'
|
|
||||||
publishLocation: 'pipeline'
|
|
||||||
- task: PublishPipelineArtifact@1
|
|
||||||
displayName: 'Publish Python Source Artifact'
|
|
||||||
inputs:
|
|
||||||
targetPath: '$(Agent.BuildDirectory)/s/python'
|
|
||||||
artifact: '${{ parameters.componentName }}_${{ job.os }}_python_src'
|
|
||||||
publishLocation: 'pipeline'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: origami_test_${{ job.os }}_${{ job.target }}
|
|
||||||
timeoutInMinutes: 120
|
|
||||||
dependsOn: origami_build_${{ job.os }}
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
pool: ${{ job.target }}_test_pool
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- task: DownloadPipelineArtifact@2
|
|
||||||
displayName: 'Download Build Directory Artifact'
|
|
||||||
inputs:
|
|
||||||
artifact: '${{ parameters.componentName }}_${{ job.os }}_build_dir'
|
|
||||||
path: '$(Agent.BuildDirectory)/s/build'
|
|
||||||
- task: DownloadPipelineArtifact@2
|
|
||||||
displayName: 'Download Python Source Artifact'
|
|
||||||
inputs:
|
|
||||||
artifact: '${{ parameters.componentName }}_${{ job.os }}_python_src'
|
|
||||||
path: '$(Agent.BuildDirectory)/s/python'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
|
||||||
testExecutable: './origami-tests'
|
|
||||||
testParameters: '--yaml origami-tests.yaml --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
|
||||||
- script: |
|
|
||||||
set -e
|
|
||||||
export PYTHONPATH=$(Agent.BuildDirectory)/s/build/python:$PYTHONPATH
|
|
||||||
|
|
||||||
echo "--- Running origami_test.py ---"
|
|
||||||
python3 $(Agent.BuildDirectory)/s/python/origami_test.py
|
|
||||||
|
|
||||||
echo "--- Running origami_grid_test.py ---"
|
|
||||||
python3 $(Agent.BuildDirectory)/s/python/origami_grid_test.py
|
|
||||||
displayName: 'Run Python Binding Tests'
|
|
||||||
condition: succeeded()
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
|
||||||
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
|
||||||
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
|
||||||
buildDependsOn: ${{ component.buildDependsOn }}
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
|
||||||
triggerDownstreamJobs: true
|
|
||||||
unifiedBuild: ${{ parameters.unifiedBuild }}
|
|
||||||
@@ -1,242 +1,83 @@
|
|||||||
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
|
|
||||||
- git
|
|
||||||
- libboost-program-options-dev
|
|
||||||
- libdrm-dev
|
|
||||||
- libfftw3-dev
|
|
||||||
- libnuma-dev
|
|
||||||
- libstdc++-12-dev
|
|
||||||
- ninja-build
|
|
||||||
- python3-pip
|
- python3-pip
|
||||||
|
- cmake
|
||||||
|
- libboost-program-options-dev
|
||||||
|
- googletest
|
||||||
|
- libfftw3-dev
|
||||||
|
- git
|
||||||
|
- ninja-build
|
||||||
|
- libstdc++-12-dev
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
|
- rocm-cmake
|
||||||
|
- llvm-project
|
||||||
|
- ROCR-Runtime
|
||||||
|
- clr
|
||||||
|
- rocminfo
|
||||||
|
- rocm_smi_lib
|
||||||
|
- rocprofiler-register
|
||||||
|
- rocm-core
|
||||||
|
- HIPIFY
|
||||||
- aomp
|
- aomp
|
||||||
- aomp-extras
|
- aomp-extras
|
||||||
- clr
|
|
||||||
- HIPIFY
|
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
|
||||||
- rocm-core
|
|
||||||
- rocm_smi_lib
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
|
||||||
- roctracer
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- aomp
|
|
||||||
- aomp-extras
|
|
||||||
- clr
|
|
||||||
- HIPIFY
|
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
|
||||||
- rocm-core
|
|
||||||
- rocm_smi_lib
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
|
||||||
- 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') }}:
|
gfx90a:
|
||||||
container:
|
JOB_GPU_TARGET: gfx90a
|
||||||
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:
|
- 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 }}
|
||||||
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
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
# CI case: download latest default branch build
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
dependencySource: staging
|
||||||
submoduleBehaviour: recursive
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
parameters:
|
dependencySource: tag-builds
|
||||||
dependencyList:
|
- script: chmod +x $(Agent.BuildDirectory)/rocm/bin/hipify-perl
|
||||||
- gtest
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
parameters:
|
||||||
parameters:
|
extraBuildFlags: >-
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
os: ${{ job.os }}
|
-DHALF_INCLUDE_DIR=$(Agent.BuildDirectory)/rocm/include
|
||||||
gpuTarget: ${{ job.target }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
-DBUILD_TESTS=ON
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/share/rocm/cmake/
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
parameters:
|
-GNinja
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
extraBuildFlags: >-
|
parameters:
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DBUILD_TESTS=ON
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/share/rocm/cmake;$(Agent.BuildDirectory)/rocm/libexec/hipify
|
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
|
||||||
-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) }}:
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
|
||||||
timeoutInMinutes: 120
|
|
||||||
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:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
|
||||||
testExecutable: './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:
|
||||||
@@ -42,194 +18,64 @@ parameters:
|
|||||||
- autoconf
|
- autoconf
|
||||||
- libtool
|
- libtool
|
||||||
- pkg-config
|
- pkg-config
|
||||||
- libdrm-dev
|
|
||||||
- libnuma-dev
|
|
||||||
- libyaml-cpp-dev
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- amdsmi
|
|
||||||
- clr
|
|
||||||
- hipBLAS-common
|
|
||||||
- hipBLASLt
|
|
||||||
- hipRAND
|
|
||||||
- llvm-project
|
|
||||||
- rocBLAS
|
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
- rocm-core
|
- llvm-project
|
||||||
|
- ROCR-Runtime
|
||||||
|
- clr
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocm_smi_lib
|
- rocm_smi_lib
|
||||||
- ROCmValidationSuite
|
|
||||||
- rocprofiler
|
|
||||||
- rocprofiler-register
|
|
||||||
- rocprofiler-sdk
|
|
||||||
- rocRAND
|
|
||||||
- ROCR-Runtime
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- amdsmi
|
- amdsmi
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
|
||||||
- rocminfo
|
|
||||||
- rocm_smi_lib
|
|
||||||
- ROCmValidationSuite
|
|
||||||
- rocprofiler
|
|
||||||
- rocprofiler-register
|
|
||||||
- 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
|
steps:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
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
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
parameters:
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
cmakeVersion: '3.25.0'
|
# CI case: download latest default branch build
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
dependencySource: staging
|
||||||
parameters:
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
dependencySource: tag-builds
|
||||||
- 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 }}
|
-GNinja
|
||||||
cmakeBuildDir: $(Build.SourcesDirectory)/grpc/build
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
cmakeSourceDir: $(Build.SourcesDirectory)/grpc
|
parameters:
|
||||||
installDir: $(Build.SourcesDirectory)/bin
|
extraBuildFlags: >-
|
||||||
extraBuildFlags: >-
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DgRPC_INSTALL=ON
|
-DGRPC_ROOT="$(Build.SourcesDirectory)/bin"
|
||||||
-DgRPC_BUILD_TESTS=OFF
|
-DBUILD_TESTS=ON
|
||||||
-DBUILD_SHARED_LIBS=ON
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
-DCMAKE_INSTALL_LIBDIR=lib
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DGRPC_ROOT="$(Build.SourcesDirectory)/bin"
|
|
||||||
-DBUILD_RVS=ON
|
|
||||||
-DBUILD_PROFILER=ON
|
|
||||||
-DBUILD_TESTS=ON
|
|
||||||
-DAMDGPU_TARGETS=${{ job.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) }}:
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.target }}
|
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ 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
|
|
||||||
- name: ROCM_PATH
|
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
|
||||||
- name: ROCM_DIR
|
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
|
||||||
pool: ${{ job.target }}_test_pool
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- checkout: none
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Setup test environment
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rdcd /usr/sbin/rdcd
|
|
||||||
echo $(Agent.BuildDirectory)/rocm/lib/rdc/grpc/lib | sudo tee /etc/ld.so.conf.d/grpc.conf
|
|
||||||
sudo ldconfig -v
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Test rdc
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: >-
|
|
||||||
$(Agent.BuildDirectory)/rocm/share/rdc/rdctst_tests/rdctst
|
|
||||||
--batch_mode
|
|
||||||
--start_rdcd
|
|
||||||
--unauth_comm
|
|
||||||
- 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:
|
||||||
@@ -26,13 +21,10 @@ parameters:
|
|||||||
- libavcodec-dev
|
- libavcodec-dev
|
||||||
- libavformat-dev
|
- libavformat-dev
|
||||||
- libavutil-dev
|
- libavutil-dev
|
||||||
- libdlpack-dev
|
|
||||||
- libsndfile1-dev
|
|
||||||
- libswscale-dev
|
- libswscale-dev
|
||||||
- libturbojpeg-dev
|
- libturbojpeg-dev
|
||||||
- libjpeg-turbo-official=3.0.2-20240124
|
- libjpeg-turbo-official=3.0.2-20240124
|
||||||
- libopencv-dev
|
- libopencv-dev
|
||||||
- --allow-downgrades # for libjpeg-turbo
|
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -43,225 +35,110 @@ parameters:
|
|||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- aomp
|
|
||||||
- clr
|
|
||||||
- half
|
|
||||||
- llvm-project
|
|
||||||
- MIVisionX
|
|
||||||
- rocDecode
|
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
- ROCR-Runtime
|
|
||||||
- rpp
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- aomp
|
|
||||||
- clr
|
|
||||||
- half
|
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- MIVisionX
|
|
||||||
- rocDecode
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
- clr
|
||||||
|
- rocDecode
|
||||||
|
- half
|
||||||
- rpp
|
- rpp
|
||||||
|
- MIVisionX
|
||||||
- name: jobMatrix
|
- aomp
|
||||||
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:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
strategy:
|
||||||
- task: Bash@3
|
matrix:
|
||||||
displayName: 'Register libjpeg-turbo packages'
|
gfx942:
|
||||||
inputs:
|
JOB_GPU_TARGET: gfx942
|
||||||
targetType: inline
|
gfx90a:
|
||||||
script: |
|
JOB_GPU_TARGET: gfx90a
|
||||||
sudo mkdir --parents --mode=0755 /etc/apt/keyrings
|
steps:
|
||||||
wget -q -O- https://packagecloud.io/dcommander/libjpeg-turbo/gpgkey | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/libjpeg-turbo.gpg > /dev/null
|
- task: Bash@3
|
||||||
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
|
displayName: 'Register libjpeg-turbo packages'
|
||||||
sudo apt update
|
inputs:
|
||||||
apt-cache show libjpeg-turbo-official | grep Version
|
targetType: inline
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
script: |
|
||||||
parameters:
|
sudo mkdir --parents --mode=0755 /etc/apt/keyrings
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
wget -q -O- https://packagecloud.io/dcommander/libjpeg-turbo/gpgkey | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/libjpeg-turbo.gpg > /dev/null
|
||||||
pipModules: ${{ parameters.pipModules }}
|
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
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
sudo apt update
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
apt-cache show libjpeg-turbo-official | grep Version
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
parameters:
|
||||||
- task: Bash@3
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
displayName: 'Clone PyBind11'
|
pipModules: ${{ parameters.pipModules }}
|
||||||
inputs:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
targetType: inline
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
script: git clone --depth 1 -b v2.11.1 https://github.com/pybind/pybind11
|
parameters:
|
||||||
workingDirectory: '$(Build.SourcesDirectory)'
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'Clone RapidJSON'
|
displayName: 'Clone PyBind11'
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: git clone --depth 1 https://github.com/Tencent/rapidjson.git
|
script: git clone --depth 1 -b v2.11.1 https://github.com/pybind/pybind11
|
||||||
workingDirectory: '$(Build.SourcesDirectory)'
|
workingDirectory: '$(Build.SourcesDirectory)'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- task: Bash@3
|
||||||
parameters:
|
displayName: 'Clone RapidJSON'
|
||||||
componentName: PyBind11
|
inputs:
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/pybind11/build'
|
targetType: inline
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/pybind11'
|
script: git clone --depth 1 https://github.com/Tencent/rapidjson.git
|
||||||
customInstallPath: false
|
workingDirectory: '$(Build.SourcesDirectory)'
|
||||||
installEnabled: false
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
extraBuildFlags: >-
|
parameters:
|
||||||
-DDOWNLOAD_CATCH=ON
|
componentName: PyBind11
|
||||||
-DDOWNLOAD_EIGEN=ON
|
cmakeBuildDir: '$(Build.SourcesDirectory)/pybind11/build'
|
||||||
-GNinja
|
customInstallPath: false
|
||||||
- task: Bash@3
|
installEnabled: false
|
||||||
displayName: 'Install PyBind11'
|
extraBuildFlags: >-
|
||||||
inputs:
|
-DDOWNLOAD_CATCH=ON
|
||||||
targetType: inline
|
-DDOWNLOAD_EIGEN=ON
|
||||||
script: sudo cmake --build . --target install
|
-GNinja
|
||||||
workingDirectory: '$(Build.SourcesDirectory)/pybind11/build'
|
- task: Bash@3
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
displayName: 'Install PyBind11'
|
||||||
parameters:
|
inputs:
|
||||||
componentName: RapidJSON
|
targetType: inline
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/rapidjson/build'
|
script: sudo cmake --build . --target install
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/rapidjson'
|
workingDirectory: '$(Build.SourcesDirectory)/pybind11/build'
|
||||||
customInstallPath: false
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
installEnabled: false
|
parameters:
|
||||||
extraBuildFlags: >-
|
componentName: RapidJSON
|
||||||
-GNinja
|
cmakeBuildDir: '$(Build.SourcesDirectory)/rapidjson/build'
|
||||||
- task: Bash@3
|
customInstallPath: false
|
||||||
displayName: 'Install RapidJSON'
|
installEnabled: false
|
||||||
inputs:
|
extraBuildFlags: >-
|
||||||
targetType: inline
|
-GNinja
|
||||||
script: sudo cmake --build . --target install
|
- task: Bash@3
|
||||||
workingDirectory: '$(Build.SourcesDirectory)/rapidjson/build'
|
displayName: 'Install RapidJSON'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
inputs:
|
||||||
parameters:
|
targetType: inline
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
script: sudo cmake --build . --target install
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
workingDirectory: '$(Build.SourcesDirectory)/rapidjson/build'
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
extraBuildFlags: >-
|
# CI case: download latest default branch build
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;/opt/libjpeg-turbo
|
dependencySource: staging
|
||||||
-DCMAKE_INSTALL_PREFIX_PYTHON=$Python3_STDARCH
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
dependencySource: tag-builds
|
||||||
-GNinja
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
parameters:
|
||||||
parameters:
|
extraBuildFlags: >-
|
||||||
gpuTarget: ${{ job.target }}
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;/opt/libjpeg-turbo
|
||||||
parameters:
|
-DCMAKE_INSTALL_PREFIX_PYTHON=$Python3_STDARCH
|
||||||
gpuTarget: ${{ job.target }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
- 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/artifact-upload.yml
|
||||||
# parameters:
|
parameters:
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
# pipModules: ${{ parameters.pipModules }}
|
|
||||||
# registerJPEGPackages: true
|
|
||||||
# gpuTarget: ${{ job.target }}
|
|
||||||
# extraCopyDirectories:
|
|
||||||
# - /opt/libjpeg-turbo
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: rocAL_test_${{ job.target }}
|
|
||||||
dependsOn: rocAL_build_${{ job.target }}
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
- name: ROCM_PATH
|
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
|
||||||
- name: CMAKE_INCLUDE_PATH
|
|
||||||
value: $(Agent.BuildDirectory)/rocm/include/rocal
|
|
||||||
pool:
|
|
||||||
name: ${{ job.target }}_test_pool
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'Register libjpeg-turbo packages'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
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
|
|
||||||
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
|
|
||||||
apt-cache show libjpeg-turbo-official | grep Version
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Link libjpeg-turbo
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
echo /opt/libjpeg-turbo/lib64 | sudo tee /etc/ld.so.conf.d/libjpeg-turbo.conf
|
|
||||||
sudo ldconfig -v
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build rocAL tests
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
mkdir rocAL-tests
|
|
||||||
cd rocAL-tests
|
|
||||||
cmake $(Agent.BuildDirectory)/rocm/share/rocal/test
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: rocAL
|
|
||||||
testDir: rocAL-tests
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Clean up libjpeg-turbo
|
|
||||||
condition: always()
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
sudo rm /etc/ld.so.conf.d/libjpeg-turbo.conf
|
|
||||||
sudo ldconfig -v
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
registerJPEGPackages: true
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
extraCopyDirectories:
|
|
||||||
- /opt/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:
|
||||||
@@ -20,7 +15,6 @@ parameters:
|
|||||||
- git
|
- git
|
||||||
- mpich
|
- mpich
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- python3-pip
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -34,126 +28,54 @@ parameters:
|
|||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocRAND
|
- rocRAND
|
||||||
- rocSPARSE
|
- rocSPARSE
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- aomp
|
|
||||||
- clr
|
|
||||||
- hipBLAS-common
|
|
||||||
- hipBLASLt
|
|
||||||
- llvm-project
|
|
||||||
- rocBLAS
|
|
||||||
- rocminfo
|
|
||||||
- rocPRIM
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
|
||||||
- rocRAND
|
|
||||||
- rocSPARSE
|
|
||||||
- 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:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
strategy:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
matrix:
|
||||||
parameters:
|
gfx942:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
JOB_GPU_TARGET: gfx942
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
gfx90a:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
JOB_GPU_TARGET: gfx90a
|
||||||
parameters:
|
steps:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
# CI case: download latest default branch build
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/share/rocm/cmake/
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
dependencySource: staging
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
dependencySource: tag-builds
|
||||||
-DBUILD_CLIENTS_SAMPLES=OFF
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
-GNinja
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
gpuTarget: ${{ job.target }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/share/rocm/cmake/
|
||||||
parameters:
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
gpuTarget: ${{ job.target }}
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
||||||
# parameters:
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
-GNinja
|
||||||
# gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
# extraEnvVars:
|
parameters:
|
||||||
# - HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: rocALUTION_test_${{ job.target }}
|
|
||||||
dependsOn: rocALUTION_build_${{ job.target }}
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- 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 }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: rocALUTION
|
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
|
||||||
testExecutable: './rocalution-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 }}
|
|
||||||
|
|||||||
@@ -1,287 +1,125 @@
|
|||||||
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:
|
||||||
- joblib
|
- joblib
|
||||||
- pyyaml
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- aomp
|
|
||||||
- clr
|
|
||||||
- hipBLAS-common
|
|
||||||
- hipBLASLt
|
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
|
- llvm-project
|
||||||
|
- ROCR-Runtime
|
||||||
|
- clr
|
||||||
|
- rocminfo
|
||||||
|
- rocprofiler-register
|
||||||
|
- rocm_smi_lib
|
||||||
- rocm-core
|
- rocm-core
|
||||||
- rocm_smi_lib
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
|
||||||
- roctracer
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- aomp
|
- aomp
|
||||||
- clr
|
- aomp-extras
|
||||||
- hipBLAS-common
|
|
||||||
- hipBLASLt
|
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- rocm_smi_lib
|
|
||||||
- ROCR-Runtime
|
|
||||||
- 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: CMAKE_CXX_COMPILER
|
||||||
- name: HIP_ROCCLR_HOME
|
value: $(Agent.BuildDirectory)/rocm/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
|
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:
|
gfx90a:
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
JOB_GPU_TARGET: gfx90a
|
||||||
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
|
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:
|
||||||
packageManager: ${{ job.packageManager }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
- task: Bash@3
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
displayName: 'Download AOCL'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
inputs:
|
||||||
parameters:
|
targetType: inline
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
workingDirectory: '$(Pipeline.Workspace)'
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
# CI case: download latest default branch build
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aocl.yml
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
parameters:
|
script: wget -nv https://download.amd.com/developer/eula/aocl/aocl-4-2/aocl-linux-gcc-4.2.0_1_amd64.deb
|
||||||
os: ${{ job.os }}
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
parameters:
|
script: wget -nv https://download.amd.com/developer/eula/aocl/aocl-4-1/aocl-linux-aocc-4.1.0_1_amd64.deb
|
||||||
dependencyList:
|
- task: Bash@3
|
||||||
- gtest
|
displayName: 'Install AOCL'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
inputs:
|
||||||
parameters:
|
targetType: inline
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
workingDirectory: '$(Pipeline.Workspace)'
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
# CI case: download latest default branch build
|
||||||
os: ${{ job.os }}
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
gpuTarget: ${{ job.target }}
|
script: sudo apt install --yes ./aocl-linux-gcc-4.2.0_1_amd64.deb
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
script: sudo apt install --yes ./aocl-linux-aocc-4.1.0_1_amd64.deb
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
cmakeSourceDir: $(Agent.BuildDirectory)/sparse/projects/rocblas
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
cmakeBuildDir: $(Agent.BuildDirectory)/sparse/projects/rocblas/build
|
# CI case: download latest default branch build
|
||||||
extraBuildFlags: >-
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
dependencySource: staging
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang++
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang
|
dependencySource: tag-builds
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
parameters:
|
||||||
-GNinja
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
-DCMAKE_TOOLCHAIN_FILE=toolchain-linux.cmake
|
||||||
parameters:
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm;$(Pipeline.Workspace)/deps-install
|
||||||
componentName: ${{ parameters.componentName }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
os: ${{ job.os }}
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
gpuTarget: ${{ job.target }}
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
-DTensile_CODE_OBJECT_VERSION=default
|
||||||
parameters:
|
-DTensile_LOGIC=asm_full
|
||||||
componentName: ${{ parameters.componentName }}
|
-DTensile_SEPARATE_ARCHITECTURES=ON
|
||||||
os: ${{ job.os }}
|
-DTensile_LAZY_LIBRARY_LOADING=ON
|
||||||
gpuTarget: ${{ job.target }}
|
-DTensile_LIBRARY_FORMAT=msgpack
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
- ${{ if eq(job.os, 'ubuntu2204') }}:
|
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
parameters:
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
-GNinja
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
installAOCL: true
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: $(JOB_GPU_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) }}:
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
|
||||||
timeoutInMinutes: 120
|
|
||||||
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 }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- 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.rocmTestDependencies }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
|
||||||
testExecutable: './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,218 +1,80 @@
|
|||||||
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-dev
|
||||||
- mesa-amdgpu-va-drivers
|
- mesa-amdgpu-va-drivers
|
||||||
- ninja-build
|
- libdrm-dev
|
||||||
- pkg-config
|
|
||||||
- python3-pip
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
- rocm-core
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
- clr
|
||||||
- name: jobMatrix
|
- rocminfo
|
||||||
type: object
|
- rocm-core
|
||||||
default:
|
- rocprofiler-register
|
||||||
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:
|
||||||
- ${{ build }}_${{ job.os }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
variables:
|
workspace:
|
||||||
- group: common
|
clean: all
|
||||||
- template: /.azuredevops/variables-global.yml
|
steps:
|
||||||
- name: ROCM_PATH
|
# Since mesa-amdgpu-multimedia-devel is not directly available from apt, register it
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
- task: Bash@3
|
||||||
pool:
|
displayName: 'Register ROCm packages'
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
inputs:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
targetType: inline
|
||||||
container:
|
script: |
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
sudo mkdir --parents --mode=0755 /etc/apt/keyrings
|
||||||
endpoint: ContainerService3
|
wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg > /dev/null
|
||||||
workspace:
|
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/${{ variables.KEYRING_VERSION }}/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/amdgpu.list
|
||||||
clean: all
|
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/${{ variables.KEYRING_VERSION }} jammy main" | sudo tee --append /etc/apt/sources.list.d/rocm.list
|
||||||
steps:
|
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
sudo apt update
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
packageManager: ${{ job.packageManager }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
registerROCmPackages: true
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
# CI case: download latest default branch build
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
os: ${{ job.os }}
|
dependencySource: staging
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
dependencySource: tag-builds
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
extraBuildFlags: >-
|
||||||
consolidateBuildAndInstall: true
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
extraBuildFlags: >-
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-GNinja
|
||||||
-GNinja
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
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: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
- name: ROCM_PATH
|
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
|
||||||
pool:
|
|
||||||
name: ${{ job.target }}_test_pool
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
registerROCmPackages: true
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build rocDecode tests
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
${{ iif(eq(job.os, 'almalinux8'), 'source /opt/rh/gcc-toolset-14/enable', '') }}
|
|
||||||
mkdir rocDecode-tests
|
|
||||||
cd rocDecode-tests
|
|
||||||
cmake $(Agent.BuildDirectory)/rocm/share/rocdecode/test
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: rocDecode
|
|
||||||
testDir: 'rocDecode-tests'
|
|
||||||
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:
|
||||||
@@ -43,167 +19,63 @@ parameters:
|
|||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- aomp
|
|
||||||
- clr
|
|
||||||
- hipRAND
|
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocm-cmake
|
- ROCR-Runtime
|
||||||
|
- clr
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
|
||||||
- rocRAND
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- aomp
|
|
||||||
- clr
|
|
||||||
- hipRAND
|
- hipRAND
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
|
||||||
- rocRAND
|
- rocRAND
|
||||||
|
- rocm-cmake
|
||||||
- name: jobMatrix
|
- aomp
|
||||||
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
|
gfx90a:
|
||||||
steps:
|
JOB_GPU_TARGET: gfx90a
|
||||||
- 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:
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
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 }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
# CI case: download latest default branch build
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
dependencySource: staging
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
parameters:
|
dependencySource: tag-builds
|
||||||
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_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DUSE_HIP_CLANG=ON
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DHIP_COMPILER=clang
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
-DUSE_HIP_CLANG=ON
|
||||||
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
-DHIP_COMPILER=clang
|
||||||
-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
|
||||||
componentName: ${{ parameters.componentName }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
- 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 }}
|
|
||||||
extraEnvVars:
|
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
|
||||||
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ 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 }}
|
|
||||||
- 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 }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
|
||||||
testExecutable: './rocfft-test'
|
|
||||||
testParameters: '--test_prob 0.004 --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,183 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rocJPEG
|
|
||||||
- name: checkoutRepo
|
|
||||||
type: string
|
|
||||||
default: 'self'
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
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
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- cmake
|
|
||||||
- libdrm-dev
|
|
||||||
- libstdc++-12-dev
|
|
||||||
- libva-amdgpu-dev
|
|
||||||
- mesa-amdgpu-va-drivers
|
|
||||||
- ninja-build
|
|
||||||
- pkg-config
|
|
||||||
- python3-pip
|
|
||||||
- name: rocmDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
|
||||||
- rocminfo
|
|
||||||
- rocm-core
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
|
||||||
|
|
||||||
- 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:
|
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
- name: ROCM_PATH
|
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
|
||||||
pool:
|
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
|
||||||
name: rocm-ci_medium_build_pool_2404
|
|
||||||
${{ else }}:
|
|
||||||
name: ${{ variables.MEDIUM_BUILD_POOL }}
|
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
|
||||||
container:
|
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
|
||||||
endpoint: ContainerService3
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
registerROCmPackages: true
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- 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 }}
|
|
||||||
- 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
|
|
||||||
-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: ${{ 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'], ','), variables['Build.DefinitionName'])),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
- name: ROCM_PATH
|
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
|
||||||
pool:
|
|
||||||
name: ${{ job.target }}_test_pool
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
registerROCmPackages: true
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- 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.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build rocJPEG tests
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
${{ iif(eq(job.os, 'almalinux8'), 'source /opt/rh/gcc-toolset-14/enable', '') }}
|
|
||||||
mkdir rocJPEG-tests
|
|
||||||
cd rocJPEG-tests
|
|
||||||
cmake $(Agent.BuildDirectory)/rocm/share/rocjpeg/test
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: rocJPEG
|
|
||||||
testDir: 'rocJPEG-tests'
|
|
||||||
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,21 @@ 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
|
||||||
- git
|
|
||||||
- libdrm-dev
|
|
||||||
- libstdc++-12-dev
|
|
||||||
- ninja-build
|
- ninja-build
|
||||||
|
- git
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- name: pipModules
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- hip-python --extra-index-url https://test.pypi.org/simple
|
|
||||||
- ml_dtypes
|
|
||||||
- numpy
|
|
||||||
- tomli
|
|
||||||
- scipy
|
|
||||||
- pybind11
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- clr
|
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- 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
|
||||||
@@ -59,16 +30,19 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
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 }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
# CI case: download latest default branch build
|
||||||
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
|
dependencySource: staging
|
||||||
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
|
dependencySource: tag-builds
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
@@ -76,80 +50,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/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/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
# compiling and running test on the test system together
|
|
||||||
- job: rocMLIR_test_${{ job.target }}
|
|
||||||
dependsOn: rocMLIR_build
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- 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 }}
|
|
||||||
- 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
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Symlink rocm_agent_enumerator
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
# Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral
|
|
||||||
sudo mkdir -p /opt/rocm/bin
|
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rocm_agent_enumerator /opt/rocm/bin/rocm_agent_enumerator
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
installEnabled: false
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/lib
|
|
||||||
-DCMAKE_INCLUDE_PATH=$(Agent.BuildDirectory)/rocm/lib
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
|
||||||
-DROCM_TEST_CHIPSET=${{ job.target }}
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: rocMLIR
|
|
||||||
testDir: $(Build.SourcesDirectory)/build
|
|
||||||
testExecutable: ninja
|
|
||||||
testParameters: check-rocmlir
|
|
||||||
testPublishResults: false
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -1,231 +1,68 @@
|
|||||||
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
|
|
||||||
- ROCR-Runtime
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocminfo
|
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocprofiler-register
|
- clr
|
||||||
|
- rocminfo
|
||||||
- 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:
|
gfx90a:
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
JOB_GPU_TARGET: gfx90a
|
||||||
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-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
# CI case: download latest default branch build
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
parameters:
|
dependencySource: staging
|
||||||
dependencyList:
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
- gtest
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
dependencySource: tag-builds
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
parameters:
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
extraBuildFlags: >-
|
||||||
gpuTarget: ${{ job.target }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
os: ${{ job.os }}
|
-DBUILD_BENCHMARK=ON
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
-DBUILD_TEST=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-GNinja
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
consolidateBuildAndInstall: true
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
extraBuildFlags: >-
|
|
||||||
-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) }}:
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}_shard_${{ job.shard }}
|
|
||||||
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-aqlprofile.yml
|
|
||||||
- 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/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 }}
|
|
||||||
|
|||||||
@@ -1,264 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- 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
|
|
||||||
- ffmpeg
|
|
||||||
- libavcodec-dev
|
|
||||||
- libavformat-dev
|
|
||||||
- libavutil-dev
|
|
||||||
- libdlpack-dev
|
|
||||||
- libdrm-dev
|
|
||||||
- libva-dev
|
|
||||||
- ninja-build
|
|
||||||
- pkg-config
|
|
||||||
- python3-pip
|
|
||||||
- name: pipModules
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- hip-python --extra-index-url https://test.pypi.org/simple
|
|
||||||
- numpy
|
|
||||||
- pybind11
|
|
||||||
- name: rocmDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocDecode
|
|
||||||
- rocJPEG
|
|
||||||
- rocm-cmake
|
|
||||||
- rocm-core
|
|
||||||
- rocminfo
|
|
||||||
- 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: rocPyDecode_build_${{ job.target }}
|
|
||||||
${{ 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 }}
|
|
||||||
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/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'Save Python Package Paths'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
echo "##vso[task.setvariable variable=PYTHON_USER_SITE;]$(python3 -m site --user-site)"
|
|
||||||
echo "##vso[task.setvariable variable=PYTHON_DIST_PACKAGES;]$(python3 -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])')"
|
|
||||||
echo "##vso[task.setvariable variable=PYBIND11_PATH;]$(python3 -c 'import pybind11; print(pybind11.get_cmake_dir())')"
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
installEnabled: false
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(PYTHON_USER_SITE)/pybind11;$(PYTHON_DIST_PACKAGES)/pybind11;$(PYBIND11_PATH)
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
|
||||||
-DCMAKE_INSTALL_PREFIX_PYTHON=$(Build.BinariesDirectory)
|
|
||||||
-GNinja
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'rocPyDecode install'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
sudo cmake --build . --target install
|
|
||||||
sudo chown -R $(whoami):$(id -gn) $(Build.BinariesDirectory)
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)/build
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
publish: false
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Create wheel file
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
export HIP_INCLUDE_DIRS=$(Agent.BuildDirectory)/rocm/include/hip
|
|
||||||
sudo python3 setup.py bdist_wheel
|
|
||||||
sudo chown -R $(whoami):$(id -gn) $(find . -name "*.whl")
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
|
||||||
parameters:
|
|
||||||
sourceDir: $(Build.SourcesDirectory)/dist
|
|
||||||
contentsString: '*.whl'
|
|
||||||
targetDir: $(Build.ArtifactStagingDirectory)
|
|
||||||
clean: false
|
|
||||||
- task: PublishPipelineArtifact@1
|
|
||||||
displayName: 'wheel file Publish'
|
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
|
||||||
targetPath: $(Build.ArtifactStagingDirectory)
|
|
||||||
- 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 }}
|
|
||||||
# gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: rocPyDecode_test_${{ job.target }}
|
|
||||||
dependsOn: rocPyDecode_build_${{ job.target }}
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
- name: ROCM_PATH
|
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
|
||||||
pool:
|
|
||||||
name: ${{ job.target }}_test_pool
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Ensure pybind11-dev is not installed
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
if dpkg -l | grep -q pybind11-dev; then
|
|
||||||
echo "Removing pybind11-dev..."
|
|
||||||
sudo apt remove -y pybind11-dev
|
|
||||||
else
|
|
||||||
echo "pybind11-dev is not installed."
|
|
||||||
fi
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- task: DownloadPipelineArtifact@2
|
|
||||||
displayName: 'Download Pipeline Wheel Files'
|
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
|
||||||
itemPattern: '**/*.whl'
|
|
||||||
targetPath: $(Agent.BuildDirectory)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
setupHIPLibrarySymlinks: true
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: pip install
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
pip uninstall -y rocPyDecode
|
|
||||||
find -name *.whl -exec pip install {} \;
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Setup search paths
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
echo "##vso[task.setvariable variable=PYTHON_USER_SITE;]$(python3 -m site --user-site)"
|
|
||||||
echo "##vso[task.setvariable variable=PYTHON_DIST_PACKAGES;]$(python3 -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])')"
|
|
||||||
echo "##vso[task.setvariable variable=PYBIND11_PATH;]$(python3 -c 'import pybind11; print(pybind11.get_cmake_dir())')"
|
|
||||||
- task: CMake@1
|
|
||||||
displayName: 'rocPyDecode Test CMake Flags'
|
|
||||||
inputs:
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)/rocm/share/rocpydecode/tests
|
|
||||||
cmakeArgs: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(PYTHON_USER_SITE)/pybind11;$(PYTHON_DIST_PACKAGES)/pybind11;$(PYBIND11_PATH)
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
|
||||||
.
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: rocPyDecode
|
|
||||||
testDir: $(Agent.BuildDirectory)/rocm/share/rocpydecode/tests
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
pythonEnvVars: true
|
|
||||||
# note that this docker won't have hip-python installed via pip
|
|
||||||
@@ -1,223 +1,70 @@
|
|||||||
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
|
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- python3-pip
|
- googletest
|
||||||
|
- libgtest-dev
|
||||||
|
- git
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
- rocminfo
|
|
||||||
- ROCR-Runtime
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
- clr
|
||||||
- name: jobMatrix
|
- rocminfo
|
||||||
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:
|
||||||
- group: common
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
- template: /.azuredevops/variables-global.yml
|
workspace:
|
||||||
- name: HIP_ROCCLR_HOME
|
clean: all
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
strategy:
|
||||||
pool:
|
matrix:
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
gfx942:
|
||||||
vmImage: 'ubuntu-24.04'
|
JOB_GPU_TARGET: gfx942
|
||||||
${{ else }}:
|
gfx90a:
|
||||||
name: ${{ variables.MEDIUM_BUILD_POOL }}
|
JOB_GPU_TARGET: gfx90a
|
||||||
${{ 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/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 }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
# CI case: download latest default branch build
|
||||||
parameters:
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
dependencySource: staging
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
parameters:
|
dependencySource: tag-builds
|
||||||
dependencyList:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- gtest
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DBUILD_TEST=ON
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
gpuTarget: ${{ job.target }}
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
-GNinja
|
||||||
os: ${{ job.os }}
|
- 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
|
|
||||||
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++
|
|
||||||
-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) }}:
|
|
||||||
- ${{ 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-aqlprofile.yml
|
|
||||||
- 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/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,268 +1,96 @@
|
|||||||
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
|
|
||||||
- llvm-project
|
|
||||||
- rocBLAS
|
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
- rocminfo
|
|
||||||
- rocPRIM
|
|
||||||
- ROCR-Runtime
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- hipBLAS-common
|
|
||||||
- hipBLASLt
|
|
||||||
- hipSPARSE
|
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocBLAS
|
|
||||||
- rocm-cmake
|
|
||||||
- rocminfo
|
|
||||||
- rocPRIM
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
- clr
|
||||||
|
- rocminfo
|
||||||
|
- rocBLAS
|
||||||
|
- rocPRIM
|
||||||
- rocSPARSE
|
- rocSPARSE
|
||||||
- roctracer
|
- hipSPARSE
|
||||||
|
|
||||||
- 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:
|
gfx90a:
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
JOB_GPU_TARGET: gfx90a
|
||||||
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
|
- task: Bash@3
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
displayName: 'Clone lapack'
|
||||||
parameters:
|
inputs:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
targetType: inline
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
script: git clone --depth 1 --branch v3.9.1 https://github.com/Reference-LAPACK/lapack
|
||||||
- task: Bash@3
|
workingDirectory: '$(Build.SourcesDirectory)'
|
||||||
displayName: 'Clone lapack'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
inputs:
|
parameters:
|
||||||
targetType: inline
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
script: git clone --depth 1 --branch v3.9.1 https://github.com/Reference-LAPACK/lapack
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
workingDirectory: '$(Build.SourcesDirectory)'
|
# CI case: download latest default branch build
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
parameters:
|
dependencySource: staging
|
||||||
dependencyList:
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
- gtest
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
dependencySource: tag-builds
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
parameters:
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
componentName: lapack
|
||||||
os: ${{ job.os }}
|
extraBuildFlags: >-
|
||||||
gpuTarget: ${{ job.target }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
-DCMAKE_Fortran_FLAGS=-fno-optimize-sibling-calls
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
-DBUILD_TESTING=OFF
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
-DCBLAS=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DLAPACKE=OFF
|
||||||
parameters:
|
-GNinja
|
||||||
componentName: lapack
|
cmakeBuildDir: '$(Build.SourcesDirectory)/lapack/build'
|
||||||
os: ${{ job.os }}
|
installDir: '$(Pipeline.Workspace)/deps-install'
|
||||||
extraBuildFlags: >-
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
parameters:
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
extraBuildFlags: >-
|
||||||
-DCMAKE_Fortran_FLAGS=-fno-optimize-sibling-calls
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Pipeline.Workspace)/deps-install
|
||||||
-DBUILD_TESTING=OFF
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
-DCBLAS=ON
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
-DLAPACKE=OFF
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
-GNinja
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/lapack/build'
|
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/lapack'
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
installDir: '$(Pipeline.Workspace)/deps-install'
|
-GNinja
|
||||||
- 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: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Pipeline.Workspace)/deps-install;$(Agent.BuildDirectory)/vendor
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-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) }}:
|
|
||||||
- ${{ 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 }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- 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.rocmTestDependencies }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
|
||||||
testExecutable: './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,243 +1,93 @@
|
|||||||
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
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- hipBLAS-common
|
|
||||||
- hipBLASLt
|
|
||||||
- llvm-project
|
|
||||||
- rocBLAS
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
|
||||||
- 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
|
gfx90a:
|
||||||
steps:
|
JOB_GPU_TARGET: gfx90a
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
steps:
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
packageManager: ${{ job.packageManager }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- 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-vendor.yml
|
parameters:
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
dependencyList:
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- gtest
|
# CI case: download latest default branch build
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
parameters:
|
dependencySource: staging
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
gpuTarget: ${{ job.target }}
|
dependencySource: tag-builds
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
parameters:
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
extraBuildFlags: >-
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
parameters:
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
os: ${{ job.os }}
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
extraBuildFlags: >-
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang++
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip;$(Agent.BuildDirectory)/rocm/hip/cmake
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
-GNinja
|
||||||
-DBUILD_CLIENTS_SAMPLES=OFF
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
parameters:
|
||||||
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
artifactName: rocSPARSE
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip;$(Agent.BuildDirectory)/rocm/hip/cmake
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-GNinja
|
publish: false
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
sourceDir: $(Build.SourcesDirectory)/build/clients
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
contentsString: matrices/**
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
parameters:
|
||||||
parameters:
|
artifactName: testMatrices
|
||||||
componentName: ${{ parameters.componentName }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.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
|
|
||||||
- ${{ 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) }}:
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
|
||||||
timeoutInMinutes: 120
|
|
||||||
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-aqlprofile.yml
|
|
||||||
- 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 }}
|
|
||||||
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,195 +1,71 @@
|
|||||||
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
|
||||||
- llvm-project
|
- hipRAND
|
||||||
- rocm-cmake
|
|
||||||
- rocminfo
|
|
||||||
- rocPRIM
|
|
||||||
- ROCR-Runtime
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocPRIM
|
- rocPRIM
|
||||||
- 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: 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:
|
gfx90a:
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
JOB_GPU_TARGET: gfx90a
|
||||||
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-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
# CI case: download latest default branch build
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
parameters:
|
dependencySource: staging
|
||||||
dependencyList:
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
- gtest
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
dependencySource: tag-builds
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
parameters:
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
extraBuildFlags: >-
|
||||||
gpuTarget: ${{ job.target }}
|
-GNinja
|
||||||
os: ${{ job.os }}
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DBUILD_TEST=ON
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
consolidateBuildAndInstall: true
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
extraBuildFlags: >-
|
|
||||||
-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) }}:
|
|
||||||
- ${{ 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-aqlprofile.yml
|
|
||||||
- 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/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 }}
|
|
||||||
|
|||||||
@@ -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:
|
||||||
@@ -17,15 +12,14 @@ parameters:
|
|||||||
- cmake
|
- cmake
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- libboost-program-options-dev
|
- libboost-program-options-dev
|
||||||
- libdrm-dev
|
|
||||||
- libgtest-dev
|
- libgtest-dev
|
||||||
- googletest
|
- googletest
|
||||||
- libfftw3-dev
|
- libfftw3-dev
|
||||||
- git
|
- git
|
||||||
|
- libomp-dev
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- aomp
|
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
@@ -34,121 +28,50 @@ parameters:
|
|||||||
- rocBLAS
|
- rocBLAS
|
||||||
- aomp
|
- aomp
|
||||||
- rocm_smi_lib
|
- rocm_smi_lib
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- aomp
|
|
||||||
- clr
|
|
||||||
- hipBLAS-common
|
|
||||||
- hipBLASLt
|
|
||||||
- llvm-project
|
|
||||||
- rocBLAS
|
|
||||||
- rocm-cmake
|
|
||||||
- rocm_smi_lib
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- 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: rocWMMA
|
||||||
- job: rocWMMA_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 }}
|
gfx90a:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
JOB_GPU_TARGET: gfx90a
|
||||||
- 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:
|
- 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.target }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
parameters:
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
extraBuildFlags: >-
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
# CI case: download latest default branch build
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
dependencySource: staging
|
||||||
-DROCWMMA_BUILD_TESTS=ON
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
-DROCWMMA_BUILD_SAMPLES=OFF
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
dependencySource: tag-builds
|
||||||
-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
-DROCM_PLATFORM_VERSION=$(NEXT_RELEASE_VERSION)
|
parameters:
|
||||||
-GNinja
|
extraBuildFlags: >-
|
||||||
# gfx1030 not supported in documentation
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
parameters:
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
gpuTarget: ${{ job.target }}
|
-DROCWMMA_BUILD_TESTS=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
-DROCWMMA_BUILD_SAMPLES=OFF
|
||||||
parameters:
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
# gfx1030 not supported in documentation
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: rocWMMA_test_${{ job.target }}
|
|
||||||
timeoutInMinutes: 270
|
|
||||||
dependsOn: rocWMMA_build_${{ job.target }}
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- 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 }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: rocWMMA
|
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin/rocwmma'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -5,93 +5,44 @@ 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:
|
||||||
- doxygen
|
- doxygen
|
||||||
- doxygen-doc
|
- doxygen-doc
|
||||||
- ninja-build
|
- ninja-build
|
||||||
|
- 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:
|
||||||
${{ else }}:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
vmImage: 'ubuntu-22.04'
|
workspace:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
clean: all
|
||||||
container:
|
steps:
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
endpoint: ContainerService3
|
parameters:
|
||||||
variables:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- group: common
|
pipModules: ${{ parameters.pipModules }}
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
workspace:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
clean: all
|
parameters:
|
||||||
steps:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
# extra steps for ctest suite
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- script: |
|
||||||
pipModules: ${{ parameters.pipModules }}
|
python -m pip install -r $(Build.SourcesDirectory)/docs/requirements.txt
|
||||||
packageManager: ${{ job.packageManager }}
|
python -m pip install -r $(Build.SourcesDirectory)/test/docsphinx/docs/.sphinx/requirements.txt
|
||||||
- task: Bash@3
|
git config --global user.email "you@example.com"
|
||||||
displayName: Add CMake to PATH
|
git config --global user.name "Your Name"
|
||||||
inputs:
|
displayName: "ctest setup"
|
||||||
targetType: inline
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
script: echo "##vso[task.prependpath]$(python3 -m site --user-base)/bin"
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- 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/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
useAmdclang: false
|
|
||||||
- task: Bash@3
|
|
||||||
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,33 @@
|
|||||||
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
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- cmake
|
|
||||||
- ninja-build
|
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
|
||||||
- { os: ubuntu2404, packageManager: apt }
|
|
||||||
- { os: almalinux8, packageManager: dnf }
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: rocm_core
|
||||||
- job: rocm_core_${{ job.os }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool:
|
||||||
- ${{ build }}_${{ job.os }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
pool:
|
workspace:
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
clean: all
|
||||||
vmImage: 'ubuntu-24.04'
|
steps:
|
||||||
${{ else }}:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
vmImage: 'ubuntu-22.04'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
parameters:
|
||||||
container:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
endpoint: ContainerService3
|
parameters:
|
||||||
variables:
|
extraBuildFlags: >-
|
||||||
- group: common
|
-DCMAKE_CURRENT_BINARY_DIR=$PWD
|
||||||
- template: /.azuredevops/variables-global.yml
|
-DCMAKE_CURRENT_SOURCE_DIR=$PWD/../
|
||||||
workspace:
|
-DCMAKE_VERBOSE_MAKEFILE=1
|
||||||
clean: all
|
-DCPACK_GENERATOR=DEB
|
||||||
steps:
|
-DCPACK_DEBIAN_PACKAGE_RELEASE="local.9999~99.99"
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
-DCPACK_RPM_PACKAGE_RELEASE="local.9999"
|
||||||
parameters:
|
-DROCM_VERSION="$(last-release)"
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
- 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/build-cmake.yml
|
|
||||||
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,227 +5,73 @@ 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
|
|
||||||
- libdw-dev
|
|
||||||
- libglfw3-dev
|
- libglfw3-dev
|
||||||
- libmsgpack-dev
|
|
||||||
- libopencv-dev
|
|
||||||
- libtbb-dev
|
|
||||||
- libtiff-dev
|
|
||||||
- libva-amdgpu-dev
|
|
||||||
- libavcodec-dev
|
|
||||||
- libavformat-dev
|
|
||||||
- libavutil-dev
|
|
||||||
- ninja-build
|
|
||||||
- python3-pip
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- AMDMIGraphX
|
- AMDMIGraphX
|
||||||
- aomp
|
|
||||||
- aomp-extras
|
|
||||||
- clr
|
- clr
|
||||||
- composable_kernel
|
|
||||||
- hipBLAS
|
- hipBLAS
|
||||||
- hipBLAS-common
|
|
||||||
- hipBLASLt
|
|
||||||
- hipCUB
|
- hipCUB
|
||||||
- hipFFT
|
|
||||||
- HIPIFY
|
- HIPIFY
|
||||||
- hipRAND
|
- hipRAND
|
||||||
- hipSOLVER
|
- hipSOLVER
|
||||||
- hipSPARSE
|
- hipSPARSE
|
||||||
- hipTensor
|
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- MIOpen
|
|
||||||
- MIVisionX
|
|
||||||
- rocALUTION
|
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
- rocDecode
|
|
||||||
- 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
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- AMDMIGraphX
|
|
||||||
- aomp
|
|
||||||
- aomp-extras
|
|
||||||
- clr
|
|
||||||
- composable_kernel
|
|
||||||
- hipBLAS
|
|
||||||
- hipBLAS-common
|
|
||||||
- hipBLASLt
|
|
||||||
- hipCUB
|
|
||||||
- hipFFT
|
|
||||||
- HIPIFY
|
|
||||||
- hipRAND
|
|
||||||
- hipSOLVER
|
|
||||||
- hipSPARSE
|
|
||||||
- hipTensor
|
|
||||||
- llvm-project
|
|
||||||
- MIOpen
|
|
||||||
- MIVisionX
|
|
||||||
- rocALUTION
|
|
||||||
- rocBLAS
|
|
||||||
- rocDecode
|
|
||||||
- rocFFT
|
|
||||||
- rocminfo
|
|
||||||
- rocPRIM
|
|
||||||
- rocJPEG
|
|
||||||
- rocprofiler-register
|
|
||||||
- rocprofiler-sdk
|
|
||||||
- ROCR-Runtime
|
|
||||||
- rocRAND
|
|
||||||
- rocSOLVER
|
|
||||||
- rocSPARSE
|
|
||||||
- rocThrust
|
|
||||||
- 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:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
strategy:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
matrix:
|
||||||
parameters:
|
gfx942:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
JOB_GPU_TARGET: gfx942
|
||||||
registerROCmPackages: true
|
gfx90a:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
JOB_GPU_TARGET: gfx90a
|
||||||
parameters:
|
steps:
|
||||||
cmakeVersion: '3.25.0'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
# CI case: download latest default branch build
|
||||||
parameters:
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
# https://github.com/ROCm/HIP/issues/2203
|
dependencySource: staging
|
||||||
extraBuildFlags: >-
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
dependencySource: tag-builds
|
||||||
-DROCM_ROOT=$(Agent.BuildDirectory)/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
parameters:
|
||||||
-DCMAKE_HIP_ARCHITECTURES=${{ job.target }}
|
# https://github.com/ROCm/HIP/issues/2203
|
||||||
-DCMAKE_EXE_LINKER_FLAGS=-fgpu-rdc
|
extraBuildFlags: >-
|
||||||
-GNinja
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
- task: Bash@3
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
displayName: Move rocm-examples binaries to rocm/examples
|
-DROCM_ROOT=$(Agent.BuildDirectory)/rocm
|
||||||
inputs:
|
-DCMAKE_HIP_ARCHITECTURES=$(JOB_GPU_TARGET)
|
||||||
targetType: inline
|
-DCMAKE_EXE_LINKER_FLAGS=-fgpu-rdc
|
||||||
script: |
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
mkdir -p $(Build.BinariesDirectory)/examples
|
parameters:
|
||||||
mv $(Build.BinariesDirectory)/bin/* $(Build.BinariesDirectory)/examples
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
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 }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: rocm_examples_test_${{ job.target }}
|
|
||||||
dependsOn: rocm_examples_build_${{ job.target }}
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
- name: TEST_LOG_FILE
|
|
||||||
value: $(Pipeline.Workspace)/rocm-examplesTestLog.log
|
|
||||||
pool: ${{ job.target }}_test_pool
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
registerROCmPackages: true
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
|
||||||
parameters:
|
|
||||||
cmakeVersion: '3.25.0'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
# https://github.com/ROCm/HIP/issues/2203
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DROCM_ROOT=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
|
||||||
-DCMAKE_HIP_ARCHITECTURES=${{ job.target }}
|
|
||||||
-DCMAKE_EXE_LINKER_FLAGS=-fgpu-rdc
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: rocm-examples
|
|
||||||
testDir: $(Build.SourcesDirectory)/build
|
|
||||||
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 }}
|
|
||||||
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:
|
||||||
@@ -30,24 +24,10 @@ parameters:
|
|||||||
- rocminfo
|
- rocminfo
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- name: rocmTestDependencies
|
- ROCT-Thunk-Interface
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- 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
|
||||||
@@ -70,9 +50,13 @@ jobs:
|
|||||||
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 }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
# CI case: download latest default branch build
|
||||||
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
|
dependencySource: staging
|
||||||
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
|
dependencySource: tag-builds
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
@@ -80,55 +64,4 @@ jobs:
|
|||||||
-DCMAKE_MODULE_PATH=$(Build.SourcesDirectory)/cmake_modules
|
-DCMAKE_MODULE_PATH=$(Build.SourcesDirectory)/cmake_modules
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/include;$(Agent.BuildDirectory)/rocm/include/hsa
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/include;$(Agent.BuildDirectory)/rocm/include/hsa
|
||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# pipModules: ${{ parameters.pipModules }}
|
|
||||||
# extraEnvVars:
|
|
||||||
# - ROCR_INC_DIR:::/home/user/workspace/rocm
|
|
||||||
# - ROCR_LIB_DIR:::/home/user/workspace/rocm
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: rocm_bandwidth_test_test_${{ job.target }}
|
|
||||||
dependsOn: rocm_bandwidth_test_build
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- 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 }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: rocm_bandwidth_test
|
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
|
||||||
testExecutable: './rocm/bin/rocm-bandwidth-test'
|
|
||||||
testParameters: ''
|
|
||||||
testPublishResults: false
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -1,145 +1,28 @@
|
|||||||
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
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- cmake
|
|
||||||
- libdrm-dev
|
|
||||||
- ninja-build
|
|
||||||
- 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:
|
||||||
- ${{ build }}_${{ job.os }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
pool:
|
workspace:
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
clean: all
|
||||||
vmImage: 'ubuntu-24.04'
|
steps:
|
||||||
${{ else }}:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
vmImage: 'ubuntu-22.04'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
parameters:
|
||||||
container:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
endpoint: ContainerService3
|
parameters:
|
||||||
variables:
|
extraBuildFlags: >-
|
||||||
- group: common
|
-DBUILD_TESTS=ON
|
||||||
- template: /.azuredevops/variables-global.yml
|
-DROCM_DEP_ROCMCORE=ON
|
||||||
workspace:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
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 }}
|
|
||||||
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) }}:
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: rocm_smi_lib_test_${{ job.os }}_${{ job.target }}
|
|
||||||
dependsOn: rocm_smi_lib_build_${{ job.os }}
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
pool: ${{ job.target }}_test_pool
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- checkout: none
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
parameters:
|
|
||||||
runRocminfo: false
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
|
||||||
testExecutable: 'sudo ./rocm/share/rocm_smi/rsmitst_tests/rsmitst'
|
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -1,175 +1,42 @@
|
|||||||
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
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- cmake
|
|
||||||
- libdrm-amdgpu-dev
|
|
||||||
- libdrm-dev
|
|
||||||
- ninja-build
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- ROCR-Runtime
|
|
||||||
- rocprofiler-register
|
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
|
||||||
- { os: almalinux8, packageManager: dnf }
|
|
||||||
testJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: rocminfo
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool:
|
||||||
- ${{ build }}_${{ job.os }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
pool:
|
workspace:
|
||||||
vmImage: 'ubuntu-22.04'
|
clean: all
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
steps:
|
||||||
container:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
endpoint: ContainerService3
|
parameters:
|
||||||
variables:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- group: common
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
parameters:
|
||||||
workspace:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
clean: all
|
# CI case: download latest default branch build
|
||||||
steps:
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
dependencySource: staging
|
||||||
parameters:
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
packageManager: ${{ job.packageManager }}
|
dependencySource: tag-builds
|
||||||
registerROCmPackages: true
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
-DROCRTST_BLD_TYPE=release
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
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) }}:
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: rocminfo_test_${{ job.target }}
|
|
||||||
dependsOn: rocminfo_build_${{ job.os }}
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
pool: ${{ job.target }}_test_pool
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
registerROCmPackages: true
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
parameters:
|
|
||||||
runRocminfo: false
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
|
||||||
testExecutable: './rocm/bin/rocminfo'
|
|
||||||
testParameters: ''
|
|
||||||
testPublishResults: false
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: rocm_agent_enumerator
|
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
|
||||||
testExecutable: './rocm/bin/rocm_agent_enumerator'
|
|
||||||
testParameters: ''
|
|
||||||
testPublishResults: false
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
registerROCmPackages: true
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -1,221 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rocprofiler-compute
|
|
||||||
- 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
|
|
||||||
- libdw-dev
|
|
||||||
- libtbb-dev
|
|
||||||
- locales
|
|
||||||
- ninja-build
|
|
||||||
- python3-pip
|
|
||||||
- name: pipModules
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- astunparse==1.6.2
|
|
||||||
- colorlover
|
|
||||||
- dash-bootstrap-components
|
|
||||||
- dash-svg
|
|
||||||
- "dash>=3.0.0"
|
|
||||||
- kaleido==0.2.1
|
|
||||||
- matplotlib
|
|
||||||
- "numpy>=1.17.5"
|
|
||||||
- "pandas>=1.4.3"
|
|
||||||
- plotext
|
|
||||||
- plotille
|
|
||||||
- pymongo
|
|
||||||
- pyyaml
|
|
||||||
- setuptools
|
|
||||||
- sqlalchemy
|
|
||||||
- tabulate
|
|
||||||
- textual
|
|
||||||
- textual_plotext
|
|
||||||
- textual-fspicker
|
|
||||||
- tqdm
|
|
||||||
- mock
|
|
||||||
- pytest
|
|
||||||
- pytest-cov
|
|
||||||
- pytest-xdist
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- amdsmi
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
|
||||||
- rocm-core
|
|
||||||
- rocminfo
|
|
||||||
- rocm_smi_lib
|
|
||||||
- ROCR-Runtime
|
|
||||||
- rocprofiler
|
|
||||||
- rocprofiler-sdk
|
|
||||||
- rocprofiler-register
|
|
||||||
- roctracer
|
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
|
||||||
- job: rocprofiler_compute_build_${{ job.target }}
|
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
pool:
|
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-GNinja
|
|
||||||
- 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 }}
|
|
||||||
# pipModules: ${{ parameters.pipModules }}
|
|
||||||
# gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: rocprofiler_compute_test_${{ job.target }}
|
|
||||||
timeoutInMinutes: 120
|
|
||||||
dependsOn: rocprofiler_compute_build_${{ 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
|
|
||||||
- name: PYTHON_VERSION
|
|
||||||
value: 3.10
|
|
||||||
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 }}
|
|
||||||
- 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/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Add en_US.UTF-8 locale
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
sudo locale-gen en_US.UTF-8
|
|
||||||
sudo update-locale
|
|
||||||
locale -a
|
|
||||||
- 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:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_HIP_ARCHITECTURES=${{ job.target }}
|
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DENABLE_TESTS=ON
|
|
||||||
-DINSTALL_TESTS=ON
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
testDir: $(Build.BinariesDirectory)/libexec/rocprofiler-compute
|
|
||||||
testExecutable: ROCM_PATH=$(Agent.BuildDirectory)/rocm ctest
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
@@ -1,104 +1,37 @@
|
|||||||
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
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- cmake
|
|
||||||
- ninja-build
|
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
|
||||||
- { os: ubuntu2404, packageManager: apt }
|
|
||||||
- { os: almalinux8, packageManager: dnf }
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- job: rocprofiler_register
|
||||||
- job: rocprofiler_register_${{ job.os }}
|
variables:
|
||||||
${{ if parameters.buildDependsOn }}:
|
- group: common
|
||||||
dependsOn:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
pool:
|
||||||
- ${{ build }}_${{ job.os }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
pool:
|
workspace:
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
clean: all
|
||||||
vmImage: 'ubuntu-24.04'
|
steps:
|
||||||
${{ else }}:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
vmImage: 'ubuntu-22.04'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
parameters:
|
||||||
container:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
endpoint: ContainerService3
|
parameters:
|
||||||
variables:
|
componentName: rocprofiler-register
|
||||||
- group: common
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
parameters:
|
||||||
workspace:
|
componentName: rocprofiler-register-tests
|
||||||
clean: all
|
extraBuildFlags: >-
|
||||||
steps:
|
-DCMAKE_PREFIX_PATH=$(Build.BinariesDirectory)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
cmakeBuildDir: 'tests/build'
|
||||||
parameters:
|
installEnabled: 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: rocprofiler-register
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
testDir: 'tests/build'
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
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: >-
|
|
||||||
-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,231 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rocprofiler-sdk
|
|
||||||
- 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:
|
|
||||||
- build-essential
|
|
||||||
- cmake
|
|
||||||
- libdrm-amdgpu-dev
|
|
||||||
- libdrm-dev
|
|
||||||
- libdw-dev
|
|
||||||
- libelf-dev
|
|
||||||
- libsqlite3-dev
|
|
||||||
- libva-dev
|
|
||||||
- ninja-build
|
|
||||||
- pkg-config
|
|
||||||
- python3-pip
|
|
||||||
- name: pipModules
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- black
|
|
||||||
- clang-format
|
|
||||||
- clang-tidy
|
|
||||||
- cmake
|
|
||||||
- cmake-format
|
|
||||||
- dataclasses
|
|
||||||
- numpy
|
|
||||||
- otf2
|
|
||||||
- pandas
|
|
||||||
- perfetto
|
|
||||||
- pycobertura
|
|
||||||
- "pytest>=6.2.5"
|
|
||||||
- pyyaml
|
|
||||||
- name: rocmDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- aomp
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rccl
|
|
||||||
- rocDecode
|
|
||||||
- rocJPEG
|
|
||||||
- rocm-cmake
|
|
||||||
- rocm-core
|
|
||||||
- rocminfo
|
|
||||||
- ROCR-Runtime
|
|
||||||
- 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:
|
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
|
||||||
- job: rocprofiler_sdk_build_${{ job.os }}_${{ job.target }}
|
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.os}}_${{ job.target }}
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
pool: ${{ variables.MEDIUM_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 }}
|
|
||||||
registerROCmPackages: true
|
|
||||||
- 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-aqlprofile.yml
|
|
||||||
- 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 }}
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Add Python site-packages binaries to path
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
USER_BASE=$(python3 -m site --user-base)
|
|
||||||
echo "##vso[task.prependpath]$USER_BASE/bin"
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DROCPROFILER_BUILD_TESTS=ON
|
|
||||||
-DROCPROFILER_BUILD_SAMPLES=ON
|
|
||||||
-DROCPROFILER_BUILD_RELEASE=ON
|
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
|
||||||
-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 }}
|
|
||||||
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) }}:
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: rocprofiler_sdk_test_${{ job.os }}_${{ job.target }}
|
|
||||||
dependsOn: rocprofiler_sdk_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:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
registerROCmPackages: true
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Add Python and ROCm binaries to path
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
USER_BASE=$(python3 -m site --user-base)
|
|
||||||
echo "##vso[task.prependpath]$USER_BASE/bin"
|
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DROCPROFILER_BUILD_TESTS=ON
|
|
||||||
-DROCPROFILER_BUILD_SAMPLES=ON
|
|
||||||
-DROCPROFILER_BUILD_RELEASE=ON
|
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
|
||||||
-GNinja
|
|
||||||
- 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
|
|
||||||
@@ -1,271 +0,0 @@
|
|||||||
# largely referenced from: https://github.com/ROCm/omnitrace/blob/main/.github/workflows/ubuntu-jammy.yml
|
|
||||||
parameters:
|
|
||||||
- name: checkoutRepo
|
|
||||||
type: string
|
|
||||||
default: 'self'
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
# 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
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- autoconf
|
|
||||||
- autotools-dev
|
|
||||||
- bison
|
|
||||||
- build-essential
|
|
||||||
- bzip2
|
|
||||||
- clang
|
|
||||||
- cmake
|
|
||||||
- chrpath
|
|
||||||
- environment-modules
|
|
||||||
- ffmpeg
|
|
||||||
- g++-12
|
|
||||||
- libavcodec-dev
|
|
||||||
- libavformat-dev
|
|
||||||
- libavutil-dev
|
|
||||||
- libdrm-amdgpu-dev
|
|
||||||
- libdrm-dev
|
|
||||||
- libdw-dev
|
|
||||||
- libfabric-dev
|
|
||||||
- libiberty-dev
|
|
||||||
- libpapi-dev
|
|
||||||
- libpfm4-dev
|
|
||||||
- libtool
|
|
||||||
- libopenmpi-dev
|
|
||||||
- libsqlite3-dev
|
|
||||||
- m4
|
|
||||||
- ninja-build
|
|
||||||
- openmpi-bin
|
|
||||||
- pkg-config
|
|
||||||
- python3-pip
|
|
||||||
- software-properties-common
|
|
||||||
- texinfo
|
|
||||||
- zlib1g-dev
|
|
||||||
- name: pipModules
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- numpy
|
|
||||||
- perfetto
|
|
||||||
- dataclasses
|
|
||||||
- name: rocmDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- amdsmi
|
|
||||||
- aomp
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rccl
|
|
||||||
- rocDecode
|
|
||||||
- rocJPEG
|
|
||||||
- rocm-core
|
|
||||||
- rocminfo
|
|
||||||
- rocm_smi_lib
|
|
||||||
- rocprofiler-register
|
|
||||||
- rocprofiler-sdk
|
|
||||||
- ROCR-Runtime
|
|
||||||
- roctracer
|
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
testJobs:
|
|
||||||
- gfx942:
|
|
||||||
target: gfx942
|
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
|
||||||
- job: rocprofiler_systems_build_${{ job.target }}
|
|
||||||
${{ 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: ${{ variables.MEDIUM_BUILD_POOL }}
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
registerROCmPackages: true
|
|
||||||
- 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-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
|
||||||
- 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:
|
|
||||||
# build flags reference: https://rocm.docs.amd.com/projects/omnitrace/en/latest/install/install.html
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DROCPROFSYS_BUILD_TESTING=ON
|
|
||||||
-DROCPROFSYS_BUILD_DYNINST=ON
|
|
||||||
-DROCPROFSYS_BUILD_LIBUNWIND=ON
|
|
||||||
-DROCPROFSYS_DISABLE_EXAMPLES="openmp-target"
|
|
||||||
-DDYNINST_BUILD_TBB=ON
|
|
||||||
-DDYNINST_BUILD_ELFUTILS=ON
|
|
||||||
-DDYNINST_BUILD_LIBIBERTY=ON
|
|
||||||
-DDYNINST_BUILD_BOOST=ON
|
|
||||||
-DROCPROFSYS_USE_PAPI=ON
|
|
||||||
-DROCPROFSYS_USE_MPI=ON
|
|
||||||
-DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/include/rocjpeg
|
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
|
||||||
-GNinja
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
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 }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
registerROCmPackages: true
|
|
||||||
extraPaths: /home/user/workspace/rocm/bin:/home/user/workspace/rocm/llvm/bin
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: rocprofiler_systems_test_${{ job.target }}
|
|
||||||
dependsOn: rocprofiler_systems_build_${{ 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)
|
|
||||||
)
|
|
||||||
timeoutInMinutes: 180
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
- name: ROCM_PATH
|
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
|
||||||
pool:
|
|
||||||
name: ${{ job.target }}_test_pool
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
registerROCmPackages: true
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- 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:
|
|
||||||
cmakeSourceDir: $(Agent.BuildDirectory)/s/projects/rocprofiler-systems
|
|
||||||
# build flags reference: https://rocm.docs.amd.com/projects/omnitrace/en/latest/install/install.html
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_INSTALL_PREFIX=$(Agent.BuildDirectory)/rocprofiler-systems
|
|
||||||
-DROCPROFSYS_USE_PYTHON=ON
|
|
||||||
-DROCPROFSYS_BUILD_TESTING=ON
|
|
||||||
-DROCPROFSYS_BUILD_DYNINST=ON
|
|
||||||
-DROCPROFSYS_BUILD_LIBUNWIND=ON
|
|
||||||
-DROCPROFSYS_DISABLE_EXAMPLES="openmp-target"
|
|
||||||
-DDYNINST_BUILD_TBB=ON
|
|
||||||
-DDYNINST_BUILD_ELFUTILS=ON
|
|
||||||
-DDYNINST_BUILD_LIBIBERTY=ON
|
|
||||||
-DDYNINST_BUILD_BOOST=ON
|
|
||||||
-DROCPROFSYS_USE_PAPI=ON
|
|
||||||
-DROCPROFSYS_USE_MPI=ON
|
|
||||||
-DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/include/rocjpeg
|
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
|
||||||
-GNinja
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Set up rocprofiler-systems env
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: source $(Agent.BuildDirectory)/rocprofiler-systems/share/rocprofiler-systems/setup-env.sh
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)/rocprofiler-systems/share/rocprofiler-systems
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
testDir: $(Agent.BuildDirectory)/s/build/tests/
|
|
||||||
testParameters: '--output-on-failure'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
registerROCmPackages: true
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
extraPaths: /home/user/workspace/rocm/bin:/home/user/workspace/rocm/llvm/bin
|
|
||||||
@@ -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,81 @@ 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
|
||||||
|
- ROCT-Thunk-Interface
|
||||||
- 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:
|
gfx90a:
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
JOB_GPU_TARGET: gfx90a
|
||||||
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
|
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:
|
||||||
packageManager: ${{ job.packageManager }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
# Manually download aqlprofile, hard-coded 6.1.0 version
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- task: Bash@3
|
||||||
parameters:
|
displayName: 'Download aqlprofile'
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
inputs:
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
targetType: inline
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
script: wget -nv https://repo.radeon.com/rocm/misc/aqlprofile/ubuntu-22.04/hsa-amd-aqlprofile_1.0.0.60200.60200-crdnnh.14213~22.04_amd64.deb
|
||||||
parameters:
|
workingDirectory: '$(Pipeline.Workspace)'
|
||||||
dependencyList:
|
- task: Bash@3
|
||||||
- gtest
|
displayName: 'Extract aqlprofile'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
inputs:
|
||||||
parameters:
|
targetType: inline
|
||||||
os: ${{ job.os }}
|
script: |
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
mkdir hsa-amd-aqlprofile
|
||||||
parameters:
|
dpkg-deb -R hsa-amd-aqlprofile_1.0.0.60200.60200-crdnnh.14213~22.04_amd64.deb hsa-amd-aqlprofile
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
workingDirectory: '$(Pipeline.Workspace)'
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- task: Bash@3
|
||||||
gpuTarget: ${{ job.target }}
|
displayName: 'Move aqlprofile'
|
||||||
os: ${{ job.os }}
|
inputs:
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
targetType: inline
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
script: |
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
mkdir -p $(Agent.BuildDirectory)/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
cp -R hsa-amd-aqlprofile/opt/rocm-6.2.0-14213/* $(Agent.BuildDirectory)/rocm
|
||||||
parameters:
|
workingDirectory: '$(Pipeline.Workspace)'
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
useAmdclang: false
|
parameters:
|
||||||
extraBuildFlags: >-
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
-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
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor"
|
# CI case: download latest default branch build
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
dependencySource: staging
|
||||||
-DENABLE_LDCONFIG=OFF
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
-DUSE_PROF_API=1
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
dependencySource: tag-builds
|
||||||
multithreadFlag: -- -j32
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
parameters:
|
||||||
parameters:
|
extraBuildFlags: >-
|
||||||
componentName: ${{ parameters.componentName }}
|
-DCMAKE_MODULE_PATH=$(Build.SourcesDirectory)/cmake_modules;$(Agent.BuildDirectory)/rocm/lib/cmake;$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
gpuTarget: ${{ job.target }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
os: ${{ job.os }}
|
-DENABLE_LDCONFIG=OFF
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
-DUSE_PROF_API=1
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
componentName: ${{ parameters.componentName }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: $(JOB_GPU_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) }}:
|
|
||||||
- ${{ 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'], ','), variables['Build.DefinitionName'])),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
- name: ROCM_PATH
|
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
|
||||||
- name: LD_LIBRARY_PATH
|
|
||||||
value: $(Agent.BuildDirectory)/rocm/lib/rocprofiler:$(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1/test:$(Agent.BuildDirectory)/rocm/share/rocprofiler/tests
|
|
||||||
pool: ${{ job.target }}_test_pool
|
|
||||||
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-aqlprofile.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
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: rocprofilerV1
|
|
||||||
testDir: $(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1
|
|
||||||
testExecutable: ./run.sh
|
|
||||||
testParameters: ''
|
|
||||||
testPublishResults: false
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: rocprofilerV2
|
|
||||||
testDir: $(Agent.BuildDirectory)/rocm
|
|
||||||
testExecutable: share/rocprofiler/tests/runUnitTests
|
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -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:
|
||||||
@@ -17,9 +12,6 @@ parameters:
|
|||||||
- ninja-build
|
- ninja-build
|
||||||
- libelf-dev
|
- libelf-dev
|
||||||
- libdw-dev
|
- libdw-dev
|
||||||
- libstdc++-12-dev
|
|
||||||
- python-is-python3
|
|
||||||
- python3-pip
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -30,27 +22,9 @@ parameters:
|
|||||||
- rocminfo
|
- rocminfo
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- ROCdbgapi
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- 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
|
||||||
@@ -68,9 +42,13 @@ jobs:
|
|||||||
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 }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
# CI case: download latest default branch build
|
||||||
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
|
dependencySource: staging
|
||||||
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
|
dependencySource: tag-builds
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
@@ -79,57 +57,4 @@ jobs:
|
|||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: rocr_debug_agent_test_${{ job.target }}
|
|
||||||
dependsOn: rocr_debug_agent_build
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- 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 }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
componentName: rocr_debug_agent-tests
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake;$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
cmakeBuildDir: '$(Agent.BuildDirectory)/rocm/src/rocm-debug-agent-test'
|
|
||||||
cmakeSourceDir: '.'
|
|
||||||
installEnabled: false
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: rocr_debug_agent
|
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/src/rocm-debug-agent-test'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -1,43 +1,17 @@
|
|||||||
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
|
||||||
|
- ninja-build
|
||||||
- doxygen
|
- doxygen
|
||||||
- graphviz
|
- graphviz
|
||||||
- libdrm-amdgpu-dev
|
|
||||||
- ninja-build
|
|
||||||
- zlib1g-dev
|
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -51,155 +25,52 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- clr
|
- clr
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- 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:
|
||||||
- group: common
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
- template: /.azuredevops/variables-global.yml
|
workspace:
|
||||||
pool:
|
clean: all
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
strategy:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
matrix:
|
||||||
container:
|
gfx942:
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
JOB_GPU_TARGET: gfx942
|
||||||
endpoint: ContainerService3
|
gfx90a:
|
||||||
workspace:
|
JOB_GPU_TARGET: gfx90a
|
||||||
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
|
||||||
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-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
# CI case: download latest default branch build
|
||||||
parameters:
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
dependencySource: staging
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
gpuTarget: ${{ job.target }}
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
dependencySource: tag-builds
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
parameters:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
extraBuildFlags: >-
|
||||||
# the linker flags will not affect ubuntu2204 builds as the paths do not exist
|
-DCMAKE_BUILD_TYPE=release
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
parameters:
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
os: ${{ job.os }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
useAmdclang: false
|
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
extraBuildFlags: >-
|
-GNinja
|
||||||
-DCMAKE_BUILD_TYPE=release
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
parameters:
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip;$(Agent.BuildDirectory)/rocm/lib64/cmake/hip
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DGPU_TARGETS=${{ job.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) }}:
|
|
||||||
- ${{ 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:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
registerROCmPackages: true
|
|
||||||
- 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-aqlprofile.yml
|
|
||||||
- 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 }}
|
|
||||||
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,196 +5,67 @@ 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:
|
||||||
- clang
|
|
||||||
- cmake
|
- cmake
|
||||||
- imagemagick
|
- libomp-dev # needed to pass flag step
|
||||||
- libopencv-dev
|
|
||||||
- libsndfile1-dev
|
|
||||||
- libstdc++-12-dev
|
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- python3-pip
|
- clang
|
||||||
- name: pipModules
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- openpyxl
|
|
||||||
- pandas
|
|
||||||
- sphinx
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- aomp
|
- aomp # needed to pass build step
|
||||||
- clr
|
- clr
|
||||||
- half
|
- half
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocm-cmake
|
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- aomp
|
|
||||||
- clr
|
|
||||||
- half
|
|
||||||
- hipTensor
|
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- 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:
|
||||||
- name: ROCM_PATH
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
workspace:
|
||||||
pool:
|
clean: all
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
strategy:
|
||||||
workspace:
|
matrix:
|
||||||
clean: all
|
gfx942:
|
||||||
steps:
|
JOB_GPU_TARGET: gfx942
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
gfx90a:
|
||||||
parameters:
|
JOB_GPU_TARGET: gfx90a
|
||||||
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 }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
parameters:
|
# CI case: download latest default branch build
|
||||||
extraBuildFlags: >-
|
${{ if eq(parameters.checkoutRef, '') }}:
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
dependencySource: staging
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
# manual build case: triggered by ROCm/ROCm repo
|
||||||
-DHALF_INCLUDE_DIRS=$(Agent.BuildDirectory)/rocm/include
|
${{ elseif ne(parameters.checkoutRef, '') }}:
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
dependencySource: tag-builds
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
-DROCM_PLATFORM_VERSION=$(NEXT_RELEASE_VERSION)
|
parameters:
|
||||||
-GNinja
|
extraBuildFlags: >-
|
||||||
- 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.target }}
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
parameters:
|
-DHALF_INCLUDE_DIRS=$(Agent.BuildDirectory)/rocm/include
|
||||||
gpuTarget: ${{ job.target }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
-GNinja
|
||||||
# parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
# pipModules: ${{ parameters.pipModules }}
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
# gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: rpp_test_${{ job.target }}
|
|
||||||
dependsOn: rpp_build_${{ job.target }}
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
- name: ROCM_PATH
|
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
|
||||||
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 }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
# Dependencies from: https://github.com/ROCm/rpp/blob/develop/utilities/test_suite/README.md
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build and install Turbo JPEG
|
|
||||||
inputs:
|
|
||||||
targetType: 'inline'
|
|
||||||
script: |
|
|
||||||
sudo apt-get install nasm
|
|
||||||
sudo apt-get install wget
|
|
||||||
git clone -b 3.0.2 https://github.com/libjpeg-turbo/libjpeg-turbo.git
|
|
||||||
cd libjpeg-turbo
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
cmake -DCMAKE_INSTALL_PREFIX=/usr \
|
|
||||||
-DCMAKE_BUILD_TYPE=RELEASE \
|
|
||||||
-DENABLE_STATIC=FALSE \
|
|
||||||
-DCMAKE_INSTALL_DEFAULT_LIBDIR=lib \
|
|
||||||
-DWITH_JPEG8=TRUE \
|
|
||||||
..
|
|
||||||
make -j$nproc
|
|
||||||
sudo make install
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build and install Nifti
|
|
||||||
inputs:
|
|
||||||
targetType: 'inline'
|
|
||||||
script: |
|
|
||||||
git clone -b v3.0.1 https://github.com/NIFTI-Imaging/nifti_clib.git
|
|
||||||
cd nifti_clib
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
cmake ..
|
|
||||||
sudo make -j$nproc install
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build rpp tests
|
|
||||||
inputs:
|
|
||||||
targetType: 'inline'
|
|
||||||
script: |
|
|
||||||
mkdir rpp-tests
|
|
||||||
cd rpp-tests
|
|
||||||
cmake $(Agent.BuildDirectory)/rocm/share/rpp/test \
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ \
|
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: rpp
|
|
||||||
testExecutable: 'CMAKE_VERBOSE_MAKEFILE=ON VERBOSE=1 ctest'
|
|
||||||
testDir: 'rpp-tests'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -1,64 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- name: checkoutRepo
|
|
||||||
type: string
|
|
||||||
default: 'self'
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: boostVersion
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: aptPackages
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- git
|
|
||||||
- name: rocmDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- llvm-project
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- job: boost
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
pool:
|
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'git clone boost'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: git clone -b ${{ parameters.boostVersion }} https://github.com/boostorg/boost --depth=1 --recurse-submodules
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Add ROCm binaries to PATH
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Add ROCm compilers to PATH
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'Build Boost with clang'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
export CC=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
|
||||||
export CXX=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
|
||||||
./bootstrap.sh --with-toolset=clang --prefix=$(Build.BinariesDirectory)
|
|
||||||
./b2 --toolset=clang threading=multi link=shared --prefix=$(Build.BinariesDirectory) cxxflags="-std=c++20"
|
|
||||||
./b2 install
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)/boost
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
@@ -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 }}
|
|
||||||
@@ -20,7 +20,7 @@ jobs:
|
|||||||
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
|
||||||
@@ -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 }}
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ jobs:
|
|||||||
pool:
|
pool:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
container:
|
container:
|
||||||
image: rocm/dev-ubuntu-22.04:${{ variables.LATEST_RELEASE_VERSION }}
|
image: ${{ variables.DOCKER_IMAGE_NAME }}:${{ variables.LATEST_DOCKER_VERSION }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ jobs:
|
|||||||
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
|
||||||
|
|||||||
@@ -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,70 @@ 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
|
- cmake
|
||||||
- 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
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- astunparse
|
- astunparse
|
||||||
- "expecttest>=0.3.0"
|
- expecttest!=0.2.0
|
||||||
- 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,70 +75,37 @@ parameters:
|
|||||||
- lintrunner
|
- lintrunner
|
||||||
- ninja
|
- ninja
|
||||||
- packaging
|
- packaging
|
||||||
- "optree>=0.13.0"
|
- optree>=0.12.0
|
||||||
- "click>=8.0.3"
|
# list from https://github.com/pytorch/builder/blob/main/manywheel/build_rocm.sh
|
||||||
# list for vision
|
|
||||||
- auditwheel
|
|
||||||
- future
|
|
||||||
- pytest
|
|
||||||
- pytest-azurepipelines
|
|
||||||
- pillow
|
|
||||||
# list from https://github.com/pytorch/pytorch/blob/main/.ci/manywheel/build_rocm.sh
|
|
||||||
- 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
|
||||||
- name: rocmTestDependencies
|
- hipBLAS-common
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
# rocroller.so needed and is not included in the wheel
|
|
||||||
- hipBLASLt
|
|
||||||
- rocminfo
|
|
||||||
# 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
|
|
||||||
# Will iterate through this list using pytest
|
|
||||||
- name: torchTestList
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- nn
|
|
||||||
- torch
|
|
||||||
# - cuda seg faults and might need cuda installed on test system
|
|
||||||
# - ops takes too long
|
|
||||||
- unary_ufuncs
|
|
||||||
- binary_ufuncs
|
|
||||||
- autograd
|
|
||||||
# - inductor/torchinductor takes too long
|
|
||||||
# set to false to disable torchvision build and test
|
|
||||||
- name: includeVision
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
|
|
||||||
trigger: none
|
trigger: none
|
||||||
pr: none
|
pr: none
|
||||||
@@ -168,41 +125,38 @@ jobs:
|
|||||||
amd-staging-gfx942:
|
amd-staging-gfx942:
|
||||||
ROCM_BRANCH: amd-staging
|
ROCM_BRANCH: amd-staging
|
||||||
JOB_GPU_TARGET: gfx942
|
JOB_GPU_TARGET: gfx942
|
||||||
|
amd-staging-gfx90a:
|
||||||
|
ROCM_BRANCH: amd-staging
|
||||||
|
JOB_GPU_TARGET: gfx90a
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- 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 builder repo
|
||||||
- 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: AOTRITON_INSTALLED_PREFIX
|
||||||
|
value: /opt/rocm/aotriton
|
||||||
- name: DESIRED_PYTHON
|
- name: DESIRED_PYTHON
|
||||||
value: 3.10
|
value: 3.10
|
||||||
- name: PYTORCH_ROOT
|
- name: PYTORCH_ROOT
|
||||||
value: $(Build.SourcesDirectory)/pytorch
|
value: $(Build.SourcesDirectory)/pytorch
|
||||||
|
- name: CMAKE_ARGS
|
||||||
|
value: -GNinja
|
||||||
- name: DESIRED_DEVTOOLSET
|
- name: DESIRED_DEVTOOLSET
|
||||||
value: cxx11-abi
|
value: cxx11-abi
|
||||||
pool: ${{ variables.ULTRA_BUILD_POOL }}
|
pool: ${{ variables.ULTRA_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
# copy environment setup from https://github.com/pytorch/pytorch/blob/main/.ci/docker/manywheel/Dockerfile
|
# copy environment setup from https://github.com/pytorch/builder/blob/main/manywheel/Dockerfile
|
||||||
# but instead of centos, use ubuntu environment
|
# but instead of centos, use ubuntu environment
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'Register libjpeg-turbo packages'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
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
|
|
||||||
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
|
|
||||||
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 }}
|
||||||
@@ -219,29 +173,32 @@ 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:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
script: sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
- checkout: self
|
- checkout: self
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: git clone pytorch builder
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: git clone https://github.com/pytorch/builder.git --depth=1 --recurse-submodules
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: git clone upstream pytorch
|
displayName: git clone upstream pytorch
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: git clone https://github.com/pytorch/pytorch.git --depth=1 --recurse-submodules
|
script: git clone https://github.com/pytorch/pytorch.git --depth=1 --recurse-submodules
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
# builder clone still needed due to run_tests.sh at end of build_common.sh call
|
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: git clone pytorch builder
|
displayName: Patch out forced GPU testing block in pytorch build script
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: git apply $(Build.SourcesDirectory)/.azuredevops/patches/pytorch/0001-ROCm-CI-patches.patch
|
||||||
git clone https://github.com/pytorch/builder.git --depth=1 --recurse-submodules
|
workingDirectory: $(Build.SourcesDirectory)/builder
|
||||||
sudo ln -s $(Build.SourcesDirectory)/builder /builder
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Install patchelf
|
displayName: Install patchelf
|
||||||
inputs:
|
inputs:
|
||||||
@@ -249,6 +206,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,291 +225,36 @@ 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
|
- task: Bash@3
|
||||||
displayName: Install targeted typing_extensions for build
|
displayName: Install AOTriton Shared Library
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: pip install --target=$(Build.SourcesDirectory)/pytorch/torch/.. typing_extensions
|
script: |
|
||||||
|
sudo bash ./common/install_aotriton.sh /opt/rocm
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)/pytorch/.ci/docker
|
||||||
- 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)
|
||||||
DESIRED_PYTHON=$(DESIRED_PYTHON)
|
DESIRED_PYTHON=$(DESIRED_PYTHON)
|
||||||
PYTORCH_ROOT=$(PYTORCH_ROOT)
|
PYTORCH_ROOT=$(PYTORCH_ROOT)
|
||||||
CMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
CMAKE_ARGS=$(CMAKE_ARGS)
|
||||||
|
AOTRITON_INSTALLED_PREFIX=$(AOTRITON_INSTALLED_PREFIX)
|
||||||
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
|
bash ./manywheel/build_rocm.sh
|
||||||
bash ./.ci/manywheel/build_rocm.sh
|
workingDirectory: $(Build.SourcesDirectory)/builder
|
||||||
workingDirectory: $(Build.SourcesDirectory)/pytorch
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
|
||||||
parameters:
|
|
||||||
sourceDir: /remote/wheelhouserocm$(ROCM_VERSION)
|
|
||||||
contentsString: '*.whl'
|
|
||||||
# common helper source for pytorch vision and audio
|
|
||||||
- ${{ if eq(parameters.includeVision, true) }}:
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: git clone pytorch test-infra
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: git clone https://github.com/pytorch/test-infra.git --depth=1 --recurse-submodules
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: install package helper
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: python3 -m pip install test-infra/tools/pkg-helpers
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: pytorch pkg helpers
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: CU_VERSION=${CU_VERSION} CHANNEL=${CHANNEL} python -m pytorch_pkg_helpers
|
|
||||||
# get torch vision source and build
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: git clone pytorch vision
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: git clone https://github.com/pytorch/vision.git --depth=1 --recurse-submodules
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build vision
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: >-
|
|
||||||
PYTORCH_VERSION=$(cat $(Build.SourcesDirectory)/pytorch/version.txt | cut -da -f1)post$(date -u +%Y%m%d)
|
|
||||||
BUILD_VERSION=$(cat $(Build.SourcesDirectory)/vision/version.txt | cut -da -f1)post$(date -u +%Y%m%d)
|
|
||||||
python3 setup.py bdist_wheel
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)/vision
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Relocate vision
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: python3 packaging/wheel/relocate.py
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)/vision
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
|
||||||
parameters:
|
|
||||||
sourceDir: $(Build.SourcesDirectory)/vision/dist
|
|
||||||
contentsString: '*.whl'
|
|
||||||
clean: false
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- task: PublishPipelineArtifact@1
|
- task: PublishPipelineArtifact@1
|
||||||
displayName: 'wheel file Publish'
|
displayName: 'ROCm pytorch wheel file Publish'
|
||||||
retryCountOnTaskFailure: 3
|
retryCountOnTaskFailure: 3
|
||||||
inputs:
|
inputs:
|
||||||
targetPath: $(Build.BinariesDirectory)
|
targetPath: /remote/wheelhouserocm$(ROCM_VERSION)
|
||||||
- task: Bash@3
|
|
||||||
displayName: Save pipeline artifact file name
|
|
||||||
inputs:
|
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
whlFile=$(find "$(Build.BinariesDirectory)" -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
|
|
||||||
|
|
||||||
- job: pytorch_testing
|
|
||||||
dependsOn: pytorch
|
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
- name: PYTORCH_TEST_WITH_ROCM
|
|
||||||
value: 1
|
|
||||||
pool: $(JOB_TEST_POOL)
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
gfx942:
|
|
||||||
JOB_GPU_TARGET: gfx942
|
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
|
||||||
steps:
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'Register libjpeg-turbo packages'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
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
|
|
||||||
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
|
|
||||||
apt-cache show libjpeg-turbo-official | grep Version
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
# pytorch tests require an updated version of click, even if requirements is not called outright
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'pip update click'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: pip install --upgrade click
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- task: DownloadPipelineArtifact@2
|
|
||||||
displayName: 'Download Pipeline Wheel Files'
|
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
|
||||||
itemPattern: '**/*.whl'
|
|
||||||
targetPath: $(Agent.BuildDirectory)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
# get sources to run test scripts
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: git clone upstream pytorch
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: git clone https://github.com/pytorch/pytorch.git --depth=1 --recurse-submodules
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
|
||||||
- ${{ if eq(parameters.includeVision, true) }}:
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: git clone pytorch vision
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: git clone https://github.com/pytorch/vision.git --depth=1 --recurse-submodules
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Install Wheel Files
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: find . -name "*.whl" -exec pip install --no-index --find-links=. --no-dependencies -v {} \;
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Show Updated pip List
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: pip list -v
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)
|
|
||||||
- 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 Python site-packages binaries to path
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
USER_BASE=$(python3 -m site --user-base)
|
|
||||||
echo "##vso[task.prependpath]$USER_BASE/bin"
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Add torch libs to ldconfig
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
echo $(python3 -m site --user-site)/torch/lib | sudo tee /etc/ld.so.conf.d/torch.conf
|
|
||||||
sudo ldconfig -v
|
|
||||||
ldconfig -p
|
|
||||||
# https://pytorch.org/get-started/locally/#linux-verification
|
|
||||||
# https://rocm.docs.amd.com/projects/install-on-linux/en/latest/how-to/3rd-party/pytorch-install.html#testing-the-pytorch-installation
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Simple Import Torch Tests
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
python3 -c 'import torch' 2> /dev/null && echo 'Success' || echo 'Failure'
|
|
||||||
python3 -c 'import torch; print(torch.cuda.is_available())'
|
|
||||||
python3 -c 'import torch; x = torch.rand(5, 3); print(x)'
|
|
||||||
# Test artifact build script has too many if statements for different environments
|
|
||||||
# Based off the snippet of interest for this environment, with some adjustments
|
|
||||||
# https://github.com/pytorch/pytorch/blob/main/.ci/pytorch/build.sh#L330-L371
|
|
||||||
# Removing in-line comments since it does not fit with the yaml markup
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build Pytorch Test Artifacts
|
|
||||||
continueOnError: true
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
CUSTOM_TEST_ARTIFACT_BUILD_DIR="build/custom_test_artifacts"
|
|
||||||
CUSTOM_TEST_USE_ROCM=ON
|
|
||||||
CUSTOM_TEST_MODULE_PATH="${PWD}/cmake/public"
|
|
||||||
mkdir -pv "${CUSTOM_TEST_ARTIFACT_BUILD_DIR}"
|
|
||||||
|
|
||||||
CUSTOM_OP_BUILD="${CUSTOM_TEST_ARTIFACT_BUILD_DIR}/custom-op-build"
|
|
||||||
CUSTOM_OP_TEST="${PWD}/test/custom_operator"
|
|
||||||
python --version
|
|
||||||
SITE_PACKAGES="$(python -c 'import site; print(";".join([x for x in site.getsitepackages()] + [x + "/torch" for x in site.getsitepackages()]))')"
|
|
||||||
|
|
||||||
mkdir -p "$CUSTOM_OP_BUILD"
|
|
||||||
pushd "$CUSTOM_OP_BUILD"
|
|
||||||
cmake "$CUSTOM_OP_TEST" -DCMAKE_PREFIX_PATH="$SITE_PACKAGES" -DPython_EXECUTABLE="$(which python)" \
|
|
||||||
-DCMAKE_MODULE_PATH="$CUSTOM_TEST_MODULE_PATH" -DUSE_ROCM="$CUSTOM_TEST_USE_ROCM"
|
|
||||||
make VERBOSE=1
|
|
||||||
popd
|
|
||||||
|
|
||||||
JIT_HOOK_BUILD="${CUSTOM_TEST_ARTIFACT_BUILD_DIR}/jit-hook-build"
|
|
||||||
JIT_HOOK_TEST="$PWD/test/jit_hooks"
|
|
||||||
python --version
|
|
||||||
SITE_PACKAGES="$(python -c 'import site; print(";".join([x for x in site.getsitepackages()] + [x + "/torch" for x in site.getsitepackages()]))')"
|
|
||||||
mkdir -p "$JIT_HOOK_BUILD"
|
|
||||||
pushd "$JIT_HOOK_BUILD"
|
|
||||||
cmake "$JIT_HOOK_TEST" -DCMAKE_PREFIX_PATH="$SITE_PACKAGES" -DPython_EXECUTABLE="$(which python)" \
|
|
||||||
-DCMAKE_MODULE_PATH="$CUSTOM_TEST_MODULE_PATH" -DUSE_ROCM="$CUSTOM_TEST_USE_ROCM"
|
|
||||||
make VERBOSE=1
|
|
||||||
popd
|
|
||||||
|
|
||||||
CUSTOM_BACKEND_BUILD="${CUSTOM_TEST_ARTIFACT_BUILD_DIR}/custom-backend-build"
|
|
||||||
CUSTOM_BACKEND_TEST="${PWD}/test/custom_backend"
|
|
||||||
python --version
|
|
||||||
mkdir -p "$CUSTOM_BACKEND_BUILD"
|
|
||||||
pushd "$CUSTOM_BACKEND_BUILD"
|
|
||||||
cmake "$CUSTOM_BACKEND_TEST" -DCMAKE_PREFIX_PATH="$SITE_PACKAGES" -DPython_EXECUTABLE="$(which python)" \
|
|
||||||
-DCMAKE_MODULE_PATH="$CUSTOM_TEST_MODULE_PATH" -DUSE_ROCM="$CUSTOM_TEST_USE_ROCM"
|
|
||||||
make VERBOSE=1
|
|
||||||
popd
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)/pytorch
|
|
||||||
- ${{ each torchTest in parameters.torchTestList }}:
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Test ${{ torchTest }}
|
|
||||||
continueOnError: true
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)/pytorch
|
|
||||||
${{ if contains(torchTest, '/') }}:
|
|
||||||
script: pytest test/${{ split(torchTest, '/')[0] }}/test_${{ split(torchTest, '/')[1] }}.py
|
|
||||||
${{ else }}:
|
|
||||||
script: pytest test/test_${{ torchTest }}.py
|
|
||||||
# Reference on what tests to run for torchvision found in private repo:
|
|
||||||
# https://github.com/ROCm/rocAutomation/blob/jenkins-pipelines/pytorch/pytorch_ci/test_torchvision.sh#L51
|
|
||||||
- ${{ if eq(parameters.includeVision, true) }}:
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Test vision/transforms
|
|
||||||
continueOnError: true
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: pytest test/test_transforms.py
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)/vision
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Uninstall Wheel Files
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: find . -name "*.whl" -exec pip uninstall -y {} \;
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Remove Python site-packages binaries from path
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
USER_BASE=$(python3 -m site --user-base)
|
|
||||||
echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$USER_BASE/bin;;' -e 's;^/;;' -e 's;/$;;')"
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Remove ROCm binaries from PATH
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$(Agent.BuildDirectory)/rocm/bin;;' -e 's;^/;;' -e 's;/$;;')"
|
|
||||||
|
|||||||
@@ -1,23 +1,5 @@
|
|||||||
parameters:
|
parameters:
|
||||||
# using a parameter instead of a strategy matrix allows job variables to be eval'd at compile-time rather than runtime
|
# currently excludes clr and rocm-examples
|
||||||
- name: jobList
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- { 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: 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,10 +7,9 @@ parameters:
|
|||||||
- amdsmi
|
- amdsmi
|
||||||
- aomp-extras
|
- aomp-extras
|
||||||
- aomp
|
- aomp
|
||||||
- clr
|
|
||||||
- composable_kernel
|
- composable_kernel
|
||||||
- half
|
- half
|
||||||
- hip-tests
|
- HIP
|
||||||
- hipBLAS
|
- hipBLAS
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- hipBLASLt
|
- hipBLASLt
|
||||||
@@ -53,32 +34,26 @@ parameters:
|
|||||||
- rocDecode
|
- rocDecode
|
||||||
- rocFFT
|
- rocFFT
|
||||||
- ROCgdb
|
- ROCgdb
|
||||||
- rocJPEG
|
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
- rocm-core
|
- rocm-core
|
||||||
- rocm-examples
|
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocMLIR
|
- rocMLIR
|
||||||
- ROCmValidationSuite
|
- ROCmValidationSuite
|
||||||
- rocm_bandwidth_test
|
- rocm_bandwidth_test
|
||||||
- rocm_smi_lib
|
- rocm_smi_lib
|
||||||
- rocPRIM
|
- rocPRIM
|
||||||
- rocprofiler-compute
|
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- rocprofiler-sdk
|
|
||||||
- rocprofiler-systems
|
|
||||||
- rocprofiler
|
- rocprofiler
|
||||||
- rocPyDecode
|
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocRAND
|
- rocRAND
|
||||||
- rocr_debug_agent
|
- rocr_debug_agent
|
||||||
- rocSOLVER
|
- rocSOLVER
|
||||||
- rocSPARSE
|
- rocSPARSE
|
||||||
|
- ROCT-Thunk-Interface
|
||||||
- rocThrust
|
- rocThrust
|
||||||
- roctracer
|
- roctracer
|
||||||
- rocWMMA
|
- rocWMMA
|
||||||
- rpp
|
- rpp
|
||||||
- TransferBench
|
|
||||||
|
|
||||||
trigger: none
|
trigger: none
|
||||||
pr: none
|
pr: none
|
||||||
@@ -91,149 +66,55 @@ 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'
|
gfx90a:
|
||||||
inputs:
|
JOB_GPU_TARGET: gfx90a
|
||||||
SourceFolder: '$(Agent.BuildDirectory)/s'
|
steps:
|
||||||
Contents: '**/*'
|
- task: DeleteFiles@1
|
||||||
- task: DeleteFiles@1
|
displayName: 'Cleanup checkout space'
|
||||||
displayName: 'Cleanup Staging Area'
|
inputs:
|
||||||
inputs:
|
SourceFolder: '$(Agent.BuildDirectory)/s'
|
||||||
SourceFolder: '$(Build.ArtifactStagingDirectory)'
|
Contents: '**/*'
|
||||||
Contents: '/**/*'
|
- task: DeleteFiles@1
|
||||||
RemoveDotFiles: true
|
displayName: 'Cleanup Staging Area'
|
||||||
- script: df -h
|
inputs:
|
||||||
displayName: System disk space before ROCm
|
SourceFolder: '$(Build.ArtifactStagingDirectory)'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
Contents: '/**/*'
|
||||||
parameters:
|
RemoveDotFiles: true
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- script: df -h
|
||||||
os: ${{ job.os }}
|
displayName: System disk space before ROCm
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- script: df -h
|
parameters:
|
||||||
displayName: System disk space after ROCm
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- script: du -sh $(Agent.BuildDirectory)/rocm
|
dependencySource: staging
|
||||||
displayName: Uncompressed ROCm size
|
skipLibraryLinking: true
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
- task: ArchiveFiles@2
|
- script: df -h
|
||||||
displayName: Compress rocm-nightly
|
displayName: System disk space after ROCm
|
||||||
inputs:
|
- script: du -sh $(Agent.BuildDirectory)/rocm
|
||||||
rootFolderOrFile: $(Agent.BuildDirectory)/rocm
|
displayName: Uncompressed ROCm size
|
||||||
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: 'Public ROCm Nightly Artifact'
|
||||||
displayName: Save pipeline artifact file name
|
retryCountOnTaskFailure: 3
|
||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
targetPath: '$(Build.ArtifactStagingDirectory)'
|
||||||
targetType: inline
|
|
||||||
script: echo "$(Build.DefinitionName)_$(Build.BuildNumber)_${{ job.os }}_${{ job.target }}.tar.gz" >> pipelineArtifacts.txt
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- ${{ if eq(job.packageManager, 'apt') }}:
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Create Dockerfile
|
|
||||||
inputs:
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
cat <<'EOF' > Dockerfile
|
|
||||||
${{ iif(eq(job.os, 'ubuntu2204'), 'FROM ubuntu:22.04', '') }}
|
|
||||||
${{ iif(eq(job.os, 'ubuntu2404'), 'FROM ubuntu:24.04', '') }}
|
|
||||||
|
|
||||||
WORKDIR /root
|
|
||||||
RUN mkdir rocm
|
|
||||||
|
|
||||||
RUN apt update \
|
|
||||||
&& apt upgrade -y \
|
|
||||||
&& apt install -y cmake curl git gcc g++ gpg lsb-release lsof ninja-build pkg-config python3 python3-pip wget zip libdrm-dev libelf-dev libgtest-dev libhsakmt-dev libhwloc-dev libnuma-dev libstdc++-12-dev libtbb-dev jq \
|
|
||||||
&& apt clean all
|
|
||||||
|
|
||||||
RUN PACKAGE_NAME=$(curl -s https://repo.radeon.com/rocm/apt/latest/pool/main/h/hsa-amd-aqlprofile/ | grep -oP "href=\"\K[^\"]*$(lsb_release -rs)[^\"]*\.deb") \
|
|
||||||
&& wget -nv --retry-connrefused https://repo.radeon.com/rocm/apt/latest/pool/main/h/hsa-amd-aqlprofile/$PACKAGE_NAME \
|
|
||||||
&& mkdir hsa-amd-aqlprofile \
|
|
||||||
&& dpkg-deb -R $PACKAGE_NAME hsa-amd-aqlprofile \
|
|
||||||
&& cp -R hsa-amd-aqlprofile/opt/rocm-*/* rocm
|
|
||||||
|
|
||||||
RUN ARTIFACT_URL="https://dev.azure.com/ROCm-CI/ROCm-CI/_apis/build/builds/$(Build.BuildId)/artifacts?artifactName=nightly${{ job.os }}${{ job.target }}&api-version=7.1" \
|
|
||||||
&& DOWNLOAD_URL=$(curl -s $ARTIFACT_URL | jq ".resource.downloadUrl" | tr -d '"') \
|
|
||||||
&& wget -nv --retry-connrefused $DOWNLOAD_URL -O nightly.zip \
|
|
||||||
&& unzip nightly.zip \
|
|
||||||
&& tar -xf nightly${{ job.os }}${{ job.target }}/rocm-nightly*${{ job.os }}*${{ job.target }}*.tar.gz -C rocm
|
|
||||||
|
|
||||||
RUN echo /root/rocm/lib | tee /etc/ld.so.conf.d/rocm-ci.conf
|
|
||||||
RUN echo /root/rocm/llvm/lib | tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
|
||||||
RUN echo /root/rocm/lib64 | tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
|
||||||
RUN echo /root/rocm/llvm/lib64 | tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
|
||||||
RUN ldconfig -v
|
|
||||||
ENV PATH="$PATH:/root/rocm/bin"
|
|
||||||
ENTRYPOINT ["/bin/bash"]
|
|
||||||
EOF
|
|
||||||
cat Dockerfile
|
|
||||||
- ${{ elseif eq(job.packageManager, 'dnf') }}:
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Create Dockerfile
|
|
||||||
inputs:
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
cat <<'EOF' > Dockerfile
|
|
||||||
${{ iif(eq(job.os, 'almalinux8'), 'FROM almalinux:8', '') }}
|
|
||||||
|
|
||||||
WORKDIR /root
|
|
||||||
RUN mkdir rocm
|
|
||||||
|
|
||||||
RUN dnf install -y cmake curl git gcc gcc-c++ gnupg2 redhat-lsb-core lsof pkgconf python3 python3-pip wget zip libdrm-devel elfutils-libelf-devel numactl-devel libstdc++-devel tbb-devel jq \
|
|
||||||
&& dnf clean all
|
|
||||||
|
|
||||||
RUN PACKAGE_NAME=$(curl -s https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/ | grep -oP "hsa-amd-aqlprofile-[^\"]+\.rpm" | head -n1) \
|
|
||||||
&& wget -nv --retry-connrefused https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/$PACKAGE_NAME \
|
|
||||||
&& mkdir hsa-amd-aqlprofile \
|
|
||||||
&& dnf -y install rpm-build cpio \
|
|
||||||
&& rpm2cpio $PACKAGE_NAME | (cd hsa-amd-aqlprofile && cpio -idmv) \
|
|
||||||
&& cp -R hsa-amd-aqlprofile/opt/rocm-*/* rocm
|
|
||||||
|
|
||||||
RUN ARTIFACT_URL="https://dev.azure.com/ROCm-CI/ROCm-CI/_apis/build/builds/$(Build.BuildId)/artifacts?artifactName=nightly${{ job.os }}${{ job.target }}&api-version=7.1" \
|
|
||||||
&& DOWNLOAD_URL=$(curl -s $ARTIFACT_URL | jq ".resource.downloadUrl" | tr -d '"') \
|
|
||||||
&& wget -nv --retry-connrefused $DOWNLOAD_URL -O nightly.zip \
|
|
||||||
&& UNZIP_DISABLE_ZIPBOMB_DETECTION=TRUE unzip nightly.zip \
|
|
||||||
&& tar -xf nightly${{ job.os }}${{ job.target }}/rocm-nightly*${{ job.os }}*${{ job.target }}*.tar.gz -C rocm
|
|
||||||
|
|
||||||
RUN echo /root/rocm/lib | tee /etc/ld.so.conf.d/rocm-ci.conf
|
|
||||||
RUN echo /root/rocm/llvm/lib | tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
|
||||||
RUN echo /root/rocm/lib64 | tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
|
||||||
RUN echo /root/rocm/llvm/lib64 | tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
|
||||||
RUN ldconfig -v
|
|
||||||
ENV PATH="$PATH:/root/rocm/bin"
|
|
||||||
ENTRYPOINT ["/bin/bash"]
|
|
||||||
EOF
|
|
||||||
cat Dockerfile
|
|
||||||
- task: Docker@2
|
|
||||||
displayName: Build and upload Docker image
|
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
|
||||||
containerRegistry: ContainerService3
|
|
||||||
repository: 'nightly-${{ job.os }}-${{ job.target }}'
|
|
||||||
Dockerfile: '$(Agent.BuildDirectory)/Dockerfile'
|
|
||||||
buildContext: '$(Agent.BuildDirectory)'
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: '!! Docker Run Command !!'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: echo "docker run -it --network=host --device=/dev/kfd --device=/dev/dri --security-opt seccomp=unconfined rocmexternalcicd.azurecr.io/nightly-${{ job.os }}-${{ job.target }}:$(Build.BuildId)" | tr '[:upper:]' '[:lower:]'
|
|
||||||
|
|||||||
40
.azuredevops/patches/pytorch/0001-ROCm-CI-patches.patch
Normal file
40
.azuredevops/patches/pytorch/0001-ROCm-CI-patches.patch
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
From b2d3c88f7a8b179e814e72f76f27e25c82659200 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Joseph Macaranas <Joseph.Macaranas@amd.com>
|
||||||
|
Date: Tue, 30 Jul 2024 05:43:06 -0400
|
||||||
|
Subject: [PATCH] ROCm CI patches
|
||||||
|
|
||||||
|
---
|
||||||
|
manywheel/build_common.sh | 9 ---------
|
||||||
|
1 file changed, 9 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/manywheel/build_common.sh b/manywheel/build_common.sh
|
||||||
|
index 08ca924..52c468f 100644
|
||||||
|
--- a/manywheel/build_common.sh
|
||||||
|
+++ b/manywheel/build_common.sh
|
||||||
|
@@ -475,11 +475,9 @@ if [[ -z "$BUILD_PYTHONLESS" ]]; then
|
||||||
|
fi
|
||||||
|
|
||||||
|
pip uninstall -y "$TORCH_PACKAGE_NAME"
|
||||||
|
-
|
||||||
|
if [[ "$USE_SPLIT_BUILD" == "true" ]]; then
|
||||||
|
pip install "$TORCH_NO_PYTHON_PACKAGE_NAME" --no-index -f /$WHEELHOUSE_DIR --no-dependencies -v
|
||||||
|
fi
|
||||||
|
-
|
||||||
|
pip install "$TORCH_PACKAGE_NAME" --no-index -f /$WHEELHOUSE_DIR --no-dependencies -v
|
||||||
|
|
||||||
|
# Print info on the libraries installed in this wheel
|
||||||
|
@@ -491,11 +489,4 @@ if [[ -z "$BUILD_PYTHONLESS" ]]; then
|
||||||
|
ldd "$installed_lib" || true
|
||||||
|
done
|
||||||
|
|
||||||
|
- # Run the tests
|
||||||
|
- echo "$(date) :: Running tests"
|
||||||
|
- pushd "$PYTORCH_ROOT"
|
||||||
|
- LD_LIBRARY_PATH=/usr/local/nvidia/lib64 \
|
||||||
|
- "${SOURCE_DIR}/../run_tests.sh" manywheel "${py_majmin}" "$DESIRED_CUDA"
|
||||||
|
- popd
|
||||||
|
- echo "$(date) :: Finished tests"
|
||||||
|
fi
|
||||||
|
--
|
||||||
|
2.44.0.windows.1
|
||||||
|
|
||||||
@@ -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
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
default: refs/tags/$(LATEST_RELEASE_TAG)
|
|
||||||
|
|
||||||
resources:
|
|
||||||
repositories:
|
|
||||||
- repository: pipelines_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/ROCm
|
|
||||||
- repository: release_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/Tensile
|
|
||||||
ref: ${{ parameters.checkoutRef }}
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
pr: none
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: ${{ variables.CI_COMPONENT_PATH }}/Tensile.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: release_repo
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
default: refs/tags/$(LATEST_RELEASE_TAG)
|
|
||||||
|
|
||||||
resources:
|
|
||||||
repositories:
|
|
||||||
- repository: pipelines_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/ROCm
|
|
||||||
- repository: release_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/TransferBench
|
|
||||||
ref: ${{ parameters.checkoutRef }}
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
pr: none
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: ${{ variables.CI_COMPONENT_PATH }}/TransferBench.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: release_repo
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
@@ -3,41 +3,22 @@ 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)
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
repositories:
|
repositories:
|
||||||
- repository: aomp_repo
|
- repository: release_repo
|
||||||
type: github
|
type: github
|
||||||
endpoint: ROCm
|
endpoint: ROCm
|
||||||
name: ROCm/aomp
|
name: ROCm/aomp
|
||||||
ref: ${{ parameters.aompRef }}
|
ref: ${{ parameters.checkoutRef }}
|
||||||
- repository: aomp-extras_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/aomp-extras
|
|
||||||
ref: ${{ parameters.extrasRef }}
|
|
||||||
- repository: flang_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/flang
|
|
||||||
ref: ${{ parameters.flangRef }}
|
|
||||||
- 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: ${{ parameters.checkoutRef }}
|
||||||
|
|
||||||
trigger: none
|
trigger: none
|
||||||
pr: none
|
pr: none
|
||||||
@@ -45,5 +26,5 @@ pr: none
|
|||||||
jobs:
|
jobs:
|
||||||
- template: ${{ variables.CI_COMPONENT_PATH }}/aomp.yml
|
- template: ${{ variables.CI_COMPONENT_PATH }}/aomp.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: aomp_repo
|
checkoutRepo: release_repo
|
||||||
checkoutRef: ${{ parameters.aompRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: boostVersion
|
|
||||||
type: string
|
|
||||||
default: 'master'
|
|
||||||
|
|
||||||
resources:
|
|
||||||
repositories:
|
|
||||||
- repository: pipelines_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/ROCm
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
pr: none
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: ${{ variables.CI_DEPENDENCIES_PATH }}/boost.yml
|
|
||||||
parameters:
|
|
||||||
boostVersion: ${{ parameters.boostVersion }}
|
|
||||||
@@ -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,29 +0,0 @@
|
|||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
default: refs/tags/$(LATEST_RELEASE_TAG)
|
|
||||||
|
|
||||||
resources:
|
|
||||||
repositories:
|
|
||||||
- repository: pipelines_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/ROCm
|
|
||||||
- repository: release_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/hip-tests
|
|
||||||
ref: ${{ parameters.checkoutRef }}
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
pr: none
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: ${{ variables.CI_COMPONENT_PATH }}/hip-tests.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: release_repo
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
@@ -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,29 +0,0 @@
|
|||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
default: refs/tags/$(LATEST_RELEASE_TAG)
|
|
||||||
|
|
||||||
resources:
|
|
||||||
repositories:
|
|
||||||
- repository: pipelines_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/ROCm
|
|
||||||
- repository: release_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/omnitrace
|
|
||||||
ref: ${{ parameters.checkoutRef }}
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
pr: none
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: ${{ variables.CI_COMPONENT_PATH }}/omnitrace.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: release_repo
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
default: refs/tags/$(LATEST_RELEASE_TAG)
|
|
||||||
|
|
||||||
resources:
|
|
||||||
repositories:
|
|
||||||
- repository: pipelines_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/ROCm
|
|
||||||
- repository: release_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/rocJPEG
|
|
||||||
ref: ${{ parameters.checkoutRef }}
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
pr: none
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: ${{ variables.CI_COMPONENT_PATH }}/rocJPEG.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: release_repo
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
default: refs/tags/$(LATEST_RELEASE_TAG)
|
|
||||||
|
|
||||||
resources:
|
|
||||||
repositories:
|
|
||||||
- repository: pipelines_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/ROCm
|
|
||||||
- repository: release_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/rocPyDecode
|
|
||||||
ref: ${{ parameters.checkoutRef }}
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
pr: none
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: ${{ variables.CI_COMPONENT_PATH }}/rocPyDecode.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: release_repo
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
default: refs/tags/$(LATEST_RELEASE_TAG)
|
|
||||||
|
|
||||||
resources:
|
|
||||||
repositories:
|
|
||||||
- repository: pipelines_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/ROCm
|
|
||||||
- repository: release_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/rocprofiler-compute
|
|
||||||
ref: ${{ parameters.checkoutRef }}
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
pr: none
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: ${{ variables.CI_COMPONENT_PATH }}/rocprofiler-compute.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: release_repo
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
default: refs/tags/$(LATEST_RELEASE_TAG)
|
|
||||||
|
|
||||||
resources:
|
|
||||||
repositories:
|
|
||||||
- repository: pipelines_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/ROCm
|
|
||||||
- repository: release_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/rocprofiler-sdk
|
|
||||||
ref: ${{ parameters.checkoutRef }}
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
pr: none
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: ${{ variables.CI_COMPONENT_PATH }}/rocprofiler-sdk.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: release_repo
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
default: refs/tags/$(LATEST_RELEASE_TAG)
|
|
||||||
|
|
||||||
resources:
|
|
||||||
repositories:
|
|
||||||
- repository: pipelines_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/ROCm
|
|
||||||
- repository: release_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/rocprofiler-systems
|
|
||||||
ref: ${{ parameters.checkoutRef }}
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
pr: none
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: ${{ variables.CI_COMPONENT_PATH }}/rocprofiler-systems.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: release_repo
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user