mirror of
https://github.com/ROCm/ROCm.git
synced 2026-04-05 03:01:17 -04:00
- Also, fixes to rocprofiler-sdk when incorporating recent features. - URL encoding algorithm converts trailing '=' in the base64 string to an integer representing the number of those trailing '=' characters.
147 lines
4.9 KiB
YAML
147 lines
4.9 KiB
YAML
parameters:
|
|
- name: checkoutRepo
|
|
type: string
|
|
default: 'self'
|
|
- name: checkoutRef
|
|
type: string
|
|
default: ''
|
|
- name: aptPackages
|
|
type: object
|
|
default:
|
|
- cmake
|
|
- libnuma-dev
|
|
- mesa-common-dev
|
|
- ocl-icd-libopencl1
|
|
- ocl-icd-opencl-dev
|
|
- opencl-headers
|
|
- python3-pip
|
|
- name: pipModules
|
|
type: object
|
|
default:
|
|
- CppHeaderParser
|
|
- name: rocmDependenciesAMD
|
|
type: object
|
|
default:
|
|
- llvm-project
|
|
- ROCR-Runtime
|
|
- rocprofiler-register
|
|
- name: rocmDependenciesNvidia
|
|
type: object
|
|
default:
|
|
- llvm-project
|
|
|
|
# hip and clr are tightly-coupled
|
|
# run this same template for both repos
|
|
# any changes for clr should just trigger HIP pipeline
|
|
# similarly for hipother repo, for Nvidia backend
|
|
|
|
# HIP with AMD backend
|
|
jobs:
|
|
- job: hip_clr_combined_amd
|
|
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 }}
|
|
pipModules: ${{ parameters.pipModules }}
|
|
# checkout triggering repo (either HIP or clr)
|
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
parameters:
|
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
# if this is triggered by HIP repo, matching repo is clr
|
|
# if this is triggered by clr repo, matching repo is HIP
|
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
parameters:
|
|
checkoutRepo: matching_repo
|
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
parameters:
|
|
checkoutRepo: hipother_repo
|
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
parameters:
|
|
checkoutRef: ${{ parameters.checkoutRef }}
|
|
dependencyList: ${{ parameters.rocmDependenciesAMD }}
|
|
# compile clr
|
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
parameters:
|
|
componentName: clr
|
|
cmakeBuildDir: 'clr/build'
|
|
extraBuildFlags: >-
|
|
-DHIP_COMMON_DIR=$(Build.SourcesDirectory)/HIP
|
|
-DHIP_PLATFORM=amd
|
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
-DHIPCC_BIN_DIR=$(Agent.BuildDirectory)/rocm/bin
|
|
-DCLR_BUILD_HIP=ON
|
|
-DCLR_BUILD_OCL=ON
|
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
parameters:
|
|
artifactName: amd
|
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
parameters:
|
|
artifactName: amd
|
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
parameters:
|
|
aptPackages: ${{ parameters.aptPackages }}
|
|
pipModules: ${{ parameters.pipModules }}
|
|
environment: amd
|
|
|
|
# HIP with Nvidia backend
|
|
- job: hip_clr_combined_nvidia
|
|
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 }}
|
|
pipModules: ${{ parameters.pipModules }}
|
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
# checkout triggering repo (either HIP or clr)
|
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
parameters:
|
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
# if this is triggered by HIP repo, matching repo is clr
|
|
# if this is triggered by clr repo, matching repo is HIP
|
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
parameters:
|
|
checkoutRepo: matching_repo
|
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
parameters:
|
|
checkoutRepo: hipother_repo
|
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
parameters:
|
|
checkoutRef: ${{ parameters.checkoutRef }}
|
|
dependencyList: ${{ parameters.rocmDependenciesNvidia }}
|
|
- script: 'ls -1R $(Agent.BuildDirectory)/rocm'
|
|
displayName: 'Artifact listing'
|
|
# compile clr
|
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
parameters:
|
|
componentName: clr
|
|
cmakeBuildDir: 'clr/build'
|
|
extraBuildFlags: >-
|
|
-DHIP_COMMON_DIR=$(Build.SourcesDirectory)/HIP
|
|
-DHIP_PLATFORM=nvidia
|
|
-DHIPCC_BIN_DIR=$(Agent.BuildDirectory)/rocm/bin
|
|
-DCLR_BUILD_HIP=ON
|
|
-DCLR_BUILD_OCL=OFF
|
|
-DHIPNV_DIR=$(Build.SourcesDirectory)/hipother/hipnv
|
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
parameters:
|
|
artifactName: nvidia
|
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
parameters:
|
|
aptPackages: ${{ parameters.aptPackages }}
|
|
pipModules: ${{ parameters.pipModules }}
|
|
environment: nvidia
|