mirror of
https://github.com/ROCm/ROCm.git
synced 2026-02-01 01:45:18 -05:00
Compare commits
40 Commits
hipdnn
...
docs/7.0-d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
02180e7bf7 | ||
|
|
b66ce0b0a6 | ||
|
|
ac00f08a03 | ||
|
|
4667fbfc83 | ||
|
|
7cb2143e15 | ||
|
|
dc56ba46b6 | ||
|
|
56d74cb542 | ||
|
|
f92dde618b | ||
|
|
9e7a2e711c | ||
|
|
bca2c255bb | ||
|
|
fbfc0bf70d | ||
|
|
8f24297ac5 | ||
|
|
481157e567 | ||
|
|
cc4262185a | ||
|
|
cc7a042501 | ||
|
|
d26a9c8162 | ||
|
|
edf400789a | ||
|
|
7d5abf2dae | ||
|
|
c895490f80 | ||
|
|
95285875d0 | ||
|
|
596a120566 | ||
|
|
684fd6102f | ||
|
|
fb8d86df6a | ||
|
|
da26a1c9cb | ||
|
|
df84dadd43 | ||
|
|
bc6d48ef94 | ||
|
|
4728b201a6 | ||
|
|
a7abd5f67c | ||
|
|
f7e670d36c | ||
|
|
6cebe026b1 | ||
|
|
2134313c4a | ||
|
|
08e5cb4321 | ||
|
|
22732e81a2 | ||
|
|
975c4036a4 | ||
|
|
6df8002b08 | ||
|
|
0f261049bb | ||
|
|
8c7378ba71 | ||
|
|
dcc949f441 | ||
|
|
a4b1b2cc67 | ||
|
|
4f592f8949 |
42
.azuredevops/ci-builds/aomp-mainline.yml
Normal file
42
.azuredevops/ci-builds/aomp-mainline.yml
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
|
||||||
|
resources:
|
||||||
|
repositories:
|
||||||
|
- repository: aomp_repo
|
||||||
|
type: github
|
||||||
|
endpoint: ROCm
|
||||||
|
name: ROCm/aomp
|
||||||
|
ref: amd-mainline
|
||||||
|
- repository: aomp-extras_repo
|
||||||
|
type: github
|
||||||
|
endpoint: ROCm
|
||||||
|
name: ROCm/aomp-extras
|
||||||
|
ref: amd-mainline
|
||||||
|
- repository: flang_repo
|
||||||
|
type: github
|
||||||
|
endpoint: ROCm
|
||||||
|
name: ROCm/flang
|
||||||
|
ref: amd-mainline
|
||||||
|
- repository: llvm-project_repo
|
||||||
|
type: github
|
||||||
|
endpoint: ROCm
|
||||||
|
name: ROCm/llvm-project
|
||||||
|
ref: amd-mainline
|
||||||
|
pipelines:
|
||||||
|
- pipeline: rocr-runtime_pipeline
|
||||||
|
source: \ROCR-Runtime
|
||||||
|
trigger:
|
||||||
|
branches:
|
||||||
|
include:
|
||||||
|
- amd-mainline
|
||||||
|
# this job will only be triggered after successful build sequence of llvm-project and ROCR-Runtime
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: ${{ variables.CI_COMPONENT_PATH }}/aomp.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: aomp_repo
|
||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: AMDMIGraphX
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
# - name: sparseCheckoutDir
|
|
||||||
# type: string
|
|
||||||
# default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -112,11 +93,7 @@ parameters:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
- job: AMDMIGraphX_build_${{ job.target }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_ubuntu2204_${{ job.target }}
|
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -128,9 +105,6 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
|
||||||
parameters:
|
|
||||||
cmakeVersion: '3.28.6'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -147,15 +121,12 @@ jobs:
|
|||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm
|
||||||
-DHALF_INCLUDE_DIR=$(Agent.BuildDirectory)/rocm/include
|
-DHALF_INCLUDE_DIR=$(Agent.BuildDirectory)/rocm/include
|
||||||
@@ -175,12 +146,12 @@ jobs:
|
|||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
- job: AMDMIGraphX_test_${{ job.target }}
|
||||||
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
dependsOn: AMDMIGraphX_build_${{ job.target }}
|
||||||
condition:
|
condition:
|
||||||
and(succeeded(),
|
and(succeeded(),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
)
|
)
|
||||||
variables:
|
variables:
|
||||||
@@ -196,9 +167,6 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
|
||||||
parameters:
|
|
||||||
cmakeVersion: '3.28.6'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -215,8 +183,6 @@ jobs:
|
|||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- task: CMake@1
|
- task: CMake@1
|
||||||
displayName: MIGraphXTest CMake Flags
|
displayName: MIGraphXTest CMake Flags
|
||||||
inputs:
|
inputs:
|
||||||
@@ -224,7 +190,6 @@ jobs:
|
|||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm
|
||||||
-DHALF_INCLUDE_DIR=$(Agent.BuildDirectory)/rocm/include
|
-DHALF_INCLUDE_DIR=$(Agent.BuildDirectory)/rocm/include
|
||||||
@@ -234,7 +199,7 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
componentName: AMDMIGraphX
|
||||||
testExecutable: make
|
testExecutable: make
|
||||||
testParameters: -j$(nproc) check
|
testParameters: -j$(nproc) check
|
||||||
testPublishResults: false
|
testPublishResults: false
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: hip_clr_combined
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -34,7 +15,6 @@ parameters:
|
|||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- libnuma-dev
|
- libnuma-dev
|
||||||
- libsimde-dev
|
|
||||||
- mesa-common-dev
|
- mesa-common-dev
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- ocl-icd-libopencl1
|
- ocl-icd-libopencl1
|
||||||
@@ -55,24 +35,93 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- ROCR-Runtime
|
|
||||||
|
# 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
|
||||||
|
|
||||||
- name: jobMatrix
|
- name: jobMatrix
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
buildJobs:
|
buildJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, platform: amd }
|
- { os: ubuntu2204, packageManager: apt }
|
||||||
- { os: ubuntu2204, packageManager: apt, platform: nvidia }
|
- { os: almalinux8, packageManager: dnf }
|
||||||
- { os: almalinux8, packageManager: dnf, platform: amd }
|
|
||||||
- { os: almalinux8, packageManager: dnf, platform: nvidia }
|
|
||||||
|
|
||||||
|
# HIP with AMD backend
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_${{ job.os }}_${{ job.platform }}
|
- job: hip_clr_combined_${{ job.os }}_amd
|
||||||
${{ if parameters.buildDependsOn }}:
|
pool:
|
||||||
dependsOn:
|
vmImage: 'ubuntu-22.04'
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
- ${{ build }}_${{ job.os }}
|
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 }}
|
||||||
|
# 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 }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
# compile clr
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
componentName: clr
|
||||||
|
cmakeBuildDir: '$(Build.SourcesDirectory)/clr/build'
|
||||||
|
cmakeSourceDir: '$(Build.SourcesDirectory)/clr'
|
||||||
|
os: ${{ job.os }}
|
||||||
|
useAmdclang: false
|
||||||
|
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
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
parameters:
|
||||||
|
artifactName: amd
|
||||||
|
os: ${{ job.os }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
artifactName: amd
|
||||||
|
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: amd
|
||||||
|
|
||||||
|
# HIP with Nvidia backend
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: hip_clr_combined_${{ job.os }}_nvidia
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'ubuntu-22.04'
|
vmImage: 'ubuntu-22.04'
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
@@ -91,45 +140,49 @@ jobs:
|
|||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
packageManager: ${{ job.packageManager }}
|
packageManager: ${{ job.packageManager }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
# full checkout of rocm-systems superrepo, we need clr, hip, and hipother
|
# checkout triggering repo (either HIP or clr)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
# sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
# 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
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmDependenciesNvidia }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
${{ if eq(job.platform, 'amd') }}:
|
- script: 'ls -1R $(Agent.BuildDirectory)/rocm'
|
||||||
dependencyList: ${{ parameters.rocmDependenciesAMD }}
|
displayName: 'Artifact listing'
|
||||||
${{ elseif eq(job.platform, 'nvidia') }}:
|
# compile clr
|
||||||
dependencyList: ${{ parameters.rocmDependenciesNvidia }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: clr
|
componentName: clr
|
||||||
cmakeBuildDir: $(Agent.BuildDirectory)/s/projects/clr/build
|
cmakeBuildDir: '$(Build.SourcesDirectory)/clr/build'
|
||||||
cmakeSourceDir: $(Agent.BuildDirectory)/s/projects/clr
|
cmakeSourceDir: '$(Build.SourcesDirectory)/clr'
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
useAmdclang: false
|
useAmdclang: false
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DHIP_COMMON_DIR=$(Build.SourcesDirectory)/HIP
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
-DHIP_PLATFORM=nvidia
|
||||||
-DHIPCC_BIN_DIR=$(Agent.BuildDirectory)/rocm/bin
|
-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_HIP=ON
|
||||||
-DCLR_BUILD_OCL=ON
|
-DCLR_BUILD_OCL=OFF
|
||||||
|
-DHIPNV_DIR=$(Build.SourcesDirectory)/hipother/hipnv
|
||||||
-GNinja
|
-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
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
artifactName: ${{ job.platform }}
|
artifactName: nvidia
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
# parameters:
|
||||||
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
# pipModules: ${{ parameters.pipModules }}
|
||||||
|
# environment: nvidia
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ jobs:
|
|||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
packageManager: ${{ job.packageManager }}
|
packageManager: ${{ job.packageManager }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Add lit to PATH
|
displayName: Add lit to PATH
|
||||||
inputs:
|
inputs:
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: MIOpen
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -93,37 +74,16 @@ parameters:
|
|||||||
target: gfx942
|
target: gfx942
|
||||||
- gfx90a:
|
- gfx90a:
|
||||||
target: gfx90a
|
target: gfx90a
|
||||||
- name: downstreamComponentMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- MIVisionX:
|
|
||||||
name: MIVisionX
|
|
||||||
checkoutRepo: mivisionx_repo
|
|
||||||
sparseCheckoutDir: ''
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- MIOpen_build
|
|
||||||
- AMDMIGraphX:
|
|
||||||
name: AMDMIGraphX
|
|
||||||
checkoutRepo: amdmigraphx_repo
|
|
||||||
sparseCheckoutDir: ''
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- MIOpen_build
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
- job: MIOpen_build_${{ job.target }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_ubuntu2204_${{ job.target }}
|
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
- name: ROCM_PATH
|
- name: ROCM_PATH
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
pool: ${{ variables.HIGH_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
@@ -131,12 +91,10 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
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/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/miopen-get-ck-build.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/miopen-get-ck-build.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
@@ -146,14 +104,11 @@ jobs:
|
|||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Build and install other dependencies
|
displayName: Build and install other dependencies
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
workingDirectory: $(Agent.BuildDirectory)/s
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
script: |
|
script: |
|
||||||
sed -i '/composable_kernel/d' requirements.txt
|
sed -i '/composable_kernel/d' requirements.txt
|
||||||
mkdir -p $(Agent.BuildDirectory)/miopen-deps
|
mkdir -p $(Agent.BuildDirectory)/miopen-deps
|
||||||
@@ -175,10 +130,8 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
@@ -190,9 +143,9 @@ jobs:
|
|||||||
- miopen-deps
|
- miopen-deps
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
- job: MIOpen_test_${{ job.target }}
|
||||||
timeoutInMinutes: 180
|
timeoutInMinutes: 180
|
||||||
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
dependsOn: MIOpen_build_${{ job.target }}
|
||||||
condition:
|
condition:
|
||||||
and(succeeded(),
|
and(succeeded(),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
@@ -212,12 +165,10 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
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/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/miopen-get-ck-build.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/miopen-get-ck-build.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -227,14 +178,11 @@ jobs:
|
|||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Build and install other dependencies
|
displayName: Build and install other dependencies
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
workingDirectory: $(Agent.BuildDirectory)/s
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
script: |
|
script: |
|
||||||
sed -i '/composable_kernel/d' requirements.txt
|
sed -i '/composable_kernel/d' requirements.txt
|
||||||
mkdir -p $(Agent.BuildDirectory)/miopen-deps
|
mkdir -p $(Agent.BuildDirectory)/miopen-deps
|
||||||
@@ -245,7 +193,7 @@ jobs:
|
|||||||
displayName: 'MIOpen Test CMake Flags'
|
displayName: 'MIOpen Test CMake Flags'
|
||||||
inputs:
|
inputs:
|
||||||
cmakeArgs: >-
|
cmakeArgs: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/s/bin;$(Agent.BuildDirectory)/miopen-deps
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Build.SourcesDirectory)/bin;$(Agent.BuildDirectory)/miopen-deps
|
||||||
-DCMAKE_INSTALL_PREFIX=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_INSTALL_PREFIX=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
@@ -255,19 +203,19 @@ jobs:
|
|||||||
-DBUILD_DEV=OFF
|
-DBUILD_DEV=OFF
|
||||||
-DMIOPEN_USE_MLIR=ON
|
-DMIOPEN_USE_MLIR=ON
|
||||||
-DMIOPEN_GPU_SYNC=OFF
|
-DMIOPEN_GPU_SYNC=OFF
|
||||||
$(Agent.BuildDirectory)/s
|
..
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'MIOpen Test Build'
|
displayName: 'MIOpen Test Build'
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
workingDirectory: build
|
|
||||||
script: |
|
script: |
|
||||||
cmake --build . --target tests -- -j$(nproc)
|
cmake --build . --target tests -- -j$(nproc)
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)/build
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
componentName: MIOpen
|
||||||
testParameters: '--output-on-failure --force-new-ctest-process --output-junit test_output.xml --exclude-regex "test_rnn_seq_api|GPU_Conv2dTuningAsm_FP32|GPU_Conv2dTuningAsmBwdWrw_FP32"'
|
testParameters: '--output-on-failure --force-new-ctest-process --output-junit test_output.xml --exclude-regex "test_rnn_seq_api|GPU_Conv2dTuningAsm_FP32"'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
@@ -276,15 +224,3 @@ jobs:
|
|||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
extraCopyDirectories:
|
extraCopyDirectories:
|
||||||
- miopen-deps
|
- miopen-deps
|
||||||
|
|
||||||
# - ${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
# - ${{ each component in parameters.downstreamComponentMatrix }}:
|
|
||||||
# - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
|
||||||
# - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
|
||||||
# parameters:
|
|
||||||
# checkoutRepo: ${{ component.checkoutRepo }}
|
|
||||||
# # sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
|
||||||
# buildDependsOn: ${{ component.buildDependsOn }}
|
|
||||||
# downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
|
||||||
# triggerDownstreamJobs: true
|
|
||||||
# unifiedBuild: ${{ parameters.unifiedBuild }}
|
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: MIVisionX
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
# - name: sparseCheckoutDir
|
|
||||||
# type: string
|
|
||||||
# default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -62,9 +43,14 @@ parameters:
|
|||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
|
- AMDMIGraphX
|
||||||
- clr
|
- clr
|
||||||
- half
|
- half
|
||||||
|
- hipBLAS-common
|
||||||
|
- hipBLASLt
|
||||||
- llvm-project
|
- llvm-project
|
||||||
|
- MIOpen
|
||||||
|
- rocBLAS
|
||||||
- rocDecode
|
- rocDecode
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
- rocminfo
|
- rocminfo
|
||||||
@@ -74,10 +60,14 @@ parameters:
|
|||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- aomp
|
|
||||||
- clr
|
- clr
|
||||||
- half
|
- half
|
||||||
|
- hipBLAS-common
|
||||||
|
- hipBLASLt
|
||||||
- llvm-project
|
- llvm-project
|
||||||
|
- MIOpen
|
||||||
|
- rocBLAS
|
||||||
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- roctracer
|
- roctracer
|
||||||
- rpp
|
- rpp
|
||||||
@@ -98,11 +88,7 @@ parameters:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
- job: MIVisionX_build_${{ job.target }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_ubuntu2204_${{ job.target }}
|
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -124,8 +110,6 @@ jobs:
|
|||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
@@ -147,12 +131,12 @@ jobs:
|
|||||||
# gpuTarget: ${{ job.target }}
|
# gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
- job: MIVisionX_test_${{ job.target }}
|
||||||
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
dependsOn: MIVisionX_build_${{ job.target }}
|
||||||
condition:
|
condition:
|
||||||
and(succeeded(),
|
and(succeeded(),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
)
|
)
|
||||||
variables:
|
variables:
|
||||||
@@ -177,8 +161,6 @@ jobs:
|
|||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Build MIVisionX tests
|
displayName: Build MIVisionX tests
|
||||||
inputs:
|
inputs:
|
||||||
@@ -192,7 +174,7 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
componentName: MIVisionX
|
||||||
testDir: 'mivisionx-tests'
|
testDir: 'mivisionx-tests'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: ROCR-Runtime
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -37,7 +18,6 @@ parameters:
|
|||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- libelf-dev
|
- libelf-dev
|
||||||
- libnuma-dev
|
- libnuma-dev
|
||||||
- libsimde-dev
|
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- pkg-config
|
- pkg-config
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
@@ -48,8 +28,8 @@ parameters:
|
|||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- amdsmi
|
|
||||||
- llvm-project
|
- llvm-project
|
||||||
|
- rocm_smi_lib
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
|
|
||||||
- name: jobMatrix
|
- name: jobMatrix
|
||||||
@@ -65,10 +45,6 @@ parameters:
|
|||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ROCR_Runtime_build_${{ job.os }}
|
- job: ROCR_Runtime_build_${{ job.os }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.os }}
|
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'ubuntu-22.04'
|
vmImage: 'ubuntu-22.04'
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
@@ -89,18 +65,14 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
useAmdclang: false
|
useAmdclang: false
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
@@ -110,112 +82,109 @@ jobs:
|
|||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
# parameters:
|
# parameters:
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: ROCR_Runtime_test_${{ job.os }}_${{ job.target }}
|
||||||
- job: ROCR_Runtime_test_${{ job.os }}_${{ job.target }}
|
dependsOn: ROCR_Runtime_build_${{ job.os }}
|
||||||
dependsOn: ROCR_Runtime_build_${{ job.os }}
|
condition:
|
||||||
condition:
|
and(succeeded(),
|
||||||
and(succeeded(),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
)
|
||||||
)
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool: ${{ job.target }}_test_pool
|
||||||
pool: ${{ job.target }}_test_pool
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
packageManager: ${{ job.packageManager }}
|
||||||
packageManager: ${{ job.packageManager }}
|
- task: Bash@3
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
displayName: Install libhwloc5
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
inputs:
|
||||||
parameters:
|
targetType: 'inline'
|
||||||
os: ${{ job.os }}
|
script: |
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
wget http://ftp.us.debian.org/debian/pool/main/h/hwloc/libhwloc5_1.11.12-3_amd64.deb
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
wget http://ftp.us.debian.org/debian/pool/main/h/hwloc/libhwloc-dev_1.11.12-3_amd64.deb
|
||||||
parameters:
|
sudo apt install -y --allow-downgrades ./libhwloc5_1.11.12-3_amd64.deb ./libhwloc-dev_1.11.12-3_amd64.deb
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
os: ${{ job.os }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
runRocminfo: false
|
parameters:
|
||||||
- task: Bash@3
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
displayName: Build kfdtest
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
inputs:
|
parameters:
|
||||||
targetType: 'inline'
|
runRocminfo: false
|
||||||
workingDirectory: $(Agent.BuildDirectory)/s/libhsakmt/tests/kfdtest
|
- task: Bash@3
|
||||||
script: |
|
displayName: Build kfdtest
|
||||||
if [ -e /opt/rh/gcc-toolset-14/enable ]; then
|
inputs:
|
||||||
source /opt/rh/gcc-toolset-14/enable
|
targetType: 'inline'
|
||||||
fi
|
workingDirectory: $(Build.SourcesDirectory)/libhsakmt/tests/kfdtest
|
||||||
mkdir build && cd build
|
script: |
|
||||||
cmake -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm ..
|
if [ -e /opt/rh/gcc-toolset-14/enable ]; then
|
||||||
make
|
source /opt/rh/gcc-toolset-14/enable
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
fi
|
||||||
parameters:
|
mkdir build && cd build
|
||||||
componentName: kfdtest
|
cmake -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm ..
|
||||||
testExecutable: BIN_DIR=$(Agent.BuildDirectory)/s/libhsakmt/tests/kfdtest/build ./run_kfdtest.sh
|
make
|
||||||
testParameters: '-p core --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
testDir: $(Agent.BuildDirectory)/s/libhsakmt/tests/kfdtest/scripts
|
parameters:
|
||||||
os: ${{ job.os }}
|
componentName: kfdtest
|
||||||
- task: Bash@3
|
testExecutable: BIN_DIR=$(Build.SourcesDirectory)/libhsakmt/tests/kfdtest/build ./run_kfdtest.sh
|
||||||
displayName: Build rocrtst
|
testParameters: '-p core --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
inputs:
|
testDir: $(Build.SourcesDirectory)/libhsakmt/tests/kfdtest/scripts
|
||||||
targetType: 'inline'
|
os: ${{ job.os }}
|
||||||
workingDirectory: $(Agent.BuildDirectory)/s/rocrtst/suites/test_common
|
- task: Bash@3
|
||||||
script: |
|
displayName: Build rocrtst
|
||||||
echo $(Agent.BuildDirectory)/s/rocrtst/thirdparty/lib | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
inputs:
|
||||||
sudo cat /etc/ld.so.conf.d/rocm-ci.conf
|
targetType: 'inline'
|
||||||
sudo ldconfig -v
|
workingDirectory: $(Build.SourcesDirectory)/rocrtst/suites/test_common
|
||||||
ldconfig -p
|
script: |
|
||||||
if [ -e /opt/rh/gcc-toolset-14/enable ]; then
|
if [ -e /opt/rh/gcc-toolset-14/enable ]; then
|
||||||
source /opt/rh/gcc-toolset-14/enable
|
source /opt/rh/gcc-toolset-14/enable
|
||||||
fi
|
fi
|
||||||
BASE_CLANG_DIR=$(Agent.BuildDirectory)/rocm/llvm/lib/clang
|
BASE_CLANG_DIR=$(Agent.BuildDirectory)/rocm/llvm/lib/clang
|
||||||
export NEWEST_CLANG_VER=$(ls -1 $BASE_CLANG_DIR | sort -V | tail -n 1)
|
export NEWEST_CLANG_VER=$(ls -1 $BASE_CLANG_DIR | sort -V | tail -n 1)
|
||||||
mkdir build && cd build
|
mkdir build && cd build
|
||||||
cmake .. \
|
cmake .. \
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm \
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm \
|
||||||
-DTARGET_DEVICES=${{ job.target }} \
|
-DTARGET_DEVICES=${{ job.target }} \
|
||||||
-DROCM_DIR=$(Agent.BuildDirectory)/rocm \
|
-DROCM_DIR=$(Agent.BuildDirectory)/rocm \
|
||||||
-DLLVM_DIR=$(Agent.BuildDirectory)/rocm/llvm/bin \
|
-DLLVM_DIR=$(Agent.BuildDirectory)/rocm/llvm/bin \
|
||||||
-DOPENCL_INC_DIR=$BASE_CLANG_DIR/$NEWEST_CLANG_VER/include
|
-DOPENCL_INC_DIR=$BASE_CLANG_DIR/$NEWEST_CLANG_VER/include
|
||||||
make
|
make
|
||||||
make rocrtst_kernels
|
make rocrtst_kernels
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: rocrtst
|
componentName: rocrtst
|
||||||
testExecutable: ./rocrtst64
|
testExecutable: ./rocrtst64
|
||||||
testParameters: '--gtest_filter="-rocrtstNeg.Memory_Negative_Tests:rocrtstFunc.Memory_Max_Mem" --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
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 }}
|
testDir: $(Build.SourcesDirectory)/rocrtst/suites/test_common/build/${{ job.target }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
environment: test
|
environment: test
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
# docker image will be missing libhwloc5
|
# docker image will be missing libhwloc5
|
||||||
|
|||||||
@@ -86,7 +86,8 @@ jobs:
|
|||||||
value: $(Agent.BuildDirectory)/rocm
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
- name: HIP_INC_DIR
|
- name: HIP_INC_DIR
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
pool:
|
||||||
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -33,9 +33,8 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- libboost-filesystem-dev
|
|
||||||
- libboost-program-options-dev
|
|
||||||
- libmsgpack-dev
|
- libmsgpack-dev
|
||||||
|
- libboost-program-options-dev
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -171,7 +170,6 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- task: DownloadPipelineArtifact@2
|
- task: DownloadPipelineArtifact@2
|
||||||
displayName: 'Download Pipeline Wheel Files'
|
displayName: 'Download Pipeline Wheel Files'
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
inputs:
|
||||||
itemPattern: '**/*${{ job.os }}*.whl'
|
itemPattern: '**/*${{ job.os }}*.whl'
|
||||||
targetPath: $(Agent.BuildDirectory)
|
targetPath: $(Agent.BuildDirectory)
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: amdsmi
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -50,7 +31,7 @@ parameters:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}
|
- job: amdsmi_build_${{ job.os }}
|
||||||
pool:
|
pool:
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
${{ if eq(job.os, 'ubuntu2404') }}:
|
||||||
vmImage: 'ubuntu-24.04'
|
vmImage: 'ubuntu-24.04'
|
||||||
@@ -74,7 +55,6 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
@@ -85,54 +65,50 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
# parameters:
|
# parameters:
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: amdsmi_test_${{ job.os }}_${{ job.target }}
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
dependsOn: amdsmi_build_${{ job.os }}
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}
|
condition:
|
||||||
condition:
|
and(succeeded(),
|
||||||
and(succeeded(),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
)
|
||||||
)
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool: ${{ job.target }}_test_pool
|
||||||
pool: ${{ job.target }}_test_pool
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
packageManager: ${{ job.packageManager }}
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
parameters:
|
||||||
parameters:
|
os: ${{ job.os }}
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
parameters:
|
||||||
parameters:
|
runRocminfo: false
|
||||||
runRocminfo: false
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
parameters:
|
||||||
parameters:
|
componentName: amdsmi
|
||||||
componentName: ${{ parameters.componentName }}
|
testDir: '$(Agent.BuildDirectory)'
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
testExecutable: 'sudo ./rocm/share/amd_smi/tests/amdsmitst'
|
||||||
testExecutable: 'sudo ./rocm/share/amd_smi/tests/amdsmitst'
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
os: ${{ job.os }}
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
environment: test
|
||||||
environment: test
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -1,174 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: aqlprofile
|
|
||||||
- name: checkoutRepo
|
|
||||||
type: string
|
|
||||||
default: 'self'
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- cmake
|
|
||||||
- git
|
|
||||||
- ninja-build
|
|
||||||
- python3-pip
|
|
||||||
- name: rocmDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- ROCR-Runtime
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- ROCR-Runtime
|
|
||||||
- rocprofiler-register
|
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
testJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.os }}
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
|
||||||
parameters:
|
|
||||||
dependencyList:
|
|
||||||
- gtest
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
consolidateBuildAndInstall: true
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/aqlprofile/cmake_modules
|
|
||||||
-DAQLPROFILE_BUILD_TESTS=ON
|
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- ${{ if eq(job.os, 'ubuntu2204') }}:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
pool: ${{ job.target }}_test_pool
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- checkout: none
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
testDir: $(Agent.BuildDirectory)/rocm/share/hsa-amd-aqlprofile/
|
|
||||||
testExecutable: ./run_tests.sh
|
|
||||||
testParameters: ''
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
@@ -107,7 +107,6 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
# if this artifact name is changed, please also update $ARTIFACT_URL inside miopen-get-ck-build.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -39,6 +39,4 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
inputs:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: hip-tests
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -79,10 +60,6 @@ parameters:
|
|||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: hip_tests_build_${{ job.target }}
|
- job: hip_tests_build_${{ job.target }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.target }}
|
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -99,18 +76,15 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
# compile hip-tests
|
# compile hip-tests
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
componentName: hip-tests
|
||||||
cmakeSourceDir: '../catch'
|
cmakeSourceDir: '../catch'
|
||||||
customBuildTarget: build_tests
|
customBuildTarget: build_tests
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
@@ -122,12 +96,9 @@ jobs:
|
|||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
@@ -137,56 +108,52 @@ jobs:
|
|||||||
extraEnvVars:
|
extraEnvVars:
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: hip_tests_test_${{ job.target }}
|
||||||
- job: hip_tests_test_${{ job.target }}
|
timeoutInMinutes: 240
|
||||||
timeoutInMinutes: 240
|
dependsOn: hip_tests_build_${{ job.target }}
|
||||||
dependsOn: hip_tests_build_${{ job.target }}
|
condition:
|
||||||
condition:
|
and(succeeded(),
|
||||||
and(succeeded(),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
)
|
||||||
)
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool: ${{ job.target }}_test_pool
|
||||||
pool: ${{ job.target }}_test_pool
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- checkout: none
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
gpuTarget: ${{ job.target }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
- task: Bash@3
|
||||||
gpuTarget: ${{ job.target }}
|
displayName: Symlink rocm_agent_enumerator
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
inputs:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
targetType: inline
|
||||||
- task: Bash@3
|
script: |
|
||||||
displayName: Symlink rocm_agent_enumerator
|
# Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral
|
||||||
inputs:
|
sudo mkdir -p /opt/rocm/bin
|
||||||
targetType: inline
|
sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rocm_agent_enumerator /opt/rocm/bin/rocm_agent_enumerator
|
||||||
script: |
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
# Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
sudo mkdir -p /opt/rocm/bin
|
parameters:
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rocm_agent_enumerator /opt/rocm/bin/rocm_agent_enumerator
|
componentName: hip_tests
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
testDir: $(Agent.BuildDirectory)/rocm/share/hip
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
testDir: $(Agent.BuildDirectory)/rocm/share/hip
|
environment: test
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
optSymLink: true
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
optSymLink: true
|
|
||||||
|
|||||||
@@ -51,15 +51,15 @@ parameters:
|
|||||||
buildJobs:
|
buildJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
- { os: ubuntu2204, packageManager: apt }
|
||||||
- { os: almalinux8, packageManager: dnf }
|
- { os: almalinux8, packageManager: dnf }
|
||||||
- name: downstreamComponentMatrix
|
# - name: downstreamComponentMatrix
|
||||||
type: object
|
# type: object
|
||||||
default:
|
# default:
|
||||||
- hipBLASLt:
|
# - hipBLASLt:
|
||||||
name: hipBLASLt
|
# name: hipBLASLt
|
||||||
sparseCheckoutDir: projects/hipblaslt
|
# sparseCheckoutDir: projects/hipblaslt
|
||||||
skipUnifiedBuild: 'false'
|
# skipUnifiedBuild: 'false'
|
||||||
buildDependsOn:
|
# buildDependsOn:
|
||||||
- hipBLAS_common_build
|
# - hipBLAS_common_build
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
@@ -122,14 +122,14 @@ jobs:
|
|||||||
# extraEnvVars:
|
# extraEnvVars:
|
||||||
# - ROCM_PATH:::/home/user/workspace/rocm
|
# - ROCM_PATH:::/home/user/workspace/rocm
|
||||||
|
|
||||||
- ${{ if parameters.triggerDownstreamJobs }}:
|
# - ${{ if parameters.triggerDownstreamJobs }}:
|
||||||
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
# - ${{ each component in parameters.downstreamComponentMatrix }}:
|
||||||
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
# - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
||||||
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
# - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
||||||
parameters:
|
# parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
# checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
# sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
||||||
buildDependsOn: ${{ component.buildDependsOn }}
|
# buildDependsOn: ${{ component.buildDependsOn }}
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
# downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
||||||
triggerDownstreamJobs: true
|
# triggerDownstreamJobs: true
|
||||||
unifiedBuild: ${{ parameters.unifiedBuild }}
|
# unifiedBuild: ${{ parameters.unifiedBuild }}
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: hipBLAS
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -88,30 +69,10 @@ parameters:
|
|||||||
target: gfx942
|
target: gfx942
|
||||||
- gfx90a:
|
- gfx90a:
|
||||||
target: gfx90a
|
target: gfx90a
|
||||||
# MIOpen depends on both rocRAND and hipBLAS
|
|
||||||
# for a unified build, hipBLAS will be the one to call MIOpen
|
|
||||||
- name: downstreamComponentMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- MIOpen:
|
|
||||||
name: MIOpen
|
|
||||||
sparseCheckoutDir: projects/miopen
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- hipBLAS_build
|
|
||||||
unifiedBuild:
|
|
||||||
downstreamAggregateNames: hipBLAS+rocRAND
|
|
||||||
buildDependsOn:
|
|
||||||
- hipBLAS_build
|
|
||||||
- rocRAND_build
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
- job: hipBLAS_build_${{ job.target }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_ubuntu2204_${{ job.target }}
|
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -127,7 +88,6 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aocl.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aocl.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -135,8 +95,6 @@ jobs:
|
|||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
@@ -151,12 +109,9 @@ jobs:
|
|||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
@@ -166,67 +121,46 @@ jobs:
|
|||||||
installAOCL: true
|
installAOCL: true
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: hipBLAS_test_${{ job.target }}
|
||||||
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
dependsOn: hipBLAS_build_${{ job.target }}
|
||||||
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
condition:
|
||||||
condition:
|
and(succeeded(),
|
||||||
and(succeeded(),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
)
|
||||||
)
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool: ${{ job.target }}_test_pool
|
||||||
pool: ${{ job.target }}_test_pool
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- checkout: none
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
pipModules: ${{ parameters.pipModules }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
componentName: hipBLAS
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
testExecutable: $(Agent.BuildDirectory)/rocm/bin/hipblas-test
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
testParameters: '--yaml hipblas_smoke.yaml --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
componentName: ${{ parameters.componentName }}
|
parameters:
|
||||||
testExecutable: $(Agent.BuildDirectory)/rocm/bin/hipblas-test
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
testParameters: '--yaml hipblas_smoke.yaml --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
pipModules: ${{ parameters.pipModules }}
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
environment: test
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
|
||||||
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
|
||||||
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
|
||||||
triggerDownstreamJobs: true
|
|
||||||
unifiedBuild: ${{ parameters.unifiedBuild }}
|
|
||||||
${{ if parameters.unifiedBuild }}:
|
|
||||||
buildDependsOn: ${{ component.unifiedBuild.buildDependsOn }}
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ component.unifiedBuild.downstreamAggregateNames }}
|
|
||||||
${{ else }}:
|
|
||||||
buildDependsOn: ${{ component.buildDependsOn }}
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
|
||||||
|
|||||||
@@ -35,13 +35,9 @@ parameters:
|
|||||||
- ccache
|
- ccache
|
||||||
- gfortran
|
- gfortran
|
||||||
- git
|
- git
|
||||||
- libboost-filesystem-dev
|
|
||||||
- libboost-program-options-dev
|
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- liblapack-dev
|
|
||||||
- libmsgpack-dev
|
- libmsgpack-dev
|
||||||
- libnuma-dev
|
- libnuma-dev
|
||||||
- libopenblas-dev
|
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- python3-venv
|
- python3-venv
|
||||||
@@ -50,12 +46,6 @@ parameters:
|
|||||||
default:
|
default:
|
||||||
- joblib
|
- joblib
|
||||||
- "packaging>=22.0"
|
- "packaging>=22.0"
|
||||||
- pyyaml
|
|
||||||
- msgpack
|
|
||||||
- simplejson
|
|
||||||
- ujson
|
|
||||||
- orjson
|
|
||||||
- yappi
|
|
||||||
- --upgrade
|
- --upgrade
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
@@ -77,7 +67,6 @@ parameters:
|
|||||||
- clr
|
- clr
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocm-cmake
|
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocm_smi_lib
|
- rocm_smi_lib
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
@@ -88,28 +77,28 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
buildJobs:
|
buildJobs:
|
||||||
- { pool: rocm-ci_ultra_build_pool, os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
- { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx90a }
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
- { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
||||||
- { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
# - { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
||||||
#- { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
||||||
- { pool: rocm-ci_ultra_build_pool, os: almalinux8, packageManager: dnf, target: gfx942 }
|
# - { os: almalinux8, packageManager: dnf, target: gfx942 }
|
||||||
- { pool: rocm-ci_medium_build_pool, os: almalinux8, packageManager: dnf, target: gfx90a }
|
# - { os: almalinux8, packageManager: dnf, target: gfx90a }
|
||||||
- { pool: rocm-ci_medium_build_pool, os: almalinux8, packageManager: dnf, target: gfx1201 }
|
# - { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
||||||
- { pool: rocm-ci_medium_build_pool, os: almalinux8, packageManager: dnf, target: gfx1100 }
|
# - { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
||||||
#- { pool: rocm-ci_medium_build_pool, os: almalinux8, packageManager: dnf, target: gfx1030 }
|
# - { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
||||||
testJobs:
|
testJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
- name: downstreamComponentMatrix
|
# - name: downstreamComponentMatrix
|
||||||
type: object
|
# type: object
|
||||||
default:
|
# default:
|
||||||
- rocBLAS:
|
# - rocBLAS:
|
||||||
name: rocBLAS
|
# name: rocBLAS
|
||||||
sparseCheckoutDir: projects/rocblas
|
# sparseCheckoutDir: projects/rocblas
|
||||||
skipUnifiedBuild: 'false'
|
# skipUnifiedBuild: 'false'
|
||||||
buildDependsOn:
|
# buildDependsOn:
|
||||||
- hipBLASLt_build
|
# - hipBLASLt_build
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
@@ -132,7 +121,7 @@ jobs:
|
|||||||
value: $(Agent.BuildDirectory)/rocm
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
- name: DAY_STRING
|
- name: DAY_STRING
|
||||||
value: $[format('{0:ddMMyyyy}', pipeline.startTime)]
|
value: $[format('{0:ddMMyyyy}', pipeline.startTime)]
|
||||||
pool: ${{ job.pool }}
|
pool: ${{ variables.ULTRA_BUILD_POOL }}
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
container:
|
container:
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
||||||
@@ -145,16 +134,12 @@ jobs:
|
|||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
packageManager: ${{ job.packageManager }}
|
packageManager: ${{ job.packageManager }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
|
||||||
parameters:
|
|
||||||
dependencyList:
|
|
||||||
- gtest
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
@@ -171,16 +156,19 @@ jobs:
|
|||||||
script: |
|
script: |
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
||||||
|
# hipBLASLt has a script for gtest and lapack
|
||||||
|
# https://github.com/ROCm/hipBLASLt/blob/develop/deps/CMakeLists.txt
|
||||||
|
# $(Agent.BuildDirectory)/deps is a temporary folder for the build process
|
||||||
|
# $(Agent.BuildDirectory)/s/deps is part of the hipBLASLt repo
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Build and install LAPACK
|
displayName: Build and install external dependencies
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
mkdir -p $(Agent.BuildDirectory)/temp-deps
|
mkdir -p $(Agent.BuildDirectory)/deps
|
||||||
cd $(Agent.BuildDirectory)/temp-deps
|
cd $(Agent.BuildDirectory)/deps
|
||||||
# position-independent LAPACK is required for almalinux8 builds
|
cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON $(Agent.BuildDirectory)/s/deps
|
||||||
cmake -DBUILD_GTEST=OFF -DBUILD_LAPACK=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON $(Agent.BuildDirectory)/sparse/projects/hipblaslt/deps
|
make
|
||||||
make -j
|
|
||||||
sudo make install
|
sudo make install
|
||||||
- script: |
|
- script: |
|
||||||
mkdir -p $(CCACHE_DIR)
|
mkdir -p $(CCACHE_DIR)
|
||||||
@@ -198,21 +186,15 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
cmakeSourceDir: $(Agent.BuildDirectory)/sparse/projects/hipblaslt
|
|
||||||
cmakeBuildDir: $(Agent.BuildDirectory)/sparse/projects/hipblaslt/build
|
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_INCLUDE_PATH=$(Agent.BuildDirectory)/rocm/llvm/include
|
-DCMAKE_INCLUDE_PATH=$(Agent.BuildDirectory)/rocm/llvm/include
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
-DHIPBLASLT_ENABLE_ROCROLLER=ON
|
|
||||||
-DHIPBLASLT_ENABLE_FETCH=ON
|
|
||||||
-DHIPBLASLT_ENABLE_BLIS=OFF
|
|
||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -262,7 +244,6 @@ jobs:
|
|||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
- checkout: none
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
@@ -299,14 +280,14 @@ jobs:
|
|||||||
environment: test
|
environment: test
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
- ${{ if parameters.triggerDownstreamJobs }}:
|
# - ${{ if parameters.triggerDownstreamJobs }}:
|
||||||
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
# - ${{ each component in parameters.downstreamComponentMatrix }}:
|
||||||
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
# - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
||||||
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
# - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
||||||
parameters:
|
# parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
# checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
# sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
||||||
buildDependsOn: ${{ component.buildDependsOn }}
|
# buildDependsOn: ${{ component.buildDependsOn }}
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
# downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
||||||
triggerDownstreamJobs: true
|
# triggerDownstreamJobs: true
|
||||||
unifiedBuild: ${{ parameters.unifiedBuild }}
|
# unifiedBuild: ${{ parameters.unifiedBuild }}
|
||||||
|
|||||||
@@ -80,11 +80,11 @@ parameters:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
- job: ${{ parameters.componentName }}_build_${{ job.target }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
${{ if parameters.buildDependsOn }}:
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
- ${{ build }}_ubuntu2204_${{ job.target }}
|
- ${{ build }}_${{ job.target }} # todo: add OS
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -141,12 +141,12 @@ jobs:
|
|||||||
# gpuTarget: ${{ job.target }}
|
# gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
- job: ${{ parameters.componentName }}_test_${{ job.target }}
|
||||||
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
dependsOn: ${{ parameters.componentName }}_build_${{ job.target }}
|
||||||
condition:
|
condition:
|
||||||
and(succeeded(),
|
and(succeeded(),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
)
|
)
|
||||||
variables:
|
variables:
|
||||||
@@ -156,7 +156,6 @@ jobs:
|
|||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
- checkout: none
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
|||||||
@@ -72,15 +72,15 @@ parameters:
|
|||||||
testJobs:
|
testJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
- name: downstreamComponentMatrix
|
# - name: downstreamComponentMatrix
|
||||||
type: object
|
# type: object
|
||||||
default:
|
# default:
|
||||||
- rocFFT:
|
# - rocFFT:
|
||||||
name: rocFFT
|
# name: rocFFT
|
||||||
sparseCheckoutDir: projects/rocfft
|
# sparseCheckoutDir: projects/rocfft
|
||||||
skipUnifiedBuild: 'false'
|
# skipUnifiedBuild: 'false'
|
||||||
buildDependsOn:
|
# buildDependsOn:
|
||||||
- hipRAND_build
|
# - hipRAND_build
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
@@ -206,14 +206,14 @@ jobs:
|
|||||||
environment: test
|
environment: test
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
- ${{ if parameters.triggerDownstreamJobs }}:
|
# - ${{ if parameters.triggerDownstreamJobs }}:
|
||||||
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
# - ${{ each component in parameters.downstreamComponentMatrix }}:
|
||||||
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
# - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
||||||
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
# - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
||||||
parameters:
|
# parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
# checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
# sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
||||||
buildDependsOn: ${{ component.buildDependsOn }}
|
# buildDependsOn: ${{ component.buildDependsOn }}
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
# downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
||||||
triggerDownstreamJobs: true
|
# triggerDownstreamJobs: true
|
||||||
unifiedBuild: ${{ parameters.unifiedBuild }}
|
# unifiedBuild: ${{ parameters.unifiedBuild }}
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: hipSOLVER
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -85,15 +66,12 @@ parameters:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
- job: hipSOLVER_build_${{ job.target }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_ubuntu2204_${{ job.target }}
|
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
pool:
|
||||||
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
@@ -104,21 +82,18 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
# build external gtest and lapack
|
# build external gtest and lapack
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: external
|
componentName: external
|
||||||
cmakeBuildDir: '$(Agent.BuildDirectory)/s/deps/build'
|
cmakeBuildDir: '$(Build.SourcesDirectory)/deps/build'
|
||||||
cmakeSourceDir: '$(Agent.BuildDirectory)/s/deps'
|
cmakeSourceDir: '$(Build.SourcesDirectory)/deps'
|
||||||
installDir: '$(Pipeline.Workspace)/deps-install'
|
installDir: '$(Pipeline.Workspace)/deps-install'
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DBUILD_BOOST=OFF
|
-DBUILD_BOOST=OFF
|
||||||
@@ -137,10 +112,8 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
@@ -150,49 +123,44 @@ jobs:
|
|||||||
# extraCopyDirectories:
|
# extraCopyDirectories:
|
||||||
# - deps-install
|
# - deps-install
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: hipSOLVER_test_${{ job.target }}
|
||||||
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
dependsOn: hipSOLVER_build_${{ job.target }}
|
||||||
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
condition:
|
||||||
condition:
|
and(succeeded(),
|
||||||
and(succeeded(),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
)
|
||||||
)
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool: ${{ job.target }}_test_pool
|
||||||
pool: ${{ job.target }}_test_pool
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- checkout: none
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
componentName: hipSOLVER
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
testExecutable: './hipsolver-test'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
testParameters: '--gtest_filter="*checkin*" --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
componentName: ${{ parameters.componentName }}
|
parameters:
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
testExecutable: './hipsolver-test'
|
environment: test
|
||||||
testParameters: '--gtest_filter="*checkin*" --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: hipSPARSE
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -32,16 +13,18 @@ parameters:
|
|||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- gfortran
|
- cmake
|
||||||
- git
|
|
||||||
- libboost-program-options-dev
|
|
||||||
- libfftw3-dev
|
|
||||||
- ninja-build
|
- ninja-build
|
||||||
|
- libboost-program-options-dev
|
||||||
|
- googletest
|
||||||
|
- libfftw3-dev
|
||||||
|
- git
|
||||||
|
- gfortran
|
||||||
|
- libgtest-dev
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- aomp
|
|
||||||
- clr
|
- clr
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocminfo
|
- rocminfo
|
||||||
@@ -51,7 +34,6 @@ parameters:
|
|||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- aomp
|
|
||||||
- clr
|
- clr
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
@@ -67,31 +49,19 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
buildJobs:
|
buildJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- gfx942:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
target: gfx942
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
- gfx90a:
|
||||||
#- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
target: gfx90a
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
|
||||||
testJobs:
|
testJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- gfx942:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
target: gfx942
|
||||||
- name: downstreamComponentMatrix
|
- gfx90a:
|
||||||
type: object
|
target: gfx90a
|
||||||
default:
|
|
||||||
- hipSPARSELt:
|
|
||||||
name: hipSPARSELt
|
|
||||||
sparseCheckoutDir: projects/hipsparselt
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- hipSPARSE_build
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
- job: hipSPARSE_build_${{ job.target }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -103,59 +73,42 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
|
||||||
parameters:
|
|
||||||
dependencyList:
|
|
||||||
- gtest
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
os: ${{ job.os }}
|
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang
|
|
||||||
-DCMAKE_Fortran_COMPILER=gfortran
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/share/rocm/cmake/
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
-DBUILD_CLIENTS_SAMPLES=OFF
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
artifactName: hipSPARSE
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
artifactName: hipSPARSE
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
os: ${{ job.os }}
|
|
||||||
publish: false
|
publish: false
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
||||||
parameters:
|
parameters:
|
||||||
sourceDir: $(Agent.BuildDirectory)/s/build/clients
|
sourceDir: $(Build.SourcesDirectory)/build/clients
|
||||||
contentsString: matrices/**
|
contentsString: matrices/**
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
artifactName: testMatrices
|
artifactName: testMatrices
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
# parameters:
|
# parameters:
|
||||||
@@ -163,65 +116,44 @@ jobs:
|
|||||||
# environment: test
|
# environment: test
|
||||||
# gpuTarget: ${{ job.target }}
|
# gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: hipSPARSE_test_${{ job.target }}
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
dependsOn: hipSPARSE_build_${{ job.target }}
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
condition:
|
||||||
condition:
|
and(succeeded(),
|
||||||
and(succeeded(),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
)
|
||||||
)
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool: ${{ job.target }}_test_pool
|
||||||
pool: ${{ job.target }}_test_pool
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- checkout: none
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
packageManager: ${{ job.packageManager }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
os: ${{ job.os }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
parameters:
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
componentName: hipSPARSE
|
||||||
gpuTarget: ${{ job.target }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
os: ${{ job.os }}
|
testExecutable: './hipsparse-test'
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
environment: test
|
||||||
componentName: ${{ parameters.componentName }}
|
gpuTarget: ${{ job.target }}
|
||||||
os: ${{ job.os }}
|
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
|
||||||
testExecutable: './hipsparse-test'
|
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
|
||||||
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
|
||||||
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
|
||||||
buildDependsOn: ${{ component.buildDependsOn }}
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
|
||||||
triggerDownstreamJobs: true
|
|
||||||
unifiedBuild: ${{ parameters.unifiedBuild }}
|
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: hipSPARSELt
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -40,12 +21,10 @@ parameters:
|
|||||||
- gfortran
|
- gfortran
|
||||||
- libgfortran5
|
- libgfortran5
|
||||||
- libopenblas-dev
|
- libopenblas-dev
|
||||||
- liblapack-dev
|
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- joblib
|
- joblib
|
||||||
- msgpack
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -54,13 +33,11 @@ parameters:
|
|||||||
- hipSPARSE
|
- hipSPARSE
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
- rocm-cmake
|
|
||||||
- rocm_smi_lib
|
- rocm_smi_lib
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- roctracer
|
- roctracer
|
||||||
- rocSPARSE
|
|
||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -69,29 +46,25 @@ parameters:
|
|||||||
- llvm-project
|
- llvm-project
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- hipBLASLt
|
- hipBLASLt
|
||||||
- rocm-cmake
|
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- roctracer
|
- roctracer
|
||||||
- rocSPARSE
|
|
||||||
|
|
||||||
- name: jobMatrix
|
- name: jobMatrix
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
buildJobs:
|
buildJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- gfx942:
|
||||||
|
target: gfx942
|
||||||
testJobs:
|
testJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- gfx942:
|
||||||
|
target: gfx942
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
- job: hipSPARSELt_build_${{ job.target }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -113,37 +86,25 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
# ignore sparse checkout for monorepo case, we want access to hipblaslt directory
|
|
||||||
# sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
os: ${{ job.os }}
|
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
# 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
|
# Build and install gtest and lapack
|
||||||
# $(Pipeline.Workspace)/deps is a temporary folder for the build process
|
# $(Pipeline.Workspace)/deps is a temporary folder for the build process
|
||||||
# $(Pipeline.Workspace)/s/deps is part of the hipSPARSELt repo
|
# $(Pipeline.Workspace)/s/deps is part of the hipSPARSELt repo
|
||||||
- script: mkdir -p $(Pipeline.Workspace)/deps
|
- script: mkdir $(Pipeline.Workspace)/deps
|
||||||
displayName: Create temp folder for external dependencies
|
displayName: Create temp folder for external dependencies
|
||||||
# hipSPARSELt already has a CMake script for external deps, so we can just run that
|
# hipSPARSELt already has a CMake script for external deps, so we can just run that
|
||||||
# https://github.com/ROCm/hipSPARSELt/blob/develop/deps/CMakeLists.txt
|
# https://github.com/ROCm/hipSPARSELt/blob/develop/deps/CMakeLists.txt
|
||||||
- ${{ if ne(parameters.sparseCheckoutDir, '') }}:
|
- script: cmake $(Pipeline.Workspace)/s/deps
|
||||||
script: cmake $(Pipeline.Workspace)/s/projects/hipsparselt/deps
|
|
||||||
${{ else }}:
|
|
||||||
script: cmake $(Pipeline.Workspace)/s/deps
|
|
||||||
displayName: Configure hipSPARSELt external dependencies
|
displayName: Configure hipSPARSELt external dependencies
|
||||||
workingDirectory: $(Pipeline.Workspace)/deps
|
workingDirectory: $(Pipeline.Workspace)/deps
|
||||||
- script: make
|
- script: make
|
||||||
@@ -152,115 +113,81 @@ jobs:
|
|||||||
- script: sudo make install
|
- script: sudo make install
|
||||||
displayName: Install hipSPARSELt external dependencies
|
displayName: Install hipSPARSELt external dependencies
|
||||||
workingDirectory: $(Pipeline.Workspace)/deps
|
workingDirectory: $(Pipeline.Workspace)/deps
|
||||||
# -----------------------------
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
|
||||||
# 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: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
-DCMAKE_C_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
|
-DCMAKE_Fortran_COMPILER=f95
|
||||||
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
-DTensile_LOGIC=
|
-DTensile_LOGIC=
|
||||||
-DTensile_CPU_THREADS=
|
-DTensile_CPU_THREADS=
|
||||||
-DTensile_LIBRARY_FORMAT=msgpack
|
-DTensile_LIBRARY_FORMAT=msgpack
|
||||||
|
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm"
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
-DBUILD_USE_LOCAL_TENSILE=OFF
|
|
||||||
-DHIPSPARSELT_ENABLE_FETCH=ON
|
|
||||||
-GNinja
|
-GNinja
|
||||||
${{ if ne(parameters.sparseCheckoutDir, '') }}:
|
|
||||||
cmakeSourceDir: $(Build.SourcesDirectory)/projects/hipsparselt
|
|
||||||
cmakeBuildDir: $(Build.SourcesDirectory)/projects/hipsparselt
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
os: ${{ job.os }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- ${{ if eq(job.os, 'ubuntu2204') }}:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: ${{ job.target }}
|
extraCopyDirectories:
|
||||||
extraCopyDirectories:
|
- deps
|
||||||
- deps
|
extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin
|
||||||
extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin
|
extraEnvVars:
|
||||||
extraEnvVars:
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
- TENSILE_ROCM_ASSEMBLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang
|
||||||
- TENSILE_ROCM_ASSEMBLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang
|
- CMAKE_CXX_COMPILER:::/home/user/workspace/rocm/llvm/bin/hipcc
|
||||||
- CMAKE_CXX_COMPILER:::/home/user/workspace/rocm/llvm/bin/hipcc
|
- TENSILE_ROCM_OFFLOAD_BUNDLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang-offload-bundler
|
||||||
- TENSILE_ROCM_OFFLOAD_BUNDLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang-offload-bundler
|
installLatestCMake: true
|
||||||
installLatestCMake: true
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: hipSPARSELt_test_${{ job.target }}
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
dependsOn: hipSPARSELt_build_${{ job.target }}
|
||||||
timeoutInMinutes: 120
|
condition:
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
and(succeeded(),
|
||||||
condition:
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
and(succeeded(),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
variables:
|
||||||
)
|
- group: common
|
||||||
variables:
|
- template: /.azuredevops/variables-global.yml
|
||||||
- group: common
|
pool: ${{ job.target }}_test_pool
|
||||||
- template: /.azuredevops/variables-global.yml
|
workspace:
|
||||||
pool: ${{ job.target }}_test_pool
|
clean: all
|
||||||
workspace:
|
steps:
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
steps:
|
parameters:
|
||||||
- checkout: none
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
packageManager: ${{ job.packageManager }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
componentName: hipSPARSELt
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
gpuTarget: ${{ job.target }}
|
testExecutable: './hipsparselt-test'
|
||||||
os: ${{ job.os }}
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes --gtest_filter=*pre_checkin*'
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
pipModules: ${{ parameters.pipModules }}
|
||||||
parameters:
|
environment: test
|
||||||
componentName: ${{ parameters.componentName }}
|
gpuTarget: ${{ job.target }}
|
||||||
os: ${{ job.os }}
|
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
|
||||||
testExecutable: './hipsparselt-test'
|
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes --gtest_filter=*pre_checkin*'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: hipTensor
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -70,8 +51,7 @@ parameters:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.target }}
|
- job: hipTensor_build_${{ job.target }}
|
||||||
timeoutInMinutes: 120
|
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -86,21 +66,17 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/llvm
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/llvm
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DHIPTENSOR_BUILD_TESTS=ON
|
-DHIPTENSOR_BUILD_TESTS=ON
|
||||||
@@ -108,12 +84,9 @@ jobs:
|
|||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
@@ -121,47 +94,44 @@ jobs:
|
|||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: hipTensor_test_${{ job.target }}
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.target }}
|
timeoutInMinutes: 90
|
||||||
timeoutInMinutes: 90
|
dependsOn: hipTensor_build_${{ job.target }}
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.target }}
|
condition:
|
||||||
condition:
|
and(succeeded(),
|
||||||
and(succeeded(),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
)
|
||||||
)
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool: ${{ job.target }}_test_pool
|
||||||
pool: ${{ job.target }}_test_pool
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
parameters:
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
componentName: hipTensor
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
testDir: '$(Agent.BuildDirectory)/rocm/bin/hiptensor'
|
||||||
parameters:
|
testParameters: '-E ".*-extended" --output-on-failure --force-new-ctest-process --output-junit test_output.xml'
|
||||||
componentName: ${{ parameters.componentName }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin/hiptensor'
|
parameters:
|
||||||
testParameters: '-E ".*-extended" --extra-verbose --output-on-failure --force-new-ctest-process --output-junit test_output.xml'
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
environment: test
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ parameters:
|
|||||||
default:
|
default:
|
||||||
buildJobs:
|
buildJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
- { os: ubuntu2204, packageManager: apt }
|
||||||
# - { os: ubuntu2404, packageManager: apt }
|
- { os: ubuntu2404, packageManager: apt }
|
||||||
- { os: almalinux8, packageManager: dnf }
|
- { os: almalinux8, packageManager: dnf }
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@@ -67,6 +67,7 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
skipLlvmSymlink: true
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
|||||||
@@ -1,309 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: origami
|
|
||||||
- name: checkoutRepo
|
|
||||||
type: string
|
|
||||||
default: 'self'
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- cmake
|
|
||||||
- git
|
|
||||||
- ninja-build
|
|
||||||
- wget
|
|
||||||
- python3
|
|
||||||
- python3-dev
|
|
||||||
- python3-pip
|
|
||||||
- python3-venv
|
|
||||||
- libgtest-dev
|
|
||||||
- libboost-filesystem-dev
|
|
||||||
- libboost-program-options-dev
|
|
||||||
- name: pipModules
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- nanobind>=2.0.0
|
|
||||||
- numpy
|
|
||||||
- pytest
|
|
||||||
- pytest-cov
|
|
||||||
- torch
|
|
||||||
- name: rocmDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
|
||||||
- rocminfo
|
|
||||||
- ROCR-Runtime
|
|
||||||
- rocprofiler-register
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
|
||||||
- rocminfo
|
|
||||||
- ROCR-Runtime
|
|
||||||
- rocprofiler-register
|
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
|
||||||
- { os: almalinux8, packageManager: dnf }
|
|
||||||
testJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
|
||||||
# - { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
|
||||||
# - { os: ubuntu2204, packageManager: apt, target: gfx1151 }
|
|
||||||
# - { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
|
||||||
- name: downstreamComponentMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- hipBLASLt:
|
|
||||||
name: hipBLASLt
|
|
||||||
sparseCheckoutDir: projects/hipblaslt
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- origami_build
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
|
||||||
- job: origami_build_${{ job.os }}
|
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.os }}
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
- name: ROCM_PATH
|
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
|
||||||
pool: ${{ 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/dependencies-vendor.yml
|
|
||||||
parameters:
|
|
||||||
dependencyList:
|
|
||||||
- gtest
|
|
||||||
- ${{ if ne(job.os, 'almalinux8') }}:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
|
||||||
parameters:
|
|
||||||
dependencyList:
|
|
||||||
- catch2
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DORIGAMI_BUILD_SHARED_LIBS=ON
|
|
||||||
-DORIGAMI_ENABLE_PYTHON=ON
|
|
||||||
-DORIGAMI_BUILD_TESTING=ON
|
|
||||||
-DORIGAMI_ENABLE_FETCH=ON
|
|
||||||
-GNinja
|
|
||||||
- ${{ if ne(job.os, 'almalinux8') }}:
|
|
||||||
- task: PublishPipelineArtifact@1
|
|
||||||
displayName: 'Publish Build Directory Artifact'
|
|
||||||
inputs:
|
|
||||||
targetPath: '$(Agent.BuildDirectory)/s/build'
|
|
||||||
artifact: '${{ parameters.componentName }}_${{ job.os }}_build_dir'
|
|
||||||
publishLocation: 'pipeline'
|
|
||||||
- task: PublishPipelineArtifact@1
|
|
||||||
displayName: 'Publish Python Source Artifact'
|
|
||||||
inputs:
|
|
||||||
targetPath: '$(Agent.BuildDirectory)/s/python'
|
|
||||||
artifact: '${{ parameters.componentName }}_${{ job.os }}_python_src'
|
|
||||||
publishLocation: 'pipeline'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
|
||||||
- job: origami_test_${{ job.os }}_${{ job.target }}
|
|
||||||
timeoutInMinutes: 120
|
|
||||||
dependsOn: origami_build_${{ job.os }}
|
|
||||||
condition:
|
|
||||||
and(succeeded(),
|
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
|
||||||
)
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
pool: ${{ job.target }}_test_pool
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
|
||||||
parameters:
|
|
||||||
dependencyList:
|
|
||||||
- gtest
|
|
||||||
- ${{ if ne(job.os, 'almalinux8') }}:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
|
||||||
parameters:
|
|
||||||
dependencyList:
|
|
||||||
- catch2
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- task: CMake@1
|
|
||||||
displayName: 'Origami Test CMake Configuration'
|
|
||||||
inputs:
|
|
||||||
cmakeArgs: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DORIGAMI_BUILD_SHARED_LIBS=ON
|
|
||||||
-DORIGAMI_ENABLE_PYTHON=ON
|
|
||||||
-DORIGAMI_BUILD_TESTING=ON
|
|
||||||
-GNinja
|
|
||||||
$(Agent.BuildDirectory)/s
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'Build Origami Tests and Python Bindings'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
workingDirectory: build
|
|
||||||
script: |
|
|
||||||
cmake --build . --target origami-tests _pyorigami -- -j$(nproc)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
# Run tests using CTest (discovers and runs both C++ and Python tests)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
testDir: 'build'
|
|
||||||
testParameters: '--output-on-failure --force-new-ctest-process --output-junit test_output.xml'
|
|
||||||
# Test pip install workflow
|
|
||||||
# - task: Bash@3
|
|
||||||
# displayName: 'Test Pip Install'
|
|
||||||
# inputs:
|
|
||||||
# targetType: inline
|
|
||||||
# script: |
|
|
||||||
# set -e
|
|
||||||
|
|
||||||
# echo "==================================================================="
|
|
||||||
# echo "Testing pip install workflow (pip install -e .)"
|
|
||||||
# echo "==================================================================="
|
|
||||||
|
|
||||||
# # Set environment variables for pip install CMake build
|
|
||||||
# export ROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
# export CMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm:$(Agent.BuildDirectory)/vendor
|
|
||||||
# export CMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
|
|
||||||
# echo "ROCM_PATH: $ROCM_PATH"
|
|
||||||
# echo "CMAKE_PREFIX_PATH: $CMAKE_PREFIX_PATH"
|
|
||||||
# echo "CMAKE_CXX_COMPILER: $CMAKE_CXX_COMPILER"
|
|
||||||
# echo ""
|
|
||||||
|
|
||||||
# # Install from source directory
|
|
||||||
# cd "$(Agent.BuildDirectory)/s/python"
|
|
||||||
# pip install -e .
|
|
||||||
|
|
||||||
# # Verify import works
|
|
||||||
# echo ""
|
|
||||||
# echo "Verifying origami can be imported..."
|
|
||||||
# python3 -c "import origami; print('✓ Successfully imported origami')"
|
|
||||||
|
|
||||||
# # Run pytest on installed package
|
|
||||||
# echo ""
|
|
||||||
# echo "Running pytest tests..."
|
|
||||||
# python3 -m pytest tests/ -v -m "not slow" --tb=short
|
|
||||||
|
|
||||||
# echo ""
|
|
||||||
# echo "==================================================================="
|
|
||||||
# echo "Pip install test completed successfully"
|
|
||||||
# echo "==================================================================="
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
|
||||||
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
|
||||||
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
|
||||||
buildDependsOn: ${{ component.buildDependsOn }}
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
|
||||||
triggerDownstreamJobs: true
|
|
||||||
unifiedBuild: ${{ parameters.unifiedBuild }}
|
|
||||||
@@ -1,35 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rccl
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
- name: systemsRepo
|
|
||||||
type: string
|
|
||||||
default: systems_repo
|
|
||||||
- name: systemsSparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: 'projects/rocprofiler-sdk'
|
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -82,52 +57,37 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
buildJobs:
|
buildJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- gfx942:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
testJobs:
|
testJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- gfx942:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
target: gfx942
|
||||||
- name: downstreamComponentMatrix
|
- gfx90a:
|
||||||
type: object
|
target: gfx90a
|
||||||
default:
|
|
||||||
- rocprofiler-sdk:
|
|
||||||
name: rocprofiler-sdk
|
|
||||||
sparseCheckoutDir: ''
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- rccl_build
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
- job: rccl_build_${{ job.target }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
timeoutInMinutes: 90
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
|
||||||
timeoutInMinutes: 120
|
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
- name: HIP_ROCCLR_HOME
|
- name: HIP_ROCCLR_HOME
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
pool: ${{ variables.HIGH_BUILD_POOL }}
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
|
||||||
container:
|
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
|
||||||
endpoint: ContainerService3
|
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
submoduleBehaviour: recursive
|
submoduleBehaviour: recursive
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -137,14 +97,10 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
os: ${{ job.os }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
@@ -156,87 +112,58 @@ jobs:
|
|||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- ${{ if eq(job.os, 'ubuntu2204') }}:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: ${{ job.target }}
|
extraEnvVars:
|
||||||
extraEnvVars:
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
installLatestCMake: true
|
||||||
installLatestCMake: true
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: rccl_test_${{ job.target }}
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
timeoutInMinutes: 120
|
||||||
timeoutInMinutes: 120
|
dependsOn: rccl_build_${{ job.target }}
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
condition:
|
||||||
condition:
|
and(succeeded(),
|
||||||
and(succeeded(),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
)
|
||||||
)
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool: ${{ job.target }}_test_pool
|
||||||
pool: ${{ job.target }}_test_pool
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
parameters:
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
componentName: rccl
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
testExecutable: './rccl-UnitTests'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
os: ${{ job.os }}
|
environment: test
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
gpuTarget: ${{ job.target }}
|
||||||
testExecutable: './rccl-UnitTests'
|
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
|
||||||
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
|
||||||
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.systemsRepo }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.systemsSparseCheckoutDir }}
|
|
||||||
triggerDownstreamJobs: true
|
|
||||||
unifiedBuild: ${{ parameters.unifiedBuild }}
|
|
||||||
${{ if parameters.unifiedBuild }}:
|
|
||||||
buildDependsOn: ${{ component.unifiedBuild.buildDependsOn }}
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ component.unifiedBuild.downstreamAggregateNames }}
|
|
||||||
${{ else }}:
|
|
||||||
buildDependsOn: ${{ component.buildDependsOn }}
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rdc
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -52,7 +33,6 @@ parameters:
|
|||||||
- clr
|
- clr
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- hipBLASLt
|
- hipBLASLt
|
||||||
- hipRAND
|
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
@@ -63,7 +43,6 @@ parameters:
|
|||||||
- rocprofiler
|
- rocprofiler
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- rocprofiler-sdk
|
- rocprofiler-sdk
|
||||||
- rocRAND
|
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
@@ -95,11 +74,7 @@ parameters:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.target }}
|
- job: rdc_build_${{ job.target }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.target }}
|
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -110,22 +85,16 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- 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/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
# Build grpc
|
# Build grpc
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'git clone grpc'
|
displayName: 'git clone grpc'
|
||||||
@@ -135,7 +104,6 @@ jobs:
|
|||||||
workingDirectory: $(Build.SourcesDirectory)
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
cmakeBuildDir: $(Build.SourcesDirectory)/grpc/build
|
cmakeBuildDir: $(Build.SourcesDirectory)/grpc/build
|
||||||
cmakeSourceDir: $(Build.SourcesDirectory)/grpc
|
cmakeSourceDir: $(Build.SourcesDirectory)/grpc
|
||||||
installDir: $(Build.SourcesDirectory)/bin
|
installDir: $(Build.SourcesDirectory)/bin
|
||||||
@@ -149,7 +117,6 @@ jobs:
|
|||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DGRPC_ROOT="$(Build.SourcesDirectory)/bin"
|
-DGRPC_ROOT="$(Build.SourcesDirectory)/bin"
|
||||||
@@ -159,12 +126,9 @@ jobs:
|
|||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
@@ -172,64 +136,60 @@ jobs:
|
|||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: rdc_test_${{ job.target }}
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.target }}
|
dependsOn: rdc_build_${{ job.target }}
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.target }}
|
condition:
|
||||||
condition:
|
and(succeeded(),
|
||||||
and(succeeded(),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
)
|
||||||
)
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
- name: ROCM_PATH
|
||||||
- name: ROCM_PATH
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
- name: ROCM_DIR
|
||||||
- name: ROCM_DIR
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
pool: ${{ job.target }}_test_pool
|
||||||
pool: ${{ job.target }}_test_pool
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- checkout: none
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
gpuTarget: ${{ job.target }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
- task: Bash@3
|
||||||
gpuTarget: ${{ job.target }}
|
displayName: Setup test environment
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
inputs:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
targetType: inline
|
||||||
- task: Bash@3
|
script: |
|
||||||
displayName: Setup test environment
|
sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rdcd /usr/sbin/rdcd
|
||||||
inputs:
|
echo $(Agent.BuildDirectory)/rocm/lib/rdc/grpc/lib | sudo tee /etc/ld.so.conf.d/grpc.conf
|
||||||
targetType: inline
|
sudo ldconfig -v
|
||||||
script: |
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rdcd /usr/sbin/rdcd
|
- task: Bash@3
|
||||||
echo $(Agent.BuildDirectory)/rocm/lib/rdc/grpc/lib | sudo tee /etc/ld.so.conf.d/grpc.conf
|
displayName: Test rdc
|
||||||
sudo ldconfig -v
|
inputs:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
targetType: inline
|
||||||
- task: Bash@3
|
script: >-
|
||||||
displayName: Test rdc
|
$(Agent.BuildDirectory)/rocm/share/rdc/rdctst_tests/rdctst
|
||||||
inputs:
|
--batch_mode
|
||||||
targetType: inline
|
--start_rdcd
|
||||||
script: >-
|
--unauth_comm
|
||||||
$(Agent.BuildDirectory)/rocm/share/rdc/rdctst_tests/rdctst
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
--batch_mode
|
parameters:
|
||||||
--start_rdcd
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
--unauth_comm
|
environment: test
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
extraPaths: /home/user/workspace/rocm/bin
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
extraPaths: /home/user/workspace/rocm/bin
|
|
||||||
|
|||||||
@@ -86,7 +86,8 @@ jobs:
|
|||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
pool:
|
||||||
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -73,7 +73,8 @@ jobs:
|
|||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
- name: HIP_ROCCLR_HOME
|
- name: HIP_ROCCLR_HOME
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
pool:
|
||||||
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -33,15 +33,17 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- git
|
|
||||||
- gfortran
|
|
||||||
- libdrm-dev
|
|
||||||
- libmsgpack-dev
|
|
||||||
- libopenblas-dev
|
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- python3-pip
|
|
||||||
- python3-venv
|
- python3-venv
|
||||||
|
- git
|
||||||
|
- libmsgpack-dev
|
||||||
|
- gfortran
|
||||||
|
- libopenblas-dev
|
||||||
|
- googletest
|
||||||
|
- libgtest-dev
|
||||||
- wget
|
- wget
|
||||||
|
- python3-pip
|
||||||
|
- libdrm-dev
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -50,17 +52,18 @@ parameters:
|
|||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- aomp
|
|
||||||
- clr
|
|
||||||
- hipBLAS-common
|
|
||||||
- hipBLASLt
|
|
||||||
- llvm-project
|
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
- rocm-core
|
- llvm-project
|
||||||
- rocm_smi_lib
|
- ROCR-Runtime
|
||||||
|
- clr
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- rocm_smi_lib
|
||||||
|
- rocm-core
|
||||||
|
- aomp
|
||||||
|
- aomp-extras
|
||||||
|
- hipBLAS-common
|
||||||
|
- hipBLASLt
|
||||||
- roctracer
|
- roctracer
|
||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
@@ -70,7 +73,6 @@ parameters:
|
|||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- hipBLASLt
|
- hipBLASLt
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocm-cmake
|
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- rocm_smi_lib
|
- rocm_smi_lib
|
||||||
@@ -84,45 +86,32 @@ parameters:
|
|||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
# - { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
||||||
#- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx942 }
|
# - { os: almalinux8, packageManager: dnf, target: gfx942 }
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx90a }
|
# - { os: almalinux8, packageManager: dnf, target: gfx90a }
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
# - { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
# - { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
||||||
#- { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
# - { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
||||||
testJobs:
|
testJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
- name: downstreamComponentMatrix
|
# - name: downstreamComponentMatrix
|
||||||
type: object
|
# type: object
|
||||||
default:
|
# default:
|
||||||
- rocSPARSE:
|
# # rocSOLVER depends on both rocBLAS and rocPRIM
|
||||||
name: rocSPARSE
|
# # for a unified build, rocBLAS will be the one to call rocSOLVER
|
||||||
sparseCheckoutDir: projects/rocsparse
|
# - rocSOLVER:
|
||||||
skipUnifiedBuild: 'false'
|
# name: rocSOLVER
|
||||||
buildDependsOn:
|
# sparseCheckoutDir: projects/rocsolver
|
||||||
- rocBLAS_build
|
# skipUnifiedBuild: 'false'
|
||||||
# rocSOLVER depends on both rocBLAS and rocPRIM
|
# buildDependsOn:
|
||||||
# for a unified build, rocBLAS will be the one to call rocSOLVER
|
# - rocBLAS_build
|
||||||
# - rocSOLVER:
|
# unifiedBuild:
|
||||||
# name: rocSOLVER
|
# downstreamAggregateNames: rocBLAS+rocPRIM
|
||||||
# sparseCheckoutDir: projects/rocsolver
|
# buildDependsOn:
|
||||||
# skipUnifiedBuild: 'false'
|
# - rocBLAS_build
|
||||||
# buildDependsOn:
|
# - rocPRIM_build
|
||||||
# - rocBLAS_build
|
|
||||||
# unifiedBuild:
|
|
||||||
# downstreamAggregateNames: rocBLAS+rocPRIM
|
|
||||||
# buildDependsOn:
|
|
||||||
# - rocBLAS_build
|
|
||||||
# - rocPRIM_build
|
|
||||||
# temporary rocblas->hipblas downstream path while the SOLVERs are disabled
|
|
||||||
- hipBLAS:
|
|
||||||
name: hipBLAS
|
|
||||||
sparseCheckoutDir: projects/hipblas
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- rocBLAS_build
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
@@ -155,19 +144,13 @@ jobs:
|
|||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
packageManager: ${{ job.packageManager }}
|
packageManager: ${{ job.packageManager }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aocl.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aocl.yml
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
|
||||||
parameters:
|
|
||||||
dependencyList:
|
|
||||||
- gtest
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
@@ -180,15 +163,22 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
cmakeSourceDir: $(Agent.BuildDirectory)/sparse/projects/rocblas
|
|
||||||
cmakeBuildDir: $(Agent.BuildDirectory)/sparse/projects/rocblas/build
|
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
-DCMAKE_TOOLCHAIN_FILE=toolchain-linux.cmake
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang++
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang++
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
|
-DTensile_CODE_OBJECT_VERSION=default
|
||||||
|
-DTensile_LOGIC=asm_full
|
||||||
|
-DTensile_SEPARATE_ARCHITECTURES=ON
|
||||||
|
-DTensile_LAZY_LIBRARY_LOADING=ON
|
||||||
|
-DTensile_LIBRARY_FORMAT=msgpack
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
|
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
||||||
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -218,7 +208,6 @@ jobs:
|
|||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
||||||
timeoutInMinutes: 120
|
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
||||||
condition:
|
condition:
|
||||||
and(succeeded(),
|
and(succeeded(),
|
||||||
@@ -233,7 +222,6 @@ jobs:
|
|||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
- checkout: none
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
@@ -270,18 +258,18 @@ jobs:
|
|||||||
environment: test
|
environment: test
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
- ${{ if parameters.triggerDownstreamJobs }}:
|
# - ${{ if parameters.triggerDownstreamJobs }}:
|
||||||
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
# - ${{ each component in parameters.downstreamComponentMatrix }}:
|
||||||
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
# - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
||||||
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
# - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
||||||
parameters:
|
# parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
# checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
# sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
||||||
triggerDownstreamJobs: true
|
# triggerDownstreamJobs: true
|
||||||
unifiedBuild: ${{ parameters.unifiedBuild }}
|
# unifiedBuild: ${{ parameters.unifiedBuild }}
|
||||||
${{ if parameters.unifiedBuild }}:
|
# ${{ if parameters.unifiedBuild }}:
|
||||||
buildDependsOn: ${{ component.unifiedBuild.buildDependsOn }}
|
# buildDependsOn: ${{ component.unifiedBuild.buildDependsOn }}
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ component.unifiedBuild.downstreamAggregateNames }}
|
# downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ component.unifiedBuild.downstreamAggregateNames }}
|
||||||
${{ else }}:
|
# ${{ else }}:
|
||||||
buildDependsOn: ${{ component.buildDependsOn }}
|
# buildDependsOn: ${{ component.buildDependsOn }}
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
# downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
||||||
|
|||||||
@@ -8,25 +8,6 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
- name: rocPyDecodeRepo
|
|
||||||
type: string
|
|
||||||
default: rocpydecode_repo
|
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -75,23 +56,10 @@ parameters:
|
|||||||
testJobs:
|
testJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
- name: downstreamComponentMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- rocPyDecode:
|
|
||||||
name: rocPyDecode
|
|
||||||
sparseCheckoutDir: ''
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- rocDecode_build
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}
|
- job: ${{ parameters.componentName }}_build_${{ job.os }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.os }}
|
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -115,15 +83,12 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
@@ -204,15 +169,3 @@ jobs:
|
|||||||
registerROCmPackages: true
|
registerROCmPackages: true
|
||||||
environment: test
|
environment: test
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
- ${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
|
||||||
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
|
||||||
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.rocPyDecodeRepo }}
|
|
||||||
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
|
||||||
buildDependsOn: ${{ component.buildDependsOn }}
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
|
||||||
triggerDownstreamJobs: true
|
|
||||||
unifiedBuild: ${{ parameters.unifiedBuild }}
|
|
||||||
|
|||||||
@@ -78,19 +78,19 @@ parameters:
|
|||||||
target: gfx942
|
target: gfx942
|
||||||
- gfx90a:
|
- gfx90a:
|
||||||
target: gfx90a
|
target: gfx90a
|
||||||
- name: downstreamComponentMatrix
|
# - name: downstreamComponentMatrix
|
||||||
type: object
|
# type: object
|
||||||
default:
|
# default:
|
||||||
- hipFFT:
|
# - hipFFT:
|
||||||
name: hipFFT
|
# name: hipFFT
|
||||||
sparseCheckoutDir: projects/hipfft
|
# sparseCheckoutDir: projects/hipfft
|
||||||
skipUnifiedBuild: 'false'
|
# skipUnifiedBuild: 'false'
|
||||||
buildDependsOn:
|
# buildDependsOn:
|
||||||
- rocFFT_build
|
# - rocFFT_build
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
- job: ${{ parameters.componentName }}_build_${{ job.target }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
${{ if parameters.buildDependsOn }}:
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
@@ -151,12 +151,12 @@ jobs:
|
|||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
- job: ${{ parameters.componentName }}_test_${{ job.target }}
|
||||||
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
dependsOn: ${{ parameters.componentName }}_build_${{ job.target }}
|
||||||
condition:
|
condition:
|
||||||
and(succeeded(),
|
and(succeeded(),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
)
|
)
|
||||||
variables:
|
variables:
|
||||||
@@ -166,7 +166,6 @@ jobs:
|
|||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
- checkout: none
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
@@ -196,14 +195,14 @@ jobs:
|
|||||||
environment: test
|
environment: test
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
- ${{ if parameters.triggerDownstreamJobs }}:
|
# - ${{ if parameters.triggerDownstreamJobs }}:
|
||||||
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
# - ${{ each component in parameters.downstreamComponentMatrix }}:
|
||||||
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
# - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
||||||
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
# - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
||||||
parameters:
|
# parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
# checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
# sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
||||||
buildDependsOn: ${{ component.buildDependsOn }}
|
# buildDependsOn: ${{ component.buildDependsOn }}
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
# downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
||||||
triggerDownstreamJobs: true
|
# triggerDownstreamJobs: true
|
||||||
unifiedBuild: ${{ parameters.unifiedBuild }}
|
# unifiedBuild: ${{ parameters.unifiedBuild }}
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ parameters:
|
|||||||
- numpy
|
- numpy
|
||||||
- tomli
|
- tomli
|
||||||
- scipy
|
- scipy
|
||||||
- pybind11
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -91,12 +91,12 @@ parameters:
|
|||||||
- rocPRIM_build
|
- rocPRIM_build
|
||||||
# rocSOLVER depends on both rocBLAS and rocPRIM
|
# rocSOLVER depends on both rocBLAS and rocPRIM
|
||||||
# for a unified build, rocBLAS will be the one to call rocSOLVER
|
# for a unified build, rocBLAS will be the one to call rocSOLVER
|
||||||
# - rocSOLVER:
|
# - rocSOLVER:
|
||||||
# name: rocSOLVER
|
# name: rocSOLVER
|
||||||
# sparseCheckoutDir: projects/rocsolver
|
# sparseCheckoutDir: projects/rocsolver
|
||||||
# skipUnifiedBuild: 'true'
|
# skipUnifiedBuild: 'true'
|
||||||
# buildDependsOn:
|
# buildDependsOn:
|
||||||
# - rocPRIM_build
|
# - rocPRIM_build
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
|||||||
@@ -5,22 +5,6 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -52,7 +36,6 @@ parameters:
|
|||||||
- clr
|
- clr
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocDecode
|
- rocDecode
|
||||||
- rocJPEG
|
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
- rocm-core
|
- rocm-core
|
||||||
- rocminfo
|
- rocminfo
|
||||||
@@ -63,19 +46,19 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
buildJobs:
|
buildJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- gfx942:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
testJobs:
|
testJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- gfx942:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: rocPyDecode_build_${{ job.target }}
|
- job: rocPyDecode_build_${{ job.target }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.os }}
|
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -90,20 +73,16 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'Save Python Package Paths'
|
displayName: 'Save Python Package Paths'
|
||||||
inputs:
|
inputs:
|
||||||
@@ -210,13 +189,12 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- task: DownloadPipelineArtifact@2
|
- task: DownloadPipelineArtifact@2
|
||||||
displayName: 'Download Pipeline Wheel Files'
|
displayName: 'Download Pipeline Wheel Files'
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
inputs:
|
||||||
itemPattern: '**/*.whl'
|
itemPattern: '**/*.whl'
|
||||||
targetPath: $(Agent.BuildDirectory)
|
targetPath: $(Agent.BuildDirectory)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -243,17 +221,25 @@ jobs:
|
|||||||
- task: CMake@1
|
- task: CMake@1
|
||||||
displayName: 'rocPyDecode Test CMake Flags'
|
displayName: 'rocPyDecode Test CMake Flags'
|
||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Agent.BuildDirectory)/rocm/share/rocpydecode/tests
|
|
||||||
cmakeArgs: >-
|
cmakeArgs: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(PYTHON_USER_SITE)/pybind11;$(PYTHON_DIST_PACKAGES)/pybind11;$(PYBIND11_PATH)
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(PYTHON_USER_SITE)/pybind11;$(PYTHON_DIST_PACKAGES)/pybind11;$(PYBIND11_PATH)
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
.
|
..
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: rocPyDecode
|
componentName: rocPyDecode
|
||||||
testDir: $(Agent.BuildDirectory)/rocm/share/rocpydecode/tests
|
testDir: $(Build.SourcesDirectory)/build
|
||||||
|
# sudo required for pip install but screws up permissions for next pipeline run
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Clean up test environment
|
||||||
|
condition: always()
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
pip uninstall -y rocPyDecode
|
||||||
|
pip uninstall -y hip-python
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
|||||||
@@ -79,12 +79,6 @@ parameters:
|
|||||||
skipUnifiedBuild: 'false'
|
skipUnifiedBuild: 'false'
|
||||||
buildDependsOn:
|
buildDependsOn:
|
||||||
- rocRAND_build
|
- rocRAND_build
|
||||||
- MIOpen:
|
|
||||||
name: MIOpen
|
|
||||||
sparseCheckoutDir: projects/miopen
|
|
||||||
skipUnifiedBuild: 'true'
|
|
||||||
buildDependsOn:
|
|
||||||
- rocRAND_build
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
|||||||
@@ -33,11 +33,13 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- gfortran
|
|
||||||
- git
|
|
||||||
- libfmt-dev
|
|
||||||
- libsuitesparse-dev
|
|
||||||
- ninja-build
|
- ninja-build
|
||||||
|
- libsuitesparse-dev
|
||||||
|
- gfortran
|
||||||
|
- libfmt-dev
|
||||||
|
- git
|
||||||
|
- googletest
|
||||||
|
- libgtest-dev
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
@@ -73,38 +75,16 @@ parameters:
|
|||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
# - { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
||||||
#- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx942 }
|
# - { os: almalinux8, packageManager: dnf, target: gfx942 }
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx90a }
|
# - { os: almalinux8, packageManager: dnf, target: gfx90a }
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
# - { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
# - { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
||||||
#- { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
# - { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
||||||
testJobs:
|
testJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
- name: downstreamComponentMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- hipBLAS:
|
|
||||||
name: hipBLAS
|
|
||||||
sparseCheckoutDir: projects/hipblas
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- rocSOLVER_build
|
|
||||||
# hipSOLVER depends on both rocSOLVER and rocSPARSE
|
|
||||||
# for a unified build, rocSOLVER will be the one to call hipSOLVER
|
|
||||||
# - hipSOLVER:
|
|
||||||
# name: hipSOLVER
|
|
||||||
# sparseCheckoutDir: projects/hipsolver
|
|
||||||
# skipUnifiedBuild: 'false'
|
|
||||||
# buildDependsOn:
|
|
||||||
# - rocSOLVER_build
|
|
||||||
# unifiedBuild:
|
|
||||||
# downstreamAggregateNames: rocSOLVER+rocSPARSE
|
|
||||||
# buildDependsOn:
|
|
||||||
# - rocSOLVER_build
|
|
||||||
# - rocSPARSE_build
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
@@ -139,10 +119,6 @@ jobs:
|
|||||||
targetType: inline
|
targetType: inline
|
||||||
script: git clone --depth 1 --branch v3.9.1 https://github.com/Reference-LAPACK/lapack
|
script: git clone --depth 1 --branch v3.9.1 https://github.com/Reference-LAPACK/lapack
|
||||||
workingDirectory: '$(Build.SourcesDirectory)'
|
workingDirectory: '$(Build.SourcesDirectory)'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
|
||||||
parameters:
|
|
||||||
dependencyList:
|
|
||||||
- gtest
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
@@ -158,7 +134,6 @@ jobs:
|
|||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
|
||||||
-DCMAKE_Fortran_FLAGS=-fno-optimize-sibling-calls
|
-DCMAKE_Fortran_FLAGS=-fno-optimize-sibling-calls
|
||||||
-DBUILD_TESTING=OFF
|
-DBUILD_TESTING=OFF
|
||||||
-DCBLAS=ON
|
-DCBLAS=ON
|
||||||
@@ -171,7 +146,7 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Pipeline.Workspace)/deps-install;$(Agent.BuildDirectory)/vendor
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Pipeline.Workspace)/deps-install
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
@@ -216,7 +191,6 @@ jobs:
|
|||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
- checkout: none
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
@@ -250,19 +224,3 @@ jobs:
|
|||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
environment: test
|
environment: test
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
- ${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
|
||||||
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
|
||||||
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
|
||||||
triggerDownstreamJobs: true
|
|
||||||
unifiedBuild: ${{ parameters.unifiedBuild }}
|
|
||||||
${{ if parameters.unifiedBuild }}:
|
|
||||||
buildDependsOn: ${{ component.unifiedBuild.buildDependsOn }}
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ component.unifiedBuild.downstreamAggregateNames }}
|
|
||||||
${{ else }}:
|
|
||||||
buildDependsOn: ${{ component.buildDependsOn }}
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rocSPARSE
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -32,25 +13,27 @@ parameters:
|
|||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
|
||||||
- gfortran
|
|
||||||
- git
|
|
||||||
- libboost-program-options-dev
|
|
||||||
- libdrm-dev
|
|
||||||
- libfftw3-dev
|
|
||||||
- ninja-build
|
|
||||||
- python3-pip
|
- python3-pip
|
||||||
|
- cmake
|
||||||
|
- ninja-build
|
||||||
|
- libboost-program-options-dev
|
||||||
|
- googletest
|
||||||
|
- libfftw3-dev
|
||||||
|
- git
|
||||||
|
- gfortran
|
||||||
|
- libgtest-dev
|
||||||
|
- libdrm-dev
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocBLAS
|
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
|
- llvm-project
|
||||||
|
- ROCR-Runtime
|
||||||
|
- clr
|
||||||
|
- rocBLAS
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocPRIM
|
- rocPRIM
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
|
||||||
- roctracer
|
- roctracer
|
||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
@@ -69,39 +52,19 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
buildJobs:
|
buildJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- gfx942:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
target: gfx942
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
- gfx90a:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
target: gfx90a
|
||||||
#- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
|
||||||
testJobs:
|
testJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- gfx942:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
target: gfx942
|
||||||
- name: downstreamComponentMatrix
|
- gfx90a:
|
||||||
type: object
|
target: gfx90a
|
||||||
default:
|
|
||||||
- hipSPARSE:
|
|
||||||
name: hipSPARSE
|
|
||||||
sparseCheckoutDir: projects/hipsparse
|
|
||||||
skipUnifiedBuild: 'false'
|
|
||||||
buildDependsOn:
|
|
||||||
- rocSPARSE_build
|
|
||||||
# hipSOLVER depends on both rocSOLVER and rocSPARSE
|
|
||||||
# for a unified build, rocSOLVER will be the one to call hipSOLVER
|
|
||||||
# - hipSOLVER:
|
|
||||||
# name: hipSOLVER
|
|
||||||
# sparseCheckoutDir: projects/hipsolver
|
|
||||||
# skipUnifiedBuild: 'true'
|
|
||||||
# buildDependsOn:
|
|
||||||
# - rocSPARSE_build
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
- job: rocSPARSE_build_${{ job.target }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -114,32 +77,22 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
|
||||||
parameters:
|
|
||||||
dependencyList:
|
|
||||||
- gtest
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
os: ${{ job.os }}
|
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang++
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
@@ -150,94 +103,68 @@ jobs:
|
|||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
artifactName: rocSPARSE
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
artifactName: rocSPARSE
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
os: ${{ job.os }}
|
|
||||||
publish: false
|
publish: false
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
||||||
parameters:
|
parameters:
|
||||||
sourceDir: $(Agent.BuildDirectory)/s/build/clients
|
sourceDir: $(Build.SourcesDirectory)/build/clients
|
||||||
contentsString: matrices/**
|
contentsString: matrices/**
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
artifactName: testMatrices
|
artifactName: testMatrices
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- ${{ if eq(job.os, 'ubuntu2204') }}:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: ${{ job.target }}
|
extraEnvVars:
|
||||||
extraEnvVars:
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: rocSPARSE_test_${{ job.target }}
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
timeoutInMinutes: 90
|
||||||
timeoutInMinutes: 120
|
dependsOn: rocSPARSE_build_${{ job.target }}
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
condition:
|
||||||
condition:
|
and(succeeded(),
|
||||||
and(succeeded(),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
)
|
||||||
)
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool: ${{ job.target }}_test_pool
|
||||||
pool: ${{ job.target }}_test_pool
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- checkout: none
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
packageManager: ${{ job.packageManager }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
os: ${{ job.os }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
parameters:
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
componentName: rocSPARSE
|
||||||
gpuTarget: ${{ job.target }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
os: ${{ job.os }}
|
testExecutable: './rocsparse-test'
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
testParameters: '--gtest_filter="*quick*" --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
environment: test
|
||||||
componentName: ${{ parameters.componentName }}
|
gpuTarget: ${{ job.target }}
|
||||||
os: ${{ job.os }}
|
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
|
||||||
testExecutable: './rocsparse-test'
|
|
||||||
testParameters: '--gtest_filter="*quick*" --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|
||||||
- ${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
|
||||||
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
|
||||||
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
|
||||||
buildDependsOn: ${{ component.buildDependsOn }}
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
|
||||||
triggerDownstreamJobs: true
|
|
||||||
unifiedBuild: ${{ parameters.unifiedBuild }}
|
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rocWMMA
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -85,15 +66,11 @@ parameters:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.target }}
|
- job: rocWMMA_build_${{ job.target }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.target }}
|
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
pool: ${{ variables.HIGH_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
@@ -104,7 +81,6 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
@@ -126,12 +102,9 @@ jobs:
|
|||||||
# gfx1030 not supported in documentation
|
# gfx1030 not supported in documentation
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
@@ -139,45 +112,43 @@ jobs:
|
|||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: rocWMMA_test_${{ job.target }}
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.target }}
|
timeoutInMinutes: 270
|
||||||
timeoutInMinutes: 350
|
dependsOn: rocWMMA_build_${{ job.target }}
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.target }}
|
condition:
|
||||||
condition:
|
and(succeeded(),
|
||||||
and(succeeded(),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
)
|
||||||
)
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool: ${{ job.target }}_test_pool
|
||||||
pool: ${{ job.target }}_test_pool
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
parameters:
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
gpuTarget: ${{ job.target }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
componentName: rocWMMA
|
||||||
parameters:
|
testDir: '$(Agent.BuildDirectory)/rocm/bin/rocwmma'
|
||||||
componentName: ${{ parameters.componentName }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin/rocwmma'
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
environment: test
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
gpuTarget: ${{ job.target }}
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: rocm-cmake
|
componentName: rocm-cmake
|
||||||
testParameters: '-E "pass-version-parent" --extra-verbose --output-on-failure --force-new-ctest-process --output-junit test_output.xml'
|
testParameters: '-E "pass-version-parent" --output-on-failure --force-new-ctest-process --output-junit test_output.xml'
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rocm-core
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -46,10 +27,6 @@ parameters:
|
|||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: rocm_core_${{ job.os }}
|
- job: rocm_core_${{ job.os }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.os }}
|
|
||||||
pool:
|
pool:
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
${{ if eq(job.os, 'ubuntu2404') }}:
|
||||||
vmImage: 'ubuntu-24.04'
|
vmImage: 'ubuntu-24.04'
|
||||||
@@ -73,10 +50,8 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
useAmdclang: false
|
useAmdclang: false
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
@@ -90,12 +65,9 @@ jobs:
|
|||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
|||||||
@@ -14,42 +14,16 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- libdw-dev
|
|
||||||
- libglfw3-dev
|
- libglfw3-dev
|
||||||
- libmsgpack-dev
|
- libmsgpack-dev
|
||||||
- libopencv-dev
|
|
||||||
- libtbb-dev
|
- libtbb-dev
|
||||||
- libtiff-dev
|
|
||||||
- libva-amdgpu-dev
|
|
||||||
- libva2-amdgpu
|
|
||||||
- mesa-amdgpu-va-drivers
|
|
||||||
- libavcodec-dev
|
|
||||||
- libavformat-dev
|
|
||||||
- libavutil-dev
|
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- protobuf-compiler
|
|
||||||
- libprotoc-dev
|
|
||||||
- libopencv-dev
|
|
||||||
- name: pipModules
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- future==1.0.0
|
|
||||||
- pytz==2022.1
|
|
||||||
- numpy==1.23
|
|
||||||
- google==3.0.0
|
|
||||||
- protobuf==3.12.4
|
|
||||||
- onnx==1.12.0
|
|
||||||
- nnef==1.0.7
|
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- AMDMIGraphX
|
- AMDMIGraphX
|
||||||
- aomp
|
|
||||||
- aomp-extras
|
|
||||||
- clr
|
- clr
|
||||||
- half
|
|
||||||
- composable_kernel
|
|
||||||
- hipBLAS
|
- hipBLAS
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- hipBLASLt
|
- hipBLASLt
|
||||||
@@ -59,37 +33,21 @@ parameters:
|
|||||||
- hipRAND
|
- hipRAND
|
||||||
- hipSOLVER
|
- hipSOLVER
|
||||||
- hipSPARSE
|
- hipSPARSE
|
||||||
- hipTensor
|
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- MIOpen
|
|
||||||
- MIVisionX
|
|
||||||
- rocm_smi_lib
|
|
||||||
- rccl
|
|
||||||
- rocAL
|
|
||||||
- rocALUTION
|
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
- rocDecode
|
|
||||||
- rocFFT
|
- rocFFT
|
||||||
- rocJPEG
|
|
||||||
- rocPRIM
|
- rocPRIM
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- rocprofiler-sdk
|
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocRAND
|
- rocRAND
|
||||||
- rocSOLVER
|
- rocSOLVER
|
||||||
- rocSPARSE
|
- rocSPARSE
|
||||||
- rocThrust
|
- rocThrust
|
||||||
- rocWMMA
|
|
||||||
- rpp
|
|
||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- AMDMIGraphX
|
- AMDMIGraphX
|
||||||
- aomp
|
|
||||||
- aomp-extras
|
|
||||||
- clr
|
- clr
|
||||||
- half
|
|
||||||
- composable_kernel
|
|
||||||
- hipBLAS
|
- hipBLAS
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- hipBLASLt
|
- hipBLASLt
|
||||||
@@ -99,30 +57,18 @@ parameters:
|
|||||||
- hipRAND
|
- hipRAND
|
||||||
- hipSOLVER
|
- hipSOLVER
|
||||||
- hipSPARSE
|
- hipSPARSE
|
||||||
- hipTensor
|
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- MIOpen
|
|
||||||
- MIVisionX
|
|
||||||
- rocm_smi_lib
|
|
||||||
- rccl
|
|
||||||
- rocAL
|
|
||||||
- rocALUTION
|
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
- rocDecode
|
|
||||||
- rocFFT
|
- rocFFT
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocPRIM
|
- rocPRIM
|
||||||
- rocJPEG
|
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- rocprofiler-sdk
|
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocRAND
|
- rocRAND
|
||||||
- rocSOLVER
|
- rocSOLVER
|
||||||
- rocSPARSE
|
- rocSPARSE
|
||||||
- rocThrust
|
- rocThrust
|
||||||
- roctracer
|
- roctracer
|
||||||
- rocWMMA
|
|
||||||
- rpp
|
|
||||||
|
|
||||||
- name: jobMatrix
|
- name: jobMatrix
|
||||||
type: object
|
type: object
|
||||||
@@ -151,11 +97,6 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
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/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -217,10 +158,6 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
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/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -247,10 +184,9 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
componentName: rocm-examples
|
componentName: rocm-examples
|
||||||
testDir: $(Build.SourcesDirectory)/build
|
testDir: $(Build.SourcesDirectory)/build
|
||||||
testParameters: '--output-on-failure --force-new-ctest-process --output-junit test_output.xml'
|
testParameters: '--output-on-failure --force-new-ctest-process --output-junit test_output.xml --exclude-regex "rocfft_callback"'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
environment: test
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -1,193 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rocm_libraries
|
|
||||||
- name: checkoutRepo
|
|
||||||
type: string
|
|
||||||
default: 'self'
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
|
||||||
# and dependencies are pulled from same pipeline
|
|
||||||
- name: aggregatePipeline
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: aptPackages
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- ccache
|
|
||||||
- gfortran
|
|
||||||
- git
|
|
||||||
- libdrm-dev
|
|
||||||
- liblapack-dev
|
|
||||||
- libmsgpack-dev
|
|
||||||
- libnuma-dev
|
|
||||||
- libopenblas-dev
|
|
||||||
- ninja-build
|
|
||||||
- python3-pip
|
|
||||||
- python3-venv
|
|
||||||
- googletest
|
|
||||||
- libgtest-dev
|
|
||||||
- libgmock-dev
|
|
||||||
- libboost-filesystem-dev
|
|
||||||
- name: pipModules
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- msgpack
|
|
||||||
- joblib
|
|
||||||
- "packaging>=22.0"
|
|
||||||
- pytest
|
|
||||||
- pytest-cmake
|
|
||||||
- --upgrade
|
|
||||||
- name: rocmDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- aomp
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocminfo
|
|
||||||
- rocm-cmake
|
|
||||||
- rocm_smi_lib
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
|
||||||
- roctracer
|
|
||||||
- name: rocmTestDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- aomp
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- rocminfo
|
|
||||||
- rocm_smi_lib
|
|
||||||
- rocprofiler-register
|
|
||||||
- ROCR-Runtime
|
|
||||||
- roctracer
|
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { pool: rocm-ci_ultra_build_pool, os: ubuntu2204, packageManager: apt, target: gfx942 }
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
|
||||||
timeoutInMinutes: 300
|
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.os }}
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
- name: DAY_STRING
|
|
||||||
value: $[format('{0:ddMMyyyy}', pipeline.startTime)]
|
|
||||||
pool: ${{ job.pool }}
|
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
|
||||||
container:
|
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
|
||||||
endpoint: ContainerService3
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
|
||||||
parameters:
|
|
||||||
dependencyList:
|
|
||||||
- gtest
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- script: |
|
|
||||||
mkdir -p $(CCACHE_DIR)
|
|
||||||
echo "##vso[task.prependpath]/usr/lib/ccache"
|
|
||||||
displayName: Update path for ccache
|
|
||||||
- task: Cache@2
|
|
||||||
displayName: Ccache caching
|
|
||||||
inputs:
|
|
||||||
key: rocm-libraries | ${{ job.os }} | ${{ job.target }} | $(DAY_STRING) | $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
path: $(CCACHE_DIR)
|
|
||||||
restoreKeys: |
|
|
||||||
rocm-libraries | ${{ job.os }} | ${{ job.target }} | $(DAY_STRING)
|
|
||||||
rocm-libraries | ${{ job.os }} | ${{ job.target }}
|
|
||||||
rocm-libraries | ${{ job.os }}
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Add paths for CMake and Python site-packages binaries
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
USER_BASE=$(python3 -m site --user-base)
|
|
||||||
echo "##vso[task.prependpath]$USER_BASE/bin"
|
|
||||||
echo "##vso[task.setvariable variable=PytestCmakePath]$USER_BASE/share/Pytest/cmake"
|
|
||||||
displayName: Set cmake configure paths
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Add ROCm binaries to PATH
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-D CMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor;$(PytestCmakePath)
|
|
||||||
-D CMAKE_INCLUDE_PATH=$(Agent.BuildDirectory)/rocm/llvm/include
|
|
||||||
-D CMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-D CMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
|
||||||
-D CMAKE_CXX_COMPILER_LAUNCHER=ccache
|
|
||||||
-D CMAKE_C_COMPILER_LAUNCHER=ccache
|
|
||||||
-G Ninja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- ${{ if eq(job.os, 'ubuntu2204') }}:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin
|
|
||||||
installLatestCMake: true
|
|
||||||
extraCopyDirectories:
|
|
||||||
- deps
|
|
||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rocm_smi_lib
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -51,10 +32,6 @@ parameters:
|
|||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: rocm_smi_lib_build_${{ job.os }}
|
- job: rocm_smi_lib_build_${{ job.os }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.os }}
|
|
||||||
pool:
|
pool:
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
${{ if eq(job.os, 'ubuntu2404') }}:
|
||||||
vmImage: 'ubuntu-24.04'
|
vmImage: 'ubuntu-24.04'
|
||||||
@@ -78,10 +55,8 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
useAmdclang: false
|
useAmdclang: false
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
@@ -90,56 +65,51 @@ jobs:
|
|||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
# parameters:
|
# parameters:
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: rocm_smi_lib_test_${{ job.os }}_${{ job.target }}
|
||||||
- job: rocm_smi_lib_test_${{ job.os }}_${{ job.target }}
|
dependsOn: rocm_smi_lib_build_${{ job.os }}
|
||||||
dependsOn: rocm_smi_lib_build_${{ job.os }}
|
condition:
|
||||||
condition:
|
and(succeeded(),
|
||||||
and(succeeded(),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
)
|
||||||
)
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool: ${{ job.target }}_test_pool
|
||||||
pool: ${{ job.target }}_test_pool
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- checkout: none
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
packageManager: ${{ job.packageManager }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
os: ${{ job.os }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
runRocminfo: false
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
runRocminfo: false
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
componentName: rocm_smi_lib
|
||||||
parameters:
|
testDir: '$(Agent.BuildDirectory)'
|
||||||
componentName: ${{ parameters.componentName }}
|
testExecutable: 'sudo ./rocm/share/rocm_smi/rsmitst_tests/rsmitst'
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
testExecutable: 'sudo ./rocm/share/rocm_smi/rsmitst_tests/rsmitst'
|
os: ${{ job.os }}
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
environment: test
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
gpuTarget: ${{ job.target }}
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rocminfo
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -59,11 +40,7 @@ parameters:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}
|
- job: rocminfo_build_${{ job.os }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.os }}
|
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'ubuntu-22.04'
|
vmImage: 'ubuntu-22.04'
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
@@ -85,18 +62,15 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
skipLlvmSymlink: true
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
useAmdclang: false
|
useAmdclang: false
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
@@ -105,71 +79,65 @@ jobs:
|
|||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: rocminfo_test_${{ job.target }}
|
||||||
- job: rocminfo_test_${{ job.target }}
|
dependsOn: rocminfo_build_${{ job.os }}
|
||||||
dependsOn: rocminfo_build_${{ job.os }}
|
condition:
|
||||||
condition:
|
and(succeeded(),
|
||||||
and(succeeded(),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
)
|
||||||
)
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool: ${{ job.target }}_test_pool
|
||||||
pool: ${{ job.target }}_test_pool
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
packageManager: ${{ job.packageManager }}
|
||||||
packageManager: ${{ job.packageManager }}
|
registerROCmPackages: true
|
||||||
registerROCmPackages: true
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
parameters:
|
||||||
parameters:
|
os: ${{ job.os }}
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: ${{ job.target }}
|
os: ${{ job.os }}
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
parameters:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
runRocminfo: false
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
parameters:
|
parameters:
|
||||||
runRocminfo: false
|
componentName: rocminfo
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
testDir: '$(Agent.BuildDirectory)'
|
||||||
parameters:
|
testExecutable: './rocm/bin/rocminfo'
|
||||||
componentName: ${{ parameters.componentName }}
|
testParameters: ''
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
testPublishResults: false
|
||||||
testExecutable: './rocm/bin/rocminfo'
|
os: ${{ job.os }}
|
||||||
testParameters: ''
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
testPublishResults: false
|
parameters:
|
||||||
os: ${{ job.os }}
|
componentName: rocm_agent_enumerator
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
testDir: '$(Agent.BuildDirectory)'
|
||||||
parameters:
|
testExecutable: './rocm/bin/rocm_agent_enumerator'
|
||||||
componentName: rocm_agent_enumerator
|
testParameters: ''
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
testPublishResults: false
|
||||||
testExecutable: './rocm/bin/rocm_agent_enumerator'
|
os: ${{ job.os }}
|
||||||
testParameters: ''
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
testPublishResults: false
|
parameters:
|
||||||
os: ${{ job.os }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
registerROCmPackages: true
|
||||||
parameters:
|
environment: test
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
gpuTarget: ${{ job.target }}
|
||||||
registerROCmPackages: true
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rocprofiler-compute
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -55,7 +36,6 @@ parameters:
|
|||||||
- pymongo
|
- pymongo
|
||||||
- pyyaml
|
- pyyaml
|
||||||
- setuptools
|
- setuptools
|
||||||
- sqlalchemy
|
|
||||||
- tabulate
|
- tabulate
|
||||||
- textual
|
- textual
|
||||||
- textual_plotext
|
- textual_plotext
|
||||||
@@ -65,13 +45,6 @@ parameters:
|
|||||||
- pytest
|
- pytest
|
||||||
- pytest-cov
|
- pytest-cov
|
||||||
- pytest-xdist
|
- pytest-xdist
|
||||||
- name: rocmDependencies
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- clr
|
|
||||||
- llvm-project
|
|
||||||
- ROCR-Runtime
|
|
||||||
- rocprofiler-sdk
|
|
||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -92,28 +65,46 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
buildJobs:
|
buildJobs:
|
||||||
- gfx942:
|
- gfx942-staging:
|
||||||
|
name: gfx942_staging
|
||||||
target: gfx942
|
target: gfx942
|
||||||
- gfx90a:
|
dependencySource: staging
|
||||||
|
- gfx942-mainline:
|
||||||
|
name: gfx942_mainline
|
||||||
|
target: gfx942
|
||||||
|
dependencySource: mainline
|
||||||
|
- gfx90a-staging:
|
||||||
|
name: gfx90a_staging
|
||||||
target: gfx90a
|
target: gfx90a
|
||||||
|
dependencySource: staging
|
||||||
|
- gfx90a-mainline:
|
||||||
|
name: gfx90a_mainline
|
||||||
|
target: gfx90a
|
||||||
|
dependencySource: mainline
|
||||||
testJobs:
|
testJobs:
|
||||||
- gfx942:
|
- gfx942-staging:
|
||||||
|
name: gfx942_staging
|
||||||
target: gfx942
|
target: gfx942
|
||||||
- gfx90a:
|
dependencySource: staging
|
||||||
|
- gfx942-mainline:
|
||||||
|
name: gfx942_mainline
|
||||||
|
target: gfx942
|
||||||
|
dependencySource: mainline
|
||||||
|
- gfx90a-staging:
|
||||||
|
name: gfx90a_staging
|
||||||
target: gfx90a
|
target: gfx90a
|
||||||
|
dependencySource: staging
|
||||||
|
- gfx90a-mainline:
|
||||||
|
name: gfx90a_mainline
|
||||||
|
target: gfx90a
|
||||||
|
dependencySource: mainline
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: rocprofiler_compute_build_${{ job.target }}
|
- job: rocprofiler_compute_build_${{ job.name }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.target }}
|
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
- name: ROCM_PATH
|
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
|
||||||
pool:
|
pool:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
@@ -127,27 +118,17 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
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
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
artifactName: ${{ job.dependencySource }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
artifactName: ${{ job.dependencySource }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
@@ -156,83 +137,80 @@ jobs:
|
|||||||
# pipModules: ${{ parameters.pipModules }}
|
# pipModules: ${{ parameters.pipModules }}
|
||||||
# gpuTarget: ${{ job.target }}
|
# gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: rocprofiler_compute_test_${{ job.name }}
|
||||||
- job: rocprofiler_compute_test_${{ job.target }}
|
timeoutInMinutes: 120
|
||||||
timeoutInMinutes: 120
|
dependsOn: rocprofiler_compute_build_${{ job.name }}
|
||||||
dependsOn: rocprofiler_compute_build_${{ job.target }}
|
condition:
|
||||||
condition:
|
and(succeeded(),
|
||||||
and(succeeded(),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
)
|
||||||
)
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
- name: PYTHON_VERSION
|
||||||
- name: PYTHON_VERSION
|
value: 3.10
|
||||||
value: 3.10
|
pool: ${{ job.target }}_test_pool
|
||||||
pool: ${{ job.target }}_test_pool
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
postTargetFilter: ${{ job.dependencySource }}
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
dependencySource: ${{ job.dependencySource }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: ${{ job.target }}
|
- task: Bash@3
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
displayName: Add en_US.UTF-8 locale
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
inputs:
|
||||||
- task: Bash@3
|
targetType: inline
|
||||||
displayName: Add en_US.UTF-8 locale
|
script: |
|
||||||
inputs:
|
sudo locale-gen en_US.UTF-8
|
||||||
targetType: inline
|
sudo update-locale
|
||||||
script: |
|
locale -a
|
||||||
sudo locale-gen en_US.UTF-8
|
- task: Bash@3
|
||||||
sudo update-locale
|
displayName: Add ROCm binaries to PATH
|
||||||
locale -a
|
inputs:
|
||||||
- task: Bash@3
|
targetType: inline
|
||||||
displayName: Add ROCm binaries to PATH
|
script: |
|
||||||
inputs:
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
||||||
targetType: inline
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
||||||
script: |
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
parameters:
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DCMAKE_HIP_ARCHITECTURES=${{ job.target }}
|
||||||
parameters:
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
extraBuildFlags: >-
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
-DCMAKE_HIP_ARCHITECTURES=${{ job.target }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DENABLE_TESTS=ON
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
-DINSTALL_TESTS=ON
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-GNinja
|
||||||
-DENABLE_TESTS=ON
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
-DINSTALL_TESTS=ON
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
-GNinja
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
componentName: rocprofiler-compute
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
testDir: $(Build.BinariesDirectory)/libexec/rocprofiler-compute
|
||||||
parameters:
|
testExecutable: ROCM_PATH=$(Agent.BuildDirectory)/rocm ctest
|
||||||
componentName: ${{ parameters.componentName }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
testDir: $(Build.BinariesDirectory)/libexec/rocprofiler-compute
|
parameters:
|
||||||
testExecutable: ROCM_PATH=$(Agent.BuildDirectory)/rocm ctest
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
pipModules: ${{ parameters.pipModules }}
|
||||||
parameters:
|
environment: test
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
gpuTarget: ${{ job.target }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rocprofiler-register
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -46,10 +27,6 @@ parameters:
|
|||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: rocprofiler_register_${{ job.os }}
|
- job: rocprofiler_register_${{ job.os }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.os }}
|
|
||||||
pool:
|
pool:
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
${{ if eq(job.os, 'ubuntu2404') }}:
|
||||||
vmImage: 'ubuntu-24.04'
|
vmImage: 'ubuntu-24.04'
|
||||||
@@ -73,10 +50,9 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
componentName: rocprofiler-register
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
useAmdclang: false
|
useAmdclang: false
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
@@ -86,16 +62,12 @@ jobs:
|
|||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
componentName: rocprofiler-register
|
||||||
testDir: $(Agent.BuildDirectory)/s/build
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
|||||||
@@ -1,29 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rocprofiler-sdk
|
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -79,27 +60,23 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
buildJobs:
|
buildJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- gfx942:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
testJobs:
|
testJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- gfx942:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: rocprofiler_sdk_build_${{ job.os }}_${{ job.target }}
|
- job: rocprofiler_sdk_build_${{ job.target }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.os}}_${{ job.target }}
|
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
|
||||||
container:
|
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
|
||||||
endpoint: ContainerService3
|
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
@@ -107,23 +84,18 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
registerROCmPackages: true
|
registerROCmPackages: true
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
os: ${{ job.os }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Add Python site-packages binaries to path
|
displayName: Add Python site-packages binaries to path
|
||||||
inputs:
|
inputs:
|
||||||
@@ -133,8 +105,6 @@ jobs:
|
|||||||
echo "##vso[task.prependpath]$USER_BASE/bin"
|
echo "##vso[task.prependpath]$USER_BASE/bin"
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DROCPROFILER_BUILD_TESTS=ON
|
-DROCPROFILER_BUILD_TESTS=ON
|
||||||
@@ -144,13 +114,9 @@ jobs:
|
|||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
@@ -160,72 +126,62 @@ jobs:
|
|||||||
# gpuTarget: ${{ job.target }}
|
# gpuTarget: ${{ job.target }}
|
||||||
# registerROCmPackages: true
|
# registerROCmPackages: true
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: rocprofiler_sdk_test_${{ job.target }}
|
||||||
- job: rocprofiler_sdk_test_${{ job.os }}_${{ job.target }}
|
dependsOn: rocprofiler_sdk_build_${{ job.target }}
|
||||||
dependsOn: rocprofiler_sdk_build_${{ job.os }}_${{ job.target }}
|
condition:
|
||||||
condition:
|
and(succeeded(),
|
||||||
and(succeeded(),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
)
|
||||||
)
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool: ${{ job.target }}_test_pool
|
||||||
pool: ${{ job.target }}_test_pool
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
registerROCmPackages: true
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
registerROCmPackages: true
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- task: Bash@3
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
displayName: Add Python and ROCm binaries to path
|
||||||
os: ${{ job.os }}
|
inputs:
|
||||||
gpuTarget: ${{ job.target }}
|
targetType: inline
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
script: |
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
USER_BASE=$(python3 -m site --user-base)
|
||||||
- task: Bash@3
|
echo "##vso[task.prependpath]$USER_BASE/bin"
|
||||||
displayName: Add Python and ROCm binaries to path
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
||||||
inputs:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
targetType: inline
|
parameters:
|
||||||
script: |
|
extraBuildFlags: >-
|
||||||
USER_BASE=$(python3 -m site --user-base)
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
echo "##vso[task.prependpath]$USER_BASE/bin"
|
-DROCPROFILER_BUILD_TESTS=ON
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
-DROCPROFILER_BUILD_SAMPLES=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DROCPROFILER_BUILD_RELEASE=ON
|
||||||
parameters:
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
componentName: ${{ parameters.componentName }}
|
-GNinja
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH}}/steps/gpu-diagnostics.yml
|
||||||
extraBuildFlags: >-
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
parameters:
|
||||||
-DROCPROFILER_BUILD_TESTS=ON
|
componentName: rocprofiler-sdk
|
||||||
-DROCPROFILER_BUILD_SAMPLES=ON
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
-DROCPROFILER_BUILD_RELEASE=ON
|
parameters:
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
-GNinja
|
pipModules: ${{ parameters.pipModules }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH}}/steps/gpu-diagnostics.yml
|
environment: test
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
registerROCmPackages: true
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
testDir: $(Agent.BuildDirectory)/build
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
registerROCmPackages: true
|
|
||||||
|
|||||||
@@ -6,25 +6,6 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
- name: componentName
|
|
||||||
type: string
|
|
||||||
default: rocprofiler-systems
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -56,7 +37,6 @@ parameters:
|
|||||||
- libpfm4-dev
|
- libpfm4-dev
|
||||||
- libtool
|
- libtool
|
||||||
- libopenmpi-dev
|
- libopenmpi-dev
|
||||||
- libsqlite3-dev
|
|
||||||
- m4
|
- m4
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- openmpi-bin
|
- openmpi-bin
|
||||||
@@ -106,10 +86,6 @@ parameters:
|
|||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: rocprofiler_systems_build_${{ job.target }}
|
- job: rocprofiler_systems_build_${{ job.target }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.os }}
|
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -128,7 +104,6 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -160,16 +135,12 @@ jobs:
|
|||||||
-DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/include/rocjpeg
|
-DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/include/rocjpeg
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
-GNinja
|
-GNinja
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -179,93 +150,85 @@ jobs:
|
|||||||
registerROCmPackages: true
|
registerROCmPackages: true
|
||||||
extraPaths: /home/user/workspace/rocm/bin:/home/user/workspace/rocm/llvm/bin
|
extraPaths: /home/user/workspace/rocm/bin:/home/user/workspace/rocm/llvm/bin
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: rocprofiler_systems_test_${{ job.target }}
|
||||||
- job: rocprofiler_systems_test_${{ job.target }}
|
dependsOn: rocprofiler_systems_build_${{ job.target }}
|
||||||
dependsOn: rocprofiler_systems_build_${{ job.target }}
|
condition:
|
||||||
condition:
|
and(succeeded(),
|
||||||
and(succeeded(),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
)
|
||||||
)
|
timeoutInMinutes: 180
|
||||||
timeoutInMinutes: 180
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
- name: ROCM_PATH
|
||||||
- name: ROCM_PATH
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
pool:
|
||||||
pool:
|
name: ${{ job.target }}_test_pool
|
||||||
name: ${{ job.target }}_test_pool
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
registerROCmPackages: true
|
||||||
registerROCmPackages: true
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: ${{ job.target }}
|
- task: Bash@3
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
displayName: Add ROCm binaries to PATH
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
inputs:
|
||||||
- task: Bash@3
|
targetType: inline
|
||||||
displayName: Add ROCm binaries to PATH
|
script: |
|
||||||
inputs:
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
||||||
targetType: inline
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
||||||
script: |
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
parameters:
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
# build flags reference: https://rocm.docs.amd.com/projects/omnitrace/en/latest/install/install.html
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DROCPROFSYS_BUILD_TESTING=ON
|
||||||
cmakeSourceDir: $(Agent.BuildDirectory)/s/projects/rocprofiler-systems
|
-DROCPROFSYS_BUILD_DYNINST=ON
|
||||||
# build flags reference: https://rocm.docs.amd.com/projects/omnitrace/en/latest/install/install.html
|
-DROCPROFSYS_BUILD_LIBUNWIND=ON
|
||||||
extraBuildFlags: >-
|
-DROCPROFSYS_DISABLE_EXAMPLES="openmp-target"
|
||||||
-DCMAKE_INSTALL_PREFIX=$(Agent.BuildDirectory)/rocprofiler-systems
|
-DDYNINST_BUILD_TBB=ON
|
||||||
-DROCPROFSYS_USE_PYTHON=ON
|
-DDYNINST_BUILD_ELFUTILS=ON
|
||||||
-DROCPROFSYS_BUILD_TESTING=ON
|
-DDYNINST_BUILD_LIBIBERTY=ON
|
||||||
-DROCPROFSYS_BUILD_DYNINST=ON
|
-DDYNINST_BUILD_BOOST=ON
|
||||||
-DROCPROFSYS_BUILD_LIBUNWIND=ON
|
-DROCPROFSYS_USE_PAPI=ON
|
||||||
-DROCPROFSYS_DISABLE_EXAMPLES="openmp-target"
|
-DROCPROFSYS_USE_MPI=ON
|
||||||
-DDYNINST_BUILD_TBB=ON
|
-DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/include/rocjpeg
|
||||||
-DDYNINST_BUILD_ELFUTILS=ON
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
-DDYNINST_BUILD_LIBIBERTY=ON
|
-GNinja
|
||||||
-DDYNINST_BUILD_BOOST=ON
|
- task: Bash@3
|
||||||
-DROCPROFSYS_USE_PAPI=ON
|
displayName: Set up rocprofiler-systems env
|
||||||
-DROCPROFSYS_USE_MPI=ON
|
inputs:
|
||||||
-DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/include/rocjpeg
|
targetType: inline
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
script: source share/rocprofiler-systems/setup-env.sh
|
||||||
-GNinja
|
workingDirectory: build
|
||||||
- task: Bash@3
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
displayName: Set up rocprofiler-systems env
|
parameters:
|
||||||
inputs:
|
componentName: rocprofiler-systems
|
||||||
targetType: inline
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
script: source $(Agent.BuildDirectory)/rocprofiler-systems/share/rocprofiler-systems/setup-env.sh
|
parameters:
|
||||||
workingDirectory: $(Agent.BuildDirectory)/rocprofiler-systems/share/rocprofiler-systems
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
gpuTarget: ${{ job.target }}
|
||||||
testDir: $(Agent.BuildDirectory)/s/build/tests/
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
testParameters: '--output-on-failure'
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
pipModules: ${{ parameters.pipModules }}
|
||||||
gpuTarget: ${{ job.target }}
|
environment: test
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
registerROCmPackages: true
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: ${{ job.target }}
|
extraPaths: /home/user/workspace/rocm/bin:/home/user/workspace/rocm/llvm/bin
|
||||||
- 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
|
|
||||||
|
|||||||
@@ -8,22 +8,6 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -86,10 +70,6 @@ parameters:
|
|||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -114,7 +94,6 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
||||||
parameters:
|
parameters:
|
||||||
dependencyList:
|
dependencyList:
|
||||||
@@ -129,8 +108,6 @@ jobs:
|
|||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
@@ -138,7 +115,6 @@ jobs:
|
|||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_MODULE_PATH=$(Build.SourcesDirectory)/cmake_modules;$(Agent.BuildDirectory)/rocm/lib/cmake;$(Agent.BuildDirectory)/rocm/lib/cmake/hip;$(Agent.BuildDirectory)/rocm/lib64/cmake;$(Agent.BuildDirectory)/rocm/lib64/cmake/hip
|
-DCMAKE_MODULE_PATH=$(Build.SourcesDirectory)/cmake_modules;$(Agent.BuildDirectory)/rocm/lib/cmake;$(Agent.BuildDirectory)/rocm/lib/cmake/hip;$(Agent.BuildDirectory)/rocm/lib64/cmake;$(Agent.BuildDirectory)/rocm/lib64/cmake/hip
|
||||||
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor"
|
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor"
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||||
-DENABLE_LDCONFIG=OFF
|
-DENABLE_LDCONFIG=OFF
|
||||||
-DUSE_PROF_API=1
|
-DUSE_PROF_API=1
|
||||||
@@ -146,13 +122,10 @@ jobs:
|
|||||||
multithreadFlag: -- -j32
|
multithreadFlag: -- -j32
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
@@ -166,68 +139,63 @@ jobs:
|
|||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
- ROCM_PATH:::/home/user/workspace/rocm
|
- ROCM_PATH:::/home/user/workspace/rocm
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
condition:
|
||||||
condition:
|
and(succeeded(),
|
||||||
and(succeeded(),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
)
|
||||||
)
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
- name: ROCM_PATH
|
||||||
- name: ROCM_PATH
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
- name: LD_LIBRARY_PATH
|
||||||
- name: LD_LIBRARY_PATH
|
value: $(Agent.BuildDirectory)/rocm/lib/rocprofiler:$(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1/test:$(Agent.BuildDirectory)/rocm/share/rocprofiler/tests
|
||||||
value: $(Agent.BuildDirectory)/rocm/lib/rocprofiler:$(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1/test:$(Agent.BuildDirectory)/rocm/share/rocprofiler/tests
|
pool: ${{ job.target }}_test_pool
|
||||||
pool: ${{ job.target }}_test_pool
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- checkout: none
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
packageManager: ${{ job.packageManager }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
packageManager: ${{ job.packageManager }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
os: ${{ job.os }}
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
os: ${{ job.os }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
componentName: rocprofilerV1
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
testDir: $(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
testExecutable: ./run.sh
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
testParameters: ''
|
||||||
parameters:
|
testPublishResults: false
|
||||||
componentName: rocprofilerV1
|
os: ${{ job.os }}
|
||||||
testDir: $(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
testExecutable: ./run.sh
|
parameters:
|
||||||
testParameters: ''
|
componentName: rocprofilerV2
|
||||||
testPublishResults: false
|
testDir: $(Agent.BuildDirectory)/rocm
|
||||||
os: ${{ job.os }}
|
testExecutable: share/rocprofiler/tests/runUnitTests
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
parameters:
|
os: ${{ job.os }}
|
||||||
componentName: rocprofilerV2
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
testDir: $(Agent.BuildDirectory)/rocm
|
parameters:
|
||||||
testExecutable: share/rocprofiler/tests/runUnitTests
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
pipModules: ${{ parameters.pipModules }}
|
||||||
os: ${{ job.os }}
|
environment: test
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
|
|||||||
@@ -8,22 +8,6 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# monorepo related parameters
|
|
||||||
- name: sparseCheckoutDir
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: triggerDownstreamJobs
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
- name: downstreamAggregateNames
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: buildDependsOn
|
|
||||||
type: object
|
|
||||||
default: null
|
|
||||||
- name: unifiedBuild
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -81,10 +65,6 @@ parameters:
|
|||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
|
||||||
dependsOn:
|
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
|
||||||
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -107,7 +87,6 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
@@ -115,8 +94,6 @@ jobs:
|
|||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
|
||||||
# the linker flags will not affect ubuntu2204 builds as the paths do not exist
|
# the linker flags will not affect ubuntu2204 builds as the paths do not exist
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -132,13 +109,10 @@ jobs:
|
|||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ parameters.componentName }}
|
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
@@ -149,57 +123,53 @@ jobs:
|
|||||||
# gpuTarget: ${{ job.target }}
|
# gpuTarget: ${{ job.target }}
|
||||||
# registerROCmPackages: true
|
# registerROCmPackages: true
|
||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
condition:
|
||||||
condition:
|
and(succeeded(),
|
||||||
and(succeeded(),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
)
|
||||||
)
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool: ${{ job.target }}_test_pool
|
||||||
pool: ${{ job.target }}_test_pool
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
steps:
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
packageManager: ${{ job.packageManager }}
|
||||||
packageManager: ${{ job.packageManager }}
|
registerROCmPackages: true
|
||||||
registerROCmPackages: true
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
parameters:
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
preTargetFilter: ${{ parameters.componentName }}
|
os: ${{ job.os }}
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
gpuTarget: ${{ job.target }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
os: ${{ job.os }}
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
${{ if parameters.triggerDownstreamJobs }}:
|
parameters:
|
||||||
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
componentName: roctracer
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
testExecutable: $(Agent.BuildDirectory)/rocm/share/roctracer/run_tests.sh
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
testParameters: ''
|
||||||
parameters:
|
testDir: $(Agent.BuildDirectory)
|
||||||
componentName: ${{ parameters.componentName }}
|
testPublishResults: false
|
||||||
testExecutable: $(Agent.BuildDirectory)/rocm/share/roctracer/run_tests.sh
|
os: ${{ job.os }}
|
||||||
testParameters: ''
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
testDir: $(Agent.BuildDirectory)
|
parameters:
|
||||||
testPublishResults: false
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
os: ${{ job.os }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
environment: test
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
registerROCmPackages: true
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: ${{ job.target }}
|
|
||||||
registerROCmPackages: true
|
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
dependencySource: staging
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Add ROCm binaries to PATH
|
displayName: Add ROCm binaries to PATH
|
||||||
inputs:
|
inputs:
|
||||||
|
|||||||
@@ -1,63 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- name: checkoutRepo
|
|
||||||
type: string
|
|
||||||
default: 'self'
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: catch2Version
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: aptPackages
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- cmake
|
|
||||||
- git
|
|
||||||
- ninja-build
|
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt}
|
|
||||||
- { os: almalinux8, packageManager: dnf}
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
|
||||||
- job: catch2_${{ job.os }}
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
pool:
|
|
||||||
vmImage: 'ubuntu-22.04'
|
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
|
||||||
container:
|
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
|
||||||
endpoint: ContainerService3
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- checkout: none
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Clone catch2 ${{ parameters.catch2Version }}
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: git clone https://github.com/catchorg/Catch2.git -b ${{ parameters.catch2Version }}
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
cmakeBuildDir: $(Agent.BuildDirectory)/Catch2/build
|
|
||||||
cmakeSourceDir: $(Agent.BuildDirectory)/Catch2
|
|
||||||
useAmdclang: false
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
@@ -1,63 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- name: checkoutRepo
|
|
||||||
type: string
|
|
||||||
default: 'self'
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: cli11Version
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: aptPackages
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- cmake
|
|
||||||
- git
|
|
||||||
- ninja-build
|
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt}
|
|
||||||
- { os: almalinux8, packageManager: dnf}
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
|
||||||
- job: cli11_${{ job.os }}
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
pool:
|
|
||||||
vmImage: 'ubuntu-22.04'
|
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
|
||||||
container:
|
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
|
||||||
endpoint: ContainerService3
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- checkout: none
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Clone cli11 ${{ parameters.cli11Version }}
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: git clone https://github.com/CLIUtils/CLI11.git -b ${{ parameters.cli11Version }}
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
cmakeBuildDir: $(Agent.BuildDirectory)/CLI11/build
|
|
||||||
cmakeSourceDir: $(Agent.BuildDirectory)/CLI11
|
|
||||||
useAmdclang: false
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
@@ -1,67 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- name: checkoutRepo
|
|
||||||
type: string
|
|
||||||
default: 'self'
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: fmtlibVersion
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: aptPackages
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- cmake
|
|
||||||
- git
|
|
||||||
- ninja-build
|
|
||||||
- libfmt-dev
|
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt}
|
|
||||||
- { os: almalinux8, packageManager: dnf}
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
|
||||||
- job: fmtlib_${{ job.os }}
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
pool:
|
|
||||||
vmImage: 'ubuntu-22.04'
|
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
|
||||||
container:
|
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
|
||||||
endpoint: ContainerService3
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- checkout: none
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Clone fmtlib ${{ parameters.fmtlibVersion }}
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: git clone https://github.com/fmtlib/fmt.git -b ${{ parameters.fmtlibVersion }}
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
cmakeBuildDir: $(Agent.BuildDirectory)/fmt/build
|
|
||||||
cmakeSourceDir: $(Agent.BuildDirectory)/fmt
|
|
||||||
useAmdclang: false
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DFMT_SYSTEM_HEADERS=ON
|
|
||||||
-DFMT_INSTALL=ON
|
|
||||||
-DFMT_TEST=OFF
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
@@ -1,64 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- name: checkoutRepo
|
|
||||||
type: string
|
|
||||||
default: 'self'
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: libdivideVersion
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: aptPackages
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- cmake
|
|
||||||
- git
|
|
||||||
- ninja-build
|
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt}
|
|
||||||
- { os: almalinux8, packageManager: dnf}
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
|
||||||
- job: libdivide_${{ job.os }}
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
pool:
|
|
||||||
vmImage: 'ubuntu-22.04'
|
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
|
||||||
container:
|
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
|
||||||
endpoint: ContainerService3
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- checkout: none
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Clone libdivide ${{ parameters.libdivideVersion }}
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: git clone https://github.com/ridiculousfish/libdivide.git -b ${{ parameters.libdivideVersion }}
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
cmakeBuildDir: $(Agent.BuildDirectory)/libdivide/build
|
|
||||||
cmakeSourceDir: $(Agent.BuildDirectory)/libdivide
|
|
||||||
useAmdclang: false
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DLIBDIVIDE_BUILD_TESTS=OFF
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
@@ -1,71 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- name: checkoutRepo
|
|
||||||
type: string
|
|
||||||
default: 'self'
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: spdlogVersion
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: aptPackages
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- cmake
|
|
||||||
- git
|
|
||||||
- ninja-build
|
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt}
|
|
||||||
- { os: almalinux8, packageManager: dnf}
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
|
||||||
- job: spdlog_${{ job.os }}
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
pool:
|
|
||||||
vmImage: 'ubuntu-22.04'
|
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
|
||||||
container:
|
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
|
||||||
endpoint: ContainerService3
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- checkout: none
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
|
||||||
parameters:
|
|
||||||
dependencyList:
|
|
||||||
- fmtlib
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Clone spdlog ${{ parameters.spdlogVersion }}
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: git clone https://github.com/gabime/spdlog.git -b ${{ parameters.spdlogVersion }}
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
cmakeBuildDir: $(Agent.BuildDirectory)/spdlog/build
|
|
||||||
cmakeSourceDir: $(Agent.BuildDirectory)/spdlog
|
|
||||||
useAmdclang: false
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/vendor
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DSPDLOG_USE_STD_FORMAT=OFF
|
|
||||||
-DSPDLOG_FMT_EXTERNAL_HO=ON
|
|
||||||
-DSPDLOG_INSTALL=ON
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
@@ -1,66 +0,0 @@
|
|||||||
parameters:
|
|
||||||
- name: checkoutRepo
|
|
||||||
type: string
|
|
||||||
default: 'self'
|
|
||||||
- name: checkoutRef
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: yamlcppVersion
|
|
||||||
type: string
|
|
||||||
default: ''
|
|
||||||
- name: aptPackages
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- cmake
|
|
||||||
- git
|
|
||||||
- ninja-build
|
|
||||||
|
|
||||||
- name: jobMatrix
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
buildJobs:
|
|
||||||
- { os: ubuntu2204, packageManager: apt}
|
|
||||||
- { os: almalinux8, packageManager: dnf}
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
|
||||||
- job: yamlcpp_${{ job.os }}
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
pool:
|
|
||||||
vmImage: 'ubuntu-22.04'
|
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
|
||||||
container:
|
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
|
||||||
endpoint: ContainerService3
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- checkout: none
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Clone yaml-cpp ${{ parameters.yamlcppVersion }}
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: git clone https://github.com/jbeder/yaml-cpp.git -b ${{ parameters.yamlcppVersion }}
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
cmakeBuildDir: $(Agent.BuildDirectory)/yaml-cpp/build
|
|
||||||
cmakeSourceDir: $(Agent.BuildDirectory)/yaml-cpp
|
|
||||||
useAmdclang: false
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DYAML_CPP_BUILD_TOOLS=OFF
|
|
||||||
-DYAML_BUILD_SHARED_LIBS=OFF
|
|
||||||
-DYAML_CPP_INSTALL=ON
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
os: ${{ job.os }}
|
|
||||||
@@ -219,6 +219,7 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
dependencySource: staging
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
setupHIPLibrarySymlinks: true
|
setupHIPLibrarySymlinks: true
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
@@ -397,7 +398,6 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- task: DownloadPipelineArtifact@2
|
- task: DownloadPipelineArtifact@2
|
||||||
displayName: 'Download Pipeline Wheel Files'
|
displayName: 'Download Pipeline Wheel Files'
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
inputs:
|
||||||
itemPattern: '**/*.whl'
|
itemPattern: '**/*.whl'
|
||||||
targetPath: $(Agent.BuildDirectory)
|
targetPath: $(Agent.BuildDirectory)
|
||||||
@@ -406,6 +406,8 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
|
dependencySource: staging
|
||||||
|
skipLlvmSymlink: true
|
||||||
# get sources to run test scripts
|
# get sources to run test scripts
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: git clone upstream pytorch
|
displayName: git clone upstream pytorch
|
||||||
|
|||||||
@@ -3,21 +3,21 @@ parameters:
|
|||||||
- name: jobList
|
- name: jobList
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- { os: ubuntu2204, target: gfx942, source: staging }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
- { os: ubuntu2204, target: gfx90a, source: staging }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
- { os: ubuntu2204, target: gfx1201, source: staging }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
- { os: ubuntu2204, target: gfx1100, source: staging }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
- { os: ubuntu2204, target: gfx1030, source: staging }
|
||||||
- { os: ubuntu2404, packageManager: apt, target: gfx942 }
|
- { os: ubuntu2404, target: gfx942, source: staging }
|
||||||
- { os: ubuntu2404, packageManager: apt, target: gfx90a }
|
- { os: ubuntu2404, target: gfx90a, source: staging }
|
||||||
- { os: ubuntu2404, packageManager: apt, target: gfx1201 }
|
- { os: ubuntu2404, target: gfx1201, source: staging }
|
||||||
- { os: ubuntu2404, packageManager: apt, target: gfx1100 }
|
- { os: ubuntu2404, target: gfx1100, source: staging }
|
||||||
- { os: ubuntu2404, packageManager: apt, target: gfx1030 }
|
- { os: ubuntu2404, target: gfx1030, source: staging }
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx942 }
|
- { os: almalinux8, target: gfx942, source: staging }
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx90a }
|
- { os: almalinux8, target: gfx90a, source: staging }
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
- { os: almalinux8, target: gfx1201, source: staging }
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
- { os: almalinux8, target: gfx1100, source: staging }
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
- { os: almalinux8, target: gfx1030, source: staging }
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -92,8 +92,7 @@ schedules:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobList }}:
|
- ${{ each job in parameters.jobList }}:
|
||||||
- job: nightly_${{ job.os }}_${{ job.target }}
|
- job: rocm_nightly_${{ job.os }}_${{ job.target }}_${{ job.source }}
|
||||||
timeoutInMinutes: 120
|
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -116,9 +115,11 @@ jobs:
|
|||||||
displayName: System disk space before ROCm
|
displayName: System disk space before ROCm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
dependencySource: ${{ job.source }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
skipLibraryLinking: true
|
||||||
- script: df -h
|
- script: df -h
|
||||||
displayName: System disk space after ROCm
|
displayName: System disk space after ROCm
|
||||||
- script: du -sh $(Agent.BuildDirectory)/rocm
|
- script: du -sh $(Agent.BuildDirectory)/rocm
|
||||||
@@ -131,7 +132,7 @@ jobs:
|
|||||||
includeRootFolder: false
|
includeRootFolder: false
|
||||||
archiveType: tar
|
archiveType: tar
|
||||||
tarCompression: gz
|
tarCompression: gz
|
||||||
archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.DefinitionName)_$(Build.BuildNumber)_${{ job.os }}_${{ job.target }}.tar.gz
|
archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.DefinitionName)_$(Build.BuildNumber)_ubuntu2204_${{ job.target }}.tar.gz
|
||||||
- script: du -sh $(Build.ArtifactStagingDirectory)
|
- script: du -sh $(Build.ArtifactStagingDirectory)
|
||||||
displayName: Compressed ROCm size
|
displayName: Compressed ROCm size
|
||||||
- task: PublishPipelineArtifact@1
|
- task: PublishPipelineArtifact@1
|
||||||
@@ -144,96 +145,5 @@ jobs:
|
|||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: echo "$(Build.DefinitionName)_$(Build.BuildNumber)_${{ job.os }}_${{ job.target }}.tar.gz" >> pipelineArtifacts.txt
|
script: echo "$(Build.DefinitionName)_$(Build.BuildNumber)_ubuntu2204_${{ job.target }}.tar.gz" >> pipelineArtifacts.txt
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- ${{ if eq(job.packageManager, 'apt') }}:
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Create Dockerfile
|
|
||||||
inputs:
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
cat <<'EOF' > Dockerfile
|
|
||||||
${{ iif(eq(job.os, 'ubuntu2204'), 'FROM ubuntu:22.04', '') }}
|
|
||||||
${{ iif(eq(job.os, 'ubuntu2404'), 'FROM ubuntu:24.04', '') }}
|
|
||||||
|
|
||||||
WORKDIR /root
|
|
||||||
RUN mkdir rocm
|
|
||||||
|
|
||||||
RUN apt update \
|
|
||||||
&& apt upgrade -y \
|
|
||||||
&& apt install -y cmake curl git gcc g++ gpg lsb-release lsof ninja-build pkg-config python3 python3-pip wget zip libdrm-dev libelf-dev libgtest-dev libhsakmt-dev libhwloc-dev libnuma-dev libstdc++-12-dev libtbb-dev jq \
|
|
||||||
&& apt clean all
|
|
||||||
|
|
||||||
RUN PACKAGE_NAME=$(curl -s https://repo.radeon.com/rocm/apt/latest/pool/main/h/hsa-amd-aqlprofile/ | grep -oP "href=\"\K[^\"]*$(lsb_release -rs)[^\"]*\.deb") \
|
|
||||||
&& wget -nv --retry-connrefused https://repo.radeon.com/rocm/apt/latest/pool/main/h/hsa-amd-aqlprofile/$PACKAGE_NAME \
|
|
||||||
&& mkdir hsa-amd-aqlprofile \
|
|
||||||
&& dpkg-deb -R $PACKAGE_NAME hsa-amd-aqlprofile \
|
|
||||||
&& cp -R hsa-amd-aqlprofile/opt/rocm-*/* rocm
|
|
||||||
|
|
||||||
RUN ARTIFACT_URL="https://dev.azure.com/ROCm-CI/ROCm-CI/_apis/build/builds/$(Build.BuildId)/artifacts?artifactName=nightly${{ job.os }}${{ job.target }}&api-version=7.1" \
|
|
||||||
&& DOWNLOAD_URL=$(curl -s $ARTIFACT_URL | jq ".resource.downloadUrl" | tr -d '"') \
|
|
||||||
&& wget -nv --retry-connrefused $DOWNLOAD_URL -O nightly.zip \
|
|
||||||
&& unzip nightly.zip \
|
|
||||||
&& tar -xf nightly${{ job.os }}${{ job.target }}/rocm-nightly*${{ job.os }}*${{ job.target }}*.tar.gz -C rocm
|
|
||||||
|
|
||||||
RUN echo /root/rocm/lib | tee /etc/ld.so.conf.d/rocm-ci.conf
|
|
||||||
RUN echo /root/rocm/llvm/lib | tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
|
||||||
RUN echo /root/rocm/lib64 | tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
|
||||||
RUN echo /root/rocm/llvm/lib64 | tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
|
||||||
RUN ldconfig -v
|
|
||||||
ENV PATH="$PATH:/root/rocm/bin"
|
|
||||||
ENTRYPOINT ["/bin/bash"]
|
|
||||||
EOF
|
|
||||||
cat Dockerfile
|
|
||||||
- ${{ elseif eq(job.packageManager, 'dnf') }}:
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Create Dockerfile
|
|
||||||
inputs:
|
|
||||||
workingDirectory: $(Agent.BuildDirectory)
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
cat <<'EOF' > Dockerfile
|
|
||||||
${{ iif(eq(job.os, 'almalinux8'), 'FROM almalinux:8', '') }}
|
|
||||||
|
|
||||||
WORKDIR /root
|
|
||||||
RUN mkdir rocm
|
|
||||||
|
|
||||||
RUN dnf install -y cmake curl git gcc gcc-c++ gnupg2 redhat-lsb-core lsof pkgconf python3 python3-pip wget zip libdrm-devel elfutils-libelf-devel numactl-devel libstdc++-devel tbb-devel jq \
|
|
||||||
&& dnf clean all
|
|
||||||
|
|
||||||
RUN PACKAGE_NAME=$(curl -s https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/ | grep -oP "hsa-amd-aqlprofile-[^\"]+\.rpm" | head -n1) \
|
|
||||||
&& wget -nv --retry-connrefused https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/$PACKAGE_NAME \
|
|
||||||
&& mkdir hsa-amd-aqlprofile \
|
|
||||||
&& dnf -y install rpm-build cpio \
|
|
||||||
&& rpm2cpio $PACKAGE_NAME | (cd hsa-amd-aqlprofile && cpio -idmv) \
|
|
||||||
&& cp -R hsa-amd-aqlprofile/opt/rocm-*/* rocm
|
|
||||||
|
|
||||||
RUN ARTIFACT_URL="https://dev.azure.com/ROCm-CI/ROCm-CI/_apis/build/builds/$(Build.BuildId)/artifacts?artifactName=nightly${{ job.os }}${{ job.target }}&api-version=7.1" \
|
|
||||||
&& DOWNLOAD_URL=$(curl -s $ARTIFACT_URL | jq ".resource.downloadUrl" | tr -d '"') \
|
|
||||||
&& wget -nv --retry-connrefused $DOWNLOAD_URL -O nightly.zip \
|
|
||||||
&& UNZIP_DISABLE_ZIPBOMB_DETECTION=TRUE unzip nightly.zip \
|
|
||||||
&& tar -xf nightly${{ job.os }}${{ job.target }}/rocm-nightly*${{ job.os }}*${{ job.target }}*.tar.gz -C rocm
|
|
||||||
|
|
||||||
RUN echo /root/rocm/lib | tee /etc/ld.so.conf.d/rocm-ci.conf
|
|
||||||
RUN echo /root/rocm/llvm/lib | tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
|
||||||
RUN echo /root/rocm/lib64 | tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
|
||||||
RUN echo /root/rocm/llvm/lib64 | tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
|
||||||
RUN ldconfig -v
|
|
||||||
ENV PATH="$PATH:/root/rocm/bin"
|
|
||||||
ENTRYPOINT ["/bin/bash"]
|
|
||||||
EOF
|
|
||||||
cat Dockerfile
|
|
||||||
- task: Docker@2
|
|
||||||
displayName: Build and upload Docker image
|
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
|
||||||
containerRegistry: ContainerService3
|
|
||||||
repository: 'nightly-${{ job.os }}-${{ job.target }}'
|
|
||||||
Dockerfile: '$(Agent.BuildDirectory)/Dockerfile'
|
|
||||||
buildContext: '$(Agent.BuildDirectory)'
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: '!! Docker Run Command !!'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: echo "docker run -it --network=host --device=/dev/kfd --device=/dev/dri --security-opt seccomp=unconfined rocmexternalcicd.azurecr.io/nightly-${{ job.os }}-${{ job.target }}:$(Build.BuildId)" | tr '[:upper:]' '[:lower:]'
|
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: catch2Version
|
|
||||||
type: string
|
|
||||||
default: "v3.7.0"
|
|
||||||
|
|
||||||
resources:
|
|
||||||
repositories:
|
|
||||||
- repository: pipelines_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/ROCm
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
pr: none
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: ${{ variables.CI_DEPENDENCIES_PATH }}/catch2.yml
|
|
||||||
parameters:
|
|
||||||
catch2Version: ${{ parameters.catch2Version }}
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: cli11Version
|
|
||||||
type: string
|
|
||||||
default: "main"
|
|
||||||
|
|
||||||
resources:
|
|
||||||
repositories:
|
|
||||||
- repository: pipelines_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/ROCm
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
pr: none
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: ${{ variables.CI_DEPENDENCIES_PATH }}/cli11.yml
|
|
||||||
parameters:
|
|
||||||
cli11Version: ${{ parameters.cli11Version }}
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: fmtlibVersion
|
|
||||||
type: string
|
|
||||||
default: "11.1.3"
|
|
||||||
|
|
||||||
resources:
|
|
||||||
repositories:
|
|
||||||
- repository: pipelines_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/ROCm
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
pr: none
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: ${{ variables.CI_DEPENDENCIES_PATH }}/fmtlib.yml
|
|
||||||
parameters:
|
|
||||||
fmtlibVersion: ${{ parameters.fmtlibVersion }}
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: libdivideVersion
|
|
||||||
type: string
|
|
||||||
default: master
|
|
||||||
|
|
||||||
resources:
|
|
||||||
repositories:
|
|
||||||
- repository: pipelines_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/ROCm
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
pr: none
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: ${{ variables.CI_DEPENDENCIES_PATH }}/libdivide.yml
|
|
||||||
parameters:
|
|
||||||
libdivideVersion: ${{ parameters.libdivideVersion }}
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: spdlogVersion
|
|
||||||
type: string
|
|
||||||
default: "v1.15.1"
|
|
||||||
|
|
||||||
resources:
|
|
||||||
repositories:
|
|
||||||
- repository: pipelines_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/ROCm
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
pr: none
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: ${{ variables.CI_DEPENDENCIES_PATH }}/spdlog.yml
|
|
||||||
parameters:
|
|
||||||
spdlogVersion: ${{ parameters.spdlogVersion }}
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: yamlcppVersion
|
|
||||||
type: string
|
|
||||||
default: "0.8.0"
|
|
||||||
|
|
||||||
resources:
|
|
||||||
repositories:
|
|
||||||
- repository: pipelines_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/ROCm
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
pr: none
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: ${{ variables.CI_DEPENDENCIES_PATH }}/yamlcpp.yml
|
|
||||||
parameters:
|
|
||||||
yamlcppVersion: ${{ parameters.yamlcppVersion }}
|
|
||||||
|
|
||||||
@@ -12,9 +12,6 @@ parameters:
|
|||||||
- name: fileFilter
|
- name: fileFilter
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
- name: extractAndDeleteFiles
|
|
||||||
type: boolean
|
|
||||||
default: true
|
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -24,12 +21,8 @@ parameters:
|
|||||||
steps:
|
steps:
|
||||||
- task: DownloadPipelineArtifact@2
|
- task: DownloadPipelineArtifact@2
|
||||||
displayName: Download ${{ parameters.componentName }}
|
displayName: Download ${{ parameters.componentName }}
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
inputs:
|
||||||
${{ if eq(parameters.componentName, 'clr') }}:
|
itemPattern: '**/*${{ parameters.componentName }}*${{ parameters.fileFilter }}*'
|
||||||
itemPattern: '**/*${{ parameters.componentName }}*${{ parameters.fileFilter }}*amd*' # filter out nvidia clr artifacts
|
|
||||||
${{ else }}:
|
|
||||||
itemPattern: '**/*${{ parameters.componentName }}*${{ parameters.fileFilter }}*'
|
|
||||||
targetPath: '$(Pipeline.Workspace)/d'
|
targetPath: '$(Pipeline.Workspace)/d'
|
||||||
allowPartiallySucceededBuilds: true
|
allowPartiallySucceededBuilds: true
|
||||||
${{ if parameters.aggregatePipeline }}:
|
${{ if parameters.aggregatePipeline }}:
|
||||||
@@ -44,17 +37,16 @@ steps:
|
|||||||
buildVersionToDownload: latest # aomp trigger lives in ROCm/ROCm, so cannot use ROCm/aomp branch names
|
buildVersionToDownload: latest # aomp trigger lives in ROCm/ROCm, so cannot use ROCm/aomp branch names
|
||||||
${{ else }}:
|
${{ else }}:
|
||||||
buildVersionToDownload: latestFromBranch
|
buildVersionToDownload: latestFromBranch
|
||||||
- ${{ if eq(parameters.extractAndDeleteFiles, true) }}:
|
- task: ExtractFiles@1
|
||||||
- task: ExtractFiles@1
|
displayName: Extract ${{ parameters.componentName }}
|
||||||
displayName: Extract ${{ parameters.componentName }}
|
inputs:
|
||||||
inputs:
|
archiveFilePatterns: '$(Pipeline.Workspace)/d/**/*.tar.gz'
|
||||||
archiveFilePatterns: '$(Pipeline.Workspace)/d/**/*.tar.gz'
|
destinationFolder: '$(Agent.BuildDirectory)/rocm'
|
||||||
destinationFolder: '$(Agent.BuildDirectory)/rocm'
|
cleanDestinationFolder: false
|
||||||
cleanDestinationFolder: false
|
overwriteExistingFiles: true
|
||||||
overwriteExistingFiles: true
|
- task: DeleteFiles@1
|
||||||
- task: DeleteFiles@1
|
displayName: Cleanup Compressed ${{ parameters.componentName }}
|
||||||
displayName: Clean up Compressed ${{ parameters.componentName }}
|
inputs:
|
||||||
inputs:
|
SourceFolder: '$(Pipeline.Workspace)/d'
|
||||||
SourceFolder: '$(Pipeline.Workspace)/d'
|
Contents: '**/*.tar.gz'
|
||||||
Contents: '**/*.tar.gz'
|
RemoveDotFiles: true
|
||||||
RemoveDotFiles: true
|
|
||||||
|
|||||||
@@ -15,8 +15,8 @@ steps:
|
|||||||
URL_BEGIN="https://artprodcus3.artifacts.visualstudio.com/"
|
URL_BEGIN="https://artprodcus3.artifacts.visualstudio.com/"
|
||||||
URL_MIDDLE="/_apis/artifact/"
|
URL_MIDDLE="/_apis/artifact/"
|
||||||
URL_END="/content?format=file&subPath=%2F"
|
URL_END="/content?format=file&subPath=%2F"
|
||||||
ARTIFACT_NAME="$(Agent.JobName)_$(System.JobAttempt)"
|
FORMATTED_JOB_NAME=$(echo $(Agent.JobName) | sed 's/ /./g; s/[-_]//g')
|
||||||
ARTIFACT_STRING="pipelineartifact://ROCm-CI/projectId/$(DOWNLOAD_PROJECT_ID)/buildId/$(Build.BuildId)/artifactName/${ARTIFACT_NAME}"
|
ARTIFACT_STRING="pipelineartifact://ROCm-CI/projectId/$(DOWNLOAD_PROJECT_ID)/buildId/$(Build.BuildId)/artifactName/${FORMATTED_JOB_NAME}"
|
||||||
ENCODED_STRING=$(echo -n "${ARTIFACT_STRING}" | base64 -w 0)
|
ENCODED_STRING=$(echo -n "${ARTIFACT_STRING}" | base64 -w 0)
|
||||||
PADDING_COUNT=$(echo -n "${ENCODED_STRING}" | awk -F= '{print NF-1}')
|
PADDING_COUNT=$(echo -n "${ENCODED_STRING}" | awk -F= '{print NF-1}')
|
||||||
if [ "$PADDING_COUNT" -gt 0 ]; then
|
if [ "$PADDING_COUNT" -gt 0 ]; then
|
||||||
|
|||||||
@@ -46,6 +46,5 @@ steps:
|
|||||||
displayName: '${{ parameters.artifactName }} Publish'
|
displayName: '${{ parameters.artifactName }} Publish'
|
||||||
retryCountOnTaskFailure: 3
|
retryCountOnTaskFailure: 3
|
||||||
inputs:
|
inputs:
|
||||||
# if this artifact name is changed, please also update $ARTIFACT_URL inside miopen-get-ck-build.yml
|
artifactName: ${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}_$(System.JobAttempt)
|
||||||
artifactName: $(Agent.JobName)_$(System.JobAttempt)
|
|
||||||
targetPath: '$(Build.ArtifactStagingDirectory)'
|
targetPath: '$(Build.ArtifactStagingDirectory)'
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ steps:
|
|||||||
retryCountOnTaskFailure: 3
|
retryCountOnTaskFailure: 3
|
||||||
fetchFilter: blob:none
|
fetchFilter: blob:none
|
||||||
${{ if ne(parameters.sparseCheckoutDir, '') }}:
|
${{ if ne(parameters.sparseCheckoutDir, '') }}:
|
||||||
sparseCheckoutDirectories: ${{ parameters.sparseCheckoutDir }} shared
|
sparseCheckoutDirectories: ${{ parameters.sparseCheckoutDir }}
|
||||||
path: sparse
|
path: sparse
|
||||||
- ${{ if ne(parameters.sparseCheckoutDir, '') }}:
|
- ${{ if ne(parameters.sparseCheckoutDir, '') }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
|
|||||||
@@ -1,15 +1,10 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: os
|
|
||||||
type: string
|
|
||||||
default: ubuntu2204
|
|
||||||
- name: repositoryUrl
|
- name: repositoryUrl
|
||||||
type: string
|
type: string
|
||||||
default: https://download.amd.com/developer/eula/aocl/aocl-4-2
|
default: https://download.amd.com/developer/eula/aocl/aocl-4-2
|
||||||
- name: packageName
|
- name: packageName
|
||||||
type: object
|
type: string
|
||||||
default:
|
default: aocl-linux-gcc-4.2.0_1_amd64.deb
|
||||||
ubuntu2204: aocl-linux-gcc-4.2.0_1_amd64.deb
|
|
||||||
almalinux8: aocl-linux-gcc-4.2.0-1.x86_64.rpm
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
@@ -17,19 +12,16 @@ steps:
|
|||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
script: wget -nv ${{ parameters.repositoryUrl }}/${{ parameters.packageName[parameters.os] }}
|
script: wget -nv ${{ parameters.repositoryUrl }}/${{ parameters.packageName }}
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Install AOCL
|
displayName: Install AOCL
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
${{ if eq(parameters.os, 'ubuntu2204') }}:
|
script: sudo apt install -y ./${{ parameters.packageName }}
|
||||||
script: sudo apt install -y ./${{ parameters.packageName[parameters.os] }}
|
|
||||||
${{ elseif eq(parameters.os, 'almalinux8') }}:
|
|
||||||
script: sudo dnf install -y ./${{ parameters.packageName[parameters.os] }}
|
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Clean up AOCL
|
displayName: Clean up AOCL
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
script: rm -f ${{ parameters.packageName[parameters.os] }}
|
script: rm -f ${{ parameters.packageName }}
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ steps:
|
|||||||
- ${{ if eq(parameters.registerROCmPackages, true) }}:
|
- ${{ if eq(parameters.registerROCmPackages, true) }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'Register AMDGPU & ROCm repos (apt)'
|
displayName: 'Register AMDGPU & ROCm repos (apt)'
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
@@ -21,8 +20,7 @@ steps:
|
|||||||
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
|
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
|
||||||
sudo apt update
|
sudo apt update
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'APT update and install packages'
|
displayName: 'sudo apt-get update'
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
@@ -30,6 +28,15 @@ steps:
|
|||||||
echo "deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/default.list
|
echo "deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/default.list
|
||||||
echo "deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/default.list
|
echo "deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/default.list
|
||||||
echo "deb http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/default.list
|
echo "deb http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/default.list
|
||||||
sudo DEBIAN_FRONTEND=noninteractive apt-get --yes update && \
|
sudo DEBIAN_FRONTEND=noninteractive apt-get --yes update
|
||||||
sudo DEBIAN_FRONTEND=noninteractive apt-get --yes --fix-broken install && \
|
- task: Bash@3
|
||||||
sudo DEBIAN_FRONTEND=noninteractive apt-get --yes --fix-missing install ${{ join(' ', parameters.aptPackages) }}
|
displayName: 'sudo apt-get fix'
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: sudo DEBIAN_FRONTEND=noninteractive apt-get --yes --fix-broken install
|
||||||
|
- ${{ if gt(length(parameters.aptPackages), 0) }}:
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: 'sudo apt-get install ...'
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: sudo DEBIAN_FRONTEND=noninteractive apt-get --yes --fix-missing install ${{ join(' ', parameters.aptPackages) }}
|
||||||
|
|||||||
@@ -5,28 +5,51 @@ parameters:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Download and install aqlprofile
|
displayName: Get aqlprofile package name
|
||||||
retryCountOnTaskFailure: 3
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
${{ if eq(parameters.os, 'ubuntu2204') }}:
|
||||||
|
script: |
|
||||||
|
export packageName=$(curl -s https://repo.radeon.com/rocm/apt/$(REPO_RADEON_VERSION)/pool/main/h/hsa-amd-aqlprofile/ | grep -oP "href=\"\K[^\"]*$(lsb_release -rs)[^\"]*\.deb")
|
||||||
|
echo "##vso[task.setvariable variable=packageName;isreadonly=true]$packageName"
|
||||||
|
${{ if eq(parameters.os, 'almalinux8') }}:
|
||||||
|
script: |
|
||||||
|
export packageName=$(curl -s https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/ | grep -oP "hsa-amd-aqlprofile-[^\"]+\.rpm" | head -n1)
|
||||||
|
echo "##vso[task.setvariable variable=packageName;isreadonly=true]$packageName"
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: 'Download aqlprofile'
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
workingDirectory: '$(Pipeline.Workspace)'
|
||||||
|
${{ if eq(parameters.os, 'ubuntu2204') }}:
|
||||||
|
script: wget -nv https://repo.radeon.com/rocm/apt/$(REPO_RADEON_VERSION)/pool/main/h/hsa-amd-aqlprofile/$(packageName)
|
||||||
|
${{ if eq(parameters.os, 'almalinux8') }}:
|
||||||
|
script: wget -nv https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/$(packageName)
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: 'Extract aqlprofile'
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
workingDirectory: '$(Pipeline.Workspace)'
|
||||||
|
${{ if eq(parameters.os, 'ubuntu2204') }}:
|
||||||
|
script: |
|
||||||
|
mkdir hsa-amd-aqlprofile
|
||||||
|
dpkg-deb -R $(packageName) hsa-amd-aqlprofile
|
||||||
|
${{ if eq(parameters.os, 'almalinux8') }}:
|
||||||
|
script: |
|
||||||
|
mkdir hsa-amd-aqlprofile
|
||||||
|
sudo dnf -y install rpm-build cpio
|
||||||
|
rpm2cpio $(packageName) | (cd hsa-amd-aqlprofile && cpio -idmv)
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: 'Copy aqlprofile files'
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
workingDirectory: $(Agent.BuildDirectory)
|
|
||||||
script: |
|
script: |
|
||||||
set -e
|
mkdir -p $(Agent.BuildDirectory)/rocm
|
||||||
if [ "${{ parameters.os }}" = "ubuntu2204" ]; then
|
cp -R hsa-amd-aqlprofile/opt/rocm-*/* $(Agent.BuildDirectory)/rocm
|
||||||
packageName=$(curl -s https://repo.radeon.com/rocm/apt/$(REPO_RADEON_VERSION)/pool/main/h/hsa-amd-aqlprofile/ | grep -oP "href=\"\K[^\"]*$(lsb_release -rs)[^\"]*\.deb") && \
|
workingDirectory: '$(Pipeline.Workspace)'
|
||||||
wget -nv https://repo.radeon.com/rocm/apt/$(REPO_RADEON_VERSION)/pool/main/h/hsa-amd-aqlprofile/$packageName && \
|
- task: Bash@3
|
||||||
mkdir -p hsa-amd-aqlprofile && \
|
displayName: 'Clean up aqlprofile'
|
||||||
dpkg-deb -R $packageName hsa-amd-aqlprofile
|
inputs:
|
||||||
elif [ "${{ parameters.os }}" = "almalinux8" ]; then
|
targetType: inline
|
||||||
sudo dnf -y install rpm-build cpio && \
|
script: rm -rf hsa-amd-aqlprofile $(packageName)
|
||||||
packageName=$(curl -s https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/ | grep -oP "hsa-amd-aqlprofile-[^\"]+\.rpm" | head -n1) && \
|
workingDirectory: '$(Pipeline.Workspace)'
|
||||||
wget -nv https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/$packageName && \
|
|
||||||
mkdir -p hsa-amd-aqlprofile && \
|
|
||||||
rpm2cpio $packageName | (cd hsa-amd-aqlprofile && cpio -idmv)
|
|
||||||
else
|
|
||||||
echo "Unsupported OS: ${{ parameters.os }}"
|
|
||||||
exit 1
|
|
||||||
fi && \
|
|
||||||
mkdir -p $(Agent.BuildDirectory)/rocm && \
|
|
||||||
cp -R hsa-amd-aqlprofile/opt/rocm-*/* $(Agent.BuildDirectory)/rocm && \
|
|
||||||
rm -rf hsa-amd-aqlprofile $packageName
|
|
||||||
|
|||||||
@@ -1,15 +1,10 @@
|
|||||||
parameters:
|
|
||||||
- name: cmakeVersion
|
|
||||||
type: string
|
|
||||||
default: '3.31.0'
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Install CMake ${{ parameters.cmakeVersion }}
|
displayName: Install CMake 3.31
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
CMAKE_VERSION=${{ parameters.cmakeVersion }}
|
CMAKE_VERSION=3.31.0
|
||||||
CMAKE_ROOT="$(Pipeline.Workspace)/cmake"
|
CMAKE_ROOT="$(Pipeline.Workspace)/cmake"
|
||||||
|
|
||||||
echo "Downloading CMake $CMAKE_VERSION..."
|
echo "Downloading CMake $CMAKE_VERSION..."
|
||||||
@@ -52,18 +52,14 @@ parameters:
|
|||||||
libexpat-dev: expat-devel
|
libexpat-dev: expat-devel
|
||||||
libffi-dev: libffi-devel
|
libffi-dev: libffi-devel
|
||||||
libfftw3-dev: fftw-devel
|
libfftw3-dev: fftw-devel
|
||||||
libfmt-dev: fmt-devel
|
|
||||||
libgmp-dev: gmp-devel
|
libgmp-dev: gmp-devel
|
||||||
liblapack-dev: lapack-devel
|
|
||||||
liblzma-dev: xz-devel
|
liblzma-dev: xz-devel
|
||||||
libmpfr-dev: mpfr-devel
|
libmpfr-dev: mpfr-devel
|
||||||
libmsgpack-dev: msgpack-devel
|
libmsgpack-dev: msgpack-devel
|
||||||
libncurses5-dev: ncurses-devel
|
libncurses5-dev: ncurses-devel
|
||||||
libnuma-dev: numactl-devel
|
libnuma-dev: numactl-devel
|
||||||
libopenblas-dev: openblas-devel
|
|
||||||
libopenmpi-dev: openmpi-devel
|
libopenmpi-dev: openmpi-devel
|
||||||
libpci-dev: libpciaccess-devel
|
libpci-dev: libpciaccess-devel
|
||||||
libsimde-dev: simde-devel
|
|
||||||
libssl-dev: openssl-devel
|
libssl-dev: openssl-devel
|
||||||
# note: libstdc++-devel is in the base packages list
|
# note: libstdc++-devel is in the base packages list
|
||||||
libsystemd-dev: systemd-devel
|
libsystemd-dev: systemd-devel
|
||||||
@@ -90,7 +86,6 @@ steps:
|
|||||||
- ${{ if eq(parameters.registerROCmPackages, true) }}:
|
- ${{ if eq(parameters.registerROCmPackages, true) }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'Register AMDGPU & ROCm repos (dnf)'
|
displayName: 'Register AMDGPU & ROCm repos (dnf)'
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
@@ -111,13 +106,12 @@ steps:
|
|||||||
sudo dnf makecache
|
sudo dnf makecache
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'Install base dnf packages'
|
displayName: 'Install base dnf packages'
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
|
sudo dnf config-manager --set-enabled powertools
|
||||||
# rpm fusion free repo for some dependencies
|
# rpm fusion free repo for some dependencies
|
||||||
sudo dnf config-manager --set-enabled powertools && \
|
sudo dnf -y install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
|
||||||
sudo dnf -y install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm && \
|
|
||||||
sudo dnf -y install ${{ join(' ', parameters.basePackages) }}
|
sudo dnf -y install ${{ join(' ', parameters.basePackages) }}
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'Check gcc environment'
|
displayName: 'Check gcc environment'
|
||||||
@@ -131,7 +125,6 @@ steps:
|
|||||||
g++ -print-file-name=libstdc++.so
|
g++ -print-file-name=libstdc++.so
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'Set python 3.11 as default'
|
displayName: 'Set python 3.11 as default'
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
@@ -146,20 +139,18 @@ steps:
|
|||||||
- ${{ if eq(pkg, 'ninja-build') }}:
|
- ${{ if eq(pkg, 'ninja-build') }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'Install ninja 1.11.1'
|
displayName: 'Install ninja 1.11.1'
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
sudo dnf -y install unzip && \
|
curl -LO https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-linux.zip
|
||||||
curl -LO https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-linux.zip && \
|
sudo dnf -y install unzip
|
||||||
unzip ninja-linux.zip && \
|
unzip ninja-linux.zip
|
||||||
sudo mv ninja /usr/local/bin/ninja && \
|
sudo mv ninja /usr/local/bin/ninja
|
||||||
sudo chmod +x /usr/local/bin/ninja && \
|
sudo chmod +x /usr/local/bin/ninja
|
||||||
echo "##vso[task.prependpath]/usr/local/bin"
|
echo "##vso[task.prependpath]/usr/local/bin"
|
||||||
- ${{ if ne(parameters.aptToDnfMap[pkg], '') }}:
|
- ${{ if ne(parameters.aptToDnfMap[pkg], '') }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'dnf install ${{ parameters.aptToDnfMap[pkg] }}'
|
displayName: 'dnf install ${{ parameters.aptToDnfMap[pkg] }}'
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ steps:
|
|||||||
- ${{ if gt(length(parameters.pipModules), 0) }}:
|
- ${{ if gt(length(parameters.pipModules), 0) }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'pip install ...'
|
displayName: 'pip install ...'
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: python3 -m pip install -v --force-reinstall ${{ join(' ', parameters.pipModules) }}
|
script: python3 -m pip install -v --force-reinstall ${{ join(' ', parameters.pipModules) }}
|
||||||
|
|||||||
@@ -3,6 +3,13 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
- name: dependencySource # optional, overrides checkoutRef
|
||||||
|
type: string
|
||||||
|
default: null
|
||||||
|
values:
|
||||||
|
- null # empty strings aren't allowed as values, use null instead
|
||||||
|
- staging
|
||||||
|
- mainline
|
||||||
- name: dependencyList
|
- name: dependencyList
|
||||||
type: object
|
type: object
|
||||||
default: []
|
default: []
|
||||||
@@ -12,6 +19,16 @@ parameters:
|
|||||||
- name: gpuTarget
|
- name: gpuTarget
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if you're calling this template file multiple files in same pipeline
|
||||||
|
# only leave last call false to optimize sequence
|
||||||
|
- name: skipLibraryLinking
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
# set to true if llvm-project is not downloaded in a particular call
|
||||||
|
# or if you just don't want the symlink
|
||||||
|
- name: skipLlvmSymlink
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# set to true if dlopen calls for HIP libraries are causing failures
|
# set to true if dlopen calls for HIP libraries are causing failures
|
||||||
# because they do not follow shared library symlink convention
|
# because they do not follow shared library symlink convention
|
||||||
- name: setupHIPLibrarySymlinks
|
- name: setupHIPLibrarySymlinks
|
||||||
@@ -31,248 +48,309 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
AMDMIGraphX:
|
AMDMIGraphX:
|
||||||
pipelineId: 113
|
pipelineId: $(AMDMIGRAPHX_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: master
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
amdsmi:
|
amdsmi:
|
||||||
pipelineId: 376
|
pipelineId: $(AMDSMI_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: amd-staging
|
||||||
|
mainlineBranch: amd-mainline
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
aomp-extras:
|
aomp-extras:
|
||||||
pipelineId: 111
|
pipelineId: $(AOMP_EXTRAS_PIPELINE_ID)
|
||||||
developBranch: aomp-dev
|
stagingBranch: aomp-dev
|
||||||
|
mainlineBranch: aomp-dev
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
aomp:
|
aomp:
|
||||||
pipelineId: 115
|
pipelineId: $(AOMP_PIPELINE_ID)
|
||||||
developBranch: aomp-dev
|
stagingBranch: aomp-dev
|
||||||
hasGpuTarget: false
|
mainlineBranch: amd-mainline
|
||||||
aqlprofile:
|
|
||||||
pipelineId: 365
|
|
||||||
developBranch: develop
|
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
clr:
|
clr:
|
||||||
pipelineId: 335
|
pipelineId: $(CLR_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: amd-staging
|
||||||
|
mainlineBranch: amd-mainline
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
composable_kernel:
|
composable_kernel:
|
||||||
pipelineId: 86
|
pipelineId: $(COMPOSABLE_KERNEL_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
half:
|
half:
|
||||||
pipelineId: 101
|
pipelineId: $(HALF_PIPELINE_ID)
|
||||||
developBranch: rocm
|
stagingBranch: rocm
|
||||||
|
mainlineBranch: rocm
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
HIP:
|
HIP:
|
||||||
pipelineId: 335
|
pipelineId: $(HIP_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: amd-staging
|
||||||
|
mainlineBranch: amd-mainline
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
hip-tests:
|
hip-tests:
|
||||||
pipelineId: 362
|
pipelineId: $(HIP_TESTS_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: amd-staging
|
||||||
|
mainlineBranch: amd-mainline
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
hipBLAS:
|
hipBLAS:
|
||||||
pipelineId: 317
|
pipelineId: $(HIPBLAS_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
hipBLASLt:
|
hipBLASLt:
|
||||||
pipelineId: 301
|
pipelineId: $(HIPBLASLT_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
hipBLAS-common:
|
hipBLAS-common:
|
||||||
pipelineId: 300
|
pipelineId: $(HIPBLAS_COMMON_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
hipCUB:
|
hipCUB:
|
||||||
pipelineId: 277
|
pipelineId: $(HIPCUB_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: develop
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
hipFFT:
|
hipFFT:
|
||||||
pipelineId: 283
|
pipelineId: $(HIPFFT_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
hipfort:
|
hipfort:
|
||||||
pipelineId: 102
|
pipelineId: $(HIPFORT_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
HIPIFY:
|
HIPIFY:
|
||||||
pipelineId: 92
|
pipelineId: $(HIPIFY_PIPELINE_ID)
|
||||||
developBranch: amd-staging
|
stagingBranch: amd-staging
|
||||||
|
mainlineBranch: amd-mainline
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
hipRAND:
|
hipRAND:
|
||||||
pipelineId: 275
|
pipelineId: $(HIPRAND_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: develop
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
hipSOLVER:
|
hipSOLVER:
|
||||||
pipelineId: 84
|
pipelineId: $(HIPSOLVER_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
hipSPARSE:
|
hipSPARSE:
|
||||||
pipelineId: 315
|
pipelineId: $(HIPSPARSE_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
hipSPARSELt:
|
hipSPARSELt:
|
||||||
pipelineId: 309
|
pipelineId: $(HIPSPARSELT_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
hipTensor:
|
hipTensor:
|
||||||
pipelineId: 374
|
pipelineId: $(HIPTENSOR_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
llvm-project:
|
llvm-project:
|
||||||
pipelineId: 2
|
pipelineId: $(LLVM_PROJECT_PIPELINE_ID)
|
||||||
developBranch: amd-staging
|
stagingBranch: amd-staging
|
||||||
|
mainlineBranch: amd-mainline
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
MIOpen:
|
MIOpen:
|
||||||
pipelineId: 320
|
pipelineId: $(MIOpen_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: amd-master
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
MIVisionX:
|
MIVisionX:
|
||||||
pipelineId: 80
|
pipelineId: $(MIVISIONX_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: master
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
origami:
|
omnitrace: # deprecated
|
||||||
pipelineId: 364
|
pipelineId: $(OMNITRACE_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: amd-staging
|
||||||
|
mainlineBranch: amd-mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rccl:
|
rccl:
|
||||||
pipelineId: 107
|
pipelineId: $(RCCL_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rdc:
|
rdc:
|
||||||
pipelineId: 360
|
pipelineId: $(RDC_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: amd-staging
|
||||||
|
mainlineBranch: amd-mainline
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocAL:
|
rocAL:
|
||||||
pipelineId: 151
|
pipelineId: $(ROCAL_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocALUTION:
|
rocALUTION:
|
||||||
pipelineId: 89
|
pipelineId: $(ROCALUTION_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocBLAS:
|
rocBLAS:
|
||||||
pipelineId: 302
|
pipelineId: $(ROCBLAS_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
ROCdbgapi:
|
ROCdbgapi:
|
||||||
pipelineId: 135
|
pipelineId: $(ROCDBGAPI_PIPELINE_ID)
|
||||||
developBranch: amd-staging
|
stagingBranch: amd-staging
|
||||||
|
mainlineBranch: amd-mainline
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocDecode:
|
rocDecode:
|
||||||
pipelineId: 79
|
pipelineId: $(ROCDECODE_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocFFT:
|
rocFFT:
|
||||||
pipelineId: 282
|
pipelineId: $(ROCFFT_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
ROCgdb:
|
ROCgdb:
|
||||||
pipelineId: 134
|
pipelineId: $(ROCGDB_PIPELINE_ID)
|
||||||
developBranch: amd-staging
|
stagingBranch: amd-staging
|
||||||
|
mainlineBranch: amd-mainline-rocgdb-15
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocJPEG:
|
rocJPEG:
|
||||||
pipelineId: 262
|
pipelineId: $(ROCJPEG_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocm-cmake:
|
rocm-cmake:
|
||||||
pipelineId: 6
|
pipelineId: $(ROCM_CMAKE_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocm-core:
|
rocm-core:
|
||||||
pipelineId: 349
|
pipelineId: $(ROCM_CORE_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: master
|
||||||
|
mainlineBranch: amd-master
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocm-examples:
|
rocm-examples:
|
||||||
pipelineId: 216
|
pipelineId: $(ROCM_EXAMPLES_PIPELINE_ID)
|
||||||
developBranch: amd-staging
|
stagingBranch: amd-staging
|
||||||
|
mainlineBranch: amd-mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocminfo:
|
rocminfo:
|
||||||
pipelineId: 356
|
pipelineId: $(ROCMINFO_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: amd-staging
|
||||||
|
mainlineBranch: amd-mainline
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocMLIR:
|
rocMLIR:
|
||||||
pipelineId: 229
|
pipelineId: $(ROCMLIR_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
ROCmValidationSuite:
|
ROCmValidationSuite:
|
||||||
pipelineId: 106
|
pipelineId: $(ROCMVALIDATIONSUITE_PIPELINE_ID)
|
||||||
developBranch: master
|
stagingBranch: master
|
||||||
|
mainlineBranch: master
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocm_bandwidth_test:
|
rocm_bandwidth_test:
|
||||||
pipelineId: 88
|
pipelineId: $(ROCM_BANDWIDTH_TEST_PIPELINE_ID)
|
||||||
developBranch: master
|
stagingBranch: master
|
||||||
|
mainlineBranch: master
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocm_smi_lib:
|
rocm_smi_lib:
|
||||||
pipelineId: 358
|
pipelineId: $(ROCM_SMI_LIB_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: amd-staging
|
||||||
|
mainlineBranch: amd-mainline
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocPRIM:
|
rocPRIM:
|
||||||
pipelineId: 273
|
pipelineId: $(ROCPRIM_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: develop
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocprofiler:
|
rocprofiler:
|
||||||
pipelineId: 329
|
pipelineId: $(ROCPROFILER_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: amd-staging
|
||||||
|
mainlineBranch: amd-master
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocprofiler-compute:
|
rocprofiler-compute:
|
||||||
pipelineId: 344
|
pipelineId: $(ROCPROFILER_COMPUTE_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: amd-mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocprofiler-register:
|
rocprofiler-register:
|
||||||
pipelineId: 327
|
pipelineId: $(ROCPROFILER_REGISTER_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: amd-staging
|
||||||
|
mainlineBranch: amd-mainline
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocprofiler-sdk:
|
rocprofiler-sdk:
|
||||||
pipelineId: 347
|
pipelineId: $(ROCPROFILER_SDK_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: amd-staging
|
||||||
|
mainlineBranch: amd-mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocprofiler-systems:
|
rocprofiler-systems:
|
||||||
pipelineId: 345
|
pipelineId: $(ROCPROFILER_SYSTEMS_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: amd-staging
|
||||||
|
mainlineBranch: amd-mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocPyDecode:
|
rocPyDecode:
|
||||||
pipelineId: 239
|
pipelineId: $(ROCPYDECODE_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
ROCR-Runtime:
|
ROCR-Runtime:
|
||||||
pipelineId: 354
|
pipelineId: $(ROCR_RUNTIME_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: amd-staging
|
||||||
|
mainlineBranch: amd-mainline
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocRAND:
|
rocRAND:
|
||||||
pipelineId: 274
|
pipelineId: $(ROCRAND_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: develop
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocr_debug_agent:
|
rocr_debug_agent:
|
||||||
pipelineId: 136
|
pipelineId: $(ROCR_DEBUG_AGENT_PIPELINE_ID)
|
||||||
developBranch: amd-staging
|
stagingBranch: amd-staging
|
||||||
|
mainlineBranch: amd-mainline
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocSOLVER:
|
rocSOLVER:
|
||||||
pipelineId: 81
|
pipelineId: $(ROCSOLVER_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocSPARSE:
|
rocSPARSE:
|
||||||
pipelineId: 314
|
pipelineId: $(ROCSPARSE_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
|
ROCT-Thunk-Interface: # deprecated
|
||||||
|
pipelineId: $(ROCT_THUNK_INTERFACE_PIPELINE_ID)
|
||||||
|
stagingBranch: master
|
||||||
|
mainlineBranch: master
|
||||||
|
hasGpuTarget: false
|
||||||
rocThrust:
|
rocThrust:
|
||||||
pipelineId: 276
|
pipelineId: $(ROCTHRUST_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: develop
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
roctracer:
|
roctracer:
|
||||||
pipelineId: 331
|
pipelineId: $(ROCTRACER_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: amd-staging
|
||||||
|
mainlineBranch: amd-mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocWMMA:
|
rocWMMA:
|
||||||
pipelineId: 370
|
pipelineId: $(ROCWMMA_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rpp:
|
rpp:
|
||||||
pipelineId: 78
|
pipelineId: $(RPP_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
TransferBench:
|
TransferBench:
|
||||||
pipelineId: 265
|
pipelineId: $(TRANSFERBENCH_PIPELINE_ID)
|
||||||
developBranch: develop
|
stagingBranch: develop
|
||||||
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -288,44 +366,72 @@ steps:
|
|||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ split(dependency, ':')[0] }}
|
componentName: ${{ split(dependency, ':')[0] }}
|
||||||
pipelineId: ${{ parameters.componentVarList[split(dependency, ':')[0]].pipelineId }}
|
pipelineId: ${{ parameters.componentVarList[split(dependency, ':')[0]].pipelineId }}
|
||||||
branchName: ${{ parameters.componentVarList[split(dependency, ':')[0]].developBranch }}
|
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
extractAndDeleteFiles: false
|
${{ if parameters.componentVarList[split(dependency, ':')[0]].hasGpuTarget }}:
|
||||||
|
fileFilter: "${{ split(dependency, ':')[1] }}*_${{ parameters.os }}_${{ parameters.gpuTarget }}"
|
||||||
|
# dependencySource = staging
|
||||||
|
${{ if eq(parameters.dependencySource, 'staging')}}:
|
||||||
|
branchName: ${{ parameters.componentVarList[split(dependency, ':')[0]].stagingBranch }}
|
||||||
|
# dependencySource = mainline
|
||||||
|
${{ elseif eq(parameters.dependencySource, 'mainline')}}:
|
||||||
|
branchName: ${{ parameters.componentVarList[split(dependency, ':')[0]].mainlineBranch }}
|
||||||
|
# checkoutRef = staging
|
||||||
|
${{ elseif eq(parameters.checkoutRef, parameters.componentVarList[variables['Build.DefinitionName']].stagingBranch) }}:
|
||||||
|
branchName: ${{ parameters.componentVarList[split(dependency, ':')[0]].stagingBranch }}
|
||||||
|
# checkoutRef = mainline
|
||||||
|
${{ elseif eq(parameters.checkoutRef, parameters.componentVarList[variables['Build.DefinitionName']].mainlineBranch) }}:
|
||||||
|
branchName: ${{ parameters.componentVarList[split(dependency, ':')[0]].mainlineBranch }}
|
||||||
|
# SourceBranchName = staging
|
||||||
|
${{ elseif eq(variables['Build.SourceBranchName'], parameters.componentVarlist[variables['Build.DefinitionName']].stagingBranch) }}:
|
||||||
|
branchName: ${{ parameters.componentVarList[split(dependency, ':')[0]].stagingBranch }}
|
||||||
|
# SourceBranchName = mainline
|
||||||
|
${{ elseif eq(variables['Build.SourceBranchName'], parameters.componentVarlist[variables['Build.DefinitionName']].mainlineBranch) }}:
|
||||||
|
branchName: ${{ parameters.componentVarList[split(dependency, ':')[0]].mainlineBranch }}
|
||||||
|
# default = staging
|
||||||
|
${{ else }}:
|
||||||
|
branchName: ${{ parameters.componentVarList[split(dependency, ':')[0]].stagingBranch }}
|
||||||
# no colon (:) found in this item in the list
|
# no colon (:) found in this item in the list
|
||||||
- ${{ elseif containsValue(split(parameters.downstreamAggregateNames, '+'), dependency) }}:
|
- ${{ elseif containsValue(split(parameters.downstreamAggregateNames, '+'), dependency) }}:
|
||||||
- template: local-artifact-download.yml
|
- template: local-artifact-download.yml
|
||||||
parameters:
|
parameters:
|
||||||
buildType: current
|
|
||||||
preTargetFilter: ${{ dependency }}
|
|
||||||
os: ${{ parameters.os }}
|
|
||||||
${{ if parameters.componentVarList[dependency].hasGpuTarget }}:
|
${{ if parameters.componentVarList[dependency].hasGpuTarget }}:
|
||||||
gpuTarget: ${{ parameters.gpuTarget }}
|
gpuTarget: ${{ parameters.gpuTarget }}
|
||||||
|
preTargetFilter: ${{ dependency }}
|
||||||
|
os: ${{ parameters.os }}
|
||||||
|
buildType: current
|
||||||
- ${{ else }}:
|
- ${{ else }}:
|
||||||
- template: artifact-download.yml
|
- template: artifact-download.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ dependency }}
|
componentName: ${{ dependency }}
|
||||||
pipelineId: ${{ parameters.componentVarList[dependency].pipelineId }}
|
pipelineId: ${{ parameters.componentVarList[dependency].pipelineId }}
|
||||||
branchName: ${{ parameters.componentVarList[dependency].developBranch }}
|
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
extractAndDeleteFiles: false
|
|
||||||
${{ if parameters.componentVarList[dependency].hasGpuTarget }}:
|
${{ if parameters.componentVarList[dependency].hasGpuTarget }}:
|
||||||
fileFilter: ${{ parameters.os }}_${{ parameters.gpuTarget }}
|
fileFilter: ${{ parameters.os }}_${{ parameters.gpuTarget }}
|
||||||
${{ else }}:
|
${{ else }}:
|
||||||
fileFilter: ${{ parameters.os }}
|
fileFilter: ${{ parameters.os }}
|
||||||
- task: ExtractFiles@1
|
# dependencySource = staging
|
||||||
displayName: Extract ROCm artifacts
|
${{ if eq(parameters.dependencySource, 'staging')}}:
|
||||||
inputs:
|
branchName: ${{ parameters.componentVarList[dependency].stagingBranch }}
|
||||||
archiveFilePatterns: $(Pipeline.Workspace)/d/**/*.tar.gz
|
# dependencySource = mainline
|
||||||
destinationFolder: $(Agent.BuildDirectory)/rocm
|
${{ elseif eq(parameters.dependencySource, 'mainline')}}:
|
||||||
cleanDestinationFolder: false
|
branchName: ${{ parameters.componentVarList[dependency].mainlineBranch }}
|
||||||
overwriteExistingFiles: true
|
# checkoutRef = staging
|
||||||
- task: DeleteFiles@1
|
${{ elseif eq(parameters.checkoutRef, parameters.componentVarList[variables['Build.DefinitionName']].stagingBranch) }}:
|
||||||
displayName: Clean up ROCm artifacts
|
branchName: ${{ parameters.componentVarList[dependency].stagingBranch }}
|
||||||
inputs:
|
# checkoutRef = mainline
|
||||||
SourceFolder: $(Pipeline.Workspace)/d
|
${{ elseif eq(parameters.checkoutRef, parameters.componentVarList[variables['Build.DefinitionName']].mainlineBranch) }}:
|
||||||
Contents: '**/*.tar.gz'
|
branchName: ${{ parameters.componentVarList[dependency].mainlineBranch }}
|
||||||
RemoveDotFiles: true
|
# SourceBranchName = staging
|
||||||
- ${{ if containsValue(parameters.dependencyList, 'llvm-project') }}:
|
${{ elseif eq(variables['Build.SourceBranchName'], parameters.componentVarlist[variables['Build.DefinitionName']].stagingBranch) }}:
|
||||||
|
branchName: ${{ parameters.componentVarList[dependency].stagingBranch }}
|
||||||
|
# SourceBranchName = mainline
|
||||||
|
${{ elseif eq(variables['Build.SourceBranchName'], parameters.componentVarlist[variables['Build.DefinitionName']].mainlineBranch) }}:
|
||||||
|
branchName: ${{ parameters.componentVarList[dependency].mainlineBranch }}
|
||||||
|
# default = staging
|
||||||
|
${{ else }}:
|
||||||
|
branchName: ${{ parameters.componentVarList[dependency].stagingBranch }}
|
||||||
|
# Set link to redirect llvm folder
|
||||||
|
- ${{ if eq(parameters.skipLlvmSymlink, false) }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Symlink from rocm/llvm to rocm/lib/llvm
|
displayName: Symlink from rocm/llvm to rocm/lib/llvm
|
||||||
inputs:
|
inputs:
|
||||||
@@ -333,7 +439,6 @@ steps:
|
|||||||
script: |
|
script: |
|
||||||
sudo mkdir -p $(Agent.BuildDirectory)/rocm/lib
|
sudo mkdir -p $(Agent.BuildDirectory)/rocm/lib
|
||||||
sudo ln -sr $(Agent.BuildDirectory)/rocm/llvm $(Agent.BuildDirectory)/rocm/lib/llvm
|
sudo ln -sr $(Agent.BuildDirectory)/rocm/llvm $(Agent.BuildDirectory)/rocm/lib/llvm
|
||||||
echo "Created symlink from rocm/llvm to rocm/lib/llvm"
|
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Symlink executables from rocm/llvm/bin to rocm/bin
|
displayName: Symlink executables from rocm/llvm/bin to rocm/bin
|
||||||
inputs:
|
inputs:
|
||||||
@@ -341,14 +446,7 @@ steps:
|
|||||||
script: |
|
script: |
|
||||||
for file in amdclang amdclang++ amdclang-cl amdclang-cpp amdflang amdlld aompcc mygpu mycpu offload-arch; do
|
for file in amdclang amdclang++ amdclang-cl amdclang-cpp amdflang amdlld aompcc mygpu mycpu offload-arch; do
|
||||||
sudo ln -sr $(Agent.BuildDirectory)/rocm/llvm/bin/$file $(Agent.BuildDirectory)/rocm/bin/$file
|
sudo ln -sr $(Agent.BuildDirectory)/rocm/llvm/bin/$file $(Agent.BuildDirectory)/rocm/bin/$file
|
||||||
echo "Created symlink from rocm/llvm/bin/$file to rocm/bin/$file"
|
|
||||||
done
|
done
|
||||||
- ${{ if containsValue(parameters.dependencyList, 'rocm-core') }}:
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Print rocm/.info/version
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: cat $(Agent.BuildDirectory)/rocm/.info/version
|
|
||||||
# dlopen calls within a ctest or pytest sequence runs into issues when shared library symlink convention is not followed
|
# dlopen calls within a ctest or pytest sequence runs into issues when shared library symlink convention is not followed
|
||||||
# the convention is as follows:
|
# the convention is as follows:
|
||||||
# unversioned .so is a symlink to major version .so
|
# unversioned .so is a symlink to major version .so
|
||||||
@@ -385,16 +483,17 @@ steps:
|
|||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: ls -la1R $(Agent.BuildDirectory)/rocm
|
script: ls -la1R $(Agent.BuildDirectory)/rocm
|
||||||
- task: Bash@3
|
- ${{ if eq(parameters.skipLibraryLinking, false) }}:
|
||||||
displayName: 'Link ROCm shared libraries'
|
- task: Bash@3
|
||||||
inputs:
|
displayName: 'Link ROCm shared libraries'
|
||||||
targetType: inline
|
inputs:
|
||||||
# OS ignores if the ROCm lib folder shows up more than once
|
targetType: inline
|
||||||
script: |
|
# OS ignores if the ROCm lib folder shows up more than once
|
||||||
echo $(Agent.BuildDirectory)/rocm/lib | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
script: |
|
||||||
echo $(Agent.BuildDirectory)/rocm/llvm/lib | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
echo $(Agent.BuildDirectory)/rocm/lib | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
||||||
echo $(Agent.BuildDirectory)/rocm/lib64 | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
echo $(Agent.BuildDirectory)/rocm/llvm/lib | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
||||||
echo $(Agent.BuildDirectory)/rocm/llvm/lib64 | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
echo $(Agent.BuildDirectory)/rocm/lib64 | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
||||||
sudo cat /etc/ld.so.conf.d/rocm-ci.conf
|
echo $(Agent.BuildDirectory)/rocm/llvm/lib64 | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
||||||
sudo ldconfig -v
|
sudo cat /etc/ld.so.conf.d/rocm-ci.conf
|
||||||
ldconfig -p
|
sudo ldconfig -v
|
||||||
|
ldconfig -p
|
||||||
|
|||||||
@@ -8,20 +8,15 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
boost: 250
|
boost: 250
|
||||||
catch2: 343
|
|
||||||
fmtlib: 341
|
|
||||||
grpc: 72
|
grpc: 72
|
||||||
gtest: 73
|
gtest: 73
|
||||||
half560: 68
|
half560: 68
|
||||||
lapack: 69
|
lapack: 69
|
||||||
libdivide: 342
|
|
||||||
spdlog: 340
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- ${{ each dependency in parameters.dependencyList }}:
|
- ${{ each dependency in parameters.dependencyList }}:
|
||||||
- task: DownloadPipelineArtifact@2
|
- task: DownloadPipelineArtifact@2
|
||||||
displayName: Download ${{ dependency }}
|
displayName: Download ${{ dependency }}
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
inputs:
|
||||||
project: ROCm-CI
|
project: ROCm-CI
|
||||||
buildType: specific
|
buildType: specific
|
||||||
@@ -33,7 +28,7 @@ steps:
|
|||||||
inputs:
|
inputs:
|
||||||
archiveFilePatterns: '$(Pipeline.Workspace)/d/**/*.tar.gz'
|
archiveFilePatterns: '$(Pipeline.Workspace)/d/**/*.tar.gz'
|
||||||
destinationFolder: $(Agent.BuildDirectory)/vendor
|
destinationFolder: $(Agent.BuildDirectory)/vendor
|
||||||
cleanDestinationFolder: false
|
cleanDestinationFolder: true
|
||||||
overwriteExistingFiles: true
|
overwriteExistingFiles: true
|
||||||
- task: DeleteFiles@1
|
- task: DeleteFiles@1
|
||||||
displayName: Clean up ${{ dependency }}
|
displayName: Clean up ${{ dependency }}
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ parameters:
|
|||||||
steps:
|
steps:
|
||||||
- task: DownloadPipelineArtifact@2
|
- task: DownloadPipelineArtifact@2
|
||||||
displayName: Download ${{ parameters.preTargetFilter}}*${{ parameters.os }}_${{ parameters.gpuTarget}}*${{ parameters.postTargetFilter}}
|
displayName: Download ${{ parameters.preTargetFilter}}*${{ parameters.os }}_${{ parameters.gpuTarget}}*${{ parameters.postTargetFilter}}
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
inputs:
|
||||||
${{ if eq(parameters.buildType, 'specific') }}:
|
${{ if eq(parameters.buildType, 'specific') }}:
|
||||||
buildType: specific
|
buildType: specific
|
||||||
|
|||||||
@@ -23,14 +23,13 @@ steps:
|
|||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
${{ iif(or(eq(parameters.os, 'ubuntu2204'), eq(parameters.os, 'ubuntu2404')), 'sudo apt-get install -y jq', '') }}
|
sudo apt-get install -y jq
|
||||||
|
|
||||||
# RESOURCES_REPOSITORIES is a runtime variable (not an env var!) that contains quotations and newlines
|
# RESOURCES_REPOSITORIES is a runtime variable (not an env var!) that contains quotations and newlines
|
||||||
# So we need to save it to a file to properly preserve its formatting and contents
|
# So we need to save it to a file to properly preserve its formatting and contents
|
||||||
cat <<EOF > resources.repositories
|
cat <<EOF > resources.repositories
|
||||||
$(RESOURCES_REPOSITORIES)
|
$(RESOURCES_REPOSITORIES)
|
||||||
EOF
|
EOF
|
||||||
echo "Value of resources.repositories:"
|
|
||||||
cat resources.repositories
|
cat resources.repositories
|
||||||
|
|
||||||
IS_TAG_BUILD=$(jq 'has("release_repo")' resources.repositories)
|
IS_TAG_BUILD=$(jq 'has("release_repo")' resources.repositories)
|
||||||
@@ -67,6 +66,8 @@ steps:
|
|||||||
)
|
)
|
||||||
' resources.repositories)
|
' resources.repositories)
|
||||||
|
|
||||||
|
manifest_json=$(Build.ArtifactStagingDirectory)/manifest_${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.json
|
||||||
|
|
||||||
dependencies=()
|
dependencies=()
|
||||||
for manifest_file in $(Pipeline.Workspace)/d/**/manifest_*.json; do
|
for manifest_file in $(Pipeline.Workspace)/d/**/manifest_*.json; do
|
||||||
echo "Processing $manifest_file"
|
echo "Processing $manifest_file"
|
||||||
@@ -77,10 +78,6 @@ steps:
|
|||||||
done
|
done
|
||||||
dependencies_json=$(printf '%s\n' "${dependencies[@]}" | jq -s '.')
|
dependencies_json=$(printf '%s\n' "${dependencies[@]}" | jq -s '.')
|
||||||
|
|
||||||
manifest_filename="manifest_${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}"
|
|
||||||
echo "##vso[task.setvariable variable=manifest_filename]$manifest_filename"
|
|
||||||
manifest_json=$(Build.ArtifactStagingDirectory)/$manifest_filename.json
|
|
||||||
|
|
||||||
jq -n \
|
jq -n \
|
||||||
--argjson current "$current" \
|
--argjson current "$current" \
|
||||||
--argjson dependencies "$dependencies_json" \
|
--argjson dependencies "$dependencies_json" \
|
||||||
@@ -114,14 +111,8 @@ steps:
|
|||||||
')
|
')
|
||||||
dependencies_rows=$(echo $dependencies_rows)
|
dependencies_rows=$(echo $dependencies_rows)
|
||||||
echo "##vso[task.setvariable variable=dependencies_rows;]$dependencies_rows"
|
echo "##vso[task.setvariable variable=dependencies_rows;]$dependencies_rows"
|
||||||
- task: Bash@3
|
|
||||||
displayName: Print manifest.json
|
cat $manifest_json
|
||||||
condition: always()
|
|
||||||
continueOnError: true
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
cat $(Build.ArtifactStagingDirectory)/$(manifest_filename).json
|
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Create manifest.html
|
displayName: Create manifest.html
|
||||||
condition: always()
|
condition: always()
|
||||||
@@ -129,10 +120,10 @@ steps:
|
|||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
manifest_html="$(Build.ArtifactStagingDirectory)/$(manifest_filename).html"
|
manifest_html=$(Build.ArtifactStagingDirectory)/manifest_${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.html
|
||||||
cat <<EOF > $manifest_html
|
cat <<EOF > $manifest_html
|
||||||
<html>
|
<html>
|
||||||
<h1>$(manifest_filename)</h1>
|
<h1>Manifest</h1>
|
||||||
<h2>Current</h2>
|
<h2>Current</h2>
|
||||||
<table border="1">
|
<table border="1">
|
||||||
<tr>
|
<tr>
|
||||||
@@ -172,7 +163,7 @@ steps:
|
|||||||
continueOnError: true
|
continueOnError: true
|
||||||
inputs:
|
inputs:
|
||||||
tabName: Manifest
|
tabName: Manifest
|
||||||
reportDir: $(Build.ArtifactStagingDirectory)/$(manifest_filename).html
|
reportDir: $(Build.ArtifactStagingDirectory)/manifest_${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.html
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Save manifest artifact file name
|
displayName: Save manifest artifact file name
|
||||||
condition: always()
|
condition: always()
|
||||||
@@ -181,5 +172,5 @@ steps:
|
|||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
echo "$(manifest_filename).html" >> pipelineArtifacts.txt
|
echo "manifest_${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.html" >> pipelineArtifacts.txt
|
||||||
echo "$(manifest_filename).json" >> pipelineArtifacts.txt
|
echo "manifest_${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.json" >> pipelineArtifacts.txt
|
||||||
|
|||||||
@@ -7,16 +7,17 @@ steps:
|
|||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
name: downloadCKBuild
|
name: downloadCKBuild
|
||||||
displayName: Download specific CK build
|
displayName: Download specific CK build
|
||||||
retryCountOnTaskFailure: 3
|
continueOnError: true
|
||||||
env:
|
env:
|
||||||
CXX: $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
CXX: $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
CC: $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
CC: $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
workingDirectory: $(Agent.BuildDirectory)/s
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
script: |
|
script: |
|
||||||
AZ_API="https://dev.azure.com/ROCm-CI/ROCm-CI/_apis"
|
AZ_API="https://dev.azure.com/ROCm-CI/ROCm-CI/_apis"
|
||||||
GH_API="https://api.github.com/repos/ROCm"
|
GH_API="https://api.github.com/repos/ROCm"
|
||||||
|
ARTIFACT_NAME="composablekernelbuild${{ parameters.gpuTarget }}"
|
||||||
EXIT_CODE=0
|
EXIT_CODE=0
|
||||||
|
|
||||||
# Try to find an Azure build for the specific CK commit called out in MIOpen's requirements.txt
|
# Try to find an Azure build for the specific CK commit called out in MIOpen's requirements.txt
|
||||||
@@ -38,15 +39,8 @@ steps:
|
|||||||
echo "Found specific CK build ID: $CK_BUILD_ID"
|
echo "Found specific CK build ID: $CK_BUILD_ID"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AZURE_URL="$AZ_API/build/builds/$CK_BUILD_ID/artifacts?api-version=7.1"
|
AZURE_URL="$AZ_API/build/builds/$CK_BUILD_ID/artifacts?artifactName=$ARTIFACT_NAME&api-version=7.1"
|
||||||
ARTIFACT_URL=$(curl -s $AZURE_URL | \
|
ARTIFACT_URL=$(curl -s $AZURE_URL | jq '.resource.downloadUrl' | tr -d '"')
|
||||||
jq --arg gfx "${{ parameters.gpuTarget }}" '
|
|
||||||
.value
|
|
||||||
| map(select(.name | test($gfx)))
|
|
||||||
| max_by(.name | capture("_(?<dropNumber>\\d+)").dropNumber | tonumber)
|
|
||||||
| .resource.downloadUrl
|
|
||||||
' | \
|
|
||||||
tr -d '"')
|
|
||||||
|
|
||||||
# If using the specific CK commit and it doesn't have any valid artifacts, use latest successful CK build instead
|
# If using the specific CK commit and it doesn't have any valid artifacts, use latest successful CK build instead
|
||||||
if { [[ -z "$ARTIFACT_URL" ]] || [[ "$ARTIFACT_URL" == "null" ]]; } && [[ $EXIT_CODE -eq 0 ]]; then
|
if { [[ -z "$ARTIFACT_URL" ]] || [[ "$ARTIFACT_URL" == "null" ]]; } && [[ $EXIT_CODE -eq 0 ]]; then
|
||||||
@@ -54,45 +48,17 @@ steps:
|
|||||||
LATEST_BUILD_URL="$AZ_API/build/builds?definitions=$(COMPOSABLE_KERNEL_PIPELINE_ID)&statusFilter=completed&resultFilter=succeeded&\$top=1&api-version=7.1"
|
LATEST_BUILD_URL="$AZ_API/build/builds?definitions=$(COMPOSABLE_KERNEL_PIPELINE_ID)&statusFilter=completed&resultFilter=succeeded&\$top=1&api-version=7.1"
|
||||||
CK_BUILD_ID=$(curl -s $LATEST_BUILD_URL | jq '.value[0].id')
|
CK_BUILD_ID=$(curl -s $LATEST_BUILD_URL | jq '.value[0].id')
|
||||||
echo "Found latest CK build ID: $CK_BUILD_ID"
|
echo "Found latest CK build ID: $CK_BUILD_ID"
|
||||||
AZURE_URL="$AZ_API/build/builds/$CK_BUILD_ID/artifacts?api-version=7.1"
|
AZURE_URL="$AZ_API/build/builds/$CK_BUILD_ID/artifacts?artifactName=$ARTIFACT_NAME&api-version=7.1"
|
||||||
ARTIFACT_URL=$(curl -s $AZURE_URL | \
|
ARTIFACT_URL=$(curl -s $AZURE_URL | jq '.resource.downloadUrl' | tr -d '"')
|
||||||
jq --arg os "ubuntu2204" --arg gfx "${{ parameters.gpuTarget }}" '
|
|
||||||
.value
|
|
||||||
| map(select(.name | test($os) and test($gfx)))
|
|
||||||
| max_by(.name | capture("_(?<dropNumber>\\d+)").dropNumber | tonumber)
|
|
||||||
| .resource.downloadUrl
|
|
||||||
' | \
|
|
||||||
tr -d '"')
|
|
||||||
EXIT_CODE=2
|
EXIT_CODE=2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Downloading CK artifact from $ARTIFACT_URL"
|
echo "Downloading CK artifact from $ARTIFACT_URL"
|
||||||
|
wget --tries=5 --waitretry=10 --retry-connrefused -nv $ARTIFACT_URL -O $(System.ArtifactsDirectory)/ck.zip
|
||||||
RETRIES=0
|
unzip $(System.ArtifactsDirectory)/ck.zip -d $(System.ArtifactsDirectory)
|
||||||
MAX_RETRIES=5
|
mkdir -p $(Agent.BuildDirectory)/rocm
|
||||||
SUCCESS=false
|
tar -zxvf $(System.ArtifactsDirectory)/$ARTIFACT_NAME/*.tar.gz -C $(Agent.BuildDirectory)/rocm
|
||||||
while [ $RETRIES -lt $MAX_RETRIES ]; do
|
rm -r $(System.ArtifactsDirectory)/ck.zip $(System.ArtifactsDirectory)/$ARTIFACT_NAME
|
||||||
wget -nv $ARTIFACT_URL -O $(System.ArtifactsDirectory)/ck.zip && \
|
|
||||||
unzip $(System.ArtifactsDirectory)/ck.zip -d $(System.ArtifactsDirectory) && \
|
|
||||||
mkdir -p $(Agent.BuildDirectory)/rocm && \
|
|
||||||
tar -zxvf $(System.ArtifactsDirectory)/composable_kernel*/*.tar.gz -C $(Agent.BuildDirectory)/rocm && \
|
|
||||||
rm -r $(System.ArtifactsDirectory)/ck.zip $(System.ArtifactsDirectory)/composable_kernel*
|
|
||||||
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
SUCCESS=true
|
|
||||||
echo "Successfully downloaded CK."
|
|
||||||
break
|
|
||||||
else
|
|
||||||
RETRIES=$((RETRIES + 1))
|
|
||||||
echo "Failed to download CK on attempt $RETRIES/$MAX_RETRIES, retrying..."
|
|
||||||
sleep 1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ "$SUCCESS" = false ]; then
|
|
||||||
echo "ERROR: failed to download CK after $MAX_RETRIES attempts."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $EXIT_CODE -ne 0 ]]; then
|
if [[ $EXIT_CODE -ne 0 ]]; then
|
||||||
BUILD_COMMIT=$(curl -s $AZ_API/build/builds/$CK_BUILD_ID | jq '.sourceVersion' | tr -d '"')
|
BUILD_COMMIT=$(curl -s $AZ_API/build/builds/$CK_BUILD_ID | jq '.sourceVersion' | tr -d '"')
|
||||||
@@ -103,3 +69,4 @@ steps:
|
|||||||
fi
|
fi
|
||||||
echo "Instead used latest CK build $CK_BUILD_ID for commit $BUILD_COMMIT"
|
echo "Instead used latest CK build $CK_BUILD_ID for commit $BUILD_COMMIT"
|
||||||
fi
|
fi
|
||||||
|
exit $EXIT_CODE
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ parameters:
|
|||||||
default: ctest
|
default: ctest
|
||||||
- name: testParameters
|
- name: testParameters
|
||||||
type: string
|
type: string
|
||||||
default: --extra-verbose --output-on-failure --force-new-ctest-process --output-junit test_output.xml
|
default: --output-on-failure --force-new-ctest-process --output-junit test_output.xml
|
||||||
- name: extraTestParameters
|
- name: extraTestParameters
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
|||||||
@@ -23,25 +23,145 @@ variables:
|
|||||||
value: rocm-ci_high_build_pool
|
value: rocm-ci_high_build_pool
|
||||||
- name: ULTRA_BUILD_POOL
|
- name: ULTRA_BUILD_POOL
|
||||||
value: rocm-ci_ultra_build_pool
|
value: rocm-ci_ultra_build_pool
|
||||||
|
- name: ON_PREM_BUILD_POOL
|
||||||
|
value: rocm-ci_build_pool
|
||||||
|
- name: LARGE_DISK_BUILD_POOL
|
||||||
|
value: rocm-ci_larger_base_disk_pool
|
||||||
- name: GFX942_TEST_POOL
|
- name: GFX942_TEST_POOL
|
||||||
value: gfx942_test_pool
|
value: gfx942_test_pool
|
||||||
- name: GFX90A_TEST_POOL
|
- name: GFX90A_TEST_POOL
|
||||||
value: gfx90a_test_pool
|
value: gfx90a_test_pool
|
||||||
- name: LATEST_RELEASE_VERSION
|
- name: LATEST_RELEASE_VERSION
|
||||||
value: 6.4.3
|
value: 6.4.1
|
||||||
- name: REPO_RADEON_VERSION
|
- name: REPO_RADEON_VERSION
|
||||||
value: 6.4.3
|
value: 6.4.1
|
||||||
- name: NEXT_RELEASE_VERSION
|
- name: NEXT_RELEASE_VERSION
|
||||||
value: 7.0.0
|
value: 7.0.0
|
||||||
- name: LATEST_RELEASE_TAG
|
- name: LATEST_RELEASE_TAG
|
||||||
value: rocm-6.4.3
|
value: rocm-6.4.1
|
||||||
- name: DOCKER_SKIP_GFX
|
- name: DOCKER_SKIP_GFX
|
||||||
value: gfx90a
|
value: gfx90a
|
||||||
|
- name: AMDMIGRAPHX_PIPELINE_ID
|
||||||
|
value: 113
|
||||||
|
- name: AMDSMI_PIPELINE_ID
|
||||||
|
value: 99
|
||||||
|
- name: AOMP_EXTRAS_PIPELINE_ID
|
||||||
|
value: 111
|
||||||
|
- name: AOMP_PIPELINE_ID
|
||||||
|
value: 115
|
||||||
|
- name: CLR_PIPELINE_ID
|
||||||
|
value: 145
|
||||||
- name: COMPOSABLE_KERNEL_PIPELINE_ID
|
- name: COMPOSABLE_KERNEL_PIPELINE_ID
|
||||||
value: 86
|
value: 86
|
||||||
|
- name: FLANG_LEGACY_PIPELINE_ID
|
||||||
|
value: 77
|
||||||
|
- name: HALF_PIPELINE_ID
|
||||||
|
value: 101
|
||||||
- name: HALF560_PIPELINE_ID
|
- name: HALF560_PIPELINE_ID
|
||||||
value: 68
|
value: 68
|
||||||
- name: HALF560_BUILD_ID
|
- name: HALF560_BUILD_ID
|
||||||
value: 621
|
value: 621
|
||||||
- name: HIP_PIPELINE_ID
|
- name: HIP_PIPELINE_ID
|
||||||
value: 93
|
value: 93
|
||||||
|
- name: HIP_TESTS_PIPELINE_ID
|
||||||
|
value: 233
|
||||||
|
- name: HIPBLAS_COMMON_PIPELINE_ID
|
||||||
|
value: 223
|
||||||
|
- name: HIPBLAS_PIPELINE_ID
|
||||||
|
value: 87
|
||||||
|
- name: HIPBLASLT_PIPELINE_ID
|
||||||
|
value: 112
|
||||||
|
- name: HIPCUB_PIPELINE_ID
|
||||||
|
value: 277
|
||||||
|
- name: HIPFFT_PIPELINE_ID
|
||||||
|
value: 121
|
||||||
|
- name: HIPFORT_PIPELINE_ID
|
||||||
|
value: 102
|
||||||
|
- name: HIPIFY_PIPELINE_ID
|
||||||
|
value: 92
|
||||||
|
- name: HIPRAND_PIPELINE_ID
|
||||||
|
value: 275
|
||||||
|
- name: HIPSOLVER_PIPELINE_ID
|
||||||
|
value: 84
|
||||||
|
- name: HIPSPARSE_PIPELINE_ID
|
||||||
|
value: 83
|
||||||
|
- name: HIPSPARSELT_PIPELINE_ID
|
||||||
|
value: 104
|
||||||
|
- name: HIPTENSOR_PIPELINE_ID
|
||||||
|
value: 105
|
||||||
|
- name: LLVM_PROJECT_PIPELINE_ID
|
||||||
|
value: 2
|
||||||
|
- name: MIOPEN_PIPELINE_ID
|
||||||
|
value: 108
|
||||||
|
- name: MIVISIONX_PIPELINE_ID
|
||||||
|
value: 80
|
||||||
|
- name: RCCL_PIPELINE_ID
|
||||||
|
value: 107
|
||||||
|
- name: RDC_PIPELINE_ID
|
||||||
|
value: 100
|
||||||
|
- name: ROCAL_PIPELINE_ID
|
||||||
|
value: 151
|
||||||
|
- name: ROCALUTION_PIPELINE_ID
|
||||||
|
value: 89
|
||||||
|
- name: ROCBLAS_PIPELINE_ID
|
||||||
|
value: 85
|
||||||
|
- name: ROCDBGAPI_PIPELINE_ID
|
||||||
|
value: 135
|
||||||
|
- name: ROCDECODE_PIPELINE_ID
|
||||||
|
value: 79
|
||||||
|
- name: ROCFFT_PIPELINE_ID
|
||||||
|
value: 120
|
||||||
|
- name: ROCGDB_PIPELINE_ID
|
||||||
|
value: 134
|
||||||
|
- name: ROCJPEG_PIPELINE_ID
|
||||||
|
value: 262
|
||||||
|
- name: ROCM_BANDWIDTH_TEST_PIPELINE_ID
|
||||||
|
value: 88
|
||||||
|
- name: ROCM_CMAKE_PIPELINE_ID
|
||||||
|
value: 6
|
||||||
|
- name: ROCM_CORE_PIPELINE_ID
|
||||||
|
value: 103
|
||||||
|
- name: ROCM_EXAMPLES_PIPELINE_ID
|
||||||
|
value: 216
|
||||||
|
- name: ROCM_SMI_LIB_PIPELINE_ID
|
||||||
|
value: 96
|
||||||
|
- name: ROCMINFO_PIPELINE_ID
|
||||||
|
value: 91
|
||||||
|
- name: ROCMLIR_PIPELINE_ID
|
||||||
|
value: 229
|
||||||
|
- name: ROCMVALIDATIONSUITE_PIPELINE_ID
|
||||||
|
value: 106
|
||||||
|
- name: ROCPRIM_PIPELINE_ID
|
||||||
|
value: 273
|
||||||
|
- name: ROCPROFILER_COMPUTE_PIPELINE_ID
|
||||||
|
value: 257
|
||||||
|
- name: ROCPROFILER_REGISTER_PIPELINE_ID
|
||||||
|
value: 1
|
||||||
|
- name: ROCPROFILER_SDK_PIPELINE_ID
|
||||||
|
value: 246
|
||||||
|
- name: ROCPROFILER_SYSTEMS_PIPELINE_ID
|
||||||
|
value: 255
|
||||||
|
- name: ROCPROFILER_PIPELINE_ID
|
||||||
|
value: 143
|
||||||
|
- name: ROCPYDECODE_PIPELINE_ID
|
||||||
|
value: 239
|
||||||
|
- name: ROCR_DEBUG_AGENT_PIPELINE_ID
|
||||||
|
value: 136
|
||||||
|
- name: ROCR_RUNTIME_PIPELINE_ID
|
||||||
|
value: 10
|
||||||
|
- name: ROCRAND_PIPELINE_ID
|
||||||
|
value: 274
|
||||||
|
- name: ROCSOLVER_PIPELINE_ID
|
||||||
|
value: 81
|
||||||
|
- name: ROCSPARSE_PIPELINE_ID
|
||||||
|
value: 98
|
||||||
|
- name: ROCTHRUST_PIPELINE_ID
|
||||||
|
value: 276
|
||||||
|
- name: ROCTRACER_PIPELINE_ID
|
||||||
|
value: 141
|
||||||
|
- name: ROCWMMA_PIPELINE_ID
|
||||||
|
value: 109
|
||||||
|
- name: RPP_PIPELINE_ID
|
||||||
|
value: 78
|
||||||
|
- name: TRANSFERBENCH_PIPELINE_ID
|
||||||
|
value: 265
|
||||||
|
|||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,7 +1,6 @@
|
|||||||
.venv
|
.venv
|
||||||
.vscode
|
.vscode
|
||||||
build
|
build
|
||||||
__pycache__
|
|
||||||
|
|
||||||
# documentation artifacts
|
# documentation artifacts
|
||||||
_build/
|
_build/
|
||||||
|
|||||||
223
.wordlist.txt
223
.wordlist.txt
@@ -1,3 +1,44 @@
|
|||||||
|
GovReport
|
||||||
|
MLPerf
|
||||||
|
QKV
|
||||||
|
summarization
|
||||||
|
gpt
|
||||||
|
openai
|
||||||
|
oss
|
||||||
|
MXFP
|
||||||
|
SGLang
|
||||||
|
VMware
|
||||||
|
amd
|
||||||
|
bdf
|
||||||
|
compatiblity
|
||||||
|
csv
|
||||||
|
enum
|
||||||
|
json
|
||||||
|
subproject
|
||||||
|
ROCpd
|
||||||
|
rocpd
|
||||||
|
STL
|
||||||
|
XCCs
|
||||||
|
chiplets
|
||||||
|
hipRTC
|
||||||
|
nvRTC
|
||||||
|
warpSize
|
||||||
|
Datacenter
|
||||||
|
GST
|
||||||
|
IET
|
||||||
|
LTO
|
||||||
|
MX
|
||||||
|
Microscaling
|
||||||
|
NANOO
|
||||||
|
ROCprof
|
||||||
|
affinitization
|
||||||
|
amdclang
|
||||||
|
benefitting
|
||||||
|
demangled
|
||||||
|
inlined
|
||||||
|
microscaling
|
||||||
|
roofline
|
||||||
|
torchtitan
|
||||||
AAC
|
AAC
|
||||||
ABI
|
ABI
|
||||||
ACE
|
ACE
|
||||||
@@ -5,9 +46,7 @@ ACEs
|
|||||||
ACS
|
ACS
|
||||||
AccVGPR
|
AccVGPR
|
||||||
AccVGPRs
|
AccVGPRs
|
||||||
AITER
|
|
||||||
ALU
|
ALU
|
||||||
AllReduce
|
|
||||||
AMD
|
AMD
|
||||||
AMDGPU
|
AMDGPU
|
||||||
AMDGPUs
|
AMDGPUs
|
||||||
@@ -15,7 +54,6 @@ AMDMIGraphX
|
|||||||
AMI
|
AMI
|
||||||
AOCC
|
AOCC
|
||||||
AOMP
|
AOMP
|
||||||
AOT
|
|
||||||
AOTriton
|
AOTriton
|
||||||
APBDIS
|
APBDIS
|
||||||
APIC
|
APIC
|
||||||
@@ -27,7 +65,6 @@ ASICs
|
|||||||
ASan
|
ASan
|
||||||
ASAN
|
ASAN
|
||||||
ASm
|
ASm
|
||||||
Async
|
|
||||||
ATI
|
ATI
|
||||||
atomicRMW
|
atomicRMW
|
||||||
AddressSanitizer
|
AddressSanitizer
|
||||||
@@ -35,11 +72,7 @@ AlexNet
|
|||||||
Andrej
|
Andrej
|
||||||
Arb
|
Arb
|
||||||
Autocast
|
Autocast
|
||||||
autograd
|
|
||||||
Backported
|
|
||||||
BARs
|
BARs
|
||||||
BatchNorm
|
|
||||||
BKC
|
|
||||||
BLAS
|
BLAS
|
||||||
BMC
|
BMC
|
||||||
BabelStream
|
BabelStream
|
||||||
@@ -47,14 +80,11 @@ Blit
|
|||||||
Blockwise
|
Blockwise
|
||||||
Bluefield
|
Bluefield
|
||||||
Bootloader
|
Bootloader
|
||||||
Broadcom
|
|
||||||
CAS
|
CAS
|
||||||
CCD
|
CCD
|
||||||
CDNA
|
CDNA
|
||||||
CGUI
|
|
||||||
CHTML
|
CHTML
|
||||||
CIFAR
|
CIFAR
|
||||||
CNP
|
|
||||||
CLI
|
CLI
|
||||||
CLion
|
CLion
|
||||||
CMake
|
CMake
|
||||||
@@ -68,7 +98,6 @@ CPU
|
|||||||
CPUs
|
CPUs
|
||||||
Cron
|
Cron
|
||||||
CSC
|
CSC
|
||||||
CSDATA
|
|
||||||
CSE
|
CSE
|
||||||
CSV
|
CSV
|
||||||
CSn
|
CSn
|
||||||
@@ -78,11 +107,9 @@ CU
|
|||||||
CUDA
|
CUDA
|
||||||
CUs
|
CUs
|
||||||
CXX
|
CXX
|
||||||
CX
|
|
||||||
Cavium
|
Cavium
|
||||||
CentOS
|
CentOS
|
||||||
ChatGPT
|
ChatGPT
|
||||||
Cholesky
|
|
||||||
CoRR
|
CoRR
|
||||||
Codespaces
|
Codespaces
|
||||||
Commitizen
|
Commitizen
|
||||||
@@ -90,33 +117,23 @@ CommonMark
|
|||||||
Concretized
|
Concretized
|
||||||
Conda
|
Conda
|
||||||
ConnectX
|
ConnectX
|
||||||
CountOnes
|
|
||||||
CuPy
|
CuPy
|
||||||
customizable
|
|
||||||
da
|
da
|
||||||
Dashboarding
|
Dashboarding
|
||||||
Dataloading
|
|
||||||
dataflows
|
|
||||||
DBRX
|
DBRX
|
||||||
DCQCN
|
|
||||||
DDR
|
DDR
|
||||||
DF
|
DF
|
||||||
DGEMM
|
DGEMM
|
||||||
DGL
|
|
||||||
DGLGraph
|
|
||||||
dGPU
|
dGPU
|
||||||
dGPUs
|
dGPUs
|
||||||
DIMM
|
DIMM
|
||||||
DKMS
|
DKMS
|
||||||
DL
|
DL
|
||||||
DMA
|
DMA
|
||||||
DOMContentLoaded
|
|
||||||
DNN
|
DNN
|
||||||
DNNL
|
DNNL
|
||||||
DOCA
|
|
||||||
DPM
|
DPM
|
||||||
DRI
|
DRI
|
||||||
DSCP
|
|
||||||
DW
|
DW
|
||||||
DWORD
|
DWORD
|
||||||
Dask
|
Dask
|
||||||
@@ -124,33 +141,20 @@ DataFrame
|
|||||||
DataLoader
|
DataLoader
|
||||||
DataParallel
|
DataParallel
|
||||||
Debian
|
Debian
|
||||||
decompositions
|
|
||||||
DeepSeek
|
DeepSeek
|
||||||
DeepSpeed
|
DeepSpeed
|
||||||
Dependabot
|
Dependabot
|
||||||
Deprecations
|
Deprecations
|
||||||
DevCap
|
DevCap
|
||||||
DirectX
|
DirectX
|
||||||
Disaggregated
|
|
||||||
disagg
|
|
||||||
disaggregated
|
|
||||||
disaggregation
|
|
||||||
Dockerfile
|
Dockerfile
|
||||||
Dockerized
|
|
||||||
Doxygen
|
Doxygen
|
||||||
dropless
|
|
||||||
ELMo
|
ELMo
|
||||||
ENDPGM
|
ENDPGM
|
||||||
EPYC
|
EPYC
|
||||||
ESXi
|
ESXi
|
||||||
EP
|
|
||||||
EoS
|
EoS
|
||||||
etcd
|
|
||||||
equalto
|
|
||||||
fas
|
|
||||||
FBGEMM
|
FBGEMM
|
||||||
FiLM
|
|
||||||
FIFOs
|
|
||||||
FFT
|
FFT
|
||||||
FFTs
|
FFTs
|
||||||
FFmpeg
|
FFmpeg
|
||||||
@@ -162,20 +166,14 @@ FX
|
|||||||
Filesystem
|
Filesystem
|
||||||
FindDb
|
FindDb
|
||||||
Flang
|
Flang
|
||||||
FlashAttention
|
|
||||||
FlashInfer’s
|
|
||||||
FlashInfer
|
|
||||||
FluxBenchmark
|
FluxBenchmark
|
||||||
Fortran
|
Fortran
|
||||||
Fuyu
|
Fuyu
|
||||||
GALB
|
GALB
|
||||||
GAT
|
|
||||||
GATNE
|
|
||||||
GCC
|
GCC
|
||||||
GCD
|
GCD
|
||||||
GCDs
|
GCDs
|
||||||
GCN
|
GCN
|
||||||
GCNN
|
|
||||||
GDB
|
GDB
|
||||||
GDDR
|
GDDR
|
||||||
GDR
|
GDR
|
||||||
@@ -185,9 +183,6 @@ GEMMs
|
|||||||
GFLOPS
|
GFLOPS
|
||||||
GFortran
|
GFortran
|
||||||
GFXIP
|
GFXIP
|
||||||
GGUF
|
|
||||||
GID
|
|
||||||
Gbps
|
|
||||||
Gemma
|
Gemma
|
||||||
GiB
|
GiB
|
||||||
GIM
|
GIM
|
||||||
@@ -196,34 +191,24 @@ Glibc
|
|||||||
GLXT
|
GLXT
|
||||||
Gloo
|
Gloo
|
||||||
GMI
|
GMI
|
||||||
GNN
|
|
||||||
GNNs
|
|
||||||
GPG
|
GPG
|
||||||
GPR
|
GPR
|
||||||
GPT
|
GPT
|
||||||
GPU
|
GPU
|
||||||
GPU's
|
GPU's
|
||||||
GPUDirect
|
|
||||||
GPUs
|
GPUs
|
||||||
GraphBolt
|
|
||||||
GraphSage
|
|
||||||
GRBM
|
GRBM
|
||||||
GRE
|
|
||||||
GenAI
|
GenAI
|
||||||
GenZ
|
GenZ
|
||||||
GitHub
|
GitHub
|
||||||
Gitpod
|
Gitpod
|
||||||
hardcoded
|
|
||||||
HBM
|
HBM
|
||||||
HCA
|
HCA
|
||||||
HGX
|
HGX
|
||||||
HLO
|
|
||||||
HIPCC
|
HIPCC
|
||||||
hipDataType
|
|
||||||
HIPExtension
|
HIPExtension
|
||||||
HIPIFY
|
HIPIFY
|
||||||
HIPification
|
HIPification
|
||||||
hipification
|
|
||||||
HIPify
|
HIPify
|
||||||
HPC
|
HPC
|
||||||
HPCG
|
HPCG
|
||||||
@@ -235,29 +220,19 @@ HWE
|
|||||||
HWS
|
HWS
|
||||||
Haswell
|
Haswell
|
||||||
Higgs
|
Higgs
|
||||||
href
|
|
||||||
Hyperparameters
|
Hyperparameters
|
||||||
HybridEngine
|
|
||||||
Huggingface
|
Huggingface
|
||||||
Hunyuan
|
|
||||||
HunyuanVideo
|
|
||||||
IB
|
|
||||||
ICD
|
ICD
|
||||||
ICT
|
|
||||||
ICV
|
ICV
|
||||||
IDE
|
IDE
|
||||||
IDEs
|
IDEs
|
||||||
IFWI
|
IFWI
|
||||||
IMDb
|
IMDb
|
||||||
IncDec
|
IncDec
|
||||||
instrSize
|
|
||||||
interpolators
|
|
||||||
IOMMU
|
IOMMU
|
||||||
IOP
|
IOP
|
||||||
IOPS
|
|
||||||
IOPM
|
IOPM
|
||||||
IOV
|
IOV
|
||||||
IPs
|
|
||||||
IRQ
|
IRQ
|
||||||
ISA
|
ISA
|
||||||
ISV
|
ISV
|
||||||
@@ -272,9 +247,7 @@ Intersphinx
|
|||||||
Intra
|
Intra
|
||||||
Ioffe
|
Ioffe
|
||||||
JAX's
|
JAX's
|
||||||
JAXLIB
|
|
||||||
Jinja
|
Jinja
|
||||||
js
|
|
||||||
JSON
|
JSON
|
||||||
Jupyter
|
Jupyter
|
||||||
KFD
|
KFD
|
||||||
@@ -284,7 +257,6 @@ KV
|
|||||||
KVM
|
KVM
|
||||||
Karpathy's
|
Karpathy's
|
||||||
KiB
|
KiB
|
||||||
Kineto
|
|
||||||
Keras
|
Keras
|
||||||
Khronos
|
Khronos
|
||||||
LAPACK
|
LAPACK
|
||||||
@@ -294,16 +266,11 @@ LLM
|
|||||||
LLMs
|
LLMs
|
||||||
LLVM
|
LLVM
|
||||||
LM
|
LM
|
||||||
logsumexp
|
|
||||||
LRU
|
|
||||||
LSAN
|
LSAN
|
||||||
LSan
|
LSan
|
||||||
LTS
|
LTS
|
||||||
LSTMs
|
|
||||||
LteAll
|
|
||||||
LanguageCrossEntropy
|
LanguageCrossEntropy
|
||||||
LoRA
|
LoRA
|
||||||
MECO
|
|
||||||
MEM
|
MEM
|
||||||
MERCHANTABILITY
|
MERCHANTABILITY
|
||||||
MFMA
|
MFMA
|
||||||
@@ -322,8 +289,6 @@ MNIST
|
|||||||
MPI
|
MPI
|
||||||
MPT
|
MPT
|
||||||
MSVC
|
MSVC
|
||||||
MTU
|
|
||||||
mul
|
|
||||||
MVAPICH
|
MVAPICH
|
||||||
MVFFR
|
MVFFR
|
||||||
Makefile
|
Makefile
|
||||||
@@ -331,8 +296,6 @@ Makefiles
|
|||||||
Matplotlib
|
Matplotlib
|
||||||
Matrox
|
Matrox
|
||||||
MaxText
|
MaxText
|
||||||
MBT
|
|
||||||
Megablocks
|
|
||||||
Megatrends
|
Megatrends
|
||||||
Megatron
|
Megatron
|
||||||
Mellanox
|
Mellanox
|
||||||
@@ -341,20 +304,11 @@ Meta's
|
|||||||
Miniconda
|
Miniconda
|
||||||
MirroredStrategy
|
MirroredStrategy
|
||||||
Mixtral
|
Mixtral
|
||||||
MLA
|
|
||||||
MosaicML
|
MosaicML
|
||||||
MoEs
|
|
||||||
Mooncake
|
|
||||||
MoRI
|
|
||||||
Mpops
|
|
||||||
Multicore
|
Multicore
|
||||||
multihost
|
|
||||||
Multithreaded
|
Multithreaded
|
||||||
mx
|
|
||||||
MXFP
|
|
||||||
MyEnvironment
|
MyEnvironment
|
||||||
MyST
|
MyST
|
||||||
NANOO
|
|
||||||
NBIO
|
NBIO
|
||||||
NBIOs
|
NBIOs
|
||||||
NCCL
|
NCCL
|
||||||
@@ -364,7 +318,6 @@ NIC
|
|||||||
NICs
|
NICs
|
||||||
NLI
|
NLI
|
||||||
NLP
|
NLP
|
||||||
NN
|
|
||||||
NPKit
|
NPKit
|
||||||
NPS
|
NPS
|
||||||
NSP
|
NSP
|
||||||
@@ -387,7 +340,6 @@ OFED
|
|||||||
OMM
|
OMM
|
||||||
OMP
|
OMP
|
||||||
OMPI
|
OMPI
|
||||||
OOM
|
|
||||||
OMPT
|
OMPT
|
||||||
OMPX
|
OMPX
|
||||||
ONNX
|
ONNX
|
||||||
@@ -402,7 +354,6 @@ OpenMPI
|
|||||||
OpenSSL
|
OpenSSL
|
||||||
OpenVX
|
OpenVX
|
||||||
OpenXLA
|
OpenXLA
|
||||||
Optim
|
|
||||||
Oversubscription
|
Oversubscription
|
||||||
PagedAttention
|
PagedAttention
|
||||||
Pallas
|
Pallas
|
||||||
@@ -410,38 +361,28 @@ PCC
|
|||||||
PCI
|
PCI
|
||||||
PCIe
|
PCIe
|
||||||
PEFT
|
PEFT
|
||||||
perf
|
|
||||||
PEQT
|
PEQT
|
||||||
PIL
|
PIL
|
||||||
PILImage
|
PILImage
|
||||||
PJRT
|
|
||||||
PLDM
|
|
||||||
POR
|
POR
|
||||||
PRNG
|
PRNG
|
||||||
PRs
|
PRs
|
||||||
PSID
|
|
||||||
PTPC
|
|
||||||
PaLM
|
PaLM
|
||||||
Pageable
|
Pageable
|
||||||
PeerDirect
|
PeerDirect
|
||||||
Pensando
|
|
||||||
PerfDb
|
PerfDb
|
||||||
Perfetto
|
Perfetto
|
||||||
PipelineParallel
|
PipelineParallel
|
||||||
PnP
|
PnP
|
||||||
Pollara
|
|
||||||
PowerEdge
|
PowerEdge
|
||||||
PowerShell
|
PowerShell
|
||||||
Pretrained
|
Pretrained
|
||||||
Pretraining
|
Pretraining
|
||||||
Primus
|
|
||||||
Profiler's
|
Profiler's
|
||||||
PyPi
|
PyPi
|
||||||
Pytest
|
Pytest
|
||||||
PyTorch
|
PyTorch
|
||||||
QPS
|
|
||||||
Qcycles
|
Qcycles
|
||||||
QoS
|
|
||||||
Qwen
|
Qwen
|
||||||
RAII
|
RAII
|
||||||
RAS
|
RAS
|
||||||
@@ -451,7 +392,6 @@ RDC's
|
|||||||
RDMA
|
RDMA
|
||||||
RDNA
|
RDNA
|
||||||
README
|
README
|
||||||
Recomputation
|
|
||||||
RHEL
|
RHEL
|
||||||
RMW
|
RMW
|
||||||
RNN
|
RNN
|
||||||
@@ -475,7 +415,6 @@ RPP
|
|||||||
RST
|
RST
|
||||||
RW
|
RW
|
||||||
Radeon
|
Radeon
|
||||||
Redfish
|
|
||||||
RelWithDebInfo
|
RelWithDebInfo
|
||||||
Req
|
Req
|
||||||
Rickle
|
Rickle
|
||||||
@@ -485,13 +424,11 @@ Ryzen
|
|||||||
SALU
|
SALU
|
||||||
SBIOS
|
SBIOS
|
||||||
SCA
|
SCA
|
||||||
ScaledGEMM
|
|
||||||
SDK
|
SDK
|
||||||
SDMA
|
SDMA
|
||||||
SDPA
|
SDPA
|
||||||
SDRAM
|
SDRAM
|
||||||
SENDMSG
|
SENDMSG
|
||||||
SGLang
|
|
||||||
SGPR
|
SGPR
|
||||||
SGPRs
|
SGPRs
|
||||||
SHA
|
SHA
|
||||||
@@ -503,9 +440,7 @@ SKU
|
|||||||
SKUs
|
SKUs
|
||||||
SLES
|
SLES
|
||||||
SLURM
|
SLURM
|
||||||
Slurm
|
|
||||||
SMEM
|
SMEM
|
||||||
SMFMA
|
|
||||||
SMI
|
SMI
|
||||||
SMT
|
SMT
|
||||||
SPI
|
SPI
|
||||||
@@ -517,26 +452,18 @@ SWE
|
|||||||
SerDes
|
SerDes
|
||||||
ShareGPT
|
ShareGPT
|
||||||
Shlens
|
Shlens
|
||||||
simd
|
|
||||||
Skylake
|
Skylake
|
||||||
Softmax
|
Softmax
|
||||||
Spack
|
Spack
|
||||||
SplitK
|
SplitK
|
||||||
Supermicro
|
Supermicro
|
||||||
Szegedy
|
Szegedy
|
||||||
TagRAM
|
|
||||||
TCA
|
TCA
|
||||||
TCC
|
TCC
|
||||||
TCCs
|
|
||||||
TCI
|
TCI
|
||||||
TCIU
|
TCIU
|
||||||
TCP
|
TCP
|
||||||
TCR
|
TCR
|
||||||
TVM
|
|
||||||
THREADGROUPS
|
|
||||||
threadgroups
|
|
||||||
TensorRT
|
|
||||||
TensorFloat
|
|
||||||
TF
|
TF
|
||||||
TFLOPS
|
TFLOPS
|
||||||
TP
|
TP
|
||||||
@@ -549,7 +476,6 @@ TensileLite
|
|||||||
TensorBoard
|
TensorBoard
|
||||||
TensorFlow
|
TensorFlow
|
||||||
TensorParallel
|
TensorParallel
|
||||||
TheRock
|
|
||||||
ToC
|
ToC
|
||||||
TorchAudio
|
TorchAudio
|
||||||
torchaudio
|
torchaudio
|
||||||
@@ -567,7 +493,6 @@ UAC
|
|||||||
UC
|
UC
|
||||||
UCC
|
UCC
|
||||||
UCX
|
UCX
|
||||||
ud
|
|
||||||
UE
|
UE
|
||||||
UIF
|
UIF
|
||||||
UMC
|
UMC
|
||||||
@@ -578,11 +503,9 @@ UltraChat
|
|||||||
Uncached
|
Uncached
|
||||||
Unittests
|
Unittests
|
||||||
Unhandled
|
Unhandled
|
||||||
unwindowed
|
|
||||||
VALU
|
VALU
|
||||||
VBIOS
|
VBIOS
|
||||||
VCN
|
VCN
|
||||||
verl's
|
|
||||||
VGPR
|
VGPR
|
||||||
VGPRs
|
VGPRs
|
||||||
VM
|
VM
|
||||||
@@ -595,13 +518,11 @@ Vanhoucke
|
|||||||
Vulkan
|
Vulkan
|
||||||
WGP
|
WGP
|
||||||
WGPs
|
WGPs
|
||||||
WR
|
|
||||||
WX
|
WX
|
||||||
WikiText
|
WikiText
|
||||||
Wojna
|
Wojna
|
||||||
Workgroups
|
Workgroups
|
||||||
Writebacks
|
Writebacks
|
||||||
xcc
|
|
||||||
XCD
|
XCD
|
||||||
XCDs
|
XCDs
|
||||||
XGBoost
|
XGBoost
|
||||||
@@ -614,7 +535,6 @@ Xilinx
|
|||||||
Xnack
|
Xnack
|
||||||
Xteam
|
Xteam
|
||||||
YAML
|
YAML
|
||||||
YAMLs
|
|
||||||
YML
|
YML
|
||||||
YModel
|
YModel
|
||||||
ZeRO
|
ZeRO
|
||||||
@@ -622,7 +542,6 @@ ZenDNN
|
|||||||
accuracies
|
accuracies
|
||||||
activations
|
activations
|
||||||
addr
|
addr
|
||||||
addEventListener
|
|
||||||
ade
|
ade
|
||||||
ai
|
ai
|
||||||
alloc
|
alloc
|
||||||
@@ -631,14 +550,12 @@ allocator
|
|||||||
allocators
|
allocators
|
||||||
amdgpu
|
amdgpu
|
||||||
api
|
api
|
||||||
aten
|
|
||||||
atmi
|
atmi
|
||||||
atomics
|
atomics
|
||||||
autogenerated
|
autogenerated
|
||||||
autotune
|
autotune
|
||||||
avx
|
avx
|
||||||
awk
|
awk
|
||||||
az
|
|
||||||
backend
|
backend
|
||||||
backends
|
backends
|
||||||
bb
|
bb
|
||||||
@@ -656,7 +573,6 @@ boson
|
|||||||
bosons
|
bosons
|
||||||
br
|
br
|
||||||
BrainFloat
|
BrainFloat
|
||||||
btn
|
|
||||||
buildable
|
buildable
|
||||||
bursty
|
bursty
|
||||||
bzip
|
bzip
|
||||||
@@ -668,21 +584,17 @@ centric
|
|||||||
changelog
|
changelog
|
||||||
checkpointing
|
checkpointing
|
||||||
chiplet
|
chiplet
|
||||||
classList
|
|
||||||
cmake
|
cmake
|
||||||
cmd
|
cmd
|
||||||
coalescable
|
coalescable
|
||||||
codename
|
codename
|
||||||
collater
|
collater
|
||||||
comgr
|
comgr
|
||||||
compat
|
|
||||||
completers
|
completers
|
||||||
composable
|
composable
|
||||||
concretization
|
concretization
|
||||||
config
|
config
|
||||||
configs
|
|
||||||
conformant
|
conformant
|
||||||
const
|
|
||||||
constructible
|
constructible
|
||||||
convolutional
|
convolutional
|
||||||
convolves
|
convolves
|
||||||
@@ -717,14 +629,12 @@ denoised
|
|||||||
denoises
|
denoises
|
||||||
denormalize
|
denormalize
|
||||||
dequantization
|
dequantization
|
||||||
dequantized
|
|
||||||
dequantizes
|
dequantizes
|
||||||
deserializers
|
deserializers
|
||||||
detections
|
detections
|
||||||
dev
|
dev
|
||||||
devicelibs
|
devicelibs
|
||||||
devsel
|
devsel
|
||||||
dgl
|
|
||||||
dimensionality
|
dimensionality
|
||||||
disambiguates
|
disambiguates
|
||||||
distro
|
distro
|
||||||
@@ -743,13 +653,11 @@ enqueue
|
|||||||
env
|
env
|
||||||
epilog
|
epilog
|
||||||
etcetera
|
etcetera
|
||||||
eth
|
|
||||||
ethernet
|
ethernet
|
||||||
exascale
|
exascale
|
||||||
executables
|
executables
|
||||||
ffmpeg
|
ffmpeg
|
||||||
filesystem
|
filesystem
|
||||||
forEach
|
|
||||||
fortran
|
fortran
|
||||||
fp
|
fp
|
||||||
framebuffer
|
framebuffer
|
||||||
@@ -758,16 +666,13 @@ galb
|
|||||||
gcc
|
gcc
|
||||||
gdb
|
gdb
|
||||||
gemm
|
gemm
|
||||||
getAttribute
|
|
||||||
gfortran
|
gfortran
|
||||||
gfx
|
gfx
|
||||||
githooks
|
githooks
|
||||||
github
|
github
|
||||||
globals
|
globals
|
||||||
gnupg
|
gnupg
|
||||||
gpu
|
|
||||||
grayscale
|
grayscale
|
||||||
gx
|
|
||||||
gzip
|
gzip
|
||||||
heterogenous
|
heterogenous
|
||||||
hipBLAS
|
hipBLAS
|
||||||
@@ -815,12 +720,10 @@ installable
|
|||||||
interop
|
interop
|
||||||
interprocedural
|
interprocedural
|
||||||
intra
|
intra
|
||||||
intrinsics
|
|
||||||
invariants
|
invariants
|
||||||
invocating
|
invocating
|
||||||
ipo
|
ipo
|
||||||
jax
|
jax
|
||||||
json
|
|
||||||
kdb
|
kdb
|
||||||
kfd
|
kfd
|
||||||
kv
|
kv
|
||||||
@@ -834,18 +737,12 @@ linalg
|
|||||||
linearized
|
linearized
|
||||||
linter
|
linter
|
||||||
linux
|
linux
|
||||||
llm
|
|
||||||
llvm
|
llvm
|
||||||
lm
|
|
||||||
localscratch
|
localscratch
|
||||||
logits
|
logits
|
||||||
loopback
|
|
||||||
lossy
|
lossy
|
||||||
macOS
|
macOS
|
||||||
matchers
|
matchers
|
||||||
maxtext
|
|
||||||
megablocks
|
|
||||||
megatron
|
|
||||||
microarchitecture
|
microarchitecture
|
||||||
migraphx
|
migraphx
|
||||||
migratable
|
migratable
|
||||||
@@ -865,7 +762,6 @@ nanoGPT
|
|||||||
NCS
|
NCS
|
||||||
NOP
|
NOP
|
||||||
NVLink
|
NVLink
|
||||||
netplan
|
|
||||||
num
|
num
|
||||||
numref
|
numref
|
||||||
ocl
|
ocl
|
||||||
@@ -874,7 +770,6 @@ opencv
|
|||||||
openmp
|
openmp
|
||||||
openssl
|
openssl
|
||||||
optimizers
|
optimizers
|
||||||
ol
|
|
||||||
os
|
os
|
||||||
oversubscription
|
oversubscription
|
||||||
pageable
|
pageable
|
||||||
@@ -882,13 +777,10 @@ pallas
|
|||||||
parallelization
|
parallelization
|
||||||
parallelizing
|
parallelizing
|
||||||
param
|
param
|
||||||
params
|
|
||||||
parameterization
|
parameterization
|
||||||
passthrough
|
passthrough
|
||||||
pe
|
|
||||||
perfcounter
|
perfcounter
|
||||||
performant
|
performant
|
||||||
piecewise
|
|
||||||
perl
|
perl
|
||||||
pragma
|
pragma
|
||||||
pre
|
pre
|
||||||
@@ -909,14 +801,11 @@ preprocessing
|
|||||||
preprocessor
|
preprocessor
|
||||||
prequantized
|
prequantized
|
||||||
prerequisites
|
prerequisites
|
||||||
pretrain
|
|
||||||
pretraining
|
pretraining
|
||||||
primus
|
|
||||||
profiler
|
profiler
|
||||||
profilers
|
profilers
|
||||||
protobuf
|
protobuf
|
||||||
pseudorandom
|
pseudorandom
|
||||||
px
|
|
||||||
py
|
py
|
||||||
pytorch
|
pytorch
|
||||||
recommender
|
recommender
|
||||||
@@ -924,21 +813,15 @@ recommenders
|
|||||||
quantile
|
quantile
|
||||||
quantizer
|
quantizer
|
||||||
quasirandom
|
quasirandom
|
||||||
querySelector
|
|
||||||
querySelectorAll
|
|
||||||
queueing
|
queueing
|
||||||
qwen
|
|
||||||
radeon
|
radeon
|
||||||
rc
|
|
||||||
rccl
|
rccl
|
||||||
rdc
|
rdc
|
||||||
rdma
|
rdma
|
||||||
reachability
|
|
||||||
reStructuredText
|
reStructuredText
|
||||||
redirections
|
redirections
|
||||||
refactorization
|
refactorization
|
||||||
reformats
|
reformats
|
||||||
reinforcememt
|
|
||||||
repo
|
repo
|
||||||
repos
|
repos
|
||||||
representativeness
|
representativeness
|
||||||
@@ -946,9 +829,6 @@ req
|
|||||||
resampling
|
resampling
|
||||||
rescaling
|
rescaling
|
||||||
reusability
|
reusability
|
||||||
rhel
|
|
||||||
rl
|
|
||||||
RLHF
|
|
||||||
roadmap
|
roadmap
|
||||||
roc
|
roc
|
||||||
rocAL
|
rocAL
|
||||||
@@ -986,31 +866,22 @@ roctracer
|
|||||||
rst
|
rst
|
||||||
runtime
|
runtime
|
||||||
runtimes
|
runtimes
|
||||||
ResNet
|
|
||||||
sL
|
sL
|
||||||
scalability
|
scalability
|
||||||
scalable
|
scalable
|
||||||
scipy
|
scipy
|
||||||
seealso
|
seealso
|
||||||
selectattr
|
|
||||||
selectedTag
|
|
||||||
sendmsg
|
sendmsg
|
||||||
seqs
|
seqs
|
||||||
serializers
|
serializers
|
||||||
setAttribute
|
|
||||||
sglang
|
|
||||||
shader
|
shader
|
||||||
sharding
|
sharding
|
||||||
sigmoid
|
sigmoid
|
||||||
sles
|
|
||||||
slurm
|
|
||||||
sm
|
sm
|
||||||
smi
|
smi
|
||||||
softmax
|
softmax
|
||||||
spack
|
spack
|
||||||
spmm
|
|
||||||
src
|
src
|
||||||
stanford
|
|
||||||
stochastically
|
stochastically
|
||||||
strided
|
strided
|
||||||
subcommand
|
subcommand
|
||||||
@@ -1018,7 +889,6 @@ subdirectory
|
|||||||
subexpression
|
subexpression
|
||||||
subfolder
|
subfolder
|
||||||
subfolders
|
subfolders
|
||||||
submatrix
|
|
||||||
submodule
|
submodule
|
||||||
submodules
|
submodules
|
||||||
subnet
|
subnet
|
||||||
@@ -1027,10 +897,8 @@ symlink
|
|||||||
symlinks
|
symlinks
|
||||||
sys
|
sys
|
||||||
tabindex
|
tabindex
|
||||||
targetContainer
|
|
||||||
td
|
td
|
||||||
tensorfloat
|
tensorfloat
|
||||||
tf
|
|
||||||
th
|
th
|
||||||
tokenization
|
tokenization
|
||||||
tokenize
|
tokenize
|
||||||
@@ -1039,23 +907,18 @@ tokenizer
|
|||||||
tokenizes
|
tokenizes
|
||||||
toolchain
|
toolchain
|
||||||
toolchains
|
toolchains
|
||||||
topk
|
|
||||||
toolset
|
toolset
|
||||||
toolsets
|
toolsets
|
||||||
torchtitan
|
|
||||||
torchvision
|
torchvision
|
||||||
tp
|
|
||||||
tqdm
|
tqdm
|
||||||
tracebacks
|
tracebacks
|
||||||
txt
|
txt
|
||||||
TopK
|
|
||||||
uarch
|
uarch
|
||||||
uncached
|
uncached
|
||||||
uncacheable
|
uncacheable
|
||||||
uncorrectable
|
uncorrectable
|
||||||
underoptimized
|
underoptimized
|
||||||
unhandled
|
unhandled
|
||||||
unfused
|
|
||||||
uninstallation
|
uninstallation
|
||||||
unmapped
|
unmapped
|
||||||
unsqueeze
|
unsqueeze
|
||||||
@@ -1068,7 +931,6 @@ USM
|
|||||||
UTCL
|
UTCL
|
||||||
UTIL
|
UTIL
|
||||||
utils
|
utils
|
||||||
UX
|
|
||||||
vL
|
vL
|
||||||
variational
|
variational
|
||||||
vdi
|
vdi
|
||||||
@@ -1078,7 +940,6 @@ vectorize
|
|||||||
vectorized
|
vectorized
|
||||||
vectorizer
|
vectorizer
|
||||||
vectorizes
|
vectorizes
|
||||||
verl
|
|
||||||
virtualize
|
virtualize
|
||||||
virtualized
|
virtualized
|
||||||
vjxb
|
vjxb
|
||||||
@@ -1098,8 +959,6 @@ writebacks
|
|||||||
wrreq
|
wrreq
|
||||||
wzo
|
wzo
|
||||||
xargs
|
xargs
|
||||||
xdit
|
|
||||||
xDiT
|
|
||||||
xGMI
|
xGMI
|
||||||
xPacked
|
xPacked
|
||||||
xz
|
xz
|
||||||
|
|||||||
10941
CHANGELOG.md
10941
CHANGELOG.md
File diff suppressed because it is too large
Load Diff
@@ -23,6 +23,9 @@ source software compilers, debuggers, and libraries. ROCm is fully integrated in
|
|||||||
> A new open source build platform for ROCm is under development at
|
> A new open source build platform for ROCm is under development at
|
||||||
> https://github.com/ROCm/TheRock, featuring a unified CMake build with bundled
|
> https://github.com/ROCm/TheRock, featuring a unified CMake build with bundled
|
||||||
> dependencies, Windows support, and more.
|
> dependencies, Windows support, and more.
|
||||||
|
>
|
||||||
|
> The instructions below describe the prior process for building from source
|
||||||
|
> which will be replaced once TheRock is mature enough.
|
||||||
|
|
||||||
## Getting and Building ROCm from Source
|
## Getting and Building ROCm from Source
|
||||||
|
|
||||||
|
|||||||
1515
RELEASE.md
1515
RELEASE.md
File diff suppressed because it is too large
Load Diff
42
default.xml
42
default.xml
@@ -1,16 +1,32 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<manifest>
|
<manifest>
|
||||||
<remote name="rocm-org" fetch="https://github.com/ROCm/" />
|
<remote name="rocm-org" fetch="https://github.com/ROCm/" />
|
||||||
<default revision="refs/tags/rocm-7.2.0"
|
<default revision="refs/tags/rocm-6.4.1"
|
||||||
remote="rocm-org"
|
remote="rocm-org"
|
||||||
sync-c="true"
|
sync-c="true"
|
||||||
sync-j="4" />
|
sync-j="4" />
|
||||||
<!--list of projects for ROCm-->
|
<!--list of projects for ROCm-->
|
||||||
<project name="ROCK-Kernel-Driver" />
|
<project name="ROCK-Kernel-Driver" />
|
||||||
|
<project name="ROCR-Runtime" />
|
||||||
|
<project name="amdsmi" />
|
||||||
|
<project name="rdc" />
|
||||||
<project name="rocm_bandwidth_test" />
|
<project name="rocm_bandwidth_test" />
|
||||||
|
<project name="rocm_smi_lib" />
|
||||||
|
<project name="rocm-core" />
|
||||||
<project name="rocm-examples" />
|
<project name="rocm-examples" />
|
||||||
|
<project name="rocminfo" />
|
||||||
|
<project name="rocprofiler" />
|
||||||
|
<project name="rocprofiler-register" />
|
||||||
|
<project name="rocprofiler-sdk" />
|
||||||
|
<project name="rocprofiler-compute" />
|
||||||
|
<project name="rocprofiler-systems" />
|
||||||
|
<project name="roctracer" />
|
||||||
<!--HIP Projects-->
|
<!--HIP Projects-->
|
||||||
|
<project name="HIP" />
|
||||||
|
<project name="hip-tests" />
|
||||||
<project name="HIPIFY" />
|
<project name="HIPIFY" />
|
||||||
|
<project name="clr" />
|
||||||
|
<project name="hipother" />
|
||||||
<!-- The following projects are all associated with the AMDGPU LLVM compiler -->
|
<!-- The following projects are all associated with the AMDGPU LLVM compiler -->
|
||||||
<project name="half" />
|
<project name="half" />
|
||||||
<project name="llvm-project" />
|
<project name="llvm-project" />
|
||||||
@@ -21,19 +37,37 @@
|
|||||||
<project name="rocr_debug_agent" />
|
<project name="rocr_debug_agent" />
|
||||||
<!-- ROCm Libraries -->
|
<!-- ROCm Libraries -->
|
||||||
<project groups="mathlibs" name="AMDMIGraphX" />
|
<project groups="mathlibs" name="AMDMIGraphX" />
|
||||||
|
<project groups="mathlibs" name="MIOpen" />
|
||||||
<project groups="mathlibs" name="MIVisionX" />
|
<project groups="mathlibs" name="MIVisionX" />
|
||||||
<project groups="mathlibs" name="ROCmValidationSuite" />
|
<project groups="mathlibs" name="ROCmValidationSuite" />
|
||||||
|
<project groups="mathlibs" name="Tensile" />
|
||||||
<project groups="mathlibs" name="composable_kernel" />
|
<project groups="mathlibs" name="composable_kernel" />
|
||||||
|
<project groups="mathlibs" name="hipBLAS-common" />
|
||||||
|
<project groups="mathlibs" name="hipBLAS" />
|
||||||
|
<project groups="mathlibs" name="hipBLASLt" />
|
||||||
|
<project groups="mathlibs" name="hipCUB" />
|
||||||
|
<project groups="mathlibs" name="hipFFT" />
|
||||||
|
<project groups="mathlibs" name="hipRAND" />
|
||||||
|
<project groups="mathlibs" name="hipSOLVER" />
|
||||||
|
<project groups="mathlibs" name="hipSPARSE" />
|
||||||
|
<project groups="mathlibs" name="hipSPARSELt" />
|
||||||
|
<project groups="mathlibs" name="hipTensor" />
|
||||||
<project groups="mathlibs" name="hipfort" />
|
<project groups="mathlibs" name="hipfort" />
|
||||||
<project groups="mathlibs" name="rccl" />
|
<project groups="mathlibs" name="rccl" />
|
||||||
<project groups="mathlibs" name="rocAL" />
|
<project groups="mathlibs" name="rocAL" />
|
||||||
<project groups="mathlibs" name="rocALUTION" />
|
<project groups="mathlibs" name="rocALUTION" />
|
||||||
|
<project groups="mathlibs" name="rocBLAS" />
|
||||||
<project groups="mathlibs" name="rocDecode" />
|
<project groups="mathlibs" name="rocDecode" />
|
||||||
<project groups="mathlibs" name="rocJPEG" />
|
<project groups="mathlibs" name="rocJPEG" />
|
||||||
<project groups="mathlibs" name="rocm-libraries" />
|
|
||||||
<project groups="mathlibs" name="rocm-systems" />
|
|
||||||
<project groups="mathlibs" name="rocPyDecode" />
|
<project groups="mathlibs" name="rocPyDecode" />
|
||||||
|
<project groups="mathlibs" name="rocFFT" />
|
||||||
|
<project groups="mathlibs" name="rocPRIM" />
|
||||||
|
<project groups="mathlibs" name="rocRAND" />
|
||||||
<project groups="mathlibs" name="rocSHMEM" />
|
<project groups="mathlibs" name="rocSHMEM" />
|
||||||
|
<project groups="mathlibs" name="rocSOLVER" />
|
||||||
|
<project groups="mathlibs" name="rocSPARSE" />
|
||||||
|
<project groups="mathlibs" name="rocThrust" />
|
||||||
|
<project groups="mathlibs" name="rocWMMA" />
|
||||||
<project groups="mathlibs" name="rocm-cmake" />
|
<project groups="mathlibs" name="rocm-cmake" />
|
||||||
<project groups="mathlibs" name="rpp" />
|
<project groups="mathlibs" name="rpp" />
|
||||||
<project groups="mathlibs" name="TransferBench" />
|
<project groups="mathlibs" name="TransferBench" />
|
||||||
@@ -41,4 +75,4 @@
|
|||||||
<project name="aomp" path="openmp-extras/aomp" />
|
<project name="aomp" path="openmp-extras/aomp" />
|
||||||
<project name="aomp-extras" path="openmp-extras/aomp-extras" />
|
<project name="aomp-extras" path="openmp-extras/aomp-extras" />
|
||||||
<project name="flang" path="openmp-extras/flang" />
|
<project name="flang" path="openmp-extras/flang" />
|
||||||
</manifest>
|
</manifest>
|
||||||
|
|||||||
@@ -1,148 +0,0 @@
|
|||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="description" content="ROCm licensing terms">
|
|
||||||
<meta name="keywords" content="license, licensing terms">
|
|
||||||
</head>
|
|
||||||
|
|
||||||
# ROCm license
|
|
||||||
|
|
||||||
```{include} ../../LICENSE
|
|
||||||
```
|
|
||||||
|
|
||||||
:::{note}
|
|
||||||
The preceding license applies to the [ROCm repository](https://github.com/ROCm/ROCm), which
|
|
||||||
primarily contains documentation. For licenses related to other ROCm components, refer to the
|
|
||||||
following section.
|
|
||||||
:::
|
|
||||||
|
|
||||||
## ROCm component licenses
|
|
||||||
|
|
||||||
ROCm is released by Advanced Micro Devices, Inc. (AMD) and is licensed per component separately.
|
|
||||||
The following table is a list of ROCm components with links to their respective license
|
|
||||||
terms. These components may include third party components subject to
|
|
||||||
additional licenses. Please review individual repositories for more information.
|
|
||||||
|
|
||||||
<!-- spellcheck-disable -->
|
|
||||||
| Component | License |
|
|
||||||
|:---------------------|:-------------------------|
|
|
||||||
| [AMD Compute Language Runtime (CLR)](https://github.com/ROCm/rocm-systems/tree/develop/projects/clr) | [MIT](https://github.com/ROCm/rocm-systems/blob/develop/projects/clr/LICENSE.md) |
|
|
||||||
| [AMD SMI](https://github.com/ROCm/amdsmi) | [MIT](https://github.com/ROCm/amdsmi/blob/amd-staging/LICENSE) |
|
|
||||||
| [aomp](https://github.com/ROCm/aomp/) | [Apache 2.0](https://github.com/ROCm/aomp/blob/aomp-dev/LICENSE) |
|
|
||||||
| [aomp-extras](https://github.com/ROCm/aomp-extras/) | [MIT](https://github.com/ROCm/aomp-extras/blob/aomp-dev/LICENSE) |
|
|
||||||
| [AQLprofile](https://github.com/ROCm/rocm-systems/tree/develop/projects/aqlprofile/) | [MIT](https://github.com/ROCm/rocm-systems/blob/develop/projects/aqlprofile/LICENSE.md) |
|
|
||||||
| [Code Object Manager (Comgr)](https://github.com/ROCm/llvm-project/tree/amd-staging/amd/comgr) | [The University of Illinois/NCSA](https://github.com/ROCm/llvm-project/blob/amd-staging/amd/comgr/LICENSE.txt) |
|
|
||||||
| [Composable Kernel](https://github.com/ROCm/composable_kernel) | [MIT](https://github.com/ROCm/composable_kernel/blob/develop/LICENSE) |
|
|
||||||
| [half](https://github.com/ROCm/half/) | [MIT](https://github.com/ROCm/half/blob/rocm/LICENSE.txt) |
|
|
||||||
| [HIP](https://github.com/ROCm/rocm-systems/tree/develop/projects/hip/) | [MIT](https://github.com/ROCm/rocm-systems/blob/develop/projects/hip/LICENSE.md) |
|
|
||||||
| [hipamd](https://github.com/ROCm/rocm-systems/tree/develop/projects/clr/hipamd/) | [MIT](https://github.com/ROCm/rocm-systems/blob/develop/projects/clr/hipamd/LICENSE.md) |
|
|
||||||
| [hipBLAS](https://github.com/ROCm/rocm-libraries/tree/develop/projects/hipblas/) | [MIT](https://github.com/ROCm/rocm-libraries/blob/develop/projects/hipblas/LICENSE.md) |
|
|
||||||
| [hipBLASLt](https://github.com/ROCm/rocm-libraries/tree/develop/projects/hipblaslt/) | [MIT](https://github.com/ROCm/rocm-libraries/blob/develop/projects/hipblaslt/LICENSE.md) |
|
|
||||||
| [HIPCC](https://github.com/ROCm/llvm-project/tree/amd-staging/amd/hipcc) | [MIT](https://github.com/ROCm/llvm-project/blob/amd-staging/amd/hipcc/LICENSE.txt) |
|
|
||||||
| [hipCUB](https://github.com/ROCm/rocm-libraries/tree/develop/projects/hipcub/) | [Custom](https://github.com/ROCm/rocm-libraries/blob/develop/projects/hipcub/LICENSE.txt) |
|
|
||||||
| [hipDNN](https://github.com/ROCm/rocm-libraries/tree/develop/projects/hipdnn/) | [MIT](https://github.com/ROCm/rocm-libraries/blob/develop/projects/hipdnn/LICENSE.md) |
|
|
||||||
| [hipFFT](https://github.com/ROCm/rocm-libraries/tree/develop/projects/hipfft/) | [MIT](https://github.com/ROCm/rocm-libraries/blob/develop/projects/hipfft/LICENSE.md) |
|
|
||||||
| [hipfort](https://github.com/ROCm/hipfort/) | [MIT](https://github.com/ROCm/hipfort/blob/develop/LICENSE) |
|
|
||||||
| [HIPIFY](https://github.com/ROCm/HIPIFY/) | [MIT](https://github.com/ROCm/HIPIFY/blob/amd-staging/LICENSE.txt) |
|
|
||||||
| [hipRAND](https://github.com/ROCm/rocm-libraries/tree/develop/projects/hiprand/) | [MIT](https://github.com/ROCm/rocm-libraries/blob/develop/projects/hiprand/LICENSE.md) |
|
|
||||||
| [hipSOLVER](https://github.com/ROCm/rocm-libraries/tree/develop/projects/hipsolver/) | [MIT](https://github.com/ROCm/rocm-libraries/blob/develop/projects/hipsolver/LICENSE.md) |
|
|
||||||
| [hipSPARSE](https://github.com/ROCm/rocm-libraries/tree/develop/projects/hipsparse/) | [MIT](https://github.com/ROCm/rocm-libraries/blob/develop/projects/hipsparse/LICENSE.md) |
|
|
||||||
| [hipSPARSELt](https://github.com/ROCm/rocm-libraries/tree/develop/projects/hipsparselt/) | [MIT](https://github.com/ROCm/rocm-libraries/blob/develop/projects/hipsparselt/LICENSE.md) |
|
|
||||||
| [hipTensor](https://github.com/ROCm/rocm-libraries/tree/develop/projects/hiptensor/) | [MIT](https://github.com/ROCm/rocm-libraries/blob/develop/projects/hiptensor/LICENSE) |
|
|
||||||
| [llvm-project](https://github.com/ROCm/llvm-project/) | [Apache](https://github.com/ROCm/llvm-project/blob/amd-staging/LICENSE.TXT) |
|
|
||||||
| [llvm-project/flang](https://github.com/ROCm/llvm-project/tree/amd-staging/flang) | [Apache 2.0](https://github.com/ROCm/llvm-project/blob/amd-staging/flang/LICENSE.TXT) |
|
|
||||||
| [MIGraphX](https://github.com/ROCm/AMDMIGraphX/) | [MIT](https://github.com/ROCm/AMDMIGraphX/blob/develop/LICENSE) |
|
|
||||||
| [MIOpen](https://github.com/ROCm/rocm-libraries/tree/develop/projects/miopen/) | [MIT](https://github.com/ROCm/rocm-libraries/blob/develop/projects/miopen/LICENSE.md) |
|
|
||||||
| [MIVisionX](https://github.com/ROCm/MIVisionX/) | [MIT](https://github.com/ROCm/MIVisionX/blob/develop/LICENSE.txt) |
|
|
||||||
| [rocAL](https://github.com/ROCm/rocAL) | [MIT](https://github.com/ROCm/rocAL/blob/develop/LICENSE.txt) |
|
|
||||||
| [rocALUTION](https://github.com/ROCm/rocALUTION/) | [MIT](https://github.com/ROCm/rocALUTION/blob/develop/LICENSE.md) |
|
|
||||||
| [rocBLAS](https://github.com/ROCm/rocm-libraries/tree/develop/projects/rocblas/) | [MIT](https://github.com/ROCm/rocm-libraries/blob/develop/projects/rocblas/LICENSE.md) |
|
|
||||||
| [ROCdbgapi](https://github.com/ROCm/ROCdbgapi/) | [MIT](https://github.com/ROCm/ROCdbgapi/blob/amd-staging/LICENSE.txt) |
|
|
||||||
| [rocDecode](https://github.com/ROCm/rocDecode) | [MIT](https://github.com/ROCm/rocDecode/blob/develop/LICENSE) |
|
|
||||||
| [rocFFT](https://github.com/ROCm/rocm-libraries/tree/develop/projects/rocfft/) | [MIT](https://github.com/ROCm/rocm-libraries/blob/develop/projects/rocfft/LICENSE.md) |
|
|
||||||
| [ROCgdb](https://github.com/ROCm/ROCgdb/) | [GNU General Public License v3.0](https://github.com/ROCm/ROCgdb/blob/amd-staging/COPYING3) |
|
|
||||||
| [rocJPEG](https://github.com/ROCm/rocJPEG/) | [MIT](https://github.com/ROCm/rocJPEG/blob/develop/LICENSE) |
|
|
||||||
| [ROCK-Kernel-Driver](https://github.com/ROCm/ROCK-Kernel-Driver/) | [GPL 2.0 WITH Linux-syscall-note](https://github.com/ROCm/ROCK-Kernel-Driver/blob/master/COPYING) |
|
|
||||||
| [rocminfo](https://github.com/ROCm/rocm-systems/tree/develop/projects/rocminfo/) | [The University of Illinois/NCSA](https://github.com/ROCm/rocm-systems/blob/develop/projects/rocminfo/License.txt) |
|
|
||||||
| [ROCm Bandwidth Test](https://github.com/ROCm/rocm_bandwidth_test/) | [MIT](https://github.com/ROCm/rocm_bandwidth_test/blob/master/LICENSE.txt) |
|
|
||||||
| [ROCm CMake](https://github.com/ROCm/rocm-cmake/) | [MIT](https://github.com/ROCm/rocm-cmake/blob/develop/LICENSE) |
|
|
||||||
| [ROCm Communication Collectives Library (RCCL)](https://github.com/ROCm/rccl/) | [Custom](https://github.com/ROCm/rccl/blob/develop/LICENSE.txt) |
|
|
||||||
| [ROCm-Core](https://github.com/ROCm/rocm-systems/tree/develop/projects/rocm-core/) | [MIT](https://github.com/ROCm/rocm-systems/blob/develop/projects/rocm-core/LICENSE.md) |
|
|
||||||
| [ROCm Compute Profiler](https://github.com/ROCm/rocm-systems/tree/develop/projects/rocprofiler-compute/) | [MIT](https://github.com/ROCm/rocm-systems/blob/develop/projects/rocprofiler-compute/LICENSE.md) |
|
|
||||||
| [ROCm Data Center (RDC)](https://github.com/ROCm/rocm-systems/tree/develop/projects/rdc/) | [MIT](https://github.com/ROCm/rocm-systems/blob/develop/projects/rdc/LICENSE.md) |
|
|
||||||
| [ROCm-Device-Libs](https://github.com/ROCm/llvm-project/tree/amd-staging/amd/device-libs) | [The University of Illinois/NCSA](https://github.com/ROCm/llvm-project/blob/amd-staging/amd/device-libs/LICENSE.TXT) |
|
|
||||||
| [ROCm-OpenCL-Runtime](https://github.com/ROCm/rocm-systems/tree/develop/projects/clr/opencl/) | [MIT](https://github.com/ROCm/rocm-systems/blob/develop/projects/clr/opencl/LICENSE.md) |
|
|
||||||
| [ROCm Performance Primitives (RPP)](https://github.com/ROCm/rpp) | [MIT](https://github.com/ROCm/rpp/blob/develop/LICENSE) |
|
|
||||||
| [ROCm SMI Lib](https://github.com/ROCm/rocm-systems/tree/develop/projects/rocm-smi-lib/) | [MIT](https://github.com/ROCm/rocm-systems/blob/develop/projects/rocm-smi-lib/LICENSE.md) |
|
|
||||||
| [ROCm Systems Profiler](https://github.com/ROCm/rocm-systems/tree/develop/projects/rocprofiler-systems/) | [MIT](https://github.com/ROCm/rocm-systems/blob/develop/projects/rocprofiler-systems/LICENSE.md) |
|
|
||||||
| [ROCm Validation Suite](https://github.com/ROCm/ROCmValidationSuite/) | [MIT](https://github.com/ROCm/ROCmValidationSuite/blob/master/LICENSE) |
|
|
||||||
| [rocPRIM](https://github.com/ROCm/rocm-libraries/tree/develop/projects/rocprim/) | [MIT](https://github.com/ROCm/rocm-libraries/blob/develop/projects/rocprim/LICENSE.md) |
|
|
||||||
| [ROCProfiler](https://github.com/ROCm/rocm-systems/tree/develop/projects/rocprofiler/) | [MIT](https://github.com/ROCm/rocm-systems/blob/develop/projects/rocprofiler/LICENSE.md) |
|
|
||||||
| [ROCprofiler-SDK](https://github.com/ROCm/rocm-systems/tree/develop/projects/rocprofiler-sdk/) | [MIT](https://github.com/ROCm/rocm-systems/blob/develop/projects/rocprofiler-sdk/LICENSE.md) |
|
|
||||||
| [rocPyDecode](https://github.com/ROCm/rocPyDecode) | [MIT](https://github.com/ROCm/rocPyDecode/blob/develop/LICENSE.txt) |
|
|
||||||
| [rocRAND](https://github.com/ROCm/rocm-libraries/tree/develop/projects/rocrand/) | [MIT](https://github.com/ROCm/rocm-libraries/blob/develop/projects/rocrand/LICENSE.md) |
|
|
||||||
| [ROCr Debug Agent](https://github.com/ROCm/rocr_debug_agent/) | [The University of Illinois/NCSA](https://github.com/ROCm/rocr_debug_agent/blob/amd-staging/LICENSE.txt) |
|
|
||||||
| [ROCR-Runtime](https://github.com/ROCm/rocm-systems/tree/develop/projects/rocr-runtime/) | [The University of Illinois/NCSA](https://github.com/ROCm/rocm-systems/blob/develop/projects/rocr-runtime/LICENSE.txt) |
|
|
||||||
| [rocSHMEM](https://github.com/ROCm/rocSHMEM/) | [MIT](https://github.com/ROCm/rocSHMEM/blob/develop/LICENSE.md) |
|
|
||||||
| [rocSOLVER](https://github.com/ROCm/rocm-libraries/tree/develop/projects/rocsolver/) | [BSD-2-Clause](https://github.com/ROCm/rocm-libraries/blob/develop/projects/rocsolver/LICENSE.md) |
|
|
||||||
| [rocSPARSE](https://github.com/ROCm/rocm-libraries/tree/develop/projects/rocsparse/) | [MIT](https://github.com/ROCm/rocm-libraries/blob/develop/projects/rocsparse/LICENSE.md) |
|
|
||||||
| [rocThrust](https://github.com/ROCm/rocm-libraries/tree/develop/projects/rocthrust/) | [Apache 2.0](https://github.com/ROCm/rocm-libraries/blob/develop/projects/rocthrust/LICENSE) |
|
|
||||||
| [ROCTracer](https://github.com/ROCm/rocm-systems/tree/develop/projects/roctracer/) | [MIT](https://github.com/ROCm/rocm-systems/blob/develop/projects/roctracer/LICENSE.md) |
|
|
||||||
| [rocWMMA](https://github.com/ROCm/rocm-libraries/tree/develop/projects/rocwmma/) | [MIT](https://github.com/ROCm/rocm-libraries/blob/develop/projects/rocwmma/LICENSE.md) |
|
|
||||||
| [Tensile](https://github.com/ROCm/rocm-libraries/tree/develop/shared/tensile/) | [MIT](https://github.com/ROCm/rocm-libraries/blob/develop/shared/tensile/LICENSE.md) |
|
|
||||||
| [TransferBench](https://github.com/ROCm/TransferBench) | [MIT](https://github.com/ROCm/TransferBench/blob/develop/LICENSE.md) |
|
|
||||||
|
|
||||||
Open sourced ROCm components are released via public GitHub
|
|
||||||
repositories, packages on [https://repo.radeon.com](https://repo.radeon.com) and other distribution channels.
|
|
||||||
Proprietary products are only available on [https://repo.radeon.com](https://repo.radeon.com).
|
|
||||||
Proprietary components are organized in a proprietary subdirectory in the package
|
|
||||||
repositories to distinguish from open sourced packages.
|
|
||||||
|
|
||||||
```{note}
|
|
||||||
The following additional terms and conditions apply to your use of ROCm technical documentation.
|
|
||||||
```
|
|
||||||
|
|
||||||
©2023 - 2025 Advanced Micro Devices, Inc. All rights reserved.
|
|
||||||
|
|
||||||
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 version changes, 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, ROCm, 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.
|
|
||||||
|
|
||||||
### Package licensing
|
|
||||||
|
|
||||||
:::{attention}
|
|
||||||
ROCprof Trace Decoder and AOCC CPU optimizations are provided in binary form, subject to the license agreement enclosed on [GitHub](https://github.com/ROCm/rocprof-trace-decoder/blob/amd-mainline/LICENSE) for ROCprof Trace Decoder, and [Developer Central](https://www.amd.com/en/developer/aocc.html) for AOCC. By using, installing,
|
|
||||||
copying or distributing ROCprof Trace Decoder or AOCC CPU Optimizations, you agree to
|
|
||||||
the terms and conditions of this license agreement. If you do not agree to the
|
|
||||||
terms of this agreement, do not install, copy or use ROCprof Trace Decoder or the
|
|
||||||
AOCC CPU Optimizations.
|
|
||||||
:::
|
|
||||||
|
|
||||||
For the rest of the ROCm packages, you can find the licensing information at the
|
|
||||||
following location: `/opt/rocm/share/doc/<component-name>/` or in the locations
|
|
||||||
specified in the preceding table.
|
|
||||||
|
|
||||||
For example, you can fetch the licensing information of the `amd_comgr`
|
|
||||||
component (Code Object Manager) from the `/opt/rocm/share/doc/amd_comgr/LICENSE.txt` file.
|
|
||||||
55
docs/benchmark-docker/index.rst
Normal file
55
docs/benchmark-docker/index.rst
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
***************************************************
|
||||||
|
AI training and inference performance with ROCm 7.0
|
||||||
|
***************************************************
|
||||||
|
|
||||||
|
AMD ROCm is an open-source software platform optimized to extract HPC and AI
|
||||||
|
workload performance from AMD Instinct™ accelerators and GPUs while maintaining
|
||||||
|
compatibility with industry software frameworks.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
ROCm 7.0 is now available. See the documentation at `ROCm 7.0 documentation
|
||||||
|
<https://rocm.docs.amd.com/en/docs-7.0.0/>`__.
|
||||||
|
|
||||||
|
This documentation accompanies preview Docker images designed to reproduce
|
||||||
|
training and inference performance on AMD Instinct™ MI355X, MI350X, and MI300X
|
||||||
|
series accelerators with ROCm 7.0. The images provide the 7.0 release of the
|
||||||
|
ROCm software stack and are targeted at users evaluating AI inference workloads
|
||||||
|
using next-generation AMD accelerators. See the Docker image repository at
|
||||||
|
`rocm/7.0 <https://hub.docker.com/r/rocm/7.0/>`__.
|
||||||
|
|
||||||
|
.. important::
|
||||||
|
|
||||||
|
The following AI workload benchmarks use ROCm 7.0 on AMD Instinct MI355X,
|
||||||
|
MI350X, and MI300X series accelerators.
|
||||||
|
|
||||||
|
For other workloads for MI300X series accelerators, see
|
||||||
|
`Infinity Hub <https://www.amd.com/en/developer/resources/infinity-hub.html>`_.
|
||||||
|
|
||||||
|
.. grid:: 2
|
||||||
|
|
||||||
|
.. grid-item-card:: Training
|
||||||
|
|
||||||
|
* :doc:`training-maxtext-llama-3`
|
||||||
|
|
||||||
|
* :doc:`training-maxtext-mixtral-8x7b`
|
||||||
|
|
||||||
|
* :doc:`training-megatron-lm-llama-3`
|
||||||
|
|
||||||
|
* :doc:`training-mlperf-fine-tuning-llama-2-70b`
|
||||||
|
|
||||||
|
* :doc:`training-torchtitan-llama-3`
|
||||||
|
|
||||||
|
.. grid-item-card:: Inference
|
||||||
|
|
||||||
|
* :doc:`inference-vllm-llama-3.1-405b-fp4`
|
||||||
|
|
||||||
|
* :doc:`inference-vllm-llama-3.3-70b-fp8`
|
||||||
|
|
||||||
|
* :doc:`inference-vllm-deepseek-r1-fp8`
|
||||||
|
|
||||||
|
* :doc:`inference-vllm-gpt-oss-120b`
|
||||||
|
|
||||||
|
* :doc:`inference-sglang-deepseek-r1-fp4`
|
||||||
|
|
||||||
|
* :doc:`inference-sglang-deepseek-r1-fp8`
|
||||||
99
docs/benchmark-docker/inference-sglang-deepseek-r1-fp4.rst
Normal file
99
docs/benchmark-docker/inference-sglang-deepseek-r1-fp4.rst
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
***********************************************
|
||||||
|
Benchmark DeepSeek R1 FP4 inference with SGLang
|
||||||
|
***********************************************
|
||||||
|
|
||||||
|
This section provides instructions to test the inference performance of
|
||||||
|
DeepSeek R1 with FP4 precision via the SGLang serving framework. The
|
||||||
|
accompanying Docker image integrates `ROCm 7.0
|
||||||
|
<https://rocm.docs.amd.com/en/latest/>`__ with SGLang, and is supported only on AMD
|
||||||
|
Instinct MI355X and MI350X GPUs.
|
||||||
|
|
||||||
|
Follow these steps to pull the required image, spin up the container with the
|
||||||
|
appropriate options, download the model, and run the benchmark.
|
||||||
|
|
||||||
|
Pull the Docker image
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Use the following command to pull the `Docker image
|
||||||
|
<https://hub.docker.com/r/rocm/7.0/tags>`__.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
docker pull rocm/7.0:rocm7.0_ubuntu_22.04_sgl-dev-v0.5.2-rocm7.0-mi35x-20250915
|
||||||
|
|
||||||
|
Download the model
|
||||||
|
==================
|
||||||
|
|
||||||
|
See the model card on Hugging Face at `DeepSeek-R1-MXFP4-Preview
|
||||||
|
<https://huggingface.co/amd/DeepSeek-R1-MXFP4-Preview>`__. This model uses
|
||||||
|
microscaling 4-bit floating point (MXFP4) quantization through `AMD Quark
|
||||||
|
<https://quark.docs.amd.com/latest/>`_ for efficient inference on AMD
|
||||||
|
accelerators.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
pip install huggingface_hub[cli] hf_transfer hf_xet
|
||||||
|
HF_HUB_ENABLE_HF_TRANSFER=1 \
|
||||||
|
HF_HOME=/data/huggingface-cache \
|
||||||
|
HF_TOKEN="<HF_TOKEN>" \
|
||||||
|
huggingface-cli download amd/DeepSeek-R1-0528-MXFP4-Preview --exclude "original/*"
|
||||||
|
|
||||||
|
Run the inference benchmark
|
||||||
|
===========================
|
||||||
|
|
||||||
|
1. Start the container using the following command.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
docker run -it \
|
||||||
|
--user root \
|
||||||
|
--group-add video \
|
||||||
|
--cap-add=SYS_PTRACE \
|
||||||
|
--security-opt seccomp=unconfined \
|
||||||
|
-w /app/ \
|
||||||
|
--ipc=host \
|
||||||
|
--network=host \
|
||||||
|
--shm-size 64G \
|
||||||
|
--mount type=bind,src=/data,dst=/data \
|
||||||
|
--device=/dev/kfd \
|
||||||
|
--device=/dev/dri \
|
||||||
|
-e SGLANG_USE_AITER=1 \
|
||||||
|
rocm/7.0:rocm7.0_ubuntu_22.04_sgl-dev-v0.5.2-rocm7.0-mi35x-20250915
|
||||||
|
|
||||||
|
2. Start the server.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
python3 -m sglang.launch_server \
|
||||||
|
--model-path amd/DeepSeek-R1-0528-MXFP4-Preview \
|
||||||
|
--host localhost \
|
||||||
|
--port 8000 \
|
||||||
|
--tensor-parallel-size 8 \
|
||||||
|
--trust-remote-code \
|
||||||
|
--chunked-prefill-size 196608 \
|
||||||
|
--mem-fraction-static 0.8 \
|
||||||
|
--disable-radix-cache \
|
||||||
|
--num-continuous-decode-steps 4 \
|
||||||
|
--max-prefill-tokens 196608 \
|
||||||
|
--cuda-graph-max-bs 128 &
|
||||||
|
|
||||||
|
3. Run the benchmark with the following options.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
input_tokens=1024
|
||||||
|
output_tokens=1024
|
||||||
|
max_concurrency=64
|
||||||
|
num_prompts=128
|
||||||
|
|
||||||
|
python3 -m sglang.bench_serving \
|
||||||
|
--host localhost \
|
||||||
|
--port 8000 \
|
||||||
|
--model amd/DeepSeek-R1-0528-MXFP4-Preview \
|
||||||
|
--dataset-name random \
|
||||||
|
--random-input ${input_tokens} \
|
||||||
|
--random-output ${output_tokens} \
|
||||||
|
--random-range-ratio 1.0 \
|
||||||
|
--max-concurrency ${max_concurrency} \
|
||||||
|
--num-prompt ${num_prompts}
|
||||||
|
|
||||||
132
docs/benchmark-docker/inference-sglang-deepseek-r1-fp8.rst
Normal file
132
docs/benchmark-docker/inference-sglang-deepseek-r1-fp8.rst
Normal file
@@ -0,0 +1,132 @@
|
|||||||
|
***********************************************
|
||||||
|
Benchmark DeepSeek R1 FP8 inference with SGLang
|
||||||
|
***********************************************
|
||||||
|
|
||||||
|
This section provides instructions to test the inference performance of DeepSeek R1
|
||||||
|
with FP8 precision via the SGLang serving framework.
|
||||||
|
The accompanying Docker image integrates ROCm 7.0 with SGLang, and is
|
||||||
|
supported on AMD Instinct MI355X, MI350X, MI325X, and MI300X GPUs.
|
||||||
|
|
||||||
|
Follow these steps to pull the required image, spin up the container with the
|
||||||
|
appropriate options, download the model, and run the benchmark.
|
||||||
|
|
||||||
|
Pull the Docker image
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Use the following command to pull the appropriate `Docker image <https://hub.docker.com/r/rocm/7.0/tags>`__
|
||||||
|
for your system.
|
||||||
|
|
||||||
|
.. tab-set::
|
||||||
|
|
||||||
|
.. tab-item:: MI355X and MI350X
|
||||||
|
:sync: mi35x
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
docker pull rocm/7.0:rocm7.0_ubuntu_22.04_sgl-dev-v0.5.2-rocm7.0-mi35x-20250915
|
||||||
|
|
||||||
|
.. tab-item:: MI300X series
|
||||||
|
:sync: mi30x
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
docker pull rocm/7.0:rocm7.0_ubuntu_22.04_sgl-dev-v0.5.2-rocm7.0-mi30x-20250915
|
||||||
|
|
||||||
|
Download the model
|
||||||
|
==================
|
||||||
|
|
||||||
|
See the model card on Hugging Face at `deepseek-ai/DeepSeek-R1-0528
|
||||||
|
<https://huggingface.co/deepseek-ai/DeepSeek-R1-0528>`__.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
pip install huggingface_hub[cli] hf_transfer hf_xet
|
||||||
|
HF_HUB_ENABLE_HF_TRANSFER=1 \
|
||||||
|
HF_HOME=/data/huggingface-cache \
|
||||||
|
HF_TOKEN="<HF_TOKEN>" \
|
||||||
|
huggingface-cli download deepseek-ai/DeepSeek-R1-0528 --exclude "original/*"
|
||||||
|
|
||||||
|
Run the inference benchmark
|
||||||
|
===========================
|
||||||
|
|
||||||
|
1. Start the container using the following command.
|
||||||
|
|
||||||
|
.. tab-set::
|
||||||
|
|
||||||
|
.. tab-item:: MI355X and MI350X
|
||||||
|
:sync: mi35x
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
docker run -it \
|
||||||
|
--user root \
|
||||||
|
--group-add video \
|
||||||
|
--cap-add=SYS_PTRACE \
|
||||||
|
--security-opt seccomp=unconfined \
|
||||||
|
-w /app/ \
|
||||||
|
--ipc=host \
|
||||||
|
--network=host \
|
||||||
|
--shm-size 64G \
|
||||||
|
--mount type=bind,src=/data,dst=/data \
|
||||||
|
--device=/dev/kfd \
|
||||||
|
--device=/dev/dri \
|
||||||
|
-e SGLANG_USE_AITER=1 \
|
||||||
|
rocm/7.0:rocm7.0_ubuntu_22.04_sgl-dev-v0.5.2-rocm7.0-mi35x-20250915
|
||||||
|
|
||||||
|
.. tab-item:: MI300X series
|
||||||
|
:sync: mi30x
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
docker run -it \
|
||||||
|
--user root \
|
||||||
|
--group-add video \
|
||||||
|
--cap-add=SYS_PTRACE \
|
||||||
|
--security-opt seccomp=unconfined \
|
||||||
|
-w /app/ \
|
||||||
|
--ipc=host \
|
||||||
|
--network=host \
|
||||||
|
--shm-size 64G \
|
||||||
|
--mount type=bind,src=/data,dst=/data \
|
||||||
|
--device=/dev/kfd \
|
||||||
|
--device=/dev/dri \
|
||||||
|
-e SGLANG_USE_AITER=1 \
|
||||||
|
rocm/7.0:rocm7.0_ubuntu_22.04_sgl-dev-v0.5.2-rocm7.0-mi30x-20250915
|
||||||
|
|
||||||
|
2. Start the server.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
python3 -m sglang.launch_server \
|
||||||
|
--model-path deepseek-ai/DeepSeek-R1-0528 \
|
||||||
|
--host localhost \
|
||||||
|
--port 8000 \
|
||||||
|
--tensor-parallel-size 8 \
|
||||||
|
--trust-remote-code \
|
||||||
|
--chunked-prefill-size 196608 \
|
||||||
|
--mem-fraction-static 0.8 \
|
||||||
|
--disable-radix-cache \
|
||||||
|
--num-continuous-decode-steps 4 \
|
||||||
|
--max-prefill-tokens 196608 \
|
||||||
|
--cuda-graph-max-bs 128 &
|
||||||
|
|
||||||
|
3. Run the benchmark with the following options.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
input_tokens=1024
|
||||||
|
output_tokens=1024
|
||||||
|
max_concurrency=64
|
||||||
|
num_prompts=128
|
||||||
|
|
||||||
|
python3 -m sglang.bench_serving \
|
||||||
|
--host localhost \
|
||||||
|
--port 8000 \
|
||||||
|
--model deepseek-ai/DeepSeek-R1-0528 \
|
||||||
|
--dataset-name random \
|
||||||
|
--random-input ${input_tokens} \
|
||||||
|
--random-output ${output_tokens} \
|
||||||
|
--random-range-ratio 1.0 \
|
||||||
|
--max-concurrency ${max_concurrency} \
|
||||||
|
--num-prompt ${num_prompts}
|
||||||
|
|
||||||
122
docs/benchmark-docker/inference-vllm-deepseek-r1-fp8.rst
Normal file
122
docs/benchmark-docker/inference-vllm-deepseek-r1-fp8.rst
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
************************************************
|
||||||
|
Benchmark DeepSeek R1 FP8 inference with vLLM
|
||||||
|
************************************************
|
||||||
|
|
||||||
|
This section provides instructions to test the inference performance of DeepSeek R1
|
||||||
|
with FP8 precision on the vLLM inference engine. The provided Docker image integrates
|
||||||
|
`ROCm 7.0 <https://rocm.docs.amd.com/en/docs-7.0.0/about/release-notes.html>`__ with vLLM.
|
||||||
|
This benchmark supports AMD Instinct MI355X, MI350X, MI325X, and MI300X GPUs.
|
||||||
|
|
||||||
|
Follow these steps to pull the required image, spin up the container with the
|
||||||
|
appropriate options, download the model, and run the benchmark.
|
||||||
|
|
||||||
|
Pull the Docker image
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Use the following command to pull the `Docker image <https://hub.docker.com/r/rocm/7.x-preview/tags>`__.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
docker pull rocm/7.x-preview:rocm7.2_preview_ubuntu_22.04_vlm_0.10.1_instinct_20251029
|
||||||
|
|
||||||
|
Download the model
|
||||||
|
==================
|
||||||
|
|
||||||
|
While vLLM can download model weights at runtime, it's recommended to
|
||||||
|
download ahead of time. You will need:
|
||||||
|
|
||||||
|
* A valid `Hugging Face access token <https://huggingface.co/docs/hub/security-tokens>`__.
|
||||||
|
Remember to set ``HF_TOKEN`` to your access token.
|
||||||
|
|
||||||
|
* Access granted to the specific model from your Hugging Face account
|
||||||
|
|
||||||
|
See the model card on Hugging Face at
|
||||||
|
`deepseek-ai/DeepSeek-R1-0528 <https://huggingface.co/deepseek-ai/DeepSeek-R1-0528>`__.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
model=deepseek-ai/DeepSeek-R1-0528
|
||||||
|
|
||||||
|
pip install huggingface_hub[cli] hf_transfer hf_xet
|
||||||
|
HF_HUB_ENABLE_HF_TRANSFER=1 \
|
||||||
|
HF_HOME=/data/huggingface-cache \
|
||||||
|
HF_TOKEN="<HF_TOKEN>" \ # Replace with your HF_TOKEN Hugging Face access token.
|
||||||
|
huggingface-cli download ${model} --exclude "original/*"
|
||||||
|
|
||||||
|
Run the inference benchmark
|
||||||
|
===========================
|
||||||
|
|
||||||
|
1. Start the container using the following command.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
docker run -it \
|
||||||
|
--ipc=host \
|
||||||
|
--network=host \
|
||||||
|
--privileged \
|
||||||
|
--cap-add=CAP_SYS_ADMIN \
|
||||||
|
--device=/dev/kfd \
|
||||||
|
--device=/dev/dri \
|
||||||
|
--cap-add=SYS_PTRACE \
|
||||||
|
--security-opt seccomp=unconfined \
|
||||||
|
-v /data:/data \
|
||||||
|
-e HF_HOME=/data/huggingface-cache \
|
||||||
|
-e HF_HUB_OFFLINE=1 \
|
||||||
|
--name vllm-server \
|
||||||
|
rocm/7.x-preview:rocm7.2_preview_ubuntu_22.04_vlm_0.10.1_instinct_20251029
|
||||||
|
|
||||||
|
2. Start the server.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
model=deepseek-ai/DeepSeek-R1-0528
|
||||||
|
max_model_len=16384 # Must be >= the input + the output lengths.
|
||||||
|
max_seq_len_to_capture=10240 # Beneficial to set this to max_model_len.
|
||||||
|
max_num_seqs=1024
|
||||||
|
max_num_batched_tokens=131072 # Smaller values may result in better TTFT but worse TPOT / throughput.
|
||||||
|
tensor_parallel_size=8
|
||||||
|
|
||||||
|
# Note: this flag may not be compatible with MI325X GPUs
|
||||||
|
export VLLM_ROCM_QUICK_REDUCE_QUANTIZATION=INT4
|
||||||
|
|
||||||
|
# Note: Using `--kv-cache-dtype fp8` with DeepSeek may cause accuracy issues
|
||||||
|
vllm serve ${model} \
|
||||||
|
--host localhost \
|
||||||
|
--port 8000 \
|
||||||
|
--swap-space 64 \
|
||||||
|
--tensor-parallel-size ${tensor_parallel_size} \
|
||||||
|
--max-num-seqs ${max_num_seqs} \
|
||||||
|
--no-enable-prefix-caching \
|
||||||
|
--max-num-batched-tokens ${max_num_batched_tokens} \
|
||||||
|
--max-model-len ${max_model_len} \
|
||||||
|
--block-size 1 \
|
||||||
|
--gpu-memory-utilization 0.95 \
|
||||||
|
--max-seq-len-to-capture ${max_seq_len_to_capture} \
|
||||||
|
--async-scheduling
|
||||||
|
|
||||||
|
# Wait for model to load and server is ready to accept requests.
|
||||||
|
|
||||||
|
3. Open another terminal on the same machine, connect to your running
|
||||||
|
``vllm-server`` container, and run the benchmark with the appropriate
|
||||||
|
options. For example:
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
# Connect to server
|
||||||
|
docker exec -it vllm-server bash
|
||||||
|
|
||||||
|
# Run the client benchmark
|
||||||
|
input_tokens=8192
|
||||||
|
output_tokens=1024
|
||||||
|
max_concurrency=4
|
||||||
|
num_prompts=32
|
||||||
|
|
||||||
|
python3 /app/vllm/benchmarks/benchmark_serving.py --host localhost --port 8000 \
|
||||||
|
--model ${model} \
|
||||||
|
--dataset-name random \
|
||||||
|
--random-input-len ${input_tokens} \
|
||||||
|
--random-output-len ${output_tokens} \
|
||||||
|
--max-concurrency ${max_concurrency} \
|
||||||
|
--num-prompts ${num_prompts} \
|
||||||
|
--percentile-metrics ttft,tpot,itl,e2el \
|
||||||
|
--ignore-eos
|
||||||
163
docs/benchmark-docker/inference-vllm-gpt-oss-120b.rst
Normal file
163
docs/benchmark-docker/inference-vllm-gpt-oss-120b.rst
Normal file
@@ -0,0 +1,163 @@
|
|||||||
|
**********************************************
|
||||||
|
Benchmark GPT OSS 120B inference with vLLM
|
||||||
|
**********************************************
|
||||||
|
|
||||||
|
This section provides instructions to test the inference performance of OpenAI
|
||||||
|
GPT OSS 120B on the vLLM inference engine. The provided Docker
|
||||||
|
image integrates `ROCm 7.0
|
||||||
|
<https://rocm.docs.amd.com/en/docs-7.0.0/about/release-notes.html>`__ with
|
||||||
|
vLLM. This benchmark supports AMD Instinct MI355X, MI350X, MI325X, and MI300X
|
||||||
|
GPUs.
|
||||||
|
|
||||||
|
Follow these steps to pull the required image, spin up the container with the
|
||||||
|
appropriate options, download the model, and run the throughput test.
|
||||||
|
|
||||||
|
Pull the Docker image
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Use the following command to pull the `Docker image <https://hub.docker.com/r/rocm/7.x-preview/tags>`__.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
docker pull rocm/7.x-preview:rocm7.2_preview_ubuntu_22.04_vlm_0.10.1_instinct_20251029
|
||||||
|
|
||||||
|
Download the model
|
||||||
|
==================
|
||||||
|
|
||||||
|
While vLLM can download model weights at runtime, it's recommended to
|
||||||
|
download ahead of time. You will need:
|
||||||
|
|
||||||
|
* A valid `Hugging Face access token <https://huggingface.co/docs/hub/security-tokens>`__.
|
||||||
|
Remember to set ``HF_TOKEN`` to your access token.
|
||||||
|
|
||||||
|
* Access granted to the specific model from your Hugging Face account
|
||||||
|
|
||||||
|
See the model card on Hugging Face at
|
||||||
|
`openai/gpt-oss-120b <https://huggingface.co/openai/gpt-oss-120b>`__.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
model=openai/gpt-oss-120b
|
||||||
|
|
||||||
|
pip install huggingface_hub[cli] hf_transfer hf_xet
|
||||||
|
HF_HUB_ENABLE_HF_TRANSFER=1 \
|
||||||
|
HF_HOME=/data/huggingface-cache \
|
||||||
|
HF_TOKEN="<HF_TOKEN>" \ # Replace with your HF_TOKEN Hugging Face access token.
|
||||||
|
huggingface-cli download ${model} --exclude "original/*"
|
||||||
|
|
||||||
|
Run the inference benchmark
|
||||||
|
===========================
|
||||||
|
|
||||||
|
1. Start the container using the following command.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
docker run -it \
|
||||||
|
--ipc=host \
|
||||||
|
--network=host \
|
||||||
|
--privileged \
|
||||||
|
--cap-add=CAP_SYS_ADMIN \
|
||||||
|
--device=/dev/kfd \
|
||||||
|
--device=/dev/dri \
|
||||||
|
--cap-add=SYS_PTRACE \
|
||||||
|
--security-opt seccomp=unconfined \
|
||||||
|
-v /data:/data \
|
||||||
|
-e HF_HOME=/data/huggingface-cache \
|
||||||
|
-e HF_HUB_OFFLINE=1 \
|
||||||
|
--name vllm-server \
|
||||||
|
rocm/7.x-preview:rocm7.2_preview_ubuntu_22.04_vlm_0.10.1_instinct_20251029
|
||||||
|
|
||||||
|
2. Start the server.
|
||||||
|
|
||||||
|
.. tab-set::
|
||||||
|
|
||||||
|
.. tab-item:: MI355X and MI350X
|
||||||
|
:sync: mi35x
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
model=openai/gpt-oss-120b
|
||||||
|
max_model_len=10368 # 1.125 x (input sequence length + output sequence length); e.g. 1.125 x (8192 + 1024) = 10368.
|
||||||
|
max_seq_len_to_capture=10368 # Beneficial to set this to max_model_len.
|
||||||
|
max_num_seqs=1024 # Set to max_concurrency of the client to get better throughput.
|
||||||
|
tensor_parallel_size=8
|
||||||
|
|
||||||
|
export VLLM_USE_AITER_UNIFIED_ATTENTION=1
|
||||||
|
export VLLM_ROCM_USE_AITER_MHA=0
|
||||||
|
export VLLM_ROCM_USE_AITER_FUSED_MOE_A16W4=1
|
||||||
|
|
||||||
|
vllm serve ${model} \
|
||||||
|
--port 8000 \
|
||||||
|
--swap-space 64 \
|
||||||
|
--max-model-len ${max_model_len} \
|
||||||
|
--tensor-parallel-size ${tensor_parallel_size} \
|
||||||
|
--max-num-seqs ${max_num_seqs} \
|
||||||
|
--gpu-memory-utilization 0.95 \
|
||||||
|
--max-seq-len-to-capture ${max_seq_len_to_capture} \
|
||||||
|
--compilation-config '{"compile_sizes":[1,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,256,512,1024,2048,8192] , "cudagraph_capture_sizes":[1,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,136,144,152,160,168,176,184,192,200,208,216,224,232,240,248,256,264,272,280,288,296,304,312,320,328,336,344,352,360,368,376,384,392,400,408,416,424,432,440,448,456,464,472,480,488,496,504,512,520,528,536,544,552,560,568,576,584,592,600,608,616,624,632,640,648,656,664,672,680,688,696,704,712,720,728,736,744,752,760,768,776,784,792,800,808,816,824,832,840,848,856,864,872,880,888,896,904,912,920,928,936,944,952,960,968,976,984,992,1000,1008,1016,1024,2048,4096,8192] , "cudagraph_mode": "FULL_AND_PIECEWISE"}' \
|
||||||
|
--block-size=64 \
|
||||||
|
--no-enable-prefix-caching \
|
||||||
|
--async-scheduling
|
||||||
|
|
||||||
|
# Wait for model to load and server is ready to accept requests.
|
||||||
|
|
||||||
|
.. tab-item:: MI325X and MI300X
|
||||||
|
:sync: mi30x
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
model=openai/gpt-oss-120b
|
||||||
|
max_model_len=10368 # 1.125 x (input sequence length + output sequence length); e.g. 1.125 x (8192 + 1024) = 10368.
|
||||||
|
max_seq_len_to_capture=10368 # Beneficial to set this to max_model_len.
|
||||||
|
max_num_seqs=1024 # Set to max_concurrency of the client to get better throughput.
|
||||||
|
tensor_parallel_size=8
|
||||||
|
|
||||||
|
export VLLM_USE_AITER_UNIFIED_ATTENTION=1
|
||||||
|
export VLLM_ROCM_USE_AITER_MHA=0
|
||||||
|
export VLLM_ROCM_USE_AITER_TRITON_BF16_GEMM=0
|
||||||
|
|
||||||
|
# Set this flag for MI300X only; it is not yet compatible with MI325X.
|
||||||
|
# export VLLM_ROCM_QUICK_REDUCE_QUANTIZATION=INT4
|
||||||
|
|
||||||
|
vllm serve ${model} \
|
||||||
|
--port 8000 \
|
||||||
|
--swap-space 64 \
|
||||||
|
--max-model-len ${max_model_len} \
|
||||||
|
--tensor-parallel-size ${tensor_parallel_size} \
|
||||||
|
--max-num-seqs ${max_num_seqs} \
|
||||||
|
--gpu-memory-utilization 0.95 \
|
||||||
|
--max-seq-len-to-capture ${max_seq_len_to_capture} \
|
||||||
|
--compilation-config '{"cudagraph_mode": "FULL_AND_PIECEWISE"}' \
|
||||||
|
--block-size=64 \
|
||||||
|
--no-enable-prefix-caching \
|
||||||
|
--async-scheduling
|
||||||
|
|
||||||
|
# Wait for model to load and server is ready to accept requests.
|
||||||
|
|
||||||
|
3. Open another terminal on the same machine, connect to your running
|
||||||
|
``vllm-server`` container, and run the benchmark with the appropriate
|
||||||
|
options. For example:
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
# Connect to server
|
||||||
|
docker exec -it vllm-server bash
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
# Run the client benchmark
|
||||||
|
model=openai/gpt-oss-120b
|
||||||
|
input_tokens=1024
|
||||||
|
output_tokens=1024
|
||||||
|
max_concurrency=4
|
||||||
|
num_prompts=32
|
||||||
|
|
||||||
|
python3 /app/vllm/benchmarks/benchmark_serving.py --host localhost --port 8000 \
|
||||||
|
--model ${model} \
|
||||||
|
--dataset-name random \
|
||||||
|
--random-input-len ${input_tokens} \
|
||||||
|
--random-output-len ${output_tokens} \
|
||||||
|
--max-concurrency ${max_concurrency} \
|
||||||
|
--num-prompts ${num_prompts} \
|
||||||
|
--percentile-metrics ttft,tpot,itl,e2el \
|
||||||
|
--ignore-eos
|
||||||
193
docs/benchmark-docker/inference-vllm-llama-3.1-405b-fp4.rst
Normal file
193
docs/benchmark-docker/inference-vllm-llama-3.1-405b-fp4.rst
Normal file
@@ -0,0 +1,193 @@
|
|||||||
|
************************************************
|
||||||
|
Benchmark Llama 3.3/3.1 FP4 inference with vLLM
|
||||||
|
************************************************
|
||||||
|
|
||||||
|
This section provides instructions to test the inference performance of Llama
|
||||||
|
3.3 70B and Llama 3.1 405B with MXFP4 precision on the vLLM inference engine.
|
||||||
|
The provided Docker image integrates `ROCm 7.0
|
||||||
|
<https://rocm.docs.amd.com/en/docs-7.0.0/about/release-notes.html>`__ with vLLM.
|
||||||
|
This benchmark supports AMD Instinct MI355X and MI350X GPUs.
|
||||||
|
|
||||||
|
Follow these steps to pull the required image, spin up the container with the
|
||||||
|
appropriate options, download the model, and run the throughput test.
|
||||||
|
|
||||||
|
Pull the Docker image
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Use the following command to pull the `Docker image <https://hub.docker.com/r/rocm/7.x-preview/tags>`__.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
docker pull rocm/7.x-preview:rocm7.2_preview_ubuntu_22.04_vlm_0.10.1_instinct_20251029
|
||||||
|
|
||||||
|
Download the model
|
||||||
|
==================
|
||||||
|
|
||||||
|
While vLLM can download model weights at runtime, it's recommended to
|
||||||
|
download ahead of time. You will need:
|
||||||
|
|
||||||
|
* A valid `Hugging Face access token <https://huggingface.co/docs/hub/security-tokens>`__.
|
||||||
|
Remember to set ``HF_TOKEN`` to your access token.
|
||||||
|
|
||||||
|
* Access granted to the specific model from your Hugging Face account
|
||||||
|
|
||||||
|
.. tab-set::
|
||||||
|
|
||||||
|
.. tab-item:: Llama 3.3 70B MXFP4
|
||||||
|
:sync: Llama-3.3-70B-Instruct-MXFP4-Preview
|
||||||
|
|
||||||
|
See the model card on Hugging Face at
|
||||||
|
`amd/Llama-3.3-70B-Instruct-MXFP4-Preview <https://huggingface.co/amd/Llama-3.3-70B-Instruct-MXFP4-Preview>`__.
|
||||||
|
This model uses FP4 quantization via `AMD Quark
|
||||||
|
<https://quark.docs.amd.com/latest/>`_ for efficient inference on AMD
|
||||||
|
accelerators.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
model=amd/Llama-3.3-70B-Instruct-MXFP4-Preview
|
||||||
|
|
||||||
|
pip install huggingface_hub[cli] hf_transfer hf_xet
|
||||||
|
HF_HUB_ENABLE_HF_TRANSFER=1 \
|
||||||
|
HF_HOME=/data/huggingface-cache \
|
||||||
|
HF_TOKEN="<HF_TOKEN>" \ # Replace with your HF_TOKEN Hugging Face access token.
|
||||||
|
huggingface-cli download ${model} --exclude "original/*"
|
||||||
|
|
||||||
|
.. tab-item:: Llama 3.1 405B MXFP4
|
||||||
|
:sync: Llama-3.1-405B-Instruct-MXFP4-Preview
|
||||||
|
|
||||||
|
See the model card on Hugging Face at
|
||||||
|
`amd/Llama-3.1-405B-Instruct-MXFP4-Preview <https://huggingface.co/amd/Llama-3.1-405B-Instruct-MXFP4-Preview>`__.
|
||||||
|
This model uses FP4 quantization via `AMD Quark
|
||||||
|
<https://quark.docs.amd.com/latest/>`_ for efficient inference on AMD
|
||||||
|
accelerators.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
model=amd/Llama-3.1-405B-Instruct-MXFP4-Preview
|
||||||
|
|
||||||
|
pip install huggingface_hub[cli] hf_transfer hf_xet
|
||||||
|
HF_HUB_ENABLE_HF_TRANSFER=1 \
|
||||||
|
HF_HOME=/data/huggingface-cache \
|
||||||
|
HF_TOKEN="<HF_TOKEN>" \ # Replace with your HF_TOKEN Hugging Face access token.
|
||||||
|
huggingface-cli download ${model} --exclude "original/*"
|
||||||
|
|
||||||
|
Run the inference benchmark
|
||||||
|
===========================
|
||||||
|
|
||||||
|
1. Start the container using the following command.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
docker run -it \
|
||||||
|
--ipc=host \
|
||||||
|
--network=host \
|
||||||
|
--privileged \
|
||||||
|
--cap-add=CAP_SYS_ADMIN \
|
||||||
|
--device=/dev/kfd \
|
||||||
|
--device=/dev/dri \
|
||||||
|
--cap-add=SYS_PTRACE \
|
||||||
|
--security-opt seccomp=unconfined \
|
||||||
|
-v /data:/data \
|
||||||
|
-e HF_HOME=/data/huggingface-cache \
|
||||||
|
-e HF_HUB_OFFLINE=1 \
|
||||||
|
--name vllm-server \
|
||||||
|
rocm/7.x-preview:rocm7.2_preview_ubuntu_22.04_vlm_0.10.1_instinct_20251029
|
||||||
|
|
||||||
|
2. Start the server.
|
||||||
|
|
||||||
|
.. tab-set::
|
||||||
|
|
||||||
|
.. tab-item:: Llama 3.3 70B MXFP4
|
||||||
|
:sync: Llama-3.3-70B-Instruct-MXFP4-Preview
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
model=amd/Llama-3.3-70B-Instruct-MXFP4-Preview
|
||||||
|
|
||||||
|
.. tab-item:: Llama 3.1 405B MXFP4
|
||||||
|
:sync: Llama-3.1-405B-Instruct-MXFP4-Preview
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
model=amd/Llama-3.1-405B-Instruct-MXFP4-Preview
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
max_model_len=10240 # Must be >= the input + the output lengths.
|
||||||
|
max_seq_len_to_capture=10240 # Beneficial to set this to max_model_len.
|
||||||
|
max_num_seqs=1024
|
||||||
|
max_num_batched_tokens=131072 # Smaller values may result in better TTFT but worse TPOT / throughput.
|
||||||
|
tensor_parallel_size=8
|
||||||
|
|
||||||
|
# The following setting is recommended for most configurations:
|
||||||
|
export VLLM_TRITON_FP4_GEMM_USE_ASM=1
|
||||||
|
|
||||||
|
# For tensor parallelism >1 at low concurrency (<= 16 for input length 1024, <= 4 for input length 8192),
|
||||||
|
# uncomment these lines:
|
||||||
|
# export VLLM_TRITON_FP4_GEMM_USE_ASM=0
|
||||||
|
# export VLLM_ROCM_USE_AITER_TRITON_BF16_GEMM=0
|
||||||
|
|
||||||
|
# 0 is recommended for most configurations.
|
||||||
|
# 1 (the default) is faster for input lengths of 8192 with concurrency > 16.
|
||||||
|
export VLLM_ROCM_USE_AITER_MHA=0
|
||||||
|
|
||||||
|
export VLLM_ROCM_QUICK_REDUCE_QUANTIZATION=INT4
|
||||||
|
|
||||||
|
vllm serve ${model} \
|
||||||
|
--host localhost \
|
||||||
|
--port 8000 \
|
||||||
|
--swap-space 64 \
|
||||||
|
--max-model-len ${max_model_len} \
|
||||||
|
--tensor-parallel-size ${tensor_parallel_size} \
|
||||||
|
--max-num-seqs ${max_num_seqs} \
|
||||||
|
--kv-cache-dtype fp8 \
|
||||||
|
--gpu-memory-utilization 0.94 \
|
||||||
|
--max-seq-len-to-capture ${max_seq_len_to_capture} \
|
||||||
|
--max-num-batched-tokens ${max_num_batched_tokens} \
|
||||||
|
--no-enable-prefix-caching \
|
||||||
|
--async-scheduling
|
||||||
|
|
||||||
|
# Wait for model to load and server is ready to accept requests.
|
||||||
|
|
||||||
|
3. Open another terminal on the same machine, connect to your running
|
||||||
|
``vllm-server`` container, and run the benchmark with the appropriate
|
||||||
|
options. For example:
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
# Connect to server
|
||||||
|
docker exec -it vllm-server bash
|
||||||
|
|
||||||
|
.. tab-set::
|
||||||
|
|
||||||
|
.. tab-item:: Llama 3.3 70B MXFP4
|
||||||
|
:sync: Llama-3.3-70B-Instruct-MXFP4-Preview
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
model=amd/Llama-3.3-70B-Instruct-MXFP4-Preview
|
||||||
|
|
||||||
|
.. tab-item:: Llama 3.1 405B MXFP4
|
||||||
|
:sync: Llama-3.1-405B-Instruct-MXFP4-Preview
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
model=amd/Llama-3.1-405B-Instruct-MXFP4-Preview
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
# Run the client benchmark
|
||||||
|
input_tokens=1024
|
||||||
|
output_tokens=1024
|
||||||
|
max_concurrency=64
|
||||||
|
num_prompts=32
|
||||||
|
|
||||||
|
python3 /app/vllm/benchmarks/benchmark_serving.py --host localhost --port 8000 \
|
||||||
|
--model ${model} \
|
||||||
|
--dataset-name random \
|
||||||
|
--random-input-len ${input_tokens} \
|
||||||
|
--random-output-len ${output_tokens} \
|
||||||
|
--max-concurrency ${max_concurrency} \
|
||||||
|
--num-prompts ${num_prompts} \
|
||||||
|
--percentile-metrics ttft,tpot,itl,e2el \
|
||||||
|
--ignore-eos
|
||||||
189
docs/benchmark-docker/inference-vllm-llama-3.3-70b-fp8.rst
Normal file
189
docs/benchmark-docker/inference-vllm-llama-3.3-70b-fp8.rst
Normal file
@@ -0,0 +1,189 @@
|
|||||||
|
************************************************
|
||||||
|
Benchmark Llama 3.3/3.1 FP8 inference with vLLM
|
||||||
|
************************************************
|
||||||
|
|
||||||
|
This section provides instructions to test the inference performance of Llama
|
||||||
|
3.3 70B and Llama 3.1 405B with FP8 precision on the vLLM inference engine. The provided Docker image integrates
|
||||||
|
`ROCm 7.0 <https://rocm.docs.amd.com/en/docs-7.0.0/about/release-notes.html>`__ with vLLM.
|
||||||
|
This benchmark supports AMD Instinct MI355X, MI350X, MI325X, and MI300X GPUs.
|
||||||
|
|
||||||
|
Follow these steps to pull the required image, spin up the container with the
|
||||||
|
appropriate options, download the model, and run the throughput test.
|
||||||
|
|
||||||
|
Pull the Docker image
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Use the following command to pull the `Docker image <https://hub.docker.com/r/rocm/7.x-preview/tags>`__.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
docker pull rocm/7.x-preview:rocm7.2_preview_ubuntu_22.04_vlm_0.10.1_instinct_20251029
|
||||||
|
|
||||||
|
Download the model
|
||||||
|
==================
|
||||||
|
|
||||||
|
While vLLM can download model weights at runtime, it's recommended to
|
||||||
|
download ahead of time. You will need:
|
||||||
|
|
||||||
|
* A valid `Hugging Face access token <https://huggingface.co/docs/hub/security-tokens>`__.
|
||||||
|
Remember to set ``HF_TOKEN`` to your access token.
|
||||||
|
|
||||||
|
* Access granted to the specific model from your Hugging Face account
|
||||||
|
|
||||||
|
In the following snippet, set ``HF_TOKEN`` to your access token.
|
||||||
|
|
||||||
|
.. tab-set::
|
||||||
|
|
||||||
|
.. tab-item:: Llama 3.3 70B FP8
|
||||||
|
:sync: Llama-3.3-70B-Instruct-FP8-KV
|
||||||
|
|
||||||
|
See the model card on Hugging Face at
|
||||||
|
`amd/Llama-3.3-70B-Instruct-FP8-KV <https://huggingface.co/amd/Llama-3.3-70B-Instruct-FP8-KV>`__.
|
||||||
|
This model uses FP8 quantization via `AMD Quark
|
||||||
|
<https://quark.docs.amd.com/latest/>`_ for efficient inference on AMD
|
||||||
|
accelerators.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
model=amd/Llama-3.3-70B-Instruct-FP8-KV
|
||||||
|
|
||||||
|
pip install huggingface_hub[cli] hf_transfer hf_xet
|
||||||
|
HF_HUB_ENABLE_HF_TRANSFER=1 \
|
||||||
|
HF_HOME=/data/huggingface-cache \
|
||||||
|
HF_TOKEN="<HF_TOKEN>" \ # Replace with your HF_TOKEN Hugging Face access token.
|
||||||
|
huggingface-cli download ${model} --exclude "original/*"
|
||||||
|
|
||||||
|
.. tab-item:: Llama 3.1 405B FP8
|
||||||
|
:sync: Llama-3.1-405B-Instruct-FP8-KV
|
||||||
|
|
||||||
|
See the model card on Hugging Face at
|
||||||
|
`amd/Llama-3.1-405B-Instruct-FP8-KV <https://huggingface.co/amd/Llama-3.1-405B-Instruct-FP8-KV>`__.
|
||||||
|
This model uses FP8 quantization via `AMD Quark
|
||||||
|
<https://quark.docs.amd.com/latest/>`_ for efficient inference on AMD
|
||||||
|
accelerators.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
model=amd/Llama-3.1-405B-Instruct-FP8-KV
|
||||||
|
|
||||||
|
pip install huggingface_hub[cli] hf_transfer hf_xet
|
||||||
|
HF_HUB_ENABLE_HF_TRANSFER=1 \
|
||||||
|
HF_HOME=/data/huggingface-cache \
|
||||||
|
HF_TOKEN="<HF_TOKEN>" \ # Replace with your HF_TOKEN Hugging Face access token.
|
||||||
|
huggingface-cli download ${model} --exclude "original/*"
|
||||||
|
|
||||||
|
Run the inference benchmark
|
||||||
|
===========================
|
||||||
|
|
||||||
|
1. Start the container using the following command.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
docker run -it \
|
||||||
|
--ipc=host \
|
||||||
|
--network=host \
|
||||||
|
--privileged \
|
||||||
|
--cap-add=CAP_SYS_ADMIN \
|
||||||
|
--device=/dev/kfd \
|
||||||
|
--device=/dev/dri \
|
||||||
|
--cap-add=SYS_PTRACE \
|
||||||
|
--security-opt seccomp=unconfined \
|
||||||
|
-v /data:/data \
|
||||||
|
-e HF_HOME=/data/huggingface-cache \
|
||||||
|
-e HF_HUB_OFFLINE=1 \
|
||||||
|
--name vllm-server \
|
||||||
|
rocm/7.x-preview:rocm7.2_preview_ubuntu_22.04_vlm_0.10.1_instinct_20251029
|
||||||
|
|
||||||
|
2. Start the server. On MI300X and MI325X GPUs, include ``--dtype float16`` in your ``vllm serve`` arguments.
|
||||||
|
This is not necessary on MI350X and MI355X GPUs.
|
||||||
|
|
||||||
|
.. tab-set::
|
||||||
|
|
||||||
|
.. tab-item:: Llama 3.3 70B FP8
|
||||||
|
:sync: Llama-3.3-70B-Instruct-FP8-KV
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
model=amd/Llama-3.3-70B-Instruct-FP8-KV
|
||||||
|
|
||||||
|
.. tab-item:: Llama 3.1 405B FP8
|
||||||
|
:sync: Llama-3.1-405B-Instruct-FP8-KV
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
model=amd/Llama-3.1-405B-Instruct-FP8-KV
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
max_model_len=10240 # Must be >= the input + the output lengths.
|
||||||
|
max_seq_len_to_capture=10240 # Beneficial to set this to max_model_len.
|
||||||
|
max_num_seqs=1024
|
||||||
|
max_num_batched_tokens=131072 # Smaller values may result in better TTFT but worse TPOT / throughput.
|
||||||
|
tensor_parallel_size=8
|
||||||
|
|
||||||
|
# Note: this flag may not be compatible with MI325X GPUs
|
||||||
|
export VLLM_ROCM_QUICK_REDUCE_QUANTIZATION=INT4
|
||||||
|
|
||||||
|
# 0 is recommended for most configurations.
|
||||||
|
# 1 (the default) is faster for input lengths of 8192 with concurrency > 16.
|
||||||
|
export VLLM_ROCM_USE_AITER_MHA=0
|
||||||
|
|
||||||
|
vllm serve ${model} \
|
||||||
|
--host localhost \
|
||||||
|
--port 8000 \
|
||||||
|
--swap-space 64 \
|
||||||
|
--max-model-len ${max_model_len} \
|
||||||
|
--tensor-parallel-size ${tensor_parallel_size} \
|
||||||
|
--max-num-seqs ${max_num_seqs} \
|
||||||
|
--distributed-executor-backend mp \
|
||||||
|
--kv-cache-dtype fp8 \
|
||||||
|
--gpu-memory-utilization 0.94 \
|
||||||
|
--max-seq-len-to-capture ${max_seq_len_to_capture} \
|
||||||
|
--max-num-batched-tokens ${max_num_batched_tokens} \
|
||||||
|
--no-enable-prefix-caching \
|
||||||
|
--async-scheduling
|
||||||
|
|
||||||
|
# Wait for model to load and server is ready to accept requests.
|
||||||
|
|
||||||
|
3. Open another terminal on the same machine, connect to your running
|
||||||
|
``vllm-server`` container, and run the benchmark with the appropriate
|
||||||
|
options. For example:
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
# Connect to server
|
||||||
|
docker exec -it vllm-server bash
|
||||||
|
|
||||||
|
.. tab-set::
|
||||||
|
|
||||||
|
.. tab-item:: Llama 3.3 70B FP8
|
||||||
|
:sync: Llama-3.3-70B-Instruct-FP8-KV
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
model=amd/Llama-3.3-70B-Instruct-FP8-KV
|
||||||
|
|
||||||
|
.. tab-item:: Llama 3.1 405B FP8
|
||||||
|
:sync: Llama-3.1-405B-Instruct-FP8-KV
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
model=amd/Llama-3.1-405B-Instruct-FP8-KV
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
# Run the client benchmark
|
||||||
|
input_tokens=1024
|
||||||
|
output_tokens=1024
|
||||||
|
max_concurrency=4
|
||||||
|
num_prompts=32
|
||||||
|
|
||||||
|
python3 /app/vllm/benchmarks/benchmark_serving.py --host localhost --port 8000 \
|
||||||
|
--model ${model} \
|
||||||
|
--dataset-name random \
|
||||||
|
--random-input-len ${input_tokens} \
|
||||||
|
--random-output-len ${output_tokens} \
|
||||||
|
--max-concurrency ${max_concurrency} \
|
||||||
|
--num-prompts ${num_prompts} \
|
||||||
|
--percentile-metrics ttft,tpot,itl,e2el \
|
||||||
|
--ignore-eos
|
||||||
122
docs/benchmark-docker/training-maxtext-llama-3.rst
Normal file
122
docs/benchmark-docker/training-maxtext-llama-3.rst
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
*******************************************
|
||||||
|
Benchmark Llama 3 pre-training with MaxText
|
||||||
|
*******************************************
|
||||||
|
|
||||||
|
This page describes how to benchmark Llama 3 8B and 70B pre-training using the
|
||||||
|
MaxText framework. It includes configurations for both
|
||||||
|
FP8 and BF16 precision to measure throughput. The provided Docker
|
||||||
|
image integrates ROCm 7.0 with MaxText
|
||||||
|
-- and is supported on AMD Instinct MI355X and MI350X GPUs.
|
||||||
|
|
||||||
|
Follow these steps to pull the required image, spin up the container with the
|
||||||
|
appropriate options, download the model, and run the throughput test.
|
||||||
|
|
||||||
|
Pull the Docker image
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Use the following command to pull the `Docker image <https://hub.docker.com/r/rocm/7.0/tags>`__.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
docker pull rocm/7.0:rocm7.0_jax_training_mi35x_20250915
|
||||||
|
|
||||||
|
Run the training benchmark
|
||||||
|
==========================
|
||||||
|
|
||||||
|
1. Start the container using the following command.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
docker run -it \
|
||||||
|
--device /dev/dri \
|
||||||
|
--device /dev/kfd \
|
||||||
|
--network host \
|
||||||
|
--ipc host \
|
||||||
|
--group-add video \
|
||||||
|
--cap-add SYS_PTRACE \
|
||||||
|
--security-opt seccomp=unconfined \
|
||||||
|
--privileged \
|
||||||
|
-v $HOME:$HOME \
|
||||||
|
-v $HOME/.ssh:/root/.ssh \
|
||||||
|
--shm-size 64G \
|
||||||
|
-w /workspace/maxtext \
|
||||||
|
--name training_benchmark \
|
||||||
|
rocm/7.0:rocm7.0_jax_training_mi35x_20250915
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
This containerized environment includes all necessary dependencies and pre-tuned
|
||||||
|
configurations for the supported models and precision types.
|
||||||
|
|
||||||
|
2. Run the training script with the following options for your desired precision.
|
||||||
|
|
||||||
|
.. tab-set::
|
||||||
|
|
||||||
|
.. tab-item:: Llama 3 8B
|
||||||
|
|
||||||
|
.. tab-set::
|
||||||
|
|
||||||
|
.. tab-item:: BF16
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
wget https://raw.githubusercontent.com/ROCm/MAD/refs/heads/develop/scripts/jax-maxtext/env_scripts/llama3_8b.yml
|
||||||
|
wget https://raw.githubusercontent.com/ROCm/MAD/refs/heads/develop/scripts/jax-maxtext/env_scripts/llama3_8b_env.sh
|
||||||
|
bash llama3_8b_env.sh
|
||||||
|
python3 -m MaxText.train llama3_8b.yml
|
||||||
|
|
||||||
|
.. tab-item:: FP8
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
wget https://raw.githubusercontent.com/ROCm/MAD/refs/heads/develop/scripts/jax-maxtext/env_scripts/llama3_8b.yml
|
||||||
|
wget https://raw.githubusercontent.com/ROCm/MAD/refs/heads/develop/scripts/jax-maxtext/env_scripts/llama3_8b_env.sh
|
||||||
|
bash llama3_8b_env.sh
|
||||||
|
python3 -m MaxText.train llama3_8b.yml quantization=fp8
|
||||||
|
|
||||||
|
.. tab-item:: Llama 3 70B
|
||||||
|
|
||||||
|
.. tab-set::
|
||||||
|
|
||||||
|
.. tab-item:: BF16
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
wget https://raw.githubusercontent.com/ROCm/MAD/refs/heads/develop/scripts/jax-maxtext/env_scripts/llama3_70b.yml
|
||||||
|
wget https://raw.githubusercontent.com/ROCm/MAD/refs/heads/develop/scripts/jax-maxtext/env_scripts/llama3_70b_env.sh
|
||||||
|
bash llama3_70b_env.sh
|
||||||
|
python3 -m MaxText.train llama3_70b.yml
|
||||||
|
|
||||||
|
.. rubric:: Options
|
||||||
|
|
||||||
|
The ``MaxText.train`` script accepts the following options:
|
||||||
|
|
||||||
|
* ``per_device_batch_size``: Per-device batch size
|
||||||
|
|
||||||
|
* ``quantization``: quantization
|
||||||
|
|
||||||
|
* ``max_target_length``: Maximum input token sequence length
|
||||||
|
|
||||||
|
* ``steps``: Number of training iterations to execute
|
||||||
|
|
||||||
|
See this base [config](https://github.com/AI-Hypercomputer/maxtext/blob/main/src/MaxText/configs/base.yml)
|
||||||
|
for the full list of settings you can change.
|
||||||
|
|
||||||
|
Other supported models
|
||||||
|
======================
|
||||||
|
|
||||||
|
* Llama-2-7B FP8 and BF16
|
||||||
|
|
||||||
|
* Llama-2-70B FP8 and BF16
|
||||||
|
|
||||||
|
* Llama-3.3-70B BF16
|
||||||
|
|
||||||
|
* DeepSeek-V2-Lite FP8 and BF16
|
||||||
|
|
||||||
|
* Mixtral 8x7B FP8 and BF16
|
||||||
|
|
||||||
|
Known issue
|
||||||
|
===========
|
||||||
|
|
||||||
|
Some models and configurations may trigger a "Memory Access Fault" error.
|
||||||
|
Updates to improve stability are planned for upcoming releases.
|
||||||
111
docs/benchmark-docker/training-maxtext-mixtral-8x7b.rst
Normal file
111
docs/benchmark-docker/training-maxtext-mixtral-8x7b.rst
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
************************************************
|
||||||
|
Benchmark Mixtral 8x7B pre-training with MaxText
|
||||||
|
************************************************
|
||||||
|
|
||||||
|
This page describes how to benchmark the Mixtral 8x7B pre-training using the
|
||||||
|
MaxText framework. It includes configurations for both
|
||||||
|
FP8 and BF16 precision to measure throughput. The provided Docker
|
||||||
|
image integrates a ROCm 7.0 with MaxText
|
||||||
|
-- and is supported on AMD Instinct MI355X and MI350X GPUs.
|
||||||
|
|
||||||
|
Follow these steps to pull the required image, spin up the container with the
|
||||||
|
appropriate options, download the model, and run the throughput test.
|
||||||
|
|
||||||
|
Pull the Docker image
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Use the following command to pull the `Docker image <https://hub.docker.com/r/rocm/7.0/tags>`__.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
docker pull rocm/7.0:rocm7.0_jax_training_mi35x_20250915
|
||||||
|
|
||||||
|
Run the training benchmark
|
||||||
|
==========================
|
||||||
|
|
||||||
|
1. Start the container using the following command.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
docker run -it \
|
||||||
|
--device /dev/dri \
|
||||||
|
--device /dev/kfd \
|
||||||
|
--network host \
|
||||||
|
--ipc host \
|
||||||
|
--group-add video \
|
||||||
|
--cap-add SYS_PTRACE \
|
||||||
|
--security-opt seccomp=unconfined \
|
||||||
|
--privileged \
|
||||||
|
-v $HOME:$HOME \
|
||||||
|
-v $HOME/.ssh:/root/.ssh \
|
||||||
|
--shm-size 64G \
|
||||||
|
-w /workspace/maxtext \
|
||||||
|
--name training_benchmark \
|
||||||
|
rocm/7.0:rocm7.0_jax_training_mi35x_20250915
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
This containerized environment includes all necessary dependencies and pre-tuned
|
||||||
|
configurations for the supported models and precision types.
|
||||||
|
|
||||||
|
2. Run the training script with the following options for your desired precision.
|
||||||
|
|
||||||
|
.. tab-set::
|
||||||
|
|
||||||
|
.. tab-item:: Mixtral 8x7B
|
||||||
|
|
||||||
|
.. tab-set::
|
||||||
|
|
||||||
|
.. tab-item:: BF16
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
wget https://raw.githubusercontent.com/ROCm/MAD/refs/heads/develop/scripts/jax-maxtext/env_scripts/mixtral_8x7b.yml
|
||||||
|
wget https://raw.githubusercontent.com/ROCm/MAD/refs/heads/develop/scripts/jax-maxtext/env_scripts/mixtral_8x7b_env.sh
|
||||||
|
bash mixtral_8x7b_env.sh
|
||||||
|
python3 -m MaxText.train mixtral_8x7b.yml
|
||||||
|
|
||||||
|
.. tab-item:: FP8
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
wget https://raw.githubusercontent.com/ROCm/MAD/refs/heads/develop/scripts/jax-maxtext/env_scripts/mixtral_8x7b.yml
|
||||||
|
wget https://raw.githubusercontent.com/ROCm/MAD/refs/heads/develop/scripts/jax-maxtext/env_scripts/mixtral_8x7b_env.sh
|
||||||
|
bash mixtral_8x7b_env.sh
|
||||||
|
python3 -m MaxText.train mixtral_8x7b.yml quantization=fp8
|
||||||
|
|
||||||
|
.. rubric:: Options
|
||||||
|
|
||||||
|
The ``MaxText.train`` script accepts the following options:
|
||||||
|
|
||||||
|
* ``per_device_batch_size``: Per-device batch size
|
||||||
|
|
||||||
|
* ``quantization``: quantization
|
||||||
|
|
||||||
|
* ``max_target_length``: Maximum input token sequence length
|
||||||
|
|
||||||
|
* ``steps``: Number of training iterations to execute
|
||||||
|
|
||||||
|
See this base [config](https://github.com/AI-Hypercomputer/maxtext/blob/main/src/MaxText/configs/base.yml)
|
||||||
|
for the full list of settings you can change.
|
||||||
|
|
||||||
|
Other supported models
|
||||||
|
======================
|
||||||
|
|
||||||
|
* Llama-2-7B FP8 and BF16
|
||||||
|
|
||||||
|
* Llama-2-70B FP8 and BF16
|
||||||
|
|
||||||
|
* Llama-3.1-8B FP8 and BF16
|
||||||
|
|
||||||
|
* Llama-3.1-70B BF16
|
||||||
|
|
||||||
|
* Llama-3.3-70B BF16
|
||||||
|
|
||||||
|
* DeepSeek-V2-Lite FP8 and BF16
|
||||||
|
|
||||||
|
Known issue
|
||||||
|
===========
|
||||||
|
|
||||||
|
Some models and configurations may trigger a "Memory Access Fault" error.
|
||||||
|
Updates to improve stability are planned for upcoming releases.
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user