mirror of
https://github.com/ROCm/ROCm.git
synced 2026-02-12 23:45:05 -05:00
Compare commits
31 Commits
develop
...
docs/7.11.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e356e3bf7c | ||
|
|
3b2b27ddc7 | ||
|
|
1e3eeeaadb | ||
|
|
0785293530 | ||
|
|
e3e924cf00 | ||
|
|
60ebec8c07 | ||
|
|
5ac64b9f6b | ||
|
|
ffa6360979 | ||
|
|
b22c24b949 | ||
|
|
2563bd2a22 | ||
|
|
a04bb5b714 | ||
|
|
4c1f7d402f | ||
|
|
e88e961519 | ||
|
|
5f6018027b | ||
|
|
2e614775ab | ||
|
|
c92c9d2b57 | ||
|
|
1a2e4f1cc0 | ||
|
|
e76255db98 | ||
|
|
cdbcad6930 | ||
|
|
dc19d266b4 | ||
|
|
8584fa3b25 | ||
|
|
163d46ca5c | ||
|
|
56f93e72de | ||
|
|
f004891485 | ||
|
|
3c61d4fb05 | ||
|
|
39783dcee0 | ||
|
|
c965b7e98e | ||
|
|
70acbcb27a | ||
|
|
b0fc5959da | ||
|
|
70fc9d8fb8 | ||
|
|
a32210fa7e |
62
.azuredevops/README.md
Normal file
62
.azuredevops/README.md
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
# ROCm-CI Azure DevOps Pipelines
|
||||||
|
|
||||||
|
ROCm-CI Azure DevOps Pipelines contains markup language files that orchestrate build and test pipelines for ROCm components using [Azure DevOps](https://dev.azure.com/ROCm-CI/ROCm-CI/_build).
|
||||||
|
|
||||||
|
## Project Organization
|
||||||
|
|
||||||
|
- `/.azuredevops/variables-global.yml` - set of global variables accessible across any and all pipelines
|
||||||
|
- protected keywords such as tokens and passwords are kept as secrets within the Azure DevOps project
|
||||||
|
- `/.azuredevops/components` - the sequence of templated steps for the job that checks out source, builds, packages, and runs tests for a ROCm repo
|
||||||
|
- `/.azuredevops/scheduled` - the sequence of templated steps for jobs that are schedule-based and not tied to a specific ROCm repo
|
||||||
|
- `/.azuredevops/tag-builds` - yml files to orchestrate manual builds based on specific tags (e.g., releases) without needing the corresponding yaml file in the component's repo
|
||||||
|
- `/.azuredevops/templates` - reusable yml files representing the templated steps that form the sequences in the above directories
|
||||||
|
|
||||||
|
### Per ROCm Repo
|
||||||
|
|
||||||
|
- `/.azuredevops/rocm-ci.yml` - contains the CI and PR trigger definitions associated with that repo, pointing to the corresponding yml file in the components folder in this central repository
|
||||||
|
|
||||||
|
## Key Azure Reference Links
|
||||||
|
|
||||||
|
- [Pipeline Basics](https://learn.microsoft.com/en-us/azure/devops/pipelines/get-started/key-pipelines-concepts?view=azure-devops)
|
||||||
|
- [Templates](https://learn.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azure-devops&pivots=templates-includes)
|
||||||
|
- [Use Predefined Variables](https://learn.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops&tabs=yaml)
|
||||||
|
- [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)
|
||||||
|
|
||||||
|
## 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
|
||||||
|
|
||||||
|
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.
|
||||||
42
.azuredevops/ci-builds/aomp-staging.yml
Normal file
42
.azuredevops/ci-builds/aomp-staging.yml
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
|
||||||
|
resources:
|
||||||
|
repositories:
|
||||||
|
- repository: aomp_repo
|
||||||
|
type: github
|
||||||
|
endpoint: ROCm
|
||||||
|
name: ROCm/aomp
|
||||||
|
ref: 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
|
||||||
|
type: github
|
||||||
|
endpoint: ROCm
|
||||||
|
name: ROCm/llvm-project
|
||||||
|
ref: amd-staging
|
||||||
|
pipelines:
|
||||||
|
- pipeline: rocr-runtime_pipeline
|
||||||
|
source: \ROCR-Runtime
|
||||||
|
trigger:
|
||||||
|
branches:
|
||||||
|
include:
|
||||||
|
- amd-staging
|
||||||
|
# this job will only be triggered after successful build sequence of llvm-project and ROCR-Runtime
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: ${{ variables.CI_COMPONENT_PATH }}/aomp.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: aomp_repo
|
||||||
33
.azuredevops/ci-builds/mathlibs-trigger.yml
Normal file
33
.azuredevops/ci-builds/mathlibs-trigger.yml
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
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
|
||||||
38
.azuredevops/ci-builds/mathlibs.yml
Normal file
38
.azuredevops/ci-builds/mathlibs.yml
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
# 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
|
||||||
240
.azuredevops/components/AMDMIGraphX.yml
Normal file
240
.azuredevops/components/AMDMIGraphX.yml
Normal file
@@ -0,0 +1,240 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: AMDMIGraphX
|
||||||
|
- 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
|
||||||
|
- libdnnl-dev
|
||||||
|
- libdrm-dev
|
||||||
|
- libmsgpack-dev
|
||||||
|
- libnuma-dev
|
||||||
|
- libprotobuf-dev
|
||||||
|
- libsqlite3-dev
|
||||||
|
- libtbb-dev
|
||||||
|
- ninja-build
|
||||||
|
- nlohmann-json3-dev
|
||||||
|
- protobuf-compiler
|
||||||
|
- python3-pip
|
||||||
|
- python3-pybind11
|
||||||
|
- python3-venv
|
||||||
|
- name: pipModules
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- https://github.com/RadeonOpenCompute/rbuild/archive/master.tar.gz
|
||||||
|
- "onnx>=1.14.1"
|
||||||
|
- "numpy>=1.21.6"
|
||||||
|
- "typing>=3.7.4"
|
||||||
|
- "pytest>=6.0.1"
|
||||||
|
- "packaging>=23.0"
|
||||||
|
- "protobuf>=3.20.2"
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- aomp
|
||||||
|
- aomp-extras
|
||||||
|
- clr
|
||||||
|
- composable_kernel
|
||||||
|
- hipBLAS
|
||||||
|
- hipBLAS-common
|
||||||
|
- hipBLASLt
|
||||||
|
- llvm-project
|
||||||
|
- MIOpen
|
||||||
|
- rocm-cmake
|
||||||
|
- ROCR-Runtime
|
||||||
|
- rocBLAS
|
||||||
|
- rocminfo
|
||||||
|
- rocMLIR
|
||||||
|
- rocprofiler-register
|
||||||
|
- roctracer
|
||||||
|
- name: rocmTestDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- aomp
|
||||||
|
- aomp-extras
|
||||||
|
- clr
|
||||||
|
- composable_kernel
|
||||||
|
- hipBLAS
|
||||||
|
- hipBLAS-common
|
||||||
|
- hipBLASLt
|
||||||
|
- llvm-project
|
||||||
|
- MIOpen
|
||||||
|
- rocm-cmake
|
||||||
|
- ROCR-Runtime
|
||||||
|
- rocBLAS
|
||||||
|
- rocminfo
|
||||||
|
- rocMLIR
|
||||||
|
- 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: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_ubuntu2204_${{ job.target }}
|
||||||
|
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 }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
# 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.rocmDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-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
|
||||||
|
-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 }}
|
||||||
|
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
|
||||||
134
.azuredevops/components/HIP.yml
Normal file
134
.azuredevops/components/HIP.yml
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: hip_clr_combined
|
||||||
|
- 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
|
||||||
|
- libnuma-dev
|
||||||
|
- mesa-common-dev
|
||||||
|
- ninja-build
|
||||||
|
- ocl-icd-libopencl1
|
||||||
|
- ocl-icd-opencl-dev
|
||||||
|
- opencl-headers
|
||||||
|
- zlib1g-dev
|
||||||
|
- name: pipModules
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- CppHeaderParser
|
||||||
|
- name: rocmDependenciesAMD
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- llvm-project
|
||||||
|
- ROCR-Runtime
|
||||||
|
- rocprofiler-register
|
||||||
|
- name: rocmDependenciesNvidia
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- llvm-project
|
||||||
|
- ROCR-Runtime
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
buildJobs:
|
||||||
|
- { os: ubuntu2204, packageManager: apt, platform: amd }
|
||||||
|
- { os: ubuntu2204, packageManager: apt, platform: nvidia }
|
||||||
|
- { os: almalinux8, packageManager: dnf, platform: amd }
|
||||||
|
- { os: almalinux8, packageManager: dnf, platform: nvidia }
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: ${{ parameters.componentName }}_${{ job.os }}_${{ job.platform }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}
|
||||||
|
pool:
|
||||||
|
vmImage: 'ubuntu-22.04'
|
||||||
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
|
container:
|
||||||
|
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
||||||
|
endpoint: ContainerService3
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
packageManager: ${{ job.packageManager }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
# full checkout of rocm-systems superrepo, we need clr, hip, and hipother
|
||||||
|
- 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 }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
${{ if eq(job.platform, 'amd') }}:
|
||||||
|
dependencyList: ${{ parameters.rocmDependenciesAMD }}
|
||||||
|
${{ elseif eq(job.platform, 'nvidia') }}:
|
||||||
|
dependencyList: ${{ parameters.rocmDependenciesNvidia }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
componentName: clr
|
||||||
|
cmakeBuildDir: $(Agent.BuildDirectory)/s/projects/clr/build
|
||||||
|
cmakeSourceDir: $(Agent.BuildDirectory)/s/projects/clr
|
||||||
|
os: ${{ job.os }}
|
||||||
|
useAmdclang: false
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DHIPCC_BIN_DIR=$(Agent.BuildDirectory)/rocm/bin
|
||||||
|
-DHIP_COMMON_DIR=$(Agent.BuildDirectory)/s/projects/hip
|
||||||
|
-DHIPNV_DIR=$(Agent.BuildDirectory)/s/projects/hipother/hipnv
|
||||||
|
-DHIP_PLATFORM=${{ job.platform }}
|
||||||
|
-DCLR_BUILD_HIP=ON
|
||||||
|
-DCLR_BUILD_OCL=ON
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
parameters:
|
||||||
|
artifactName: ${{ job.platform }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
artifactName: ${{ job.platform }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
155
.azuredevops/components/HIPIFY.yml
Normal file
155
.azuredevops/components/HIPIFY.yml
Normal file
@@ -0,0 +1,155 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: HIPIFY
|
||||||
|
- 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:
|
||||||
|
- cuda-toolkit-12-9
|
||||||
|
- libcudnn9-dev-cuda-12
|
||||||
|
- libnuma-dev
|
||||||
|
- mesa-common-dev
|
||||||
|
- ninja-build
|
||||||
|
- python-is-python3
|
||||||
|
- python3-dev
|
||||||
|
- python3-pip
|
||||||
|
- name: pipModules
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- lit
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- llvm-project
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
buildJobs:
|
||||||
|
- { os: ubuntu2204, packageManager: apt }
|
||||||
|
- { os: almalinux8, packageManager: dnf }
|
||||||
|
testJobs:
|
||||||
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: ${{ parameters.componentName }}_build_${{ job.os }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
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:
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: 'Register CUDA packages'
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
${{ if eq(job.os, 'ubuntu2204') }}:
|
||||||
|
script: |
|
||||||
|
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
|
||||||
|
sudo dpkg -i cuda-keyring_1.1-1_all.deb
|
||||||
|
sudo rm -f cuda-keyring_1.1-1_all.deb
|
||||||
|
sudo apt update
|
||||||
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
|
script: |
|
||||||
|
sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
|
||||||
|
- 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
|
||||||
|
- 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
|
||||||
290
.azuredevops/components/MIOpen.yml
Normal file
290
.azuredevops/components/MIOpen.yml
Normal file
@@ -0,0 +1,290 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: MIOpen
|
||||||
|
- 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
|
||||||
|
- jq
|
||||||
|
- libdrm-dev
|
||||||
|
- libmsgpack-dev
|
||||||
|
- libsqlite3-dev
|
||||||
|
- libstdc++-12-dev
|
||||||
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
|
- python3-venv
|
||||||
|
- software-properties-common
|
||||||
|
- zip
|
||||||
|
- name: pipModules
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- cget
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- half
|
||||||
|
- rocRAND
|
||||||
|
- rocBLAS
|
||||||
|
- hipBLAS
|
||||||
|
- hipBLASLt
|
||||||
|
- hipBLAS-common
|
||||||
|
- rocm-cmake
|
||||||
|
- llvm-project
|
||||||
|
- ROCR-Runtime
|
||||||
|
- rocprofiler-register
|
||||||
|
- clr
|
||||||
|
- rocminfo
|
||||||
|
- 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:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_ubuntu2204_${{ job.target }}
|
||||||
|
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 }}
|
||||||
|
- 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/miopen-get-ck-build.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- 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: 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 --generator Ninja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DMIOPEN_BACKEND=HIP
|
||||||
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/miopen-deps
|
||||||
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
|
-DMIOPEN_ENABLE_AI_KERNEL_TUNING=OFF
|
||||||
|
-DMIOPEN_ENABLE_AI_IMMED_MODE_FALLBACK=OFF
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DBUILD_TESTING=ON
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.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 }}
|
||||||
213
.azuredevops/components/MIVisionX.yml
Normal file
213
.azuredevops/components/MIVisionX.yml
Normal file
@@ -0,0 +1,213 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: MIVisionX
|
||||||
|
- 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
|
||||||
|
- wget
|
||||||
|
- unzip
|
||||||
|
- libstdc++-12-dev
|
||||||
|
- pkg-config
|
||||||
|
- ffmpeg
|
||||||
|
- libavcodec-dev
|
||||||
|
- libavformat-dev
|
||||||
|
- libavutil-dev
|
||||||
|
- libswscale-dev
|
||||||
|
- libgmp-dev
|
||||||
|
- libomp-dev
|
||||||
|
- libopencv-dev
|
||||||
|
- protobuf-compiler
|
||||||
|
- libprotoc-dev
|
||||||
|
- python3-pip
|
||||||
|
- name: pipModules
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- future==1.0.0
|
||||||
|
- pytz==2022.1
|
||||||
|
- numpy==1.23
|
||||||
|
- google==3.0.0
|
||||||
|
- protobuf==3.12.4
|
||||||
|
- onnx==1.12.0
|
||||||
|
- nnef==1.0.7
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- AMDMIGraphX
|
||||||
|
- clr
|
||||||
|
- half
|
||||||
|
- hipBLAS-common
|
||||||
|
- hipBLASLt
|
||||||
|
- llvm-project
|
||||||
|
- MIOpen
|
||||||
|
- rocBLAS
|
||||||
|
- rocDecode
|
||||||
|
- rocm-cmake
|
||||||
|
- rocminfo
|
||||||
|
- rocprofiler-register
|
||||||
|
- ROCR-Runtime
|
||||||
|
- rpp
|
||||||
|
- name: rocmTestDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- aomp
|
||||||
|
- clr
|
||||||
|
- half
|
||||||
|
- hipBLAS-common
|
||||||
|
- hipBLASLt
|
||||||
|
- llvm-project
|
||||||
|
- MIOpen
|
||||||
|
- rocBLAS
|
||||||
|
- rocprofiler-register
|
||||||
|
- ROCR-Runtime
|
||||||
|
- roctracer
|
||||||
|
- rpp
|
||||||
|
|
||||||
|
- 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: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_ubuntu2204_${{ job.target }}
|
||||||
|
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 }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DROCM_DEP_ROCMCORE=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 }}
|
||||||
|
# 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
|
||||||
220
.azuredevops/components/ROCR-Runtime.yml
Normal file
220
.azuredevops/components/ROCR-Runtime.yml
Normal file
@@ -0,0 +1,220 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: ROCR-Runtime
|
||||||
|
- 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
|
||||||
|
- g++
|
||||||
|
- libdrm-dev
|
||||||
|
- libelf-dev
|
||||||
|
- libnuma-dev
|
||||||
|
- ninja-build
|
||||||
|
- pkg-config
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- llvm-project
|
||||||
|
- 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:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: ROCR_Runtime_build_${{ job.os }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}
|
||||||
|
pool:
|
||||||
|
vmImage: 'ubuntu-22.04'
|
||||||
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
|
container:
|
||||||
|
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
||||||
|
endpoint: ContainerService3
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
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 }}
|
||||||
|
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
|
||||||
32
.azuredevops/components/ROCT-Thunk-Interface.yml
Normal file
32
.azuredevops/components/ROCT-Thunk-Interface.yml
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
parameters:
|
||||||
|
- name: checkoutRepo
|
||||||
|
type: string
|
||||||
|
default: 'self'
|
||||||
|
- name: checkoutRef
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: aptPackages
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- libnuma-dev
|
||||||
|
- libdrm-dev
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- job: ROCT_Thunk_Interface
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ variables.LOW_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/build-cmake.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
79
.azuredevops/components/ROCdbgapi.yml
Normal file
79
.azuredevops/components/ROCdbgapi.yml
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
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
|
||||||
|
- ninja-build
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- clr
|
||||||
|
- llvm-project
|
||||||
|
- rocminfo
|
||||||
|
- ROCR-Runtime
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
buildJobs:
|
||||||
|
- { os: ubuntu2204, packageManager: apt }
|
||||||
|
- { os: almalinux8, packageManager: dnf }
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: ROCdbgapi_build_${{ job.os }}
|
||||||
|
pool:
|
||||||
|
vmImage: 'ubuntu-22.04'
|
||||||
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
|
container:
|
||||||
|
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
||||||
|
endpoint: ContainerService3
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
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-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
useAmdclang: false
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
# parameters:
|
||||||
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
215
.azuredevops/components/ROCgdb.yml
Normal file
215
.azuredevops/components/ROCgdb.yml
Normal file
@@ -0,0 +1,215 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: ROCgdb
|
||||||
|
- 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
|
||||||
|
# reference: https://github.com/ROCm/ROCgdb/blob/amd-staging/README-ROCM.md
|
||||||
|
- name: aptPackages
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- bison
|
||||||
|
- cmake
|
||||||
|
- dejagnu
|
||||||
|
- flex
|
||||||
|
- libbabeltrace-dev
|
||||||
|
- libexpat-dev
|
||||||
|
- libgmp-dev
|
||||||
|
- liblzma-dev
|
||||||
|
- libmpfr-dev
|
||||||
|
- ncurses-dev
|
||||||
|
- pkg-config
|
||||||
|
- python3-dev
|
||||||
|
- python3-pip
|
||||||
|
- texinfo
|
||||||
|
- zlib1g-dev
|
||||||
|
- name: rocmDependencies
|
||||||
|
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:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: ${{ parameters.componentName }}_build_${{ job.os }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: PKG_CONFIG_PATH
|
||||||
|
value: $(Agent.BuildDirectory)/rocm/share/pkgconfig
|
||||||
|
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 }}
|
||||||
|
- 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
|
||||||
172
.azuredevops/components/ROCmValidationSuite.yml
Normal file
172
.azuredevops/components/ROCmValidationSuite.yml
Normal file
@@ -0,0 +1,172 @@
|
|||||||
|
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
|
||||||
|
- ninja-build
|
||||||
|
- libdrm-dev
|
||||||
|
- libyaml-cpp-dev
|
||||||
|
- libpci-dev
|
||||||
|
- libpci3
|
||||||
|
- libgst-dev
|
||||||
|
- libgtest-dev
|
||||||
|
- git
|
||||||
|
- python3-pip
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- amdsmi
|
||||||
|
- aomp
|
||||||
|
- clr
|
||||||
|
- hipBLAS-common
|
||||||
|
- hipBLASLt
|
||||||
|
- hipRAND
|
||||||
|
- llvm-project
|
||||||
|
- rocBLAS
|
||||||
|
- rocm-cmake
|
||||||
|
- rocm_smi_lib
|
||||||
|
- rocminfo
|
||||||
|
- rocprofiler-register
|
||||||
|
- ROCR-Runtime
|
||||||
|
- rocRAND
|
||||||
|
- name: rocmTestDependencies
|
||||||
|
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:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: ROCmValidationSuite_build_${{ job.target }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: HIP_ROCCLR_HOME
|
||||||
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
|
- name: ROCM_PATH
|
||||||
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
|
- name: HIP_INC_DIR
|
||||||
|
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 }}
|
||||||
|
- 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: >-
|
||||||
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/llvm/include
|
||||||
|
-DCPACK_PACKAGING_INSTALL_PREFIX=$(Build.BinariesDirectory)
|
||||||
|
-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 }}
|
||||||
|
# extraEnvVars:
|
||||||
|
# - 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 }}
|
||||||
221
.azuredevops/components/Tensile.yml
Normal file
221
.azuredevops/components/Tensile.yml
Normal file
@@ -0,0 +1,221 @@
|
|||||||
|
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
|
||||||
142
.azuredevops/components/TransferBench.yml
Normal file
142
.azuredevops/components/TransferBench.yml
Normal file
@@ -0,0 +1,142 @@
|
|||||||
|
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 }}
|
||||||
114
.azuredevops/components/amdsmi.yml
Normal file
114
.azuredevops/components/amdsmi.yml
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
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
|
||||||
|
- 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:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: amdsmi_build_${{ job.os }}
|
||||||
|
pool:
|
||||||
|
${{ if eq(job.os, 'ubuntu2404') }}:
|
||||||
|
vmImage: 'ubuntu-24.04'
|
||||||
|
${{ else }}:
|
||||||
|
vmImage: 'ubuntu-22.04'
|
||||||
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
|
container:
|
||||||
|
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
||||||
|
endpoint: ContainerService3
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
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/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 }}
|
||||||
63
.azuredevops/components/aomp-extras.yml
Normal file
63
.azuredevops/components/aomp-extras.yml
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
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
|
||||||
|
- python3-pip
|
||||||
|
- ninja-build
|
||||||
|
- pkg-config
|
||||||
|
- git
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- llvm-project
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- job: aomp_extras
|
||||||
|
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 }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
componentName: aomp-extras
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DLLVM_DIR=$(Agent.BuildDirectory)/rocm/llvm
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DAOMP_STANDALONE_BUILD=0
|
||||||
|
-DAOMP_VERSION_STRING=$(LATEST_RELEASE_TAG)
|
||||||
|
-GNinja
|
||||||
|
installDir: $(Build.BinariesDirectory)/llvm
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
# parameters:
|
||||||
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
280
.azuredevops/components/aomp.yml
Normal file
280
.azuredevops/components/aomp.yml
Normal file
@@ -0,0 +1,280 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: aomp
|
||||||
|
- 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
|
||||||
|
# reference:
|
||||||
|
# https://github.com/ROCm/aomp/blob/aomp-dev/docs/SOURCEINSTALL_PREREQUISITE.md
|
||||||
|
- name: aptPackages
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- bison
|
||||||
|
- ccache
|
||||||
|
- cmake
|
||||||
|
- flex
|
||||||
|
- gawk
|
||||||
|
- git
|
||||||
|
- mesa-common-dev
|
||||||
|
- ninja-build
|
||||||
|
- libbabeltrace-dev
|
||||||
|
- libbison-dev
|
||||||
|
- libdrm-amdgpu1
|
||||||
|
- libdrm-dev
|
||||||
|
- libdw-dev
|
||||||
|
- libffi-dev
|
||||||
|
- libgmp-dev
|
||||||
|
- liblzma-dev
|
||||||
|
- libmpfr-dev
|
||||||
|
- libncurses5-dev
|
||||||
|
- libnuma-dev
|
||||||
|
- libopenmpi-dev
|
||||||
|
- libpci-dev
|
||||||
|
- libssl-dev
|
||||||
|
- libstdc++-12-dev
|
||||||
|
- libsystemd-dev
|
||||||
|
- libtool
|
||||||
|
- libudev-dev
|
||||||
|
- parallel
|
||||||
|
- pkg-config
|
||||||
|
- python3-dev
|
||||||
|
- python3-pip
|
||||||
|
- python3-setuptools
|
||||||
|
- texinfo
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- llvm-project
|
||||||
|
- ROCR-Runtime
|
||||||
|
- name: rocmTestDependencies
|
||||||
|
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:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: ${{ parameters.componentName }}_build_${{ job.os }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
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 }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
# checkout the repos tied to openmp-extras, plus llvm-project
|
||||||
|
- 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
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: flang_repo
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: llvm-project_repo
|
||||||
|
- 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 }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
useAmdclang: false
|
||||||
|
componentName: extras
|
||||||
|
cmakeBuildDir: '$(Build.SourcesDirectory)/aomp-extras/build'
|
||||||
|
cmakeSourceDir: '$(Build.SourcesDirectory)/aomp-extras'
|
||||||
|
installDir: '$(Build.BinariesDirectory)/llvm'
|
||||||
|
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
|
||||||
|
-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
|
||||||
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
||||||
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
||||||
|
-DCMAKE_SKIP_INSTALL_RPATH=TRUE
|
||||||
|
-DLLVM_MAIN_INCLUDE_DIR=$(Build.SourcesDirectory)/llvm-project/llvm/include
|
||||||
|
-DLIBOMPTARGET_LLVM_INCLUDE_DIRS=$(Build.SourcesDirectory)/llvm-project/llvm/include
|
||||||
|
-DCMAKE_EXE_LINKER_FLAGS="-L$(Agent.BuildDirectory)/rocm/llvm/lib"
|
||||||
|
-DCMAKE_SHARED_LINKER_FLAGS="-L$(Agent.BuildDirectory)/rocm/llvm/lib"
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
- ${{ if eq(job.os, 'ubuntu2204') }}:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- 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
|
||||||
174
.azuredevops/components/aqlprofile.yml
Normal file
174
.azuredevops/components/aqlprofile.yml
Normal file
@@ -0,0 +1,174 @@
|
|||||||
|
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 }}
|
||||||
166
.azuredevops/components/composable_kernel.yml
Normal file
166
.azuredevops/components/composable_kernel.yml
Normal file
@@ -0,0 +1,166 @@
|
|||||||
|
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
|
||||||
|
- ninja-build
|
||||||
|
- git
|
||||||
|
- python3-pip
|
||||||
|
- libdrm-dev
|
||||||
|
- ccache
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- rocm-cmake
|
||||||
|
- 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
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: composable_kernel_build_${{ job.target }}
|
||||||
|
timeoutInMinutes: 240
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: DAY_STRING
|
||||||
|
value: $[format('{0:ddMMyyyy}', pipeline.startTime)]
|
||||||
|
pool: ${{ variables.ULTRA_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 }}
|
||||||
|
- 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: composable_kernel | $(Agent.OS) | ${{ job.target }} | $(DAY_STRING) | $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
path: $(CCACHE_DIR)
|
||||||
|
restoreKeys: |
|
||||||
|
composable_kernel | $(Agent.OS) | ${{ job.target }} | $(DAY_STRING)
|
||||||
|
composable_kernel | $(Agent.OS) | ${{ job.target }}
|
||||||
|
composable_kernel | $(Agent.OS)
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-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
|
||||||
|
-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 }}
|
||||||
44
.azuredevops/components/copyHIP.yml
Normal file
44
.azuredevops/components/copyHIP.yml
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
parameters:
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
copyJobs:
|
||||||
|
- { os: ubuntu2204, backend: amd }
|
||||||
|
- { os: almalinux8, backend: amd }
|
||||||
|
- { os: ubuntu2204, backend: nvidia }
|
||||||
|
- { os: almalinux8, backend: nvidia }
|
||||||
|
|
||||||
|
# hip and clr are tightly-coupled
|
||||||
|
# run this same template for both repos
|
||||||
|
# any changes for clr should just trigger HIP pipeline
|
||||||
|
jobs:
|
||||||
|
- ${{ each job in parameters.jobMatrix.copyJobs }}:
|
||||||
|
- job: hip_clr_combined_${{ job.os }}_${{ job.backend }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool:
|
||||||
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
# checkout nothing, just copy artifacts from triggering HIP job
|
||||||
|
# and then publish for this clr job or for this hipother job to maintain latest
|
||||||
|
- checkout: none
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
componentName: HIP
|
||||||
|
pipelineId: $(HIP_PIPELINE_ID)
|
||||||
|
fileFilter: ${{ job.os }}*${{ job.backend }}
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Copy HIP artifacts
|
||||||
|
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
|
||||||
72
.azuredevops/components/half.yml
Normal file
72
.azuredevops/components/half.yml
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
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:
|
||||||
|
- python3-pip
|
||||||
|
- cmake
|
||||||
|
- ninja-build
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- rocm-cmake
|
||||||
|
- llvm-project
|
||||||
|
- ROCR-Runtime
|
||||||
|
- clr
|
||||||
|
- rocminfo
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- job: half
|
||||||
|
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 }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
# only run test03 because test11 has too many test cases, taking way too long
|
||||||
|
- task: Bash@3
|
||||||
|
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
|
||||||
192
.azuredevops/components/hip-tests.yml
Normal file
192
.azuredevops/components/hip-tests.yml
Normal file
@@ -0,0 +1,192 @@
|
|||||||
|
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
|
||||||
135
.azuredevops/components/hipBLAS-common.yml
Normal file
135
.azuredevops/components/hipBLAS-common.yml
Normal file
@@ -0,0 +1,135 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: hipBLAS-common
|
||||||
|
- 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
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- clr
|
||||||
|
- llvm-project
|
||||||
|
- rocm-cmake
|
||||||
|
- rocminfo
|
||||||
|
- ROCR-Runtime
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
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:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: hipBLAS_common_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 }}
|
||||||
|
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 }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
# parameters:
|
||||||
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
# extraEnvVars:
|
||||||
|
# - ROCM_PATH:::/home/user/workspace/rocm
|
||||||
|
|
||||||
|
- ${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
||||||
|
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
||||||
|
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
||||||
|
buildDependsOn: ${{ component.buildDependsOn }}
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
||||||
|
triggerDownstreamJobs: true
|
||||||
|
unifiedBuild: ${{ parameters.unifiedBuild }}
|
||||||
232
.azuredevops/components/hipBLAS.yml
Normal file
232
.azuredevops/components/hipBLAS.yml
Normal file
@@ -0,0 +1,232 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: hipBLAS
|
||||||
|
- 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
|
||||||
|
- gfortran
|
||||||
|
- googletest
|
||||||
|
- git
|
||||||
|
- libgtest-dev
|
||||||
|
- wget
|
||||||
|
- python3-pip
|
||||||
|
- name: pipModules
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- pyyaml
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- aomp
|
||||||
|
- clr
|
||||||
|
- hipBLAS-common
|
||||||
|
- llvm-project
|
||||||
|
- rocm-cmake
|
||||||
|
- ROCR-Runtime
|
||||||
|
- rocminfo
|
||||||
|
- rocprofiler-register
|
||||||
|
- rocBLAS
|
||||||
|
- rocSPARSE
|
||||||
|
- 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:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_ubuntu2204_${{ job.target }}
|
||||||
|
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 }}
|
||||||
|
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/dependencies-aocl.yml
|
||||||
|
- 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 }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
-DHIP_PLATFORM=amd
|
||||||
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
|
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
||||||
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
|
-DCPACK_SET_DESTDIR=OFF
|
||||||
|
-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 }}
|
||||||
|
installAOCL: true
|
||||||
|
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 }}
|
||||||
312
.azuredevops/components/hipBLASLt.yml
Normal file
312
.azuredevops/components/hipBLASLt.yml
Normal file
@@ -0,0 +1,312 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: hipBLASLt
|
||||||
|
- 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
|
||||||
|
- libboost-filesystem-dev
|
||||||
|
- libboost-program-options-dev
|
||||||
|
- libdrm-dev
|
||||||
|
- liblapack-dev
|
||||||
|
- libmsgpack-dev
|
||||||
|
- libnuma-dev
|
||||||
|
- libopenblas-dev
|
||||||
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
|
- python3-venv
|
||||||
|
- name: pipModules
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- joblib
|
||||||
|
- "packaging>=22.0"
|
||||||
|
- pyyaml
|
||||||
|
- msgpack
|
||||||
|
- simplejson
|
||||||
|
- ujson
|
||||||
|
- orjson
|
||||||
|
- yappi
|
||||||
|
- --upgrade
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- aomp
|
||||||
|
- clr
|
||||||
|
- hipBLAS-common
|
||||||
|
- llvm-project
|
||||||
|
- rocminfo
|
||||||
|
- rocm-cmake
|
||||||
|
- rocm_smi_lib
|
||||||
|
- rocprofiler-register
|
||||||
|
- 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:
|
||||||
|
- ${{ 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: HIP_ROCCLR_HOME
|
||||||
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
|
- name: TENSILE_ROCM_ASSEMBLER_PATH
|
||||||
|
value: $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
|
- name: TENSILE_ROCM_OFFLOAD_BUNDLER_PATH
|
||||||
|
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang-offload-bundler
|
||||||
|
- name: ROCM_PATH
|
||||||
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
|
- 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-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
packageManager: ${{ job.packageManager }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
||||||
|
parameters:
|
||||||
|
dependencyList:
|
||||||
|
- gtest
|
||||||
|
- 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 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"
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Build and install LAPACK
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
mkdir -p $(Agent.BuildDirectory)/temp-deps
|
||||||
|
cd $(Agent.BuildDirectory)/temp-deps
|
||||||
|
# position-independent LAPACK is required for almalinux8 builds
|
||||||
|
cmake -DBUILD_GTEST=OFF -DBUILD_LAPACK=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON $(Agent.BuildDirectory)/sparse/projects/hipblaslt/deps
|
||||||
|
make -j
|
||||||
|
sudo make install
|
||||||
|
- 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: hipBLASLt | ${{ job.os }} | ${{ job.target }} | $(DAY_STRING) | $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
path: $(CCACHE_DIR)
|
||||||
|
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 }}
|
||||||
193
.azuredevops/components/hipCUB.yml
Normal file
193
.azuredevops/components/hipCUB.yml
Normal file
@@ -0,0 +1,193 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: hipCUB
|
||||||
|
- 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
|
||||||
|
- rocminfo
|
||||||
|
- rocPRIM
|
||||||
|
- 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:
|
||||||
|
- ${{ 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 }}_${{ 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 }}
|
||||||
|
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-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_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 }}
|
||||||
187
.azuredevops/components/hipFFT.yml
Normal file
187
.azuredevops/components/hipFFT.yml
Normal file
@@ -0,0 +1,187 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: hipFFT
|
||||||
|
- 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
|
||||||
|
- libboost-program-options-dev
|
||||||
|
- libgtest-dev
|
||||||
|
- libfftw3-dev
|
||||||
|
- python3-pip
|
||||||
|
# rocm dependencies should match dependencies-rocm.yml
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- aomp
|
||||||
|
- rocRAND
|
||||||
|
- hipRAND
|
||||||
|
- llvm-project
|
||||||
|
- ROCR-Runtime
|
||||||
|
- clr
|
||||||
|
- rocminfo
|
||||||
|
- rocFFT
|
||||||
|
- 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:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_ubuntu2204_${{ job.target }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: HIP_ROCCLR_HOME
|
||||||
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
|
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 }}
|
||||||
|
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 }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
|
-DUSE_HIP_CLANG=ON
|
||||||
|
-DHIP_COMPILER=clang
|
||||||
|
-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 }}
|
||||||
|
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 }}
|
||||||
|
|
||||||
|
- ${{ 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 }}
|
||||||
219
.azuredevops/components/hipRAND.yml
Normal file
219
.azuredevops/components/hipRAND.yml
Normal file
@@ -0,0 +1,219 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: hipRAND
|
||||||
|
- 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
|
||||||
|
- rocm-cmake
|
||||||
|
- rocminfo
|
||||||
|
- 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:
|
||||||
|
- ${{ 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 }}_${{ job.target }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: HIP_ROCCLR_HOME
|
||||||
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
|
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 }}
|
||||||
|
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-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_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
|
-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 }}
|
||||||
198
.azuredevops/components/hipSOLVER.yml
Normal file
198
.azuredevops/components/hipSOLVER.yml
Normal file
@@ -0,0 +1,198 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: hipSOLVER
|
||||||
|
- 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
|
||||||
|
- libsuitesparse-dev
|
||||||
|
- gfortran
|
||||||
|
- git
|
||||||
|
- googletest
|
||||||
|
- libgtest-dev
|
||||||
|
- python3-pip
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- clr
|
||||||
|
- hipSPARSE
|
||||||
|
- llvm-project
|
||||||
|
- rocBLAS
|
||||||
|
- rocm-cmake
|
||||||
|
- rocminfo
|
||||||
|
- ROCR-Runtime
|
||||||
|
- rocSPARSE
|
||||||
|
- 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:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_ubuntu2204_${{ job.target }}
|
||||||
|
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-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
|
# build external gtest and lapack
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
componentName: external
|
||||||
|
cmakeBuildDir: '$(Agent.BuildDirectory)/s/deps/build'
|
||||||
|
cmakeSourceDir: '$(Agent.BuildDirectory)/s/deps'
|
||||||
|
installDir: '$(Pipeline.Workspace)/deps-install'
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DBUILD_BOOST=OFF
|
||||||
|
-DBUILD_GTEST=OFF
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Pipeline.Workspace)/deps-install
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
|
-DUSE_CUDA=OFF
|
||||||
|
-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 }}
|
||||||
|
# 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 }}
|
||||||
224
.azuredevops/components/hipSPARSE.yml
Normal file
224
.azuredevops/components/hipSPARSE.yml
Normal file
@@ -0,0 +1,224 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: hipSPARSE
|
||||||
|
- 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
|
||||||
|
- gfortran
|
||||||
|
- git
|
||||||
|
- libboost-program-options-dev
|
||||||
|
- libfftw3-dev
|
||||||
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- clr
|
||||||
|
- llvm-project
|
||||||
|
- rocminfo
|
||||||
|
- rocprofiler-register
|
||||||
|
- ROCR-Runtime
|
||||||
|
- 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:
|
||||||
|
- ${{ 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 }}_${{ 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 }}
|
||||||
|
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-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 }}
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
||||||
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
|
-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 }}
|
||||||
|
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 }}
|
||||||
264
.azuredevops/components/hipSPARSELt.yml
Normal file
264
.azuredevops/components/hipSPARSELt.yml
Normal file
@@ -0,0 +1,264 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: hipSPARSELt
|
||||||
|
- 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:
|
||||||
|
- ninja-build
|
||||||
|
- python3-venv
|
||||||
|
- libmsgpack-dev
|
||||||
|
- git
|
||||||
|
- python3-pip
|
||||||
|
- gfortran
|
||||||
|
- libgfortran5
|
||||||
|
- libopenblas-dev
|
||||||
|
- liblapack-dev
|
||||||
|
- name: pipModules
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- joblib
|
||||||
|
- msgpack
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- aomp
|
||||||
|
- clr
|
||||||
|
- hipSPARSE
|
||||||
|
- llvm-project
|
||||||
|
- 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:
|
||||||
|
- ${{ 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 }}_${{ job.target }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: HIP_ROCCLR_HOME
|
||||||
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
|
- name: TENSILE_ROCM_ASSEMBLER_PATH
|
||||||
|
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
||||||
|
- name: CMAKE_CXX_COMPILER
|
||||||
|
value: $(Agent.BuildDirectory)/rocm/llvm/bin/hipcc
|
||||||
|
- name: TENSILE_ROCM_OFFLOAD_BUNDLER_PATH
|
||||||
|
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang-offload-bundler
|
||||||
|
- name: 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
|
||||||
|
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 }}
|
||||||
|
packageManager: ${{ job.packageManager }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
# ignore sparse checkout for monorepo case, we want access to hipblaslt directory
|
||||||
|
# sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
|
- 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 }}
|
||||||
|
# NOTE: content between `---` is for transition support between old/new build systems
|
||||||
|
# and should be removed once transition is complete.
|
||||||
|
# -----------------------------
|
||||||
|
# Build and install gtest and lapack
|
||||||
|
# $(Pipeline.Workspace)/deps is a temporary folder for the build process
|
||||||
|
# $(Pipeline.Workspace)/s/deps is part of the hipSPARSELt repo
|
||||||
|
- script: mkdir -p $(Pipeline.Workspace)/deps
|
||||||
|
displayName: Create temp folder for external dependencies
|
||||||
|
# hipSPARSELt already has a CMake script for external deps, so we can just run that
|
||||||
|
# https://github.com/ROCm/hipSPARSELt/blob/develop/deps/CMakeLists.txt
|
||||||
|
- ${{ if ne(parameters.sparseCheckoutDir, '') }}:
|
||||||
|
script: cmake $(Pipeline.Workspace)/s/projects/hipsparselt/deps
|
||||||
|
${{ else }}:
|
||||||
|
script: cmake $(Pipeline.Workspace)/s/deps
|
||||||
|
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 }}
|
||||||
138
.azuredevops/components/hipTensor.yml
Normal file
138
.azuredevops/components/hipTensor.yml
Normal file
@@ -0,0 +1,138 @@
|
|||||||
|
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
|
||||||
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
|
- git
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- rocm-cmake
|
||||||
|
- llvm-project
|
||||||
|
- ROCR-Runtime
|
||||||
|
- clr
|
||||||
|
- rocminfo
|
||||||
|
- 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:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: hipTensor_build_${{ job.target }}
|
||||||
|
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 }}
|
||||||
|
- 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_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/llvm
|
||||||
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DHIPTENSOR_BUILD_TESTS=ON
|
||||||
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
|
-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: 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" --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 }}
|
||||||
166
.azuredevops/components/hipfort.yml
Normal file
166
.azuredevops/components/hipfort.yml
Normal file
@@ -0,0 +1,166 @@
|
|||||||
|
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:
|
||||||
|
- gfortran
|
||||||
|
- git
|
||||||
|
- 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:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: hipfort_build_${{ job.target }}
|
||||||
|
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/dependencies-cmake-custom.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/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: >-
|
||||||
|
-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
|
||||||
200
.azuredevops/components/llvm-project.yml
Normal file
200
.azuredevops/components/llvm-project.yml
Normal file
@@ -0,0 +1,200 @@
|
|||||||
|
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
|
||||||
|
- pkg-config
|
||||||
|
- python-is-python3
|
||||||
|
- python3-pip
|
||||||
|
- zlib1g-dev
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- rocm-cmake
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
buildJobs:
|
||||||
|
- { os: ubuntu2204, packageManager: apt }
|
||||||
|
# - { os: ubuntu2404, packageManager: apt }
|
||||||
|
- { os: almalinux8, packageManager: dnf }
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: llvm_project_${{ job.os }}
|
||||||
|
pool:
|
||||||
|
${{ if eq(job.os, 'ubuntu2404') }}:
|
||||||
|
name: 'rocm-ci_high_build_pool_2404' #temporarily using 'high' pool while 'ultra' is down
|
||||||
|
${{ else }}:
|
||||||
|
name: 'rocm-ci_ultra_build_pool'
|
||||||
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
|
container:
|
||||||
|
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
||||||
|
endpoint: ContainerService3
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: HIP_DEVICE_LIB_PATH
|
||||||
|
value: '$(Build.BinariesDirectory)/amdgcn/bitcode'
|
||||||
|
- name: HIP_PATH
|
||||||
|
value: '$(Agent.BuildDirectory)/rocm'
|
||||||
|
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-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
componentName: rocm-llvm
|
||||||
|
os: ${{ job.os }}
|
||||||
|
useAmdclang: false
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_PREFIX_PATH="$(Build.BinariesDirectory)/llvm;$(Build.BinariesDirectory)"
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DLLVM_ENABLE_PROJECTS=clang;lld;clang-tools-extra;mlir;flang
|
||||||
|
-DLLVM_ENABLE_RUNTIMES=compiler-rt;libunwind;libcxx;libcxxabi
|
||||||
|
-DCLANG_ENABLE_AMDCLANG=ON
|
||||||
|
-DLLVM_TARGETS_TO_BUILD=AMDGPU;X86
|
||||||
|
-DLIBCXX_ENABLE_SHARED=OFF
|
||||||
|
-DLIBCXX_ENABLE_STATIC=ON
|
||||||
|
-DLIBCXX_INSTALL_LIBRARY=OFF
|
||||||
|
-DLIBCXX_INSTALL_HEADERS=OFF
|
||||||
|
-DLIBCXXABI_ENABLE_SHARED=OFF
|
||||||
|
-DLIBCXXABI_ENABLE_STATIC=ON
|
||||||
|
-DLIBCXXABI_INSTALL_STATIC_LIBRARY=OFF
|
||||||
|
-DLLVM_BUILD_DOCS=OFF
|
||||||
|
-DLLVM_ENABLE_SPHINX=OFF
|
||||||
|
-DLLVM_ENABLE_ASSERTIONS=OFF
|
||||||
|
-DLLVM_ENABLE_Z3_SOLVER=OFF
|
||||||
|
-DLLVM_ENABLE_ZLIB=ON
|
||||||
|
-DCLANG_DEFAULT_LINKER=lld
|
||||||
|
-DCLANG_DEFAULT_RTLIB=compiler-rt
|
||||||
|
-DCLANG_DEFAULT_UNWINDLIB=libgcc
|
||||||
|
-DSANITIZER_AMDGPU=OFF
|
||||||
|
-DPACKAGE_VENDOR=AMD
|
||||||
|
-DCLANG_LINK_FLANG_LEGACY=ON
|
||||||
|
-DCMAKE_CXX_STANDARD=17
|
||||||
|
-DROCM_LLVM_BACKWARD_COMPAT_LINK=$(Build.BinariesDirectory)/llvm
|
||||||
|
-DROCM_LLVM_BACKWARD_COMPAT_LINK_TARGET=./lib/llvm
|
||||||
|
-GNinja
|
||||||
|
cmakeBuildDir: '$(Build.SourcesDirectory)/llvm/build'
|
||||||
|
cmakeSourceDir: '$(Build.SourcesDirectory)/llvm'
|
||||||
|
installDir: '$(Build.BinariesDirectory)/llvm'
|
||||||
|
# use llvm-lit to run unit tests for llvm, clang, and lld
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: 'Copy llvm-lit to install directory'
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
cp $(Build.SourcesDirectory)/llvm/build/bin/llvm-lit $(Build.BinariesDirectory)/llvm/bin/
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: check-llvm
|
||||||
|
testDir: 'llvm/build'
|
||||||
|
testExecutable: './bin/llvm-lit'
|
||||||
|
testParameters: '-q --xunit-xml-output=llvm_test_output.xml --filter-out="live-debug-values-spill-tracking" ./test'
|
||||||
|
testOutputFile: llvm_test_output.xml
|
||||||
|
os: ${{ job.os }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: check-clang
|
||||||
|
testDir: 'llvm/build'
|
||||||
|
testExecutable: './bin/llvm-lit'
|
||||||
|
testParameters: '-q --xunit-xml-output=clang_test_output.xml ./tools/clang/test'
|
||||||
|
testOutputFile: clang_test_output.xml
|
||||||
|
os: ${{ job.os }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: check-lld
|
||||||
|
testDir: 'llvm/build'
|
||||||
|
testExecutable: './bin/llvm-lit'
|
||||||
|
testParameters: '-q --xunit-xml-output=lld_test_output.xml ./tools/lld/test'
|
||||||
|
testOutputFile: lld_test_output.xml
|
||||||
|
os: ${{ job.os }}
|
||||||
|
- task: CopyFiles@2
|
||||||
|
displayName: Copy FileCheck for Publishing
|
||||||
|
inputs:
|
||||||
|
CleanTargetFolder: false
|
||||||
|
SourceFolder: llvm/build/bin
|
||||||
|
Contents: FileCheck
|
||||||
|
TargetFolder: $(Build.BinariesDirectory)/llvm/bin
|
||||||
|
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
|
||||||
251
.azuredevops/components/origami.yml
Normal file
251
.azuredevops/components/origami.yml
Normal file
@@ -0,0 +1,251 @@
|
|||||||
|
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 }}
|
||||||
169
.azuredevops/components/rccl.yml
Normal file
169
.azuredevops/components/rccl.yml
Normal file
@@ -0,0 +1,169 @@
|
|||||||
|
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
|
||||||
|
- git
|
||||||
|
- libboost-program-options-dev
|
||||||
|
- libdrm-dev
|
||||||
|
- libfftw3-dev
|
||||||
|
- libnuma-dev
|
||||||
|
- libstdc++-12-dev
|
||||||
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- aomp
|
||||||
|
- 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:
|
||||||
|
- gfx942:
|
||||||
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
|
testJobs:
|
||||||
|
- gfx942:
|
||||||
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: rccl_build_${{ job.target }}
|
||||||
|
timeoutInMinutes: 90
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: HIP_ROCCLR_HOME
|
||||||
|
value: $(Build.BinariesDirectory)/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/dependencies-cmake-custom.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
submoduleBehaviour: recursive
|
||||||
|
- 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 }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
|
-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:
|
||||||
|
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 }}
|
||||||
|
extraEnvVars:
|
||||||
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
|
installLatestCMake: true
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: rccl_test_${{ job.target }}
|
||||||
|
timeoutInMinutes: 120
|
||||||
|
dependsOn: rccl_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: rccl
|
||||||
|
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 }}
|
||||||
235
.azuredevops/components/rdc.yml
Normal file
235
.azuredevops/components/rdc.yml
Normal file
@@ -0,0 +1,235 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rdc
|
||||||
|
- 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:
|
||||||
|
- python3-pip
|
||||||
|
- cmake
|
||||||
|
- ninja-build
|
||||||
|
- git
|
||||||
|
- libcap-dev
|
||||||
|
- protobuf-compiler
|
||||||
|
- build-essential
|
||||||
|
- autoconf
|
||||||
|
- libtool
|
||||||
|
- pkg-config
|
||||||
|
- libdrm-dev
|
||||||
|
- libnuma-dev
|
||||||
|
- libyaml-cpp-dev
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- amdsmi
|
||||||
|
- clr
|
||||||
|
- hipBLAS-common
|
||||||
|
- hipBLASLt
|
||||||
|
- hipRAND
|
||||||
|
- llvm-project
|
||||||
|
- rocBLAS
|
||||||
|
- rocm-cmake
|
||||||
|
- rocm-core
|
||||||
|
- rocminfo
|
||||||
|
- rocm_smi_lib
|
||||||
|
- ROCmValidationSuite
|
||||||
|
- rocprofiler
|
||||||
|
- rocprofiler-register
|
||||||
|
- rocprofiler-sdk
|
||||||
|
- rocRAND
|
||||||
|
- ROCR-Runtime
|
||||||
|
- name: rocmTestDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- 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:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: ${{ parameters.componentName }}_build_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.target }}
|
||||||
|
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/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 }}
|
||||||
|
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 }}
|
||||||
|
# Build grpc
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: 'git clone grpc'
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: git clone -b v1.67.1 https://github.com/grpc/grpc --depth=1 --shallow-submodules --recurse-submodules
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
cmakeBuildDir: $(Build.SourcesDirectory)/grpc/build
|
||||||
|
cmakeSourceDir: $(Build.SourcesDirectory)/grpc
|
||||||
|
installDir: $(Build.SourcesDirectory)/bin
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DgRPC_INSTALL=ON
|
||||||
|
-DgRPC_BUILD_TESTS=OFF
|
||||||
|
-DBUILD_SHARED_LIBS=ON
|
||||||
|
-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
|
||||||
267
.azuredevops/components/rocAL.yml
Normal file
267
.azuredevops/components/rocAL.yml
Normal file
@@ -0,0 +1,267 @@
|
|||||||
|
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:
|
||||||
|
- python3-pip
|
||||||
|
- python3-protobuf
|
||||||
|
- cmake
|
||||||
|
- ninja-build
|
||||||
|
- libprotobuf-dev
|
||||||
|
- libprotoc-dev
|
||||||
|
- protobuf-compiler
|
||||||
|
- liblmdb-dev
|
||||||
|
- pkg-config
|
||||||
|
- ffmpeg
|
||||||
|
- libavcodec-dev
|
||||||
|
- libavformat-dev
|
||||||
|
- libavutil-dev
|
||||||
|
- libdlpack-dev
|
||||||
|
- libsndfile1-dev
|
||||||
|
- libswscale-dev
|
||||||
|
- libturbojpeg-dev
|
||||||
|
- libjpeg-turbo-official=3.0.2-20240124
|
||||||
|
- libopencv-dev
|
||||||
|
- --allow-downgrades # for libjpeg-turbo
|
||||||
|
- name: pipModules
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- numpy
|
||||||
|
- opencv-python
|
||||||
|
- torch
|
||||||
|
- pillow
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- aomp
|
||||||
|
- clr
|
||||||
|
- half
|
||||||
|
- llvm-project
|
||||||
|
- MIVisionX
|
||||||
|
- rocDecode
|
||||||
|
- rocm-cmake
|
||||||
|
- ROCR-Runtime
|
||||||
|
- rpp
|
||||||
|
- name: rocmTestDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- aomp
|
||||||
|
- clr
|
||||||
|
- half
|
||||||
|
- llvm-project
|
||||||
|
- MIVisionX
|
||||||
|
- rocDecode
|
||||||
|
- rocminfo
|
||||||
|
- rocprofiler-register
|
||||||
|
- ROCR-Runtime
|
||||||
|
- rpp
|
||||||
|
|
||||||
|
- 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: rocAL_build_${{ job.target }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ variables.MEDIUM_BUILD_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 }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: 'Clone PyBind11'
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: git clone --depth 1 -b v2.11.1 https://github.com/pybind/pybind11
|
||||||
|
workingDirectory: '$(Build.SourcesDirectory)'
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: 'Clone RapidJSON'
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: git clone --depth 1 https://github.com/Tencent/rapidjson.git
|
||||||
|
workingDirectory: '$(Build.SourcesDirectory)'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
componentName: PyBind11
|
||||||
|
cmakeBuildDir: '$(Build.SourcesDirectory)/pybind11/build'
|
||||||
|
cmakeSourceDir: '$(Build.SourcesDirectory)/pybind11'
|
||||||
|
customInstallPath: false
|
||||||
|
installEnabled: false
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DDOWNLOAD_CATCH=ON
|
||||||
|
-DDOWNLOAD_EIGEN=ON
|
||||||
|
-GNinja
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: 'Install PyBind11'
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: sudo cmake --build . --target install
|
||||||
|
workingDirectory: '$(Build.SourcesDirectory)/pybind11/build'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
componentName: RapidJSON
|
||||||
|
cmakeBuildDir: '$(Build.SourcesDirectory)/rapidjson/build'
|
||||||
|
cmakeSourceDir: '$(Build.SourcesDirectory)/rapidjson'
|
||||||
|
customInstallPath: false
|
||||||
|
installEnabled: false
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-GNinja
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: 'Install RapidJSON'
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: sudo cmake --build . --target install
|
||||||
|
workingDirectory: '$(Build.SourcesDirectory)/rapidjson/build'
|
||||||
|
- 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: >-
|
||||||
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;/opt/libjpeg-turbo
|
||||||
|
-DCMAKE_INSTALL_PREFIX_PYTHON=$Python3_STDARCH
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
|
-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 }}
|
||||||
|
# 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
|
||||||
159
.azuredevops/components/rocALUTION.yml
Normal file
159
.azuredevops/components/rocALUTION.yml
Normal file
@@ -0,0 +1,159 @@
|
|||||||
|
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
|
||||||
|
- libboost-program-options-dev
|
||||||
|
- libgtest-dev
|
||||||
|
- libfftw3-dev
|
||||||
|
- git
|
||||||
|
- mpich
|
||||||
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- aomp
|
||||||
|
- clr
|
||||||
|
- llvm-project
|
||||||
|
- rocBLAS
|
||||||
|
- rocminfo
|
||||||
|
- rocPRIM
|
||||||
|
- rocprofiler-register
|
||||||
|
- ROCR-Runtime
|
||||||
|
- rocRAND
|
||||||
|
- 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:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: rocALUTION_build_${{ job.target }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: HIP_ROCCLR_HOME
|
||||||
|
value: $(Build.BinariesDirectory)/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 }}
|
||||||
|
- 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/llvm/bin/amdclang++
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/share/rocm/cmake/
|
||||||
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
|
-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:
|
||||||
|
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 }}
|
||||||
|
# extraEnvVars:
|
||||||
|
# - HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
|
|
||||||
|
- ${{ 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 }}
|
||||||
287
.azuredevops/components/rocBLAS.yml
Normal file
287
.azuredevops/components/rocBLAS.yml
Normal file
@@ -0,0 +1,287 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rocBLAS
|
||||||
|
- 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
|
||||||
|
- gfortran
|
||||||
|
- libdrm-dev
|
||||||
|
- libmsgpack-dev
|
||||||
|
- libopenblas-dev
|
||||||
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
|
- python3-venv
|
||||||
|
- wget
|
||||||
|
- name: pipModules
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- joblib
|
||||||
|
- pyyaml
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- aomp
|
||||||
|
- clr
|
||||||
|
- hipBLAS-common
|
||||||
|
- hipBLASLt
|
||||||
|
- llvm-project
|
||||||
|
- rocm-cmake
|
||||||
|
- rocm-core
|
||||||
|
- rocm_smi_lib
|
||||||
|
- rocminfo
|
||||||
|
- rocprofiler-register
|
||||||
|
- ROCR-Runtime
|
||||||
|
- roctracer
|
||||||
|
- name: rocmTestDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- aomp
|
||||||
|
- clr
|
||||||
|
- 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:
|
||||||
|
- ${{ 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 }}_${{ job.target }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: HIP_ROCCLR_HOME
|
||||||
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
|
- name: TENSILE_ROCM_ASSEMBLER_PATH
|
||||||
|
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
||||||
|
- name: TENSILE_ROCM_OFFLOAD_BUNDLER_PATH
|
||||||
|
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang-offload-bundler
|
||||||
|
- name: ROCM_PATH
|
||||||
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
|
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 }}
|
||||||
|
- 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-aocl.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
||||||
|
parameters:
|
||||||
|
dependencyList:
|
||||||
|
- gtest
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
cmakeSourceDir: $(Agent.BuildDirectory)/sparse/projects/rocblas
|
||||||
|
cmakeBuildDir: $(Agent.BuildDirectory)/sparse/projects/rocblas/build
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang++
|
||||||
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang
|
||||||
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
|
-DBUILD_CLIENTS_TESTS=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
|
||||||
|
- ${{ if eq(job.os, 'ubuntu2204') }}:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
installAOCL: true
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
extraEnvVars:
|
||||||
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
|
- TENSILE_ROCM_ASSEMBLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang
|
||||||
|
- TENSILE_ROCM_OFFLOAD_BUNDLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang-offload-bundler
|
||||||
|
- ROCM_PATH:::/home/user/workspace/rocm
|
||||||
|
|
||||||
|
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
||||||
|
- ${{ 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 }}
|
||||||
218
.azuredevops/components/rocDecode.yml
Normal file
218
.azuredevops/components/rocDecode.yml
Normal file
@@ -0,0 +1,218 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rocDecode
|
||||||
|
- name: checkoutRepo
|
||||||
|
type: string
|
||||||
|
default: 'self'
|
||||||
|
- name: checkoutRef
|
||||||
|
type: string
|
||||||
|
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
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- cmake
|
||||||
|
- ffmpeg
|
||||||
|
- libavcodec-dev
|
||||||
|
- libavformat-dev
|
||||||
|
- libavutil-dev
|
||||||
|
- 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
|
||||||
|
- rocm-core
|
||||||
|
- rocminfo
|
||||||
|
- 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 }
|
||||||
|
- { 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:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: ${{ parameters.componentName }}_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 }}
|
||||||
|
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-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 }}
|
||||||
|
consolidateBuildAndInstall: true
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
# parameters:
|
||||||
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
# registerROCmPackages: true
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: ${{ 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 }}
|
||||||
209
.azuredevops/components/rocFFT.yml
Normal file
209
.azuredevops/components/rocFFT.yml
Normal file
@@ -0,0 +1,209 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rocFFT
|
||||||
|
- 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
|
||||||
|
- libboost-program-options-dev
|
||||||
|
- libdrm-dev
|
||||||
|
- libgtest-dev
|
||||||
|
- libfftw3-dev
|
||||||
|
- python3-pip
|
||||||
|
# rocm dependencies should match dependencies-rocm.yml
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- aomp
|
||||||
|
- clr
|
||||||
|
- hipRAND
|
||||||
|
- llvm-project
|
||||||
|
- rocm-cmake
|
||||||
|
- rocminfo
|
||||||
|
- rocprofiler-register
|
||||||
|
- ROCR-Runtime
|
||||||
|
- rocRAND
|
||||||
|
- name: rocmTestDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- aomp
|
||||||
|
- clr
|
||||||
|
- hipRAND
|
||||||
|
- llvm-project
|
||||||
|
- rocm-cmake
|
||||||
|
- 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
|
||||||
|
- name: downstreamComponentMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- hipFFT:
|
||||||
|
name: hipFFT
|
||||||
|
sparseCheckoutDir: projects/hipfft
|
||||||
|
skipUnifiedBuild: 'false'
|
||||||
|
buildDependsOn:
|
||||||
|
- rocFFT_build
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_ubuntu2204_${{ job.target }} # todo: un-hardcode OS
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: HIP_ROCCLR_HOME
|
||||||
|
value: $(Build.BinariesDirectory)/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 }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
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
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
|
-DUSE_HIP_CLANG=ON
|
||||||
|
-DHIP_COMPILER=clang
|
||||||
|
-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 }}
|
||||||
|
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
|
||||||
|
|
||||||
|
- ${{ 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 }}
|
||||||
183
.azuredevops/components/rocJPEG.yml
Normal file
183
.azuredevops/components/rocJPEG.yml
Normal file
@@ -0,0 +1,183 @@
|
|||||||
|
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
|
||||||
155
.azuredevops/components/rocMLIR.yml
Normal file
155
.azuredevops/components/rocMLIR.yml
Normal file
@@ -0,0 +1,155 @@
|
|||||||
|
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
|
||||||
|
- git
|
||||||
|
- libdrm-dev
|
||||||
|
- libstdc++-12-dev
|
||||||
|
- ninja-build
|
||||||
|
- 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
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- clr
|
||||||
|
- llvm-project
|
||||||
|
- rocm-cmake
|
||||||
|
- rocminfo
|
||||||
|
- rocprofiler-register
|
||||||
|
- ROCR-Runtime
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
testJobs:
|
||||||
|
- gfx942:
|
||||||
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- job: rocMLIR_build
|
||||||
|
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 }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
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
|
||||||
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DBUILD_FAT_LIBROCKCOMPILER=1
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
- 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 }}
|
||||||
231
.azuredevops/components/rocPRIM.yml
Normal file
231
.azuredevops/components/rocPRIM.yml
Normal file
@@ -0,0 +1,231 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rocPRIM
|
||||||
|
- 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
|
||||||
|
- rocm-cmake
|
||||||
|
- rocminfo
|
||||||
|
- ROCR-Runtime
|
||||||
|
- name: rocmTestDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- clr
|
||||||
|
- llvm-project
|
||||||
|
- rocminfo
|
||||||
|
- ROCR-Runtime
|
||||||
|
- rocprofiler-register
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
buildJobs:
|
||||||
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
|
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
||||||
|
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
||||||
|
- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
||||||
|
- { os: almalinux8, packageManager: dnf, target: gfx942 }
|
||||||
|
- { os: almalinux8, packageManager: dnf, target: gfx90a }
|
||||||
|
- { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
||||||
|
- { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
||||||
|
- { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
||||||
|
testJobs:
|
||||||
|
- { os: ubuntu2204, packageManager: apt, target: gfx942, 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:
|
||||||
|
- ${{ 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 }}_${{ 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 }}
|
||||||
|
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-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++
|
||||||
|
-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 }}
|
||||||
264
.azuredevops/components/rocPyDecode.yml
Normal file
264
.azuredevops/components/rocPyDecode.yml
Normal file
@@ -0,0 +1,264 @@
|
|||||||
|
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
|
||||||
223
.azuredevops/components/rocRAND.yml
Normal file
223
.azuredevops/components/rocRAND.yml
Normal file
@@ -0,0 +1,223 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rocRAND
|
||||||
|
- 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
|
||||||
|
- rocm-cmake
|
||||||
|
- rocminfo
|
||||||
|
- 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 }
|
||||||
|
- 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:
|
||||||
|
- ${{ 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 }}_${{ job.target }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: HIP_ROCCLR_HOME
|
||||||
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
|
pool:
|
||||||
|
${{ if eq(job.os, 'ubuntu2404') }}:
|
||||||
|
vmImage: 'ubuntu-24.04'
|
||||||
|
${{ else }}:
|
||||||
|
name: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
|
container:
|
||||||
|
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
||||||
|
endpoint: ContainerService3
|
||||||
|
workspace:
|
||||||
|
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/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 }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
${{ 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++
|
||||||
|
-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 }}
|
||||||
268
.azuredevops/components/rocSOLVER.yml
Normal file
268
.azuredevops/components/rocSOLVER.yml
Normal file
@@ -0,0 +1,268 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rocSOLVER
|
||||||
|
- 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
|
||||||
|
- gfortran
|
||||||
|
- git
|
||||||
|
- libfmt-dev
|
||||||
|
- libsuitesparse-dev
|
||||||
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- clr
|
||||||
|
- llvm-project
|
||||||
|
- rocBLAS
|
||||||
|
- rocm-cmake
|
||||||
|
- rocminfo
|
||||||
|
- rocPRIM
|
||||||
|
- ROCR-Runtime
|
||||||
|
- name: rocmTestDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- clr
|
||||||
|
- hipBLAS-common
|
||||||
|
- hipBLASLt
|
||||||
|
- hipSPARSE
|
||||||
|
- llvm-project
|
||||||
|
- rocBLAS
|
||||||
|
- rocm-cmake
|
||||||
|
- rocminfo
|
||||||
|
- rocPRIM
|
||||||
|
- 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: 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:
|
||||||
|
- ${{ 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 }}_${{ 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 }}
|
||||||
|
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 }}
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: 'Clone lapack'
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: git clone --depth 1 --branch v3.9.1 https://github.com/Reference-LAPACK/lapack
|
||||||
|
workingDirectory: '$(Build.SourcesDirectory)'
|
||||||
|
- 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 }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
componentName: lapack
|
||||||
|
os: ${{ job.os }}
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||||
|
-DCMAKE_Fortran_FLAGS=-fno-optimize-sibling-calls
|
||||||
|
-DBUILD_TESTING=OFF
|
||||||
|
-DCBLAS=ON
|
||||||
|
-DLAPACKE=OFF
|
||||||
|
-GNinja
|
||||||
|
cmakeBuildDir: '$(Build.SourcesDirectory)/lapack/build'
|
||||||
|
cmakeSourceDir: '$(Build.SourcesDirectory)/lapack'
|
||||||
|
installDir: '$(Pipeline.Workspace)/deps-install'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
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 }}
|
||||||
243
.azuredevops/components/rocSPARSE.yml
Normal file
243
.azuredevops/components/rocSPARSE.yml
Normal file
@@ -0,0 +1,243 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rocSPARSE
|
||||||
|
- 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
|
||||||
|
- gfortran
|
||||||
|
- git
|
||||||
|
- libboost-program-options-dev
|
||||||
|
- libdrm-dev
|
||||||
|
- libfftw3-dev
|
||||||
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- clr
|
||||||
|
- llvm-project
|
||||||
|
- rocBLAS
|
||||||
|
- rocm-cmake
|
||||||
|
- rocminfo
|
||||||
|
- rocPRIM
|
||||||
|
- 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:
|
||||||
|
- ${{ 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 }}_${{ job.target }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: HIP_ROCCLR_HOME
|
||||||
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
|
pool: ${{ variables.MEDIUM_BUILD_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 }}
|
||||||
|
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 }}
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
||||||
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang++
|
||||||
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang
|
||||||
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
|
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
||||||
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip;$(Agent.BuildDirectory)/rocm/hip/cmake
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
parameters:
|
||||||
|
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 }}
|
||||||
|
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 }}
|
||||||
195
.azuredevops/components/rocThrust.yml
Normal file
195
.azuredevops/components/rocThrust.yml
Normal file
@@ -0,0 +1,195 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rocThrust
|
||||||
|
- 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
|
||||||
|
- libboost-program-options-dev
|
||||||
|
- libfftw3-dev
|
||||||
|
- python3-pip
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- clr
|
||||||
|
- llvm-project
|
||||||
|
- rocm-cmake
|
||||||
|
- rocminfo
|
||||||
|
- rocPRIM
|
||||||
|
- 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:
|
||||||
|
- ${{ 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 }}_${{ 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 }}
|
||||||
|
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-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: >-
|
||||||
|
-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 }}
|
||||||
154
.azuredevops/components/rocWMMA.yml
Normal file
154
.azuredevops/components/rocWMMA.yml
Normal file
@@ -0,0 +1,154 @@
|
|||||||
|
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:
|
||||||
|
- python3-pip
|
||||||
|
- cmake
|
||||||
|
- ninja-build
|
||||||
|
- libboost-program-options-dev
|
||||||
|
- libdrm-dev
|
||||||
|
- libgtest-dev
|
||||||
|
- googletest
|
||||||
|
- libfftw3-dev
|
||||||
|
- git
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- aomp
|
||||||
|
- rocm-cmake
|
||||||
|
- llvm-project
|
||||||
|
- ROCR-Runtime
|
||||||
|
- clr
|
||||||
|
- rocminfo
|
||||||
|
- rocBLAS
|
||||||
|
- aomp
|
||||||
|
- 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:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: rocWMMA_build_${{ job.target }}
|
||||||
|
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 }}
|
||||||
|
- 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_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DROCWMMA_BUILD_TESTS=ON
|
||||||
|
-DROCWMMA_BUILD_SAMPLES=OFF
|
||||||
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
|
-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON
|
||||||
|
-DROCM_PLATFORM_VERSION=$(NEXT_RELEASE_VERSION)
|
||||||
|
-GNinja
|
||||||
|
# gfx1030 not supported in documentation
|
||||||
|
- 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: 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 }}
|
||||||
97
.azuredevops/components/rocm-cmake.yml
Normal file
97
.azuredevops/components/rocm-cmake.yml
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
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:
|
||||||
|
- doxygen
|
||||||
|
- doxygen-doc
|
||||||
|
- ninja-build
|
||||||
|
- name: pipModules
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- cget
|
||||||
|
- cmake==3.20.5
|
||||||
|
- ninja
|
||||||
|
- rocm-docs-core
|
||||||
|
- sphinx
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
buildJobs:
|
||||||
|
- { os: ubuntu2204, packageManager: apt }
|
||||||
|
- { os: ubuntu2404, packageManager: apt }
|
||||||
|
- { os: almalinux8, packageManager: dnf }
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: rocm_cmake_${{ job.os }}
|
||||||
|
pool:
|
||||||
|
${{ if eq(job.os, 'ubuntu2404') }}:
|
||||||
|
vmImage: 'ubuntu-24.04'
|
||||||
|
${{ else }}:
|
||||||
|
vmImage: 'ubuntu-22.04'
|
||||||
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
|
container:
|
||||||
|
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
||||||
|
endpoint: ContainerService3
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
packageManager: ${{ job.packageManager }}
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Add CMake to PATH
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: echo "##vso[task.prependpath]$(python3 -m site --user-base)/bin"
|
||||||
|
- 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" --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
|
||||||
103
.azuredevops/components/rocm-core.yml
Normal file
103
.azuredevops/components/rocm-core.yml
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rocm-core
|
||||||
|
- 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
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
buildJobs:
|
||||||
|
- { os: ubuntu2204, packageManager: apt }
|
||||||
|
- { os: ubuntu2404, packageManager: apt }
|
||||||
|
- { os: almalinux8, packageManager: dnf }
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: rocm_core_${{ job.os }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}
|
||||||
|
pool:
|
||||||
|
${{ if eq(job.os, 'ubuntu2404') }}:
|
||||||
|
vmImage: 'ubuntu-24.04'
|
||||||
|
${{ else }}:
|
||||||
|
vmImage: 'ubuntu-22.04'
|
||||||
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
|
container:
|
||||||
|
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
||||||
|
endpoint: ContainerService3
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
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 }}
|
||||||
211
.azuredevops/components/rocm-examples.yml
Normal file
211
.azuredevops/components/rocm-examples.yml
Normal file
@@ -0,0 +1,211 @@
|
|||||||
|
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
|
||||||
|
- libdw-dev
|
||||||
|
- libglfw3-dev
|
||||||
|
- libmsgpack-dev
|
||||||
|
- libtbb-dev
|
||||||
|
- libva-amdgpu-dev
|
||||||
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- AMDMIGraphX
|
||||||
|
- clr
|
||||||
|
- hipBLAS
|
||||||
|
- hipBLAS-common
|
||||||
|
- hipBLASLt
|
||||||
|
- hipCUB
|
||||||
|
- hipFFT
|
||||||
|
- HIPIFY
|
||||||
|
- hipRAND
|
||||||
|
- hipSOLVER
|
||||||
|
- hipSPARSE
|
||||||
|
- hipTensor
|
||||||
|
- llvm-project
|
||||||
|
- MIOpen
|
||||||
|
- rocBLAS
|
||||||
|
- rocFFT
|
||||||
|
- rocJPEG
|
||||||
|
- rocPRIM
|
||||||
|
- rocprofiler-register
|
||||||
|
- rocprofiler-sdk
|
||||||
|
- ROCR-Runtime
|
||||||
|
- rocRAND
|
||||||
|
- rocSOLVER
|
||||||
|
- rocSPARSE
|
||||||
|
- rocThrust
|
||||||
|
- rocWMMA
|
||||||
|
- name: rocmTestDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- AMDMIGraphX
|
||||||
|
- clr
|
||||||
|
- hipBLAS
|
||||||
|
- hipBLAS-common
|
||||||
|
- hipBLASLt
|
||||||
|
- hipCUB
|
||||||
|
- hipFFT
|
||||||
|
- HIPIFY
|
||||||
|
- hipRAND
|
||||||
|
- hipSOLVER
|
||||||
|
- hipSPARSE
|
||||||
|
- hipTensor
|
||||||
|
- llvm-project
|
||||||
|
- rocBLAS
|
||||||
|
- rocFFT
|
||||||
|
- rocminfo
|
||||||
|
- rocPRIM
|
||||||
|
- rocJPEG
|
||||||
|
- rocprofiler-register
|
||||||
|
- rocprofiler-sdk
|
||||||
|
- ROCR-Runtime
|
||||||
|
- rocRAND
|
||||||
|
- rocSOLVER
|
||||||
|
- rocSPARSE
|
||||||
|
- rocThrust
|
||||||
|
- roctracer
|
||||||
|
- rocWMMA
|
||||||
|
|
||||||
|
- 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: rocm_examples_build_${{ job.target }}
|
||||||
|
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 }}
|
||||||
|
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-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:
|
||||||
|
# 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
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Move rocm-examples binaries to rocm/examples
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
mkdir -p $(Build.BinariesDirectory)/examples
|
||||||
|
mv $(Build.BinariesDirectory)/bin/* $(Build.BinariesDirectory)/examples
|
||||||
|
- 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 }}
|
||||||
181
.azuredevops/components/rocm-libraries.yml
Normal file
181
.azuredevops/components/rocm-libraries.yml
Normal file
@@ -0,0 +1,181 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rocm_libraries
|
||||||
|
- name: checkoutRepo
|
||||||
|
type: string
|
||||||
|
default: 'self'
|
||||||
|
- name: checkoutRef
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: aptPackages
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- ccache
|
||||||
|
- gfortran
|
||||||
|
- git
|
||||||
|
- libdrm-dev
|
||||||
|
- liblapack-dev
|
||||||
|
- libmsgpack-dev
|
||||||
|
- libnuma-dev
|
||||||
|
- libopenblas-dev
|
||||||
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
|
- python3-venv
|
||||||
|
- name: pipModules
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- joblib
|
||||||
|
- "packaging>=22.0"
|
||||||
|
- pytest
|
||||||
|
- pytest-cmake
|
||||||
|
- --upgrade
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- aomp
|
||||||
|
- clr
|
||||||
|
- llvm-project
|
||||||
|
- rocminfo
|
||||||
|
- rocm-cmake
|
||||||
|
- rocm_smi_lib
|
||||||
|
- rocprofiler-register
|
||||||
|
- ROCR-Runtime
|
||||||
|
- roctracer
|
||||||
|
- name: rocmTestDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- aomp
|
||||||
|
- clr
|
||||||
|
- llvm-project
|
||||||
|
- rocminfo
|
||||||
|
- rocm_smi_lib
|
||||||
|
- rocprofiler-register
|
||||||
|
- ROCR-Runtime
|
||||||
|
- roctracer
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
buildJobs:
|
||||||
|
- { pool: rocm-ci_ultra_build_pool, os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
||||||
|
timeoutInMinutes: 300
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: DAY_STRING
|
||||||
|
value: $[format('{0:ddMMyyyy}', pipeline.startTime)]
|
||||||
|
pool: ${{ job.pool }}
|
||||||
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
|
container:
|
||||||
|
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
||||||
|
endpoint: ContainerService3
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
packageManager: ${{ job.packageManager }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
||||||
|
parameters:
|
||||||
|
dependencyList:
|
||||||
|
- gtest
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
|
- script: |
|
||||||
|
mkdir -p $(CCACHE_DIR)
|
||||||
|
echo "##vso[task.prependpath]/usr/lib/ccache"
|
||||||
|
displayName: Update path for ccache
|
||||||
|
- task: Cache@2
|
||||||
|
displayName: Ccache caching
|
||||||
|
inputs:
|
||||||
|
key: rocm-libraries | ${{ job.os }} | ${{ job.target }} | $(DAY_STRING) | $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
path: $(CCACHE_DIR)
|
||||||
|
restoreKeys: |
|
||||||
|
rocm-libraries | ${{ job.os }} | ${{ job.target }} | $(DAY_STRING)
|
||||||
|
rocm-libraries | ${{ job.os }} | ${{ job.target }}
|
||||||
|
rocm-libraries | ${{ job.os }}
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Add paths for CMake and Python site-packages binaries
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
USER_BASE=$(python3 -m site --user-base)
|
||||||
|
echo "##vso[task.prependpath]$USER_BASE/bin"
|
||||||
|
echo "##vso[task.setvariable variable=PytestCmakePath]$USER_BASE/share/Pytest/cmake"
|
||||||
|
displayName: Set cmake configure paths
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-D CMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor;$(PytestCmakePath)
|
||||||
|
-D CMAKE_INCLUDE_PATH=$(Agent.BuildDirectory)/rocm/llvm/include
|
||||||
|
-D CMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
-D CMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
|
-D CMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||||
|
-D CMAKE_C_COMPILER_LAUNCHER=ccache
|
||||||
|
-G Ninja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
- ${{ if eq(job.os, 'ubuntu2204') }}:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin
|
||||||
|
installLatestCMake: true
|
||||||
|
extraCopyDirectories:
|
||||||
|
- deps
|
||||||
134
.azuredevops/components/rocm_bandwidth_test.yml
Normal file
134
.azuredevops/components/rocm_bandwidth_test.yml
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
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
|
||||||
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
|
- name: pipModules
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- CppHeaderParser
|
||||||
|
- argparse
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- clr
|
||||||
|
- llvm-project
|
||||||
|
- rocminfo
|
||||||
|
- rocprofiler-register
|
||||||
|
- ROCR-Runtime
|
||||||
|
- name: rocmTestDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- rocminfo
|
||||||
|
- rocprofiler-register
|
||||||
|
- ROCR-Runtime
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
testJobs:
|
||||||
|
- gfx942:
|
||||||
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- job: rocm_bandwidth_test_build
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: ROCR_INC_DIR
|
||||||
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
|
- name: ROCR_LIB_DIR
|
||||||
|
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 }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_BUILD_TYPE=release
|
||||||
|
-DCMAKE_MODULE_PATH=$(Build.SourcesDirectory)/cmake_modules
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/include;$(Agent.BuildDirectory)/rocm/include/hsa
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
- 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 }}
|
||||||
145
.azuredevops/components/rocm_smi_lib.yml
Normal file
145
.azuredevops/components/rocm_smi_lib.yml
Normal file
@@ -0,0 +1,145 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rocm_smi_lib
|
||||||
|
- 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
|
||||||
|
- 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:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: rocm_smi_lib_build_${{ job.os }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}
|
||||||
|
pool:
|
||||||
|
${{ if eq(job.os, 'ubuntu2404') }}:
|
||||||
|
vmImage: 'ubuntu-24.04'
|
||||||
|
${{ else }}:
|
||||||
|
vmImage: 'ubuntu-22.04'
|
||||||
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
|
container:
|
||||||
|
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
||||||
|
endpoint: ContainerService3
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
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 }}
|
||||||
175
.azuredevops/components/rocminfo.yml
Normal file
175
.azuredevops/components/rocminfo.yml
Normal file
@@ -0,0 +1,175 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rocminfo
|
||||||
|
- 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
|
||||||
|
- libdrm-amdgpu-dev
|
||||||
|
- libdrm-dev
|
||||||
|
- ninja-build
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- ROCR-Runtime
|
||||||
|
- 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:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: ${{ parameters.componentName }}_build_${{ job.os }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}
|
||||||
|
pool:
|
||||||
|
vmImage: 'ubuntu-22.04'
|
||||||
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
|
container:
|
||||||
|
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
||||||
|
endpoint: ContainerService3
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
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-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 }}
|
||||||
221
.azuredevops/components/rocprofiler-compute.yml
Normal file
221
.azuredevops/components/rocprofiler-compute.yml
Normal file
@@ -0,0 +1,221 @@
|
|||||||
|
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 }}
|
||||||
104
.azuredevops/components/rocprofiler-register.yml
Normal file
104
.azuredevops/components/rocprofiler-register.yml
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rocprofiler-register
|
||||||
|
- 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
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
buildJobs:
|
||||||
|
- { os: ubuntu2204, packageManager: apt }
|
||||||
|
- { os: ubuntu2404, packageManager: apt }
|
||||||
|
- { os: almalinux8, packageManager: dnf }
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: rocprofiler_register_${{ job.os }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}
|
||||||
|
pool:
|
||||||
|
${{ if eq(job.os, 'ubuntu2404') }}:
|
||||||
|
vmImage: 'ubuntu-24.04'
|
||||||
|
${{ else }}:
|
||||||
|
vmImage: 'ubuntu-22.04'
|
||||||
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
|
container:
|
||||||
|
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
||||||
|
endpoint: ContainerService3
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
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_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
|
||||||
223
.azuredevops/components/rocprofiler-sdk.yml
Normal file
223
.azuredevops/components/rocprofiler-sdk.yml
Normal file
@@ -0,0 +1,223 @@
|
|||||||
|
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:
|
||||||
|
- gfx942:
|
||||||
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
|
testJobs:
|
||||||
|
- gfx942:
|
||||||
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: rocprofiler_sdk_build_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.target }}
|
||||||
|
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 }}
|
||||||
|
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 }}
|
||||||
|
${{ 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 }}
|
||||||
|
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 }}
|
||||||
|
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.target }}
|
||||||
|
dependsOn: rocprofiler_sdk_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:
|
||||||
|
- 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:
|
||||||
|
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 }}
|
||||||
|
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 }}
|
||||||
|
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 }}
|
||||||
|
testDir: $(Agent.BuildDirectory)/s/build
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
registerROCmPackages: true
|
||||||
271
.azuredevops/components/rocprofiler-systems.yml
Normal file
271
.azuredevops/components/rocprofiler-systems.yml
Normal file
@@ -0,0 +1,271 @@
|
|||||||
|
# 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
|
||||||
233
.azuredevops/components/rocprofiler.yml
Normal file
233
.azuredevops/components/rocprofiler.yml
Normal file
@@ -0,0 +1,233 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rocprofiler
|
||||||
|
- 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
|
||||||
|
- libdrm-dev
|
||||||
|
- libdw-dev
|
||||||
|
- libsystemd-dev
|
||||||
|
- libelf-dev
|
||||||
|
- libnuma-dev
|
||||||
|
- libpciaccess-dev
|
||||||
|
- python3-pip
|
||||||
|
- name: pipModules
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- barectf
|
||||||
|
- Cppheaderparser
|
||||||
|
- lxml
|
||||||
|
- matplotlib
|
||||||
|
- pandas
|
||||||
|
- pyyaml==5.3.1
|
||||||
|
- websockets
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- clr
|
||||||
|
- llvm-project
|
||||||
|
- ROCdbgapi
|
||||||
|
- rocm-cmake
|
||||||
|
- rocm-core
|
||||||
|
- rocminfo
|
||||||
|
- rocm_smi_lib
|
||||||
|
- 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 }
|
||||||
|
- { 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 }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: HIP_ROCCLR_HOME
|
||||||
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
|
- name: ROCM_PATH
|
||||||
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
|
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 }}
|
||||||
|
- 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-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 }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
useAmdclang: false
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_MODULE_PATH=$(Build.SourcesDirectory)/cmake_modules;$(Agent.BuildDirectory)/rocm/lib/cmake;$(Agent.BuildDirectory)/rocm/lib/cmake/hip;$(Agent.BuildDirectory)/rocm/lib64/cmake;$(Agent.BuildDirectory)/rocm/lib64/cmake/hip
|
||||||
|
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor"
|
||||||
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||||
|
-DENABLE_LDCONFIG=OFF
|
||||||
|
-DUSE_PROF_API=1
|
||||||
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
|
multithreadFlag: -- -j32
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
- ${{ if eq(job.os, 'ubuntu2204') }}:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
extraEnvVars:
|
||||||
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
|
- ROCM_PATH:::/home/user/workspace/rocm
|
||||||
|
|
||||||
|
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
||||||
|
- ${{ 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 }}
|
||||||
135
.azuredevops/components/rocr_debug_agent.yml
Normal file
135
.azuredevops/components/rocr_debug_agent.yml
Normal file
@@ -0,0 +1,135 @@
|
|||||||
|
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
|
||||||
|
- ninja-build
|
||||||
|
- libelf-dev
|
||||||
|
- libdw-dev
|
||||||
|
- libstdc++-12-dev
|
||||||
|
- python-is-python3
|
||||||
|
- python3-pip
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- rocm-cmake
|
||||||
|
- clr
|
||||||
|
- llvm-project
|
||||||
|
- ROCdbgapi
|
||||||
|
- rocminfo
|
||||||
|
- ROCR-Runtime
|
||||||
|
- 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:
|
||||||
|
- job: rocr_debug_agent_build
|
||||||
|
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 }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-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
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
# parameters:
|
||||||
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: rocr_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 }}
|
||||||
205
.azuredevops/components/roctracer.yml
Normal file
205
.azuredevops/components/roctracer.yml
Normal file
@@ -0,0 +1,205 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: roctracer
|
||||||
|
- 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
|
||||||
|
- doxygen
|
||||||
|
- graphviz
|
||||||
|
- libdrm-amdgpu-dev
|
||||||
|
- ninja-build
|
||||||
|
- zlib1g-dev
|
||||||
|
- name: pipModules
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- CppHeaderParser
|
||||||
|
- argparse
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- llvm-project
|
||||||
|
- ROCR-Runtime
|
||||||
|
- rocprofiler-register
|
||||||
|
- clr
|
||||||
|
- 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:
|
||||||
|
- ${{ 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 }}_${{ job.target }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
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 }}
|
||||||
|
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-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
|
# the linker flags will not affect ubuntu2204 builds as the paths do not exist
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
useAmdclang: false
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_BUILD_TYPE=release
|
||||||
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip;$(Agent.BuildDirectory)/rocm/lib64/cmake/hip
|
||||||
|
-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
|
||||||
200
.azuredevops/components/rpp.yml
Normal file
200
.azuredevops/components/rpp.yml
Normal file
@@ -0,0 +1,200 @@
|
|||||||
|
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:
|
||||||
|
- clang
|
||||||
|
- cmake
|
||||||
|
- imagemagick
|
||||||
|
- libopencv-dev
|
||||||
|
- libsndfile1-dev
|
||||||
|
- libstdc++-12-dev
|
||||||
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
|
- name: pipModules
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- openpyxl
|
||||||
|
- pandas
|
||||||
|
- sphinx
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- aomp
|
||||||
|
- clr
|
||||||
|
- half
|
||||||
|
- llvm-project
|
||||||
|
- rocm-cmake
|
||||||
|
- rocminfo
|
||||||
|
- 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:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: rpp_build_${{ job.target }}
|
||||||
|
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 }}
|
||||||
|
- 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/llvm/bin/amdclang++
|
||||||
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
|
-DHALF_INCLUDE_DIRS=$(Agent.BuildDirectory)/rocm/include
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
|
-DROCM_PLATFORM_VERSION=$(NEXT_RELEASE_VERSION)
|
||||||
|
-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 }}
|
||||||
|
# pipModules: ${{ parameters.pipModules }}
|
||||||
|
# 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 }}
|
||||||
64
.azuredevops/dependencies/boost.yml
Normal file
64
.azuredevops/dependencies/boost.yml
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
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
|
||||||
63
.azuredevops/dependencies/catch2.yml
Normal file
63
.azuredevops/dependencies/catch2.yml
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
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 }}
|
||||||
67
.azuredevops/dependencies/fmtlib.yml
Normal file
67
.azuredevops/dependencies/fmtlib.yml
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
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 }}
|
||||||
49
.azuredevops/dependencies/grpc.yml
Normal file
49
.azuredevops/dependencies/grpc.yml
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
parameters:
|
||||||
|
- name: checkoutRepo
|
||||||
|
type: string
|
||||||
|
default: 'self'
|
||||||
|
- name: checkoutRef
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: grpcVersion
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: aptPackages
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- git
|
||||||
|
- cmake
|
||||||
|
- ninja-build
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- job: grpc
|
||||||
|
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 grpc'
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: git clone -b ${{ parameters.grpcVersion }} https://github.com/grpc/grpc --depth=1 --shallow-submodules --recurse-submodules
|
||||||
|
workingDirectory: $(Agent.BuildDirectory)
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
cmakeBuildDir: $(Agent.BuildDirectory)/grpc/build
|
||||||
|
cmakeSourceDir: $(Agent.BuildDirectory)/grpc
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DgRPC_INSTALL=ON
|
||||||
|
-DgRPC_BUILD_TESTS=OFF
|
||||||
|
-DBUILD_SHARED_LIBS=ON
|
||||||
|
-DCMAKE_INSTALL_LIBDIR=lib
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
64
.azuredevops/dependencies/gtest.yml
Normal file
64
.azuredevops/dependencies/gtest.yml
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
parameters:
|
||||||
|
- name: checkoutRepo
|
||||||
|
type: string
|
||||||
|
default: 'self'
|
||||||
|
- name: checkoutRef
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: gtestVersion
|
||||||
|
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: gtest_${{ 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 GTest ${{ parameters.gtestVersion }}
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: git clone https://github.com/google/googletest -b ${{ parameters.gtestVersion }} --depth=1 --shallow-submodules --recurse-submodules
|
||||||
|
workingDirectory: $(Agent.BuildDirectory)
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.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 }}
|
||||||
37
.azuredevops/dependencies/half560.yml
Normal file
37
.azuredevops/dependencies/half560.yml
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
parameters:
|
||||||
|
- name: checkoutRepo
|
||||||
|
type: string
|
||||||
|
default: 'self'
|
||||||
|
- name: checkoutRef
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: aptPackages
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- cmake
|
||||||
|
- ninja-build
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- job: half560
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool:
|
||||||
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
|
container:
|
||||||
|
image: rocm/dev-ubuntu-22.04:${{ variables.LATEST_RELEASE_VERSION }}
|
||||||
|
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/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
63
.azuredevops/dependencies/lapack.yml
Normal file
63
.azuredevops/dependencies/lapack.yml
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
parameters:
|
||||||
|
- name: checkoutRepo
|
||||||
|
type: string
|
||||||
|
default: 'self'
|
||||||
|
- name: checkoutRef
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: lapackVersion
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: aptPackages
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- wget
|
||||||
|
- cmake
|
||||||
|
- ninja-build
|
||||||
|
- gfortran
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- job: lapack
|
||||||
|
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: 'Download lapack Source Code'
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: wget -nv -O lapack-${{ parameters.lapackVersion }}.tar.gz https://github.com/Reference-LAPACK/lapack/archive/refs/tags/v${{ parameters.lapackVersion }}.tar.gz
|
||||||
|
workingDirectory: '$(System.ArtifactsDirectory)'
|
||||||
|
- task: ExtractFiles@1
|
||||||
|
displayName: Extract lapack Source Code
|
||||||
|
inputs:
|
||||||
|
archiveFilePatterns: '$(System.ArtifactsDirectory)/**/*.tar.gz'
|
||||||
|
destinationFolder: '$(Agent.BuildDirectory)'
|
||||||
|
cleanDestinationFolder: false
|
||||||
|
overwriteExistingFiles: true
|
||||||
|
- task: DeleteFiles@1
|
||||||
|
displayName: Cleanup Compressed lapack
|
||||||
|
inputs:
|
||||||
|
SourceFolder: '$(System.ArtifactsDirectory)'
|
||||||
|
Contents: '/**/*.tar.gz'
|
||||||
|
RemoveDotFiles: true
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
cmakeBuildDir: $(Agent.BuildDirectory)/lapack-${{ parameters.lapackVersion }}/build
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DCMAKE_Fortran_COMPILER=gfortran
|
||||||
|
-DCMAKE_Fortran_FLAGS=-fno-optimize-sibling-calls
|
||||||
|
-DBUILD_TESTING=OFF
|
||||||
|
-DCBLAS=ON
|
||||||
|
-DLAPACKE=OFF
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
64
.azuredevops/dependencies/libdivide.yml
Normal file
64
.azuredevops/dependencies/libdivide.yml
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
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 }}
|
||||||
71
.azuredevops/dependencies/spdlog.yml
Normal file
71
.azuredevops/dependencies/spdlog.yml
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
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 }}
|
||||||
551
.azuredevops/nightly/pytorch.yml
Normal file
551
.azuredevops/nightly/pytorch.yml
Normal file
@@ -0,0 +1,551 @@
|
|||||||
|
parameters:
|
||||||
|
# ubuntu near-equivalent list of yum installs in https://github.com/ROCm/ROCm-docker/blob/master/dev/Dockerfile-centos-7-complete
|
||||||
|
# plus additional packages found through iterative testing of pipeline
|
||||||
|
- name: aptPackages
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- autoconf
|
||||||
|
- bc
|
||||||
|
- bridge-utils
|
||||||
|
- build-essential
|
||||||
|
- ca-certificates
|
||||||
|
- ccache
|
||||||
|
- devscripts
|
||||||
|
- dkms
|
||||||
|
- doxygen
|
||||||
|
- fakeroot
|
||||||
|
- ffmpeg
|
||||||
|
- gfortran
|
||||||
|
- git
|
||||||
|
- gnutls-bin
|
||||||
|
- libamd2
|
||||||
|
- libavformat-dev
|
||||||
|
- libblas3
|
||||||
|
- libcamd2
|
||||||
|
- libccolamd2
|
||||||
|
- libcholmod3
|
||||||
|
- libcolamd2
|
||||||
|
- libdpkg-dev
|
||||||
|
- libdpkg-perl
|
||||||
|
- libdrm-amdgpu1
|
||||||
|
- libdrm-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-pip
|
||||||
|
- python3-venv
|
||||||
|
- qemu-kvm
|
||||||
|
- re2c
|
||||||
|
- subversion
|
||||||
|
- wget
|
||||||
|
- zip
|
||||||
|
- name: pipModules
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- astunparse
|
||||||
|
- "expecttest>=0.3.0"
|
||||||
|
- hypothesis
|
||||||
|
- numpy
|
||||||
|
- psutil
|
||||||
|
- pyyaml
|
||||||
|
- requests
|
||||||
|
- setuptools==75.8.0
|
||||||
|
- types-dataclasses
|
||||||
|
- "typing-extensions>=4.10.0"
|
||||||
|
- "sympy>=1.13.3"
|
||||||
|
- filelock
|
||||||
|
- networkx
|
||||||
|
- jinja2
|
||||||
|
- fsspec
|
||||||
|
- lintrunner
|
||||||
|
- ninja
|
||||||
|
- packaging
|
||||||
|
- "optree>=0.13.0"
|
||||||
|
- "click>=8.0.3"
|
||||||
|
# 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
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- clr
|
||||||
|
- hipBLAS
|
||||||
|
- hipBLASLt
|
||||||
|
- hipFFT
|
||||||
|
- hipRAND
|
||||||
|
- hipSOLVER
|
||||||
|
- hipSPARSE
|
||||||
|
- hipSPARSELt
|
||||||
|
- llvm-project
|
||||||
|
- MIOpen
|
||||||
|
- rccl
|
||||||
|
- rocBLAS
|
||||||
|
- rocFFT
|
||||||
|
- rocm-core
|
||||||
|
- rocminfo
|
||||||
|
- rocm_smi_lib
|
||||||
|
- rocPRIM
|
||||||
|
- rocprofiler-register
|
||||||
|
- rocRAND
|
||||||
|
- ROCR-Runtime
|
||||||
|
- rocSOLVER
|
||||||
|
- rocSPARSE
|
||||||
|
- roctracer
|
||||||
|
# below are additional dependencies not called out by build script, but throw errors during cmake
|
||||||
|
- composable_kernel
|
||||||
|
- hipBLAS-common
|
||||||
|
- hipCUB
|
||||||
|
- rocThrust
|
||||||
|
- name: rocmTestDependencies
|
||||||
|
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
|
||||||
|
pr: none
|
||||||
|
schedules:
|
||||||
|
- cron: '30 7 * * *'
|
||||||
|
displayName: nightly pytorch
|
||||||
|
branches:
|
||||||
|
include:
|
||||||
|
- develop
|
||||||
|
always: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- job: pytorch
|
||||||
|
timeoutInMinutes: 120
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
amd-staging-gfx942:
|
||||||
|
ROCM_BRANCH: amd-staging
|
||||||
|
JOB_GPU_TARGET: gfx942
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
# various flags/parameters expected by bash scripts in pytorch repo's .ci directory
|
||||||
|
- name: ROCM_VERSION
|
||||||
|
value: 6.5.0
|
||||||
|
- name: ROCM_PATH
|
||||||
|
value: /opt/rocm
|
||||||
|
- name: DESIRED_CUDA
|
||||||
|
value: 6.5.0
|
||||||
|
- name: MAGMA_ROCM
|
||||||
|
value: 6.3
|
||||||
|
- name: DESIRED_PYTHON
|
||||||
|
value: 3.10
|
||||||
|
- name: PYTORCH_ROOT
|
||||||
|
value: $(Build.SourcesDirectory)/pytorch
|
||||||
|
- name: DESIRED_DEVTOOLSET
|
||||||
|
value: cxx11-abi
|
||||||
|
pool: ${{ variables.ULTRA_BUILD_POOL }}
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
# copy environment setup from https://github.com/pytorch/pytorch/blob/main/.ci/docker/manywheel/Dockerfile
|
||||||
|
# but instead of centos, use ubuntu environment
|
||||||
|
- 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
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
# wheel install location different on azure agent compared to where wheel is assumed to be installed on upstream script
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: wheel install path symlink
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
sudo mkdir -p /opt/python/cp310-cp310/lib/python3.10
|
||||||
|
sudo ln -s /usr/local/lib/python3.10/dist-packages /opt/python/cp310-cp310/lib/python3.10/site-packages
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
|
setupHIPLibrarySymlinks: true
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: ROCm symbolic link
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
|
- checkout: self
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: git clone upstream pytorch
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: git clone https://github.com/pytorch/pytorch.git --depth=1 --recurse-submodules
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
|
# builder clone still needed due to run_tests.sh at end of build_common.sh call
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: git clone pytorch builder
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
git clone https://github.com/pytorch/builder.git --depth=1 --recurse-submodules
|
||||||
|
sudo ln -s $(Build.SourcesDirectory)/builder /builder
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Install patchelf
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
sudo bash pytorch/.ci/docker/common/install_patchelf.sh
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Install rocm drm
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
sudo bash pytorch/.ci/docker/common/install_rocm_drm.sh
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Install rocm magma
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
sudo bash pytorch/.ci/docker/common/install_rocm_magma.sh $(MAGMA_ROCM)
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Install targeted typing_extensions for build
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: pip install --target=$(Build.SourcesDirectory)/pytorch/torch/.. typing_extensions
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Run ROCm Build Script
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: >-
|
||||||
|
sudo
|
||||||
|
PYTHONPATH=/home/AzDevOps/.local/lib/python3.10/site-packages:/usr/lib/python3/dist-packages
|
||||||
|
DESIRED_CUDA=$(DESIRED_CUDA)
|
||||||
|
PYTORCH_ROCM_ARCH=$(JOB_GPU_TARGET)
|
||||||
|
GPU_TARGET=$(JOB_GPU_TARGET)
|
||||||
|
DESIRED_PYTHON=$(DESIRED_PYTHON)
|
||||||
|
PYTORCH_ROOT=$(PYTORCH_ROOT)
|
||||||
|
CMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
DESIRED_DEVTOOLSET=$(DESIRED_DEVTOOLSET)
|
||||||
|
PYTORCH_BUILD_VERSION=$(cat $(Build.SourcesDirectory)/pytorch/version.txt | cut -da -f1)
|
||||||
|
PYTORCH_BUILD_NUMBER=$(date -u +%Y%m%d)
|
||||||
|
SKIP_ALL_TESTS=1
|
||||||
|
bash ./.ci/manywheel/build_rocm.sh
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)/pytorch
|
||||||
|
- 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
|
||||||
|
displayName: 'wheel file Publish'
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
|
inputs:
|
||||||
|
targetPath: $(Build.BinariesDirectory)
|
||||||
|
- 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;/$;;')"
|
||||||
239
.azuredevops/nightly/rocm-nightly.yml
Normal file
239
.azuredevops/nightly/rocm-nightly.yml
Normal file
@@ -0,0 +1,239 @@
|
|||||||
|
parameters:
|
||||||
|
# using a parameter instead of a strategy matrix allows job variables to be eval'd at compile-time rather than runtime
|
||||||
|
- 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
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- AMDMIGraphX
|
||||||
|
- amdsmi
|
||||||
|
- aomp-extras
|
||||||
|
- aomp
|
||||||
|
- clr
|
||||||
|
- composable_kernel
|
||||||
|
- half
|
||||||
|
- hip-tests
|
||||||
|
- hipBLAS
|
||||||
|
- hipBLAS-common
|
||||||
|
- hipBLASLt
|
||||||
|
- hipCUB
|
||||||
|
- hipFFT
|
||||||
|
- hipfort
|
||||||
|
- HIPIFY
|
||||||
|
- hipRAND
|
||||||
|
- hipSOLVER
|
||||||
|
- hipSPARSE
|
||||||
|
- hipSPARSELt
|
||||||
|
- hipTensor
|
||||||
|
- llvm-project
|
||||||
|
- MIOpen
|
||||||
|
- MIVisionX
|
||||||
|
- rccl
|
||||||
|
- rdc
|
||||||
|
- rocAL
|
||||||
|
- rocALUTION
|
||||||
|
- rocBLAS
|
||||||
|
- ROCdbgapi
|
||||||
|
- rocDecode
|
||||||
|
- rocFFT
|
||||||
|
- ROCgdb
|
||||||
|
- rocJPEG
|
||||||
|
- rocm-cmake
|
||||||
|
- rocm-core
|
||||||
|
- rocm-examples
|
||||||
|
- rocminfo
|
||||||
|
- rocMLIR
|
||||||
|
- ROCmValidationSuite
|
||||||
|
- rocm_bandwidth_test
|
||||||
|
- rocm_smi_lib
|
||||||
|
- rocPRIM
|
||||||
|
- rocprofiler-compute
|
||||||
|
- rocprofiler-register
|
||||||
|
- rocprofiler-sdk
|
||||||
|
- rocprofiler-systems
|
||||||
|
- rocprofiler
|
||||||
|
- rocPyDecode
|
||||||
|
- ROCR-Runtime
|
||||||
|
- rocRAND
|
||||||
|
- rocr_debug_agent
|
||||||
|
- rocSOLVER
|
||||||
|
- rocSPARSE
|
||||||
|
- rocThrust
|
||||||
|
- roctracer
|
||||||
|
- rocWMMA
|
||||||
|
- rpp
|
||||||
|
- TransferBench
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
schedules:
|
||||||
|
- cron: '30 7 * * *'
|
||||||
|
displayName: Nightly build
|
||||||
|
branches:
|
||||||
|
include:
|
||||||
|
- develop
|
||||||
|
always: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- ${{ each job in parameters.jobList }}:
|
||||||
|
- job: nightly_${{ job.os }}_${{ job.target }}
|
||||||
|
timeoutInMinutes: 120
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- task: DeleteFiles@1
|
||||||
|
displayName: 'Cleanup checkout space'
|
||||||
|
inputs:
|
||||||
|
SourceFolder: '$(Agent.BuildDirectory)/s'
|
||||||
|
Contents: '**/*'
|
||||||
|
- task: DeleteFiles@1
|
||||||
|
displayName: 'Cleanup Staging Area'
|
||||||
|
inputs:
|
||||||
|
SourceFolder: '$(Build.ArtifactStagingDirectory)'
|
||||||
|
Contents: '/**/*'
|
||||||
|
RemoveDotFiles: true
|
||||||
|
- script: df -h
|
||||||
|
displayName: System disk space before ROCm
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- script: df -h
|
||||||
|
displayName: System disk space after ROCm
|
||||||
|
- script: du -sh $(Agent.BuildDirectory)/rocm
|
||||||
|
displayName: Uncompressed ROCm size
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
- task: ArchiveFiles@2
|
||||||
|
displayName: Compress rocm-nightly
|
||||||
|
inputs:
|
||||||
|
rootFolderOrFile: $(Agent.BuildDirectory)/rocm
|
||||||
|
includeRootFolder: false
|
||||||
|
archiveType: tar
|
||||||
|
tarCompression: gz
|
||||||
|
archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.DefinitionName)_$(Build.BuildNumber)_${{ job.os }}_${{ job.target }}.tar.gz
|
||||||
|
- script: du -sh $(Build.ArtifactStagingDirectory)
|
||||||
|
displayName: Compressed ROCm size
|
||||||
|
- task: PublishPipelineArtifact@1
|
||||||
|
displayName: 'Publish ROCm Nightly Artifact'
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
|
inputs:
|
||||||
|
targetPath: '$(Build.ArtifactStagingDirectory)'
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Save pipeline artifact file name
|
||||||
|
inputs:
|
||||||
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
|
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:]'
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
#!/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()
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
requests
|
||||||
29
.azuredevops/tag-builds/AMDMIGraphX.yml
Normal file
29
.azuredevops/tag-builds/AMDMIGraphX.yml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
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/AMDMIGraphX
|
||||||
|
ref: ${{ parameters.checkoutRef }}
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: ${{ variables.CI_COMPONENT_PATH }}/AMDMIGraphX.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: release_repo
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
39
.azuredevops/tag-builds/HIP.yml
Normal file
39
.azuredevops/tag-builds/HIP.yml
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
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
|
||||||
|
ref: ${{ parameters.checkoutRef }}
|
||||||
|
- repository: matching_repo
|
||||||
|
type: github
|
||||||
|
endpoint: ROCm
|
||||||
|
name: ROCm/clr
|
||||||
|
ref: ${{ parameters.checkoutRef }}
|
||||||
|
- repository: hipother_repo
|
||||||
|
type: github
|
||||||
|
endpoint: ROCm
|
||||||
|
name: ROCm/hipother
|
||||||
|
ref: ${{ parameters.checkoutRef }}
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: ${{ variables.CI_COMPONENT_PATH }}/HIP.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: release_repo
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
29
.azuredevops/tag-builds/HIPIFY.yml
Normal file
29
.azuredevops/tag-builds/HIPIFY.yml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
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/HIPIFY
|
||||||
|
ref: ${{ parameters.checkoutRef }}
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: ${{ variables.CI_COMPONENT_PATH }}/HIPIFY.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: release_repo
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
29
.azuredevops/tag-builds/MIOpen.yml
Normal file
29
.azuredevops/tag-builds/MIOpen.yml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
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/MIOpen
|
||||||
|
ref: ${{ parameters.checkoutRef }}
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: ${{ variables.CI_COMPONENT_PATH }}/MIOpen.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: release_repo
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
29
.azuredevops/tag-builds/MIVisionX.yml
Normal file
29
.azuredevops/tag-builds/MIVisionX.yml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
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/MIVisionX
|
||||||
|
ref: ${{ parameters.checkoutRef }}
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: ${{ variables.CI_COMPONENT_PATH }}/MIVisionX.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: release_repo
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
29
.azuredevops/tag-builds/ROCR-Runtime.yml
Normal file
29
.azuredevops/tag-builds/ROCR-Runtime.yml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
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/ROCR-Runtime
|
||||||
|
ref: ${{ parameters.checkoutRef }}
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: ${{ variables.CI_COMPONENT_PATH }}/ROCR-Runtime.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: release_repo
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
29
.azuredevops/tag-builds/ROCT-Thunk-Interface.yml
Normal file
29
.azuredevops/tag-builds/ROCT-Thunk-Interface.yml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
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/ROCT-Thunk-Interface
|
||||||
|
ref: ${{ parameters.checkoutRef }}
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: ${{ variables.CI_COMPONENT_PATH }}/ROCT-Thunk-Interface.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: release_repo
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
29
.azuredevops/tag-builds/ROCdbgapi.yml
Normal file
29
.azuredevops/tag-builds/ROCdbgapi.yml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
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/ROCdbgapi
|
||||||
|
ref: ${{ parameters.checkoutRef }}
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: ${{ variables.CI_COMPONENT_PATH }}/ROCdbgapi.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: release_repo
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
29
.azuredevops/tag-builds/ROCgdb.yml
Normal file
29
.azuredevops/tag-builds/ROCgdb.yml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
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/rocgdb
|
||||||
|
ref: ${{ parameters.checkoutRef }}
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: ${{ variables.CI_COMPONENT_PATH }}/ROCgdb.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: release_repo
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
29
.azuredevops/tag-builds/ROCmValidationSuite.yml
Normal file
29
.azuredevops/tag-builds/ROCmValidationSuite.yml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
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/ROCmValidationSuite
|
||||||
|
ref: ${{ parameters.checkoutRef }}
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: ${{ variables.CI_COMPONENT_PATH }}/ROCmValidationSuite.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: release_repo
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
29
.azuredevops/tag-builds/Tensile.yml
Normal file
29
.azuredevops/tag-builds/Tensile.yml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
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 }}
|
||||||
29
.azuredevops/tag-builds/TransferBench.yml
Normal file
29
.azuredevops/tag-builds/TransferBench.yml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
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 }}
|
||||||
29
.azuredevops/tag-builds/amdsmi.yml
Normal file
29
.azuredevops/tag-builds/amdsmi.yml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
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/amdsmi
|
||||||
|
ref: ${{ parameters.checkoutRef }}
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: ${{ variables.CI_COMPONENT_PATH }}/amdsmi.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: release_repo
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
25
.azuredevops/tag-builds/aomp-extras.yml
Normal file
25
.azuredevops/tag-builds/aomp-extras.yml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
- name: checkoutRef
|
||||||
|
type: string
|
||||||
|
default: refs/tags/$(LATEST_RELEASE_TAG)
|
||||||
|
|
||||||
|
resources:
|
||||||
|
repositories:
|
||||||
|
- repository: release_repo
|
||||||
|
type: github
|
||||||
|
endpoint: ROCm
|
||||||
|
name: ROCm/aomp-extras
|
||||||
|
ref: ${{ parameters.checkoutRef }}
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: ${{ variables.CI_COMPONENT_PATH }}/aomp-extras.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: release_repo
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
49
.azuredevops/tag-builds/aomp.yml
Normal file
49
.azuredevops/tag-builds/aomp.yml
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
- name: aompRef
|
||||||
|
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
|
||||||
|
default: refs/tags/$(LATEST_RELEASE_TAG)
|
||||||
|
|
||||||
|
resources:
|
||||||
|
repositories:
|
||||||
|
- repository: aomp_repo
|
||||||
|
type: github
|
||||||
|
endpoint: ROCm
|
||||||
|
name: ROCm/aomp
|
||||||
|
ref: ${{ parameters.aompRef }}
|
||||||
|
- 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
|
||||||
|
type: github
|
||||||
|
endpoint: ROCm
|
||||||
|
name: ROCm/llvm-project
|
||||||
|
ref: ${{ parameters.llvmRef }}
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: ${{ variables.CI_COMPONENT_PATH }}/aomp.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: aomp_repo
|
||||||
|
checkoutRef: ${{ parameters.aompRef }}
|
||||||
23
.azuredevops/tag-builds/boost.yml
Normal file
23
.azuredevops/tag-builds/boost.yml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
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 }}
|
||||||
23
.azuredevops/tag-builds/catch2.yml
Normal file
23
.azuredevops/tag-builds/catch2.yml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
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 }}
|
||||||
49
.azuredevops/tag-builds/clr.yml
Normal file
49
.azuredevops/tag-builds/clr.yml
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
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/clr
|
||||||
|
ref: ${{ parameters.checkoutRef }}
|
||||||
|
- repository: matching_repo
|
||||||
|
type: github
|
||||||
|
endpoint: ROCm
|
||||||
|
name: ROCm/HIP
|
||||||
|
ref: ${{ parameters.checkoutRef }}
|
||||||
|
- repository: hipother_repo
|
||||||
|
type: github
|
||||||
|
endpoint: ROCm
|
||||||
|
name: ROCm/hipother
|
||||||
|
ref: ${{ parameters.checkoutRef }}
|
||||||
|
pipelines:
|
||||||
|
- pipeline: hip_pipeline
|
||||||
|
source: \experimental\HIP
|
||||||
|
trigger: true
|
||||||
|
- pipeline: hipother_pipeline
|
||||||
|
source: \experimental\hipother
|
||||||
|
trigger: true
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- ${{ if eq(variables['Build.Reason'], 'ResourceTrigger') }}:
|
||||||
|
- template: ${{ variables.CI_COMPONENT_PATH }}/copyHIP.yml@pipelines_repo
|
||||||
|
- ${{ if ne(variables['Build.Reason'], 'ResourceTrigger') }}:
|
||||||
|
- template: ${{ variables.CI_COMPONENT_PATH }}/HIP.yml@pipelines_repo
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: release_repo
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
29
.azuredevops/tag-builds/composable_kernel.yml
Normal file
29
.azuredevops/tag-builds/composable_kernel.yml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
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/composable_kernel
|
||||||
|
ref: ${{ parameters.checkoutRef }}
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: ${{ variables.CI_COMPONENT_PATH }}/composable_kernel.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