mirror of
https://github.com/ROCm/ROCm.git
synced 2026-01-11 07:38:17 -05:00
Compare commits
169 Commits
precision_
...
docs_remov
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e6d089c5fa | ||
|
|
0d7846fbab | ||
|
|
156917e15d | ||
|
|
d7a9280008 | ||
|
|
c1825ba41c | ||
|
|
0a77e7b3a5 | ||
|
|
a940f3f090 | ||
|
|
95415d5e70 | ||
|
|
d1772b9ca3 | ||
|
|
f65e1412df | ||
|
|
ea1072b11d | ||
|
|
90a651d2b6 | ||
|
|
16978a382b | ||
|
|
dc23bb09c2 | ||
|
|
bb7af3351a | ||
|
|
8ef1bb0139 | ||
|
|
1610837a95 | ||
|
|
b7ce573c66 | ||
|
|
186c281aba | ||
|
|
d44ea40a0d | ||
|
|
a7c158a14f | ||
|
|
85778177a1 | ||
|
|
28060c104b | ||
|
|
84177354de | ||
|
|
7458fcb7ab | ||
|
|
16d6e59003 | ||
|
|
fd9f576b26 | ||
|
|
a66bc1d85e | ||
|
|
36b6ffaf7c | ||
|
|
40e4ba3ecc | ||
|
|
1f41ce26be | ||
|
|
9293723381 | ||
|
|
588752ade4 | ||
|
|
c3faa9670b | ||
|
|
7246a673ce | ||
|
|
3f1c07afd7 | ||
|
|
b29b3592bd | ||
|
|
2b2732fe6f | ||
|
|
396b6375ba | ||
|
|
37a56b4ab6 | ||
|
|
fc162d11e0 | ||
|
|
34288b5af2 | ||
|
|
460e4be71d | ||
|
|
25ca422954 | ||
|
|
27edda496d | ||
|
|
9ff3c2c885 | ||
|
|
0d28491d16 | ||
|
|
7f708c8d87 | ||
|
|
2ab35b3732 | ||
|
|
d057d49af1 | ||
|
|
15ec4cf910 | ||
|
|
ec36f39665 | ||
|
|
310864e653 | ||
|
|
330aa6f23d | ||
|
|
eb090b8788 | ||
|
|
af18a170bc | ||
|
|
8b423430a4 | ||
|
|
21b22f89f5 | ||
|
|
87b9fac022 | ||
|
|
656db2bc84 | ||
|
|
295e1e2998 | ||
|
|
6770798faf | ||
|
|
197799242c | ||
|
|
f41d7d7dc3 | ||
|
|
493585dfbb | ||
|
|
e756d99f65 | ||
|
|
686fcece1d | ||
|
|
131e34f582 | ||
|
|
449eeeb835 | ||
|
|
db3c46fccf | ||
|
|
ee08d97533 | ||
|
|
42b5e8da72 | ||
|
|
1ec44effc3 | ||
|
|
1b7b3207f5 | ||
|
|
7d5ea2f2f9 | ||
|
|
18abbbda11 | ||
|
|
f9da26b35f | ||
|
|
16b6888d4f | ||
|
|
0733e30e06 | ||
|
|
03137e1146 | ||
|
|
8a24176528 | ||
|
|
08f8cf4f27 | ||
|
|
b4eebb4b1d | ||
|
|
f414ee2ae6 | ||
|
|
1e231b4b28 | ||
|
|
8256d87cfc | ||
|
|
824204a71d | ||
|
|
bd887d9b3b | ||
|
|
588204f800 | ||
|
|
c26f470c8a | ||
|
|
44374fa6a4 | ||
|
|
1ea7d16221 | ||
|
|
595d033ef8 | ||
|
|
28adda646a | ||
|
|
13bd184ec3 | ||
|
|
b727bbcfd2 | ||
|
|
70c1a0596d | ||
|
|
f6ed2f1389 | ||
|
|
6c7f167650 | ||
|
|
defb276d93 | ||
|
|
08d88bc2ef | ||
|
|
fdf24a9c40 | ||
|
|
715cce53de | ||
|
|
2536c40751 | ||
|
|
07068b6fd8 | ||
|
|
7aa9f4dfb2 | ||
|
|
600645d9eb | ||
|
|
09a3cd9a46 | ||
|
|
82ec39aaa6 | ||
|
|
c71201b801 | ||
|
|
ea66bf386a | ||
|
|
ac2c5e72d4 | ||
|
|
53eb4f6edb | ||
|
|
37de280ca6 | ||
|
|
73c3ff05fb | ||
|
|
b178a7ca78 | ||
|
|
31401b6dbb | ||
|
|
4f6387fec4 | ||
|
|
a6232d89f2 | ||
|
|
424e6148bd | ||
|
|
15aca4be9d | ||
|
|
31b1a1f124 | ||
|
|
2cef8b50ae | ||
|
|
a0faccba37 | ||
|
|
d0d55c6bca | ||
|
|
4bee895a1b | ||
|
|
97085691f6 | ||
|
|
f418dbac55 | ||
|
|
a412344e0b | ||
|
|
544149631a | ||
|
|
e1d3cac3ad | ||
|
|
0d864eb793 | ||
|
|
1385196fab | ||
|
|
6d6da2c5d6 | ||
|
|
ea11ae86ec | ||
|
|
58d42ec50b | ||
|
|
796868c8cf | ||
|
|
e683e8f2f4 | ||
|
|
8dc218c5d0 | ||
|
|
e396b4898f | ||
|
|
12ac5b8025 | ||
|
|
8f359da39e | ||
|
|
8f922e121e | ||
|
|
e980ea5e57 | ||
|
|
80e89cc885 | ||
|
|
93d6018a83 | ||
|
|
5ea958ba62 | ||
|
|
ea62d2de3d | ||
|
|
062383e52b | ||
|
|
fa9bf4b286 | ||
|
|
635838e7ef | ||
|
|
270dc67bf0 | ||
|
|
70702eb9ea | ||
|
|
99a35bb1fc | ||
|
|
60719f0292 | ||
|
|
4c4491b6b0 | ||
|
|
388f18cf36 | ||
|
|
1f924dd078 | ||
|
|
2fca094531 | ||
|
|
41e7ae8da8 | ||
|
|
9b2ce2b634 | ||
|
|
d171830a85 | ||
|
|
29ba151b48 | ||
|
|
2699125a92 | ||
|
|
17df9993bc | ||
|
|
976b28a56c | ||
|
|
41a5ae5618 | ||
|
|
739944247c | ||
|
|
66a2e52569 |
@@ -8,29 +8,29 @@ resources:
|
|||||||
type: github
|
type: github
|
||||||
endpoint: ROCm
|
endpoint: ROCm
|
||||||
name: ROCm/aomp
|
name: ROCm/aomp
|
||||||
ref: amd-mainline-open
|
ref: amd-mainline
|
||||||
- repository: aomp-extras_repo
|
- repository: aomp-extras_repo
|
||||||
type: github
|
type: github
|
||||||
endpoint: ROCm
|
endpoint: ROCm
|
||||||
name: ROCm/aomp-extras
|
name: ROCm/aomp-extras
|
||||||
ref: amd-mainline-open
|
ref: amd-mainline
|
||||||
- repository: flang_repo
|
- repository: flang_repo
|
||||||
type: github
|
type: github
|
||||||
endpoint: ROCm
|
endpoint: ROCm
|
||||||
name: ROCm/flang
|
name: ROCm/flang
|
||||||
ref: amd-mainline-open
|
ref: amd-mainline
|
||||||
- repository: llvm-project_repo
|
- repository: llvm-project_repo
|
||||||
type: github
|
type: github
|
||||||
endpoint: ROCm
|
endpoint: ROCm
|
||||||
name: ROCm/llvm-project
|
name: ROCm/llvm-project
|
||||||
ref: amd-mainline-open
|
ref: amd-mainline
|
||||||
pipelines:
|
pipelines:
|
||||||
- pipeline: rocr-runtime_pipeline
|
- pipeline: rocr-runtime_pipeline
|
||||||
source: \ROCR-Runtime
|
source: \ROCR-Runtime
|
||||||
trigger:
|
trigger:
|
||||||
branches:
|
branches:
|
||||||
include:
|
include:
|
||||||
- amd-master
|
- amd-mainline
|
||||||
# this job will only be triggered after successful build sequence of llvm-project and ROCR-Runtime
|
# this job will only be triggered after successful build sequence of llvm-project and ROCR-Runtime
|
||||||
|
|
||||||
trigger: none
|
trigger: none
|
||||||
|
|||||||
@@ -8,17 +8,17 @@ resources:
|
|||||||
type: github
|
type: github
|
||||||
endpoint: ROCm
|
endpoint: ROCm
|
||||||
name: ROCm/aomp
|
name: ROCm/aomp
|
||||||
ref: amd-staging
|
ref: aomp-dev
|
||||||
- repository: aomp-extras_repo
|
- repository: aomp-extras_repo
|
||||||
type: github
|
type: github
|
||||||
endpoint: ROCm
|
endpoint: ROCm
|
||||||
name: ROCm/aomp-extras
|
name: ROCm/aomp-extras
|
||||||
ref: amd-staging
|
ref: aomp-dev
|
||||||
- repository: flang_repo
|
- repository: flang_repo
|
||||||
type: github
|
type: github
|
||||||
endpoint: ROCm
|
endpoint: ROCm
|
||||||
name: ROCm/flang
|
name: ROCm/flang
|
||||||
ref: amd-staging
|
ref: aomp-dev
|
||||||
- repository: llvm-project_repo
|
- repository: llvm-project_repo
|
||||||
type: github
|
type: github
|
||||||
endpoint: ROCm
|
endpoint: ROCm
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -27,12 +32,12 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- https://github.com/RadeonOpenCompute/rbuild/archive/master.tar.gz
|
- https://github.com/RadeonOpenCompute/rbuild/archive/master.tar.gz
|
||||||
- onnx>=1.14.1
|
- "onnx>=1.14.1"
|
||||||
- numpy>=1.21.6
|
- "numpy>=1.21.6"
|
||||||
- typing>=3.7.4
|
- "typing>=3.7.4"
|
||||||
- pytest>=6.0.1
|
- "pytest>=6.0.1"
|
||||||
- packaging>=23.0
|
- "packaging>=23.0"
|
||||||
- protobuf>=3.20.2
|
- "protobuf>=3.20.2"
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -72,129 +77,137 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: AMDMIGraphX
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
target: gfx942
|
||||||
workspace:
|
- gfx90a:
|
||||||
clean: all
|
target: gfx90a
|
||||||
strategy:
|
testJobs:
|
||||||
matrix:
|
- gfx942:
|
||||||
gfx942:
|
target: gfx942
|
||||||
JOB_GPU_TARGET: gfx942
|
- gfx90a:
|
||||||
gfx90a:
|
target: gfx90a
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
# half version should be fixed to 5.6.0
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
|
||||||
parameters:
|
|
||||||
buildType: specific
|
|
||||||
definitionId: ${{ variables.HALF560_PIPELINE_ID }}
|
|
||||||
buildId: ${{ variables.HALF560_BUILD_ID }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm
|
|
||||||
-DHALF_INCLUDE_DIR=$(Agent.BuildDirectory)/rocm/include
|
|
||||||
-DBUILD_TESTING=ON
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
|
|
||||||
- job: AMDMIGraphX_testing
|
jobs:
|
||||||
dependsOn: AMDMIGraphX
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: AMDMIGraphX_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
- name: MIGRAPHX_TRACE_BENCHMARKING
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
value: 1
|
workspace:
|
||||||
pool: $(JOB_TEST_POOL)
|
clean: all
|
||||||
workspace:
|
steps:
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
strategy:
|
parameters:
|
||||||
matrix:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
gfx942:
|
pipModules: ${{ parameters.pipModules }}
|
||||||
JOB_GPU_TARGET: gfx942
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
gfx90a:
|
parameters:
|
||||||
JOB_GPU_TARGET: gfx90a
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
# half version should be fixed to 5.6.0
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
buildType: specific
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
definitionId: ${{ variables.HALF560_PIPELINE_ID }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
buildId: ${{ variables.HALF560_BUILD_ID }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
gpuTarget: ${{ job.target }}
|
||||||
# half version should be fixed to 5.6.0
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
buildType: specific
|
extraBuildFlags: >-
|
||||||
definitionId: ${{ variables.HALF560_PIPELINE_ID }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
buildId: ${{ variables.HALF560_BUILD_ID }}
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
parameters:
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
-DHALF_INCLUDE_DIR=$(Agent.BuildDirectory)/rocm/include
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
-DBUILD_TESTING=ON
|
||||||
- task: CMake@1
|
-GNinja
|
||||||
displayName: MIGraphXTest CMake Flags
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
inputs:
|
parameters:
|
||||||
cmakeArgs: >-
|
gpuTarget: ${{ job.target }}
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
parameters:
|
||||||
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
gpuTarget: ${{ job.target }}
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
-DHALF_INCLUDE_DIR=$(Agent.BuildDirectory)/rocm/include
|
parameters:
|
||||||
-DBUILD_TESTING=ON
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
-DMIGRAPHX_ENABLE_C_API_TEST=ON
|
pipModules: ${{ parameters.pipModules }}
|
||||||
..
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
parameters:
|
- job: AMDMIGraphX_test_${{ job.target }}
|
||||||
componentName: AMDMIGraphX
|
dependsOn: AMDMIGraphX_build_${{ job.target }}
|
||||||
testExecutable: make
|
condition:
|
||||||
testParameters: -j$(nproc) check
|
and(succeeded(),
|
||||||
testPublishResults: false
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
parameters:
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
)
|
||||||
pipModules: ${{ parameters.pipModules }}
|
variables:
|
||||||
environment: test
|
- group: common
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- template: /.azuredevops/variables-global.yml
|
||||||
extraEnvVars:
|
- name: MIGRAPHX_TRACE_BENCHMARKING
|
||||||
- MIGRAPHX_TRACE_BENCHMARKING:::1
|
value: 1
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
# half version should be fixed to 5.6.0
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
buildType: specific
|
||||||
|
definitionId: ${{ variables.HALF560_PIPELINE_ID }}
|
||||||
|
buildId: ${{ variables.HALF560_BUILD_ID }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- task: CMake@1
|
||||||
|
displayName: MIGraphXTest CMake Flags
|
||||||
|
inputs:
|
||||||
|
cmakeArgs: >-
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm
|
||||||
|
-DHALF_INCLUDE_DIR=$(Agent.BuildDirectory)/rocm/include
|
||||||
|
-DBUILD_TESTING=ON
|
||||||
|
-DMIGRAPHX_ENABLE_C_API_TEST=ON
|
||||||
|
..
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: AMDMIGraphX
|
||||||
|
testExecutable: make
|
||||||
|
testParameters: -j$(nproc) check
|
||||||
|
testPublishResults: false
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
extraEnvVars:
|
||||||
|
- MIGRAPHX_TRACE_BENCHMARKING:::1
|
||||||
|
|||||||
@@ -5,12 +5,18 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- libnuma-dev
|
- libnuma-dev
|
||||||
- mesa-common-dev
|
- mesa-common-dev
|
||||||
|
- ninja-build
|
||||||
- ocl-icd-libopencl1
|
- ocl-icd-libopencl1
|
||||||
- ocl-icd-opencl-dev
|
- ocl-icd-opencl-dev
|
||||||
- opencl-headers
|
- opencl-headers
|
||||||
@@ -41,7 +47,7 @@ jobs:
|
|||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool:
|
pool:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
@@ -66,11 +72,13 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependenciesAMD }}
|
dependencyList: ${{ parameters.rocmDependenciesAMD }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
# compile clr
|
# compile clr
|
||||||
- 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: 'clr/build'
|
cmakeBuildDir: '$(Build.SourcesDirectory)/clr/build'
|
||||||
|
cmakeSourceDir: '$(Build.SourcesDirectory)/clr'
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DHIP_COMMON_DIR=$(Build.SourcesDirectory)/HIP
|
-DHIP_COMMON_DIR=$(Build.SourcesDirectory)/HIP
|
||||||
-DHIP_PLATFORM=amd
|
-DHIP_PLATFORM=amd
|
||||||
@@ -79,6 +87,7 @@ jobs:
|
|||||||
-DHIPCC_BIN_DIR=$(Agent.BuildDirectory)/rocm/bin
|
-DHIPCC_BIN_DIR=$(Agent.BuildDirectory)/rocm/bin
|
||||||
-DCLR_BUILD_HIP=ON
|
-DCLR_BUILD_HIP=ON
|
||||||
-DCLR_BUILD_OCL=ON
|
-DCLR_BUILD_OCL=ON
|
||||||
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
artifactName: amd
|
artifactName: amd
|
||||||
@@ -97,7 +106,7 @@ jobs:
|
|||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool:
|
pool:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
@@ -123,13 +132,15 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependenciesNvidia }}
|
dependencyList: ${{ parameters.rocmDependenciesNvidia }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- script: 'ls -1R $(Agent.BuildDirectory)/rocm'
|
- script: 'ls -1R $(Agent.BuildDirectory)/rocm'
|
||||||
displayName: 'Artifact listing'
|
displayName: 'Artifact listing'
|
||||||
# compile clr
|
# compile clr
|
||||||
- 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: 'clr/build'
|
cmakeBuildDir: '$(Build.SourcesDirectory)/clr/build'
|
||||||
|
cmakeSourceDir: '$(Build.SourcesDirectory)/clr'
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DHIP_COMMON_DIR=$(Build.SourcesDirectory)/HIP
|
-DHIP_COMMON_DIR=$(Build.SourcesDirectory)/HIP
|
||||||
-DHIP_PLATFORM=nvidia
|
-DHIP_PLATFORM=nvidia
|
||||||
@@ -137,6 +148,7 @@ jobs:
|
|||||||
-DCLR_BUILD_HIP=ON
|
-DCLR_BUILD_HIP=ON
|
||||||
-DCLR_BUILD_OCL=OFF
|
-DCLR_BUILD_OCL=OFF
|
||||||
-DHIPNV_DIR=$(Build.SourcesDirectory)/hipother/hipnv
|
-DHIPNV_DIR=$(Build.SourcesDirectory)/hipother/hipnv
|
||||||
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
artifactName: nvidia
|
artifactName: nvidia
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -68,6 +73,7 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
componentName: upstream-llvm
|
componentName: upstream-llvm
|
||||||
cmakeBuildDir: $(Pipeline.Workspace)/llvm-project/llvm/build
|
cmakeBuildDir: $(Pipeline.Workspace)/llvm-project/llvm/build
|
||||||
|
cmakeSourceDir: $(Pipeline.Workspace)/llvm-project/llvm
|
||||||
installDir: $(Pipeline.Workspace)/llvm
|
installDir: $(Pipeline.Workspace)/llvm
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -55,156 +60,166 @@ parameters:
|
|||||||
- rocRAND
|
- rocRAND
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: MIOpen
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
target: gfx942
|
||||||
workspace:
|
- gfx90a:
|
||||||
clean: all
|
target: gfx90a
|
||||||
strategy:
|
testJobs:
|
||||||
matrix:
|
- gfx942:
|
||||||
gfx942:
|
target: gfx942
|
||||||
JOB_GPU_TARGET: gfx942
|
- gfx90a:
|
||||||
gfx90a:
|
target: gfx90a
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/miopen-get-ck-build.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build and install other dependencies
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
|
||||||
script: |
|
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
|
||||||
sed -i '/composable_kernel/d' requirements.txt
|
|
||||||
mkdir -p $(Agent.BuildDirectory)/miopen-deps
|
|
||||||
cmake -P install_deps.cmake --prefix $(Agent.BuildDirectory)/miopen-deps
|
|
||||||
sudo rm -rf /opt/rocm
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DMIOPEN_BACKEND=HIP
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/miopen-deps
|
|
||||||
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-DMIOPEN_ENABLE_AI_KERNEL_TUNING=OFF
|
|
||||||
-DMIOPEN_ENABLE_AI_IMMED_MODE_FALLBACK=OFF
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DBUILD_TESTING=ON
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
extraCopyDirectories:
|
|
||||||
- miopen-deps
|
|
||||||
|
|
||||||
- job: MIOpen_testing
|
jobs:
|
||||||
timeoutInMinutes: 180
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
dependsOn: MIOpen
|
- job: MIOpen_build_${{ job.target }}
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
- name: ROCM_PATH
|
||||||
- name: ROCM_PATH
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
pool: ${{ variables.HIGH_BUILD_POOL }}
|
||||||
pool: $(JOB_TEST_POOL)
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
steps:
|
||||||
strategy:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
matrix:
|
parameters:
|
||||||
gfx942:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
JOB_GPU_TARGET: gfx942
|
pipModules: ${{ parameters.pipModules }}
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
gfx90a:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
JOB_GPU_TARGET: gfx90a
|
parameters:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/miopen-get-ck-build.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
pipModules: ${{ parameters.pipModules }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- task: Bash@3
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/miopen-get-ck-build.yml
|
displayName: Build and install other dependencies
|
||||||
parameters:
|
inputs:
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
targetType: inline
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
parameters:
|
script: |
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
sed -i '/composable_kernel/d' requirements.txt
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
mkdir -p $(Agent.BuildDirectory)/miopen-deps
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
export CXX=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
- task: Bash@3
|
export CC=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
displayName: Build and install other dependencies
|
cmake -P install_deps.cmake --prefix $(Agent.BuildDirectory)/miopen-deps --generator Ninja
|
||||||
inputs:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
targetType: inline
|
parameters:
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
extraBuildFlags: >-
|
||||||
script: |
|
-DMIOPEN_BACKEND=HIP
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
sed -i '/composable_kernel/d' requirements.txt
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/miopen-deps
|
||||||
mkdir -p $(Agent.BuildDirectory)/miopen-deps
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
cmake -P install_deps.cmake --prefix $(Agent.BuildDirectory)/miopen-deps
|
-DMIOPEN_ENABLE_AI_KERNEL_TUNING=OFF
|
||||||
sudo rm -rf /opt/rocm
|
-DMIOPEN_ENABLE_AI_IMMED_MODE_FALLBACK=OFF
|
||||||
- task: CMake@1
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
displayName: 'MIOpen Test CMake Flags'
|
-DBUILD_TESTING=ON
|
||||||
inputs:
|
-GNinja
|
||||||
cmakeArgs: >-
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Build.SourcesDirectory)/bin;$(Agent.BuildDirectory)/miopen-deps
|
parameters:
|
||||||
-DCMAKE_INSTALL_PREFIX=$(Agent.BuildDirectory)/rocm
|
gpuTarget: ${{ job.target }}
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
parameters:
|
||||||
-DMIOPEN_BACKEND=HIP
|
gpuTarget: ${{ job.target }}
|
||||||
-DMIOPEN_TEST_FLAGS=" --disable-verification-cache"
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
-DCMAKE_BUILD_TYPE=release
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
-DBUILD_DEV=OFF
|
parameters:
|
||||||
-DMIOPEN_USE_MLIR=ON
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
-DMIOPEN_GPU_SYNC=OFF
|
pipModules: ${{ parameters.pipModules }}
|
||||||
..
|
gpuTarget: ${{ job.target }}
|
||||||
- task: Bash@3
|
extraCopyDirectories:
|
||||||
displayName: 'MIOpen Test Build'
|
- miopen-deps
|
||||||
inputs:
|
|
||||||
targetType: inline
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
script: |
|
- job: MIOpen_test_${{ job.target }}
|
||||||
cmake --build . --target tests -- -j$(nproc)
|
timeoutInMinutes: 180
|
||||||
workingDirectory: $(Build.SourcesDirectory)/build
|
dependsOn: MIOpen_build_${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
condition:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
and(succeeded(),
|
||||||
parameters:
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
componentName: MIOpen
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
testParameters: '--output-on-failure --force-new-ctest-process --output-junit test_output.xml --exclude-regex test_rnn_seq_api'
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
)
|
||||||
parameters:
|
variables:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- group: common
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: /.azuredevops/variables-global.yml
|
||||||
environment: test
|
- name: ROCM_PATH
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
extraCopyDirectories:
|
pool: ${{ job.target }}_test_pool
|
||||||
- miopen-deps
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/miopen-get-ck-build.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Build and install other dependencies
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
|
script: |
|
||||||
|
sed -i '/composable_kernel/d' requirements.txt
|
||||||
|
mkdir -p $(Agent.BuildDirectory)/miopen-deps
|
||||||
|
export CXX=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
export CC=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
|
cmake -P install_deps.cmake --prefix $(Agent.BuildDirectory)/miopen-deps
|
||||||
|
- task: CMake@1
|
||||||
|
displayName: 'MIOpen Test CMake Flags'
|
||||||
|
inputs:
|
||||||
|
cmakeArgs: >-
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Build.SourcesDirectory)/bin;$(Agent.BuildDirectory)/miopen-deps
|
||||||
|
-DCMAKE_INSTALL_PREFIX=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
|
-DMIOPEN_BACKEND=HIP
|
||||||
|
-DMIOPEN_TEST_FLAGS=" --disable-verification-cache"
|
||||||
|
-DCMAKE_BUILD_TYPE=release
|
||||||
|
-DBUILD_DEV=OFF
|
||||||
|
-DMIOPEN_USE_MLIR=ON
|
||||||
|
-DMIOPEN_GPU_SYNC=OFF
|
||||||
|
..
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: 'MIOpen Test Build'
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
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/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: MIOpen
|
||||||
|
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
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
extraCopyDirectories:
|
||||||
|
- miopen-deps
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -65,103 +70,115 @@ parameters:
|
|||||||
- roctracer
|
- roctracer
|
||||||
- rpp
|
- rpp
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: MIVisionX
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
pool:
|
target: gfx942
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
- gfx90a:
|
||||||
workspace:
|
target: gfx90a
|
||||||
clean: all
|
testJobs:
|
||||||
strategy:
|
- gfx942:
|
||||||
matrix:
|
target: gfx942
|
||||||
gfx942:
|
- gfx90a:
|
||||||
JOB_GPU_TARGET: gfx942
|
target: gfx90a
|
||||||
gfx90a:
|
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DROCM_DEP_ROCMCORE=ON
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# pipModules: ${{ parameters.pipModules }}
|
|
||||||
# gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
|
|
||||||
- job: MIVisionX_testing
|
jobs:
|
||||||
dependsOn: MIVisionX
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: MIVisionX_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: $(JOB_TEST_POOL)
|
pool:
|
||||||
workspace:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
clean: all
|
workspace:
|
||||||
strategy:
|
clean: all
|
||||||
matrix:
|
steps:
|
||||||
gfx942:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
JOB_GPU_TARGET: gfx942
|
parameters:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
gfx90a:
|
pipModules: ${{ parameters.pipModules }}
|
||||||
JOB_GPU_TARGET: gfx90a
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
steps:
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
parameters:
|
||||||
parameters:
|
extraBuildFlags: >-
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
-DROCM_DEP_ROCMCORE=ON
|
||||||
# anything in /opt may be persistent across runs
|
-GNinja
|
||||||
# so we need to remove the symlink if it already exists
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- script: |
|
parameters:
|
||||||
sudo rm -f /opt/rocm
|
gpuTarget: ${{ job.target }}
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
mkdir mivisionx-tests
|
parameters:
|
||||||
cd mivisionx-tests
|
gpuTarget: ${{ job.target }}
|
||||||
cmake /opt/rocm/share/mivisionx/test
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
# parameters:
|
||||||
parameters:
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
componentName: MIVisionX
|
# pipModules: ${{ parameters.pipModules }}
|
||||||
testDir: 'mivisionx-tests'
|
# gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- job: MIVisionX_test_${{ job.target }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
dependsOn: MIVisionX_build_${{ job.target }}
|
||||||
environment: test
|
condition:
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
and(succeeded(),
|
||||||
optSymLink: true
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: LD_LIBRARY_PATH
|
||||||
|
value: $(Agent.BuildDirectory)/rocm/lib:$(Agent.BuildDirectory)/rocm/include/mivisionx/VX
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Build MIVisionX tests
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
# Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral
|
||||||
|
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
|
mkdir mivisionx-tests
|
||||||
|
cd mivisionx-tests
|
||||||
|
cmake $(Agent.BuildDirectory)/rocm/share/mivisionx/test
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: MIVisionX
|
||||||
|
testDir: 'mivisionx-tests'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
optSymLink: true
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -13,6 +18,7 @@ parameters:
|
|||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- libelf-dev
|
- libelf-dev
|
||||||
- libnuma-dev
|
- libnuma-dev
|
||||||
|
- ninja-build
|
||||||
- pkg-config
|
- pkg-config
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
@@ -27,12 +33,21 @@ parameters:
|
|||||||
- rocm_smi_lib
|
- rocm_smi_lib
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
testJobs:
|
||||||
|
- gfx942:
|
||||||
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- job: ROCR_Runtime
|
- job: ROCR_Runtime_build
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool:
|
pool:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
@@ -48,12 +63,14 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DBUILD_SHARED_LIBS=ON
|
-DBUILD_SHARED_LIBS=ON
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
@@ -61,90 +78,90 @@ jobs:
|
|||||||
# parameters:
|
# parameters:
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
|
||||||
- job: ROCR_Runtime_testing
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
dependsOn: ROCR_Runtime
|
- job: ROCR_Runtime_test_${{ job.target }}
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
dependsOn: ROCR_Runtime_build
|
||||||
variables:
|
condition:
|
||||||
- group: common
|
and(succeeded(),
|
||||||
- template: /.azuredevops/variables-global.yml
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
pool: $(JOB_TEST_POOL)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
workspace:
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
clean: all
|
)
|
||||||
strategy:
|
variables:
|
||||||
matrix:
|
- group: common
|
||||||
gfx942:
|
- template: /.azuredevops/variables-global.yml
|
||||||
JOB_GPU_TARGET: gfx942
|
pool: ${{ job.target }}_test_pool
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
workspace:
|
||||||
gfx90a:
|
clean: all
|
||||||
JOB_GPU_TARGET: gfx90a
|
steps:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
steps:
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
- task: Bash@3
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
displayName: Install libhwloc5
|
||||||
- task: Bash@3
|
inputs:
|
||||||
displayName: Install libhwloc5
|
targetType: 'inline'
|
||||||
inputs:
|
script: |
|
||||||
targetType: 'inline'
|
wget http://ftp.us.debian.org/debian/pool/main/h/hwloc/libhwloc5_1.11.12-3_amd64.deb
|
||||||
script: |
|
wget http://ftp.us.debian.org/debian/pool/main/h/hwloc/libhwloc-dev_1.11.12-3_amd64.deb
|
||||||
wget http://ftp.us.debian.org/debian/pool/main/h/hwloc/libhwloc5_1.11.12-3_amd64.deb
|
sudo apt install -y --allow-downgrades ./libhwloc5_1.11.12-3_amd64.deb ./libhwloc-dev_1.11.12-3_amd64.deb
|
||||||
wget http://ftp.us.debian.org/debian/pool/main/h/hwloc/libhwloc-dev_1.11.12-3_amd64.deb
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
sudo apt install -y --allow-downgrades ./libhwloc5_1.11.12-3_amd64.deb ./libhwloc-dev_1.11.12-3_amd64.deb
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- 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/checkout.yml
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
runRocminfo: false
|
||||||
parameters:
|
- task: Bash@3
|
||||||
runRocminfo: false
|
displayName: Build kfdtest
|
||||||
- task: Bash@3
|
continueOnError: true
|
||||||
displayName: Build kfdtest
|
inputs:
|
||||||
continueOnError: true
|
targetType: 'inline'
|
||||||
inputs:
|
workingDirectory: $(Build.SourcesDirectory)/libhsakmt/tests/kfdtest
|
||||||
targetType: 'inline'
|
script: |
|
||||||
workingDirectory: $(Build.SourcesDirectory)/libhsakmt/tests/kfdtest
|
mkdir build && cd build
|
||||||
script: |
|
cmake -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm ..
|
||||||
mkdir build && cd build
|
make
|
||||||
cmake -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm ..
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
make
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
componentName: kfdtest
|
||||||
parameters:
|
testExecutable: BIN_DIR=$(Build.SourcesDirectory)/libhsakmt/tests/kfdtest/build ./run_kfdtest.sh
|
||||||
componentName: kfdtest
|
testParameters: '-p core --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
testExecutable: BIN_DIR=$(Build.SourcesDirectory)/libhsakmt/tests/kfdtest/build ./run_kfdtest.sh
|
testDir: $(Build.SourcesDirectory)/libhsakmt/tests/kfdtest/scripts
|
||||||
testParameters: '-p core --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
- task: Bash@3
|
||||||
testDir: $(Build.SourcesDirectory)/libhsakmt/tests/kfdtest/scripts
|
displayName: Build rocrtst
|
||||||
- task: Bash@3
|
continueOnError: true
|
||||||
displayName: Build rocrtst
|
inputs:
|
||||||
continueOnError: true
|
targetType: 'inline'
|
||||||
inputs:
|
workingDirectory: $(Build.SourcesDirectory)/rocrtst/suites/test_common
|
||||||
targetType: 'inline'
|
script: |
|
||||||
workingDirectory: $(Build.SourcesDirectory)/rocrtst/suites/test_common
|
BASE_CLANG_DIR=$(Agent.BuildDirectory)/rocm/llvm/lib/clang
|
||||||
script: |
|
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_GPU_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=$(Agent.BuildDirectory)/rocm/llvm/lib/clang/21/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: $(Build.SourcesDirectory)/rocrtst/suites/test_common/build/$(JOB_GPU_TARGET)
|
testDir: $(Build.SourcesDirectory)/rocrtst/suites/test_common/build/${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
environment: test
|
environment: test
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
gpuTarget: ${{ job.target }}
|
||||||
# docker image will be missing libhwloc5
|
# docker image will be missing libhwloc5
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -24,7 +29,7 @@ jobs:
|
|||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool:
|
pool:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
@@ -40,6 +45,7 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
|
|||||||
@@ -5,11 +5,17 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# reference: https://github.com/ROCm/ROCgdb/blob/amd-staging/README-ROCM.md
|
# reference: https://github.com/ROCm/ROCgdb/blob/amd-staging/README-ROCM.md
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- bison
|
- bison
|
||||||
|
- cmake
|
||||||
- dejagnu
|
- dejagnu
|
||||||
- flex
|
- flex
|
||||||
- libbabeltrace-dev
|
- libbabeltrace-dev
|
||||||
@@ -17,6 +23,7 @@ parameters:
|
|||||||
- libgmp-dev
|
- libgmp-dev
|
||||||
- liblzma-dev
|
- liblzma-dev
|
||||||
- libmpfr-dev
|
- libmpfr-dev
|
||||||
|
- pkg-config
|
||||||
- ncurses-dev
|
- ncurses-dev
|
||||||
- texinfo
|
- texinfo
|
||||||
- zlib1g-dev
|
- zlib1g-dev
|
||||||
@@ -30,22 +37,26 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
testJobs:
|
||||||
|
- gfx942:
|
||||||
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- job: ROCgdb
|
- job: ROCgdb
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
- name: PKG_CONFIG_PATH
|
- name: PKG_CONFIG_PATH
|
||||||
value: $(Agent.BuildDirectory)/rocm/share/pkgconfig
|
value: $(Agent.BuildDirectory)/rocm/share/pkgconfig
|
||||||
pool: $(JOB_TEST_POOL)
|
pool:
|
||||||
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
gfx942:
|
|
||||||
JOB_GPU_TARGET: gfx942
|
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
|
||||||
steps:
|
steps:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -59,6 +70,7 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-autotools.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-autotools.yml
|
||||||
parameters:
|
parameters:
|
||||||
configureFlags: >-
|
configureFlags: >-
|
||||||
@@ -84,33 +96,88 @@ jobs:
|
|||||||
makeCallPrefix: LD_RUN_PATH='${ORIGIN}/../lib'
|
makeCallPrefix: LD_RUN_PATH='${ORIGIN}/../lib'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- task: Bash@3
|
|
||||||
displayName: Setup test environment
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
sudo rm -rf /opt/rocm
|
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
|
||||||
echo "##vso[task.prependpath]/opt/rocm/bin"
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
|
||||||
- task: Bash@3
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
displayName: check-gdb
|
- job: ROCgdb_test_${{ job.target }}
|
||||||
continueOnError: true
|
dependsOn: ROCgdb
|
||||||
inputs:
|
condition:
|
||||||
targetType: inline
|
and(succeeded(),
|
||||||
script: make check-gdb TESTS=gdb.rocm/simple.exp
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
- task: Bash@3
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
displayName: print gdb log
|
)
|
||||||
inputs:
|
variables:
|
||||||
targetType: inline
|
- group: common
|
||||||
script: find -name gdb.log -exec cat {} \;
|
- template: /.azuredevops/variables-global.yml
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
- name: PKG_CONFIG_PATH
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
value: $(Agent.BuildDirectory)/rocm/share/pkgconfig
|
||||||
parameters:
|
pool: ${{ job.target }}_test_pool
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
workspace:
|
||||||
environment: combined
|
clean: all
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
steps:
|
||||||
extraEnvVars:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- PKG_CONFIG_PATH:::/home/user/workspace/rocm/share/pkgconfig
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-autotools.yml
|
||||||
|
parameters:
|
||||||
|
configureFlags: >-
|
||||||
|
--program-prefix=roc
|
||||||
|
--enable-64-bit-bfd
|
||||||
|
--enable-targets="x86_64-linux-gnu,amdgcn-amd-amdhsa"
|
||||||
|
--disable-ld
|
||||||
|
--disable-gas
|
||||||
|
--disable-gdbserver
|
||||||
|
--disable-sim
|
||||||
|
--enable-tui
|
||||||
|
--disable-gdbtk
|
||||||
|
--disable-shared
|
||||||
|
--disable-gprofng
|
||||||
|
--with-expat
|
||||||
|
--with-system-zlib
|
||||||
|
--without-guile
|
||||||
|
--with-babeltrace
|
||||||
|
--with-lzma
|
||||||
|
--with-python=python3
|
||||||
|
--with-rocm-dbgapi=$(Agent.BuildDirectory)/rocm
|
||||||
|
LDFLAGS="-Wl,--enable-new-dtags,-rpath=$(Agent.BuildDirectory)/rocm/lib"
|
||||||
|
makeCallPrefix: LD_RUN_PATH='${ORIGIN}/../lib'
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Setup test environment
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
# Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral
|
||||||
|
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
|
echo "##vso[task.prependpath]/opt/rocm/bin"
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: check-gdb
|
||||||
|
continueOnError: true
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: make check-gdb TESTS=gdb.rocm/simple.exp
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: print gdb log
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: find -name gdb.log -exec cat {} \;
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: combined
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
extraEnvVars:
|
||||||
|
- PKG_CONFIG_PATH:::/home/user/workspace/rocm/share/pkgconfig
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -21,6 +26,8 @@ parameters:
|
|||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
|
- amdsmi
|
||||||
|
- aomp
|
||||||
- clr
|
- clr
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- hipBLASLt
|
- hipBLASLt
|
||||||
@@ -36,6 +43,8 @@ parameters:
|
|||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
|
- amdsmi
|
||||||
|
- aomp
|
||||||
- clr
|
- clr
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- hipBLASLt
|
- hipBLASLt
|
||||||
@@ -49,107 +58,116 @@ parameters:
|
|||||||
- rocRAND
|
- rocRAND
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: ROCmValidationSuite
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
- name: HIP_ROCCLR_HOME
|
target: gfx942
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
- gfx90a:
|
||||||
- name: ROCM_PATH
|
target: gfx90a
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
testJobs:
|
||||||
- name: HIP_INC_DIR
|
- gfx942:
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
target: gfx942
|
||||||
pool:
|
confDir: MI300X
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
- gfx90a:
|
||||||
workspace:
|
target: gfx90a
|
||||||
clean: all
|
confDir: MI210
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
gfx942:
|
|
||||||
JOB_GPU_TARGET: gfx942
|
|
||||||
gfx90a:
|
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCPACK_PACKAGING_INSTALL_PREFIX=$(Build.BinariesDirectory)
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
# extraEnvVars:
|
|
||||||
# - HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
|
||||||
# - ROCM_PATH:::/home/user/workspace/rocm
|
|
||||||
# - HIP_INC_DIR:::/home/user/workspace/rocm
|
|
||||||
|
|
||||||
- job: ROCmValidationSuite_testing
|
jobs:
|
||||||
dependsOn: ROCmValidationSuite
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: ROCmValidationSuite_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: $(JOB_TEST_POOL)
|
- name: HIP_ROCCLR_HOME
|
||||||
workspace:
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
clean: all
|
- name: ROCM_PATH
|
||||||
strategy:
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
matrix:
|
- name: HIP_INC_DIR
|
||||||
gfx942:
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
JOB_GPU_TARGET: gfx942
|
pool:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
TEST_CONF_DIR: MI300X
|
workspace:
|
||||||
gfx90a:
|
clean: all
|
||||||
JOB_GPU_TARGET: gfx90a
|
steps:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
TEST_CONF_DIR: MI210
|
parameters:
|
||||||
steps:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
parameters:
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
||||||
parameters:
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
componentName: ROCmValidationSuite
|
-DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/llvm/include
|
||||||
testExecutable: $(Agent.BuildDirectory)/rocm/bin/rvs -c $(Agent.BuildDirectory)/rocm/share/rocm-validation-suite/conf/$(TEST_CONF_DIR)/gst_single.conf
|
-DCPACK_PACKAGING_INSTALL_PREFIX=$(Build.BinariesDirectory)
|
||||||
testParameters: ''
|
-GNinja
|
||||||
testDir: $(Agent.BuildDirectory)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
testPublishResults: false
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
environment: test
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
# parameters:
|
||||||
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
# gpuTarget: ${{ job.target }}
|
||||||
|
# extraEnvVars:
|
||||||
|
# - HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
|
# - ROCM_PATH:::/home/user/workspace/rocm
|
||||||
|
# - HIP_INC_DIR:::/home/user/workspace/rocm
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: ROCmValidationSuite_test_${{ job.target }}
|
||||||
|
dependsOn: ROCmValidationSuite_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: ROCmValidationSuite
|
||||||
|
testExecutable: $(Agent.BuildDirectory)/rocm/bin/rvs -c $(Agent.BuildDirectory)/rocm/share/rocm-validation-suite/conf/${{ job.confDir }}/gst_single.conf
|
||||||
|
testParameters: ''
|
||||||
|
testDir: $(Agent.BuildDirectory)
|
||||||
|
testPublishResults: false
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -30,12 +35,23 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
testJobs:
|
||||||
|
- gfx942:
|
||||||
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- job: Tensile
|
- job: Tensile_build
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool:
|
- name: ROCM_PATH
|
||||||
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
|
pool:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
@@ -52,6 +68,7 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Create wheel file
|
displayName: Create wheel file
|
||||||
@@ -59,8 +76,6 @@ jobs:
|
|||||||
targetType: inline
|
targetType: inline
|
||||||
script: python3 setup.py bdist_wheel
|
script: python3 setup.py bdist_wheel
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
env:
|
|
||||||
ROCM_PATH: $(Agent.BuildDirectory)/rocm
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
||||||
parameters:
|
parameters:
|
||||||
sourceDir: $(Build.SourcesDirectory)/dist
|
sourceDir: $(Build.SourcesDirectory)/dist
|
||||||
@@ -78,7 +93,6 @@ jobs:
|
|||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
echo "$(Build.DefinitionName)_$(Build.SourceBranchName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_drop_$(JOB_GPU_TARGET).tar.gz" >> pipelineArtifacts.txt
|
|
||||||
whlFile=$(find "$(Build.ArtifactStagingDirectory)" -type f -name "*.whl" | head -n 1)
|
whlFile=$(find "$(Build.ArtifactStagingDirectory)" -type f -name "*.whl" | head -n 1)
|
||||||
if [ -n "$whlFile" ]; then
|
if [ -n "$whlFile" ]; then
|
||||||
echo $(basename "$whlFile") >> pipelineArtifacts.txt
|
echo $(basename "$whlFile") >> pipelineArtifacts.txt
|
||||||
@@ -89,105 +103,74 @@ jobs:
|
|||||||
# aptPackages: ${{ parameters.aptPackages }}
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
# pipModules: ${{ parameters.pipModules }}
|
# pipModules: ${{ parameters.pipModules }}
|
||||||
|
|
||||||
- job: Tensile_testing
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
timeoutInMinutes: 90
|
- job: Tensile_test_${{ job.target }}
|
||||||
dependsOn: Tensile
|
timeoutInMinutes: 180
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
dependsOn: Tensile_build
|
||||||
variables:
|
condition:
|
||||||
- group: common
|
and(succeeded(),
|
||||||
- template: /.azuredevops/variables-global.yml
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
pool: $(JOB_TEST_POOL)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
workspace:
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
clean: all
|
)
|
||||||
strategy:
|
variables:
|
||||||
matrix:
|
- group: common
|
||||||
gfx942:
|
- template: /.azuredevops/variables-global.yml
|
||||||
JOB_GPU_TARGET: gfx942
|
- name: ROCM_PATH
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
gfx90a:
|
pool: ${{ job.target }}_test_pool
|
||||||
JOB_GPU_TARGET: gfx90a
|
workspace:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- task: DownloadPipelineArtifact@2
|
- task: DownloadPipelineArtifact@2
|
||||||
displayName: 'Download Pipeline Wheel Files'
|
displayName: 'Download Pipeline Wheel Files'
|
||||||
inputs:
|
inputs:
|
||||||
itemPattern: '**/*.whl'
|
itemPattern: '**/*.whl'
|
||||||
targetPath: $(Agent.BuildDirectory)
|
targetPath: $(Agent.BuildDirectory)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
gpuTarget: ${{ job.target }}
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: pip install
|
displayName: pip install
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: find -name *.whl -exec pip install {} \;
|
script: find -name *.whl -exec pip install {} \;
|
||||||
workingDirectory: $(Agent.BuildDirectory)
|
workingDirectory: $(Agent.BuildDirectory)
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Setup test environment
|
displayName: Setup test environment
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
sudo rm -rf /opt/rocm
|
# Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
- task: Bash@3
|
USER_BASE=$(python3 -m site --user-base)
|
||||||
displayName: Add Python site-packages binaries to path
|
echo "##vso[task.prependpath]$USER_BASE/bin"
|
||||||
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/gpu-diagnostics.yml
|
||||||
USER_BASE=$(python3 -m site --user-base)
|
- task: Bash@3
|
||||||
echo "##vso[task.prependpath]$USER_BASE/bin"
|
displayName: tox test
|
||||||
- task: Bash@3
|
inputs:
|
||||||
displayName: Add ROCm binaries to PATH
|
targetType: inline
|
||||||
inputs:
|
script: tox run -v -e ci -- -m pre_checkin
|
||||||
targetType: inline
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
- task: Bash@3
|
parameters:
|
||||||
displayName: Add ROCm compilers to PATH
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
inputs:
|
pipModules: ${{ parameters.pipModules }}
|
||||||
targetType: inline
|
environment: test
|
||||||
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
pythonEnvVars: true
|
||||||
- task: Bash@3
|
extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin
|
||||||
displayName: tox test
|
# docker image will not have python site-packages in path, but the env vars will make it easier
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: tox run -v -e ci -- -m pre_checkin
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Remove Python site-packages binaries from path
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
USER_BASE=$(python3 -m site --user-base)
|
|
||||||
echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$USER_BASE/bin;;' -e 's;^/;;' -e 's;/$;;')"
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Remove ROCm binaries from PATH
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$(Agent.BuildDirectory)/rocm/bin;;' -e 's;^/;;' -e 's;/$;;')"
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Remove ROCm compilers from PATH
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$(Agent.BuildDirectory)/rocm/llvm/bin;;' -e 's;^/;;' -e 's;/$;;')"
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
optSymLink: true
|
|
||||||
pythonEnvVars: true
|
|
||||||
extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin
|
|
||||||
# docker image will not have python site-packages in path, but the env vars will make it easier
|
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -30,100 +35,108 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: TransferBench
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
pool:
|
target: gfx942
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
- gfx90a:
|
||||||
workspace:
|
target: gfx90a
|
||||||
clean: all
|
testJobs:
|
||||||
strategy:
|
- gfx942:
|
||||||
matrix:
|
target: gfx942
|
||||||
gfx942:
|
- gfx90a:
|
||||||
JOB_GPU_TARGET: gfx942
|
target: gfx90a
|
||||||
gfx90a:
|
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
|
|
||||||
- job: TransferBench_testing
|
jobs:
|
||||||
dependsOn: TransferBench
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: TransferBench_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: $(JOB_TEST_POOL)
|
pool:
|
||||||
workspace:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
clean: all
|
workspace:
|
||||||
strategy:
|
clean: all
|
||||||
matrix:
|
steps:
|
||||||
gfx942:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
JOB_GPU_TARGET: gfx942
|
parameters:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
gfx90a:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
JOB_GPU_TARGET: gfx90a
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
parameters:
|
||||||
steps:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
parameters:
|
||||||
parameters:
|
extraBuildFlags: >-
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: TransferBench All-to-all
|
gpuTarget: ${{ job.target }}
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
testExecutable: './rocm/bin/TransferBench'
|
parameters:
|
||||||
testParameters: 'a2a'
|
gpuTarget: ${{ job.target }}
|
||||||
testPublishResults: false
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
# parameters:
|
||||||
componentName: TransferBench Peer-to-peer
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
# gpuTarget: ${{ job.target }}
|
||||||
testExecutable: './rocm/bin/TransferBench'
|
|
||||||
testParameters: 'p2p'
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
testPublishResults: false
|
- job: TransferBench_test_${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
dependsOn: TransferBench_build_${{ job.target }}
|
||||||
parameters:
|
condition:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
and(succeeded(),
|
||||||
environment: test
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: TransferBench All-to-all
|
||||||
|
testDir: '$(Agent.BuildDirectory)'
|
||||||
|
testExecutable: './rocm/bin/TransferBench'
|
||||||
|
testParameters: 'a2a'
|
||||||
|
testPublishResults: false
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: TransferBench Peer-to-peer
|
||||||
|
testDir: '$(Agent.BuildDirectory)'
|
||||||
|
testExecutable: './rocm/bin/TransferBench'
|
||||||
|
testParameters: 'p2p'
|
||||||
|
testPublishResults: false
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -5,20 +5,35 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
|
- ninja-build
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- pkg-config
|
- pkg-config
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
testJobs:
|
||||||
|
- gfx942:
|
||||||
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- job: amdsmi
|
- job: amdsmi_build
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool:
|
pool:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
@@ -34,6 +49,7 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DBUILD_TESTS=ON
|
-DBUILD_TESTS=ON
|
||||||
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
@@ -41,40 +57,38 @@ jobs:
|
|||||||
# parameters:
|
# parameters:
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
|
||||||
- job: amdsmi_testing
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
dependsOn: amdsmi
|
- job: amdsmi_test_${{ job.target }}
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
dependsOn: amdsmi_build
|
||||||
variables:
|
condition:
|
||||||
- group: common
|
and(succeeded(),
|
||||||
- template: /.azuredevops/variables-global.yml
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
pool: $(JOB_TEST_POOL)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
workspace:
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
clean: all
|
)
|
||||||
strategy:
|
variables:
|
||||||
matrix:
|
- group: common
|
||||||
gfx942:
|
- template: /.azuredevops/variables-global.yml
|
||||||
JOB_GPU_TARGET: gfx942
|
pool: ${{ job.target }}_test_pool
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
workspace:
|
||||||
gfx90a:
|
clean: all
|
||||||
JOB_GPU_TARGET: gfx90a
|
steps:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
steps:
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
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: amdsmi
|
||||||
parameters:
|
testDir: '$(Agent.BuildDirectory)'
|
||||||
componentName: amdsmi
|
testExecutable: './rocm/share/amd_smi/tests/amdsmitst'
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
testExecutable: './rocm/share/amd_smi/tests/amdsmitst'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
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_GPU_TARGET)
|
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -23,7 +28,7 @@ jobs:
|
|||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool:
|
pool:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
@@ -39,6 +44,7 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: aomp-extras
|
componentName: aomp-extras
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# reference:
|
# reference:
|
||||||
# https://github.com/ROCm/aomp/blob/aomp-dev/docs/SOURCEINSTALL_PREREQUISITE.md
|
# https://github.com/ROCm/aomp/blob/aomp-dev/docs/SOURCEINSTALL_PREREQUISITE.md
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
@@ -43,9 +48,7 @@ parameters:
|
|||||||
- python3-dev
|
- python3-dev
|
||||||
- libudev-dev
|
- libudev-dev
|
||||||
- parallel
|
- parallel
|
||||||
# Referencing comment snippet below but excluding rocprofiler and roctracer.
|
# Referencing comment snippet.
|
||||||
# This is to remove need for separate build per gpu target.
|
|
||||||
# With our selected build flags, compilation and installation work fine without these two.
|
|
||||||
#
|
#
|
||||||
# snippet from https://github.com/ROCm/aomp/blob/aomp-dev/bin/build_aomp.sh#L131-L134
|
# snippet from https://github.com/ROCm/aomp/blob/aomp-dev/bin/build_aomp.sh#L131-L134
|
||||||
#
|
#
|
||||||
@@ -65,10 +68,21 @@ parameters:
|
|||||||
- rocm-core
|
- rocm-core
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocm_smi_lib
|
- rocm_smi_lib
|
||||||
|
- rocprofiler
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
|
- rocprofiler-sdk
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
testJobs:
|
||||||
|
- gfx942:
|
||||||
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- job: aomp
|
- job: aomp
|
||||||
variables:
|
variables:
|
||||||
@@ -99,428 +113,147 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
# Because clang is not being rebuilt and to separate downloaded ROCm
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
# dependencies from the new artifacts, we use temporary symbolic links
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
# for the compilation and installation to go through.
|
|
||||||
- script: |
|
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
|
||||||
mkdir -p $(Build.BinariesDirectory)/lib/llvm/bin
|
|
||||||
ln -s $(Agent.BuildDirectory)/rocm/llvm/bin/clang $(Build.BinariesDirectory)/lib/llvm/bin/clang
|
|
||||||
ln -s $(Agent.BuildDirectory)/rocm/llvm/bin/clang++ $(Build.BinariesDirectory)/lib/llvm/bin/clang++
|
|
||||||
ln -s $(Agent.BuildDirectory)/rocm/llvm/bin/llvm-config $(Build.BinariesDirectory)/lib/llvm/bin/llvm-config
|
|
||||||
ln -s $(Agent.BuildDirectory)/rocm/llvm $(Build.BinariesDirectory)/llvm
|
|
||||||
ls -1R $(Build.BinariesDirectory)
|
|
||||||
displayName: Extra build environment setup
|
|
||||||
# We follow the sequence described in the aomp repo instructions
|
|
||||||
# https://github.com/ROCm/aomp/blob/aomp-dev/docs/SOURCEINSTALL.md
|
|
||||||
# But instead of calling build_aomp.sh directly, we have to split up the calls to build each component
|
|
||||||
# in order for the omp.h header file to be both be published as an artifact,
|
|
||||||
# and be found when building subsequent components.
|
|
||||||
# Environment variables specified per bash script were determined from looking through the
|
|
||||||
# individual scripts and iteratively testing compilation.
|
|
||||||
# Splitting up the build_aomp.sh call is also easier for debugging within Azure, as the former
|
|
||||||
# method leads to a giant build log compared to separate logs per script call.
|
|
||||||
#
|
|
||||||
# Components compiled and the order for non-standalone build found at
|
|
||||||
# https://github.com/ROCm/aomp/blob/aomp-dev/bin/build_aomp.sh#L135-L142
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build Prereq
|
|
||||||
inputs:
|
|
||||||
filePath: $(Build.SourcesDirectory)/aomp/bin/build_prereq.sh
|
|
||||||
env:
|
|
||||||
AOMP_REPOS: $(Build.SourcesDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build extras
|
|
||||||
inputs:
|
|
||||||
filePath: $(Build.SourcesDirectory)/aomp/bin/build_extras.sh
|
|
||||||
env:
|
|
||||||
AOMP_REPOS: $(Build.SourcesDirectory)
|
|
||||||
AOMP_PROJECT_REPO_NAME: llvm-project
|
|
||||||
AOMP_STANDALONE_BUILD: 0
|
|
||||||
AOMP_USE_NINJA: 1
|
|
||||||
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
|
||||||
CMAKE_INSTALL_PREFIX: $(Build.BinariesDirectory)
|
|
||||||
AOMP: $(Build.BinariesDirectory)
|
|
||||||
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
|
||||||
INSTALL_EXTRAS: $(Build.BinariesDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Install extras
|
|
||||||
inputs:
|
|
||||||
filePath: $(Build.SourcesDirectory)/aomp/bin/build_extras.sh
|
|
||||||
arguments: install
|
|
||||||
env:
|
|
||||||
AOMP_REPOS: $(Build.SourcesDirectory)
|
|
||||||
AOMP_PROJECT_REPO_NAME: llvm-project
|
|
||||||
AOMP_STANDALONE_BUILD: 0
|
|
||||||
AOMP_USE_NINJA: 1
|
|
||||||
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
|
||||||
CMAKE_INSTALL_PREFIX: $(Build.BinariesDirectory)
|
|
||||||
AOMP: $(Build.BinariesDirectory)
|
|
||||||
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
|
||||||
INSTALL_EXTRAS: $(Build.BinariesDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build openmp
|
|
||||||
inputs:
|
|
||||||
filePath: $(Build.SourcesDirectory)/aomp/bin/build_openmp.sh
|
|
||||||
env:
|
|
||||||
AOMP_REPOS: $(Build.SourcesDirectory)
|
|
||||||
AOMP_PROJECT_REPO_NAME: llvm-project
|
|
||||||
AOMP_STANDALONE_BUILD: 0
|
|
||||||
AOMP_BUILD_SANITIZER: 0
|
|
||||||
AOMP_BUILD_DEBUG: 0
|
|
||||||
AOMP_LEGACY_OPENMP: 1
|
|
||||||
AOMP_USE_NINJA: 1
|
|
||||||
ALTAOMP: $(Agent.BuildDirectory)/rocm/llvm
|
|
||||||
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
|
||||||
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
|
||||||
AOMP: $(Build.BinariesDirectory)
|
|
||||||
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
|
||||||
INSTALL_OPENMP: $(Build.BinariesDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Install openmp
|
|
||||||
inputs:
|
|
||||||
filePath: $(Build.SourcesDirectory)/aomp/bin/build_openmp.sh
|
|
||||||
arguments: install
|
|
||||||
env:
|
|
||||||
AOMP_REPOS: $(Build.SourcesDirectory)
|
|
||||||
AOMP_PROJECT_REPO_NAME: llvm-project
|
|
||||||
AOMP_STANDALONE_BUILD: 0
|
|
||||||
AOMP_BUILD_SANITIZER: 0
|
|
||||||
AOMP_BUILD_DEBUG: 0
|
|
||||||
AOMP_LEGACY_OPENMP: 1
|
|
||||||
AOMP_USE_NINJA: 1
|
|
||||||
ALTAOMP: $(Agent.BuildDirectory)/rocm/llvm
|
|
||||||
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
|
||||||
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
|
||||||
AOMP: $(Build.BinariesDirectory)
|
|
||||||
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
|
||||||
INSTALL_OPENMP: $(Build.BinariesDirectory)
|
|
||||||
- script: ln -s $(Build.BinariesDirectory)/lib/llvm/include/omp.h $(Build.SourcesDirectory)/llvm-project/llvm/include/omp.h
|
|
||||||
displayName: Link omp header
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build offload
|
|
||||||
inputs:
|
|
||||||
filePath: $(Build.SourcesDirectory)/aomp/bin/build_offload.sh
|
|
||||||
env:
|
|
||||||
AOMP_REPOS: $(Build.SourcesDirectory)
|
|
||||||
AOMP_PROJECT_REPO_NAME: llvm-project
|
|
||||||
AOMP_STANDALONE_BUILD: 0
|
|
||||||
AOMP_BUILD_SANITIZER: 0
|
|
||||||
AOMP_BUILD_DEBUG: 0
|
|
||||||
AOMP_LEGACY_OPENMP: 1
|
|
||||||
AOMP_USE_NINJA: 1
|
|
||||||
ALTAOMP: $(Agent.BuildDirectory)/rocm/llvm
|
|
||||||
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
|
||||||
CMAKE_INSTALL_PREFIX: $(Build.BinariesDirectory)
|
|
||||||
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
|
||||||
AOMP: $(Build.BinariesDirectory)
|
|
||||||
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
|
||||||
INSTALL_OPENMP: $(Build.BinariesDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Install offload
|
|
||||||
inputs:
|
|
||||||
filePath: $(Build.SourcesDirectory)/aomp/bin/build_offload.sh
|
|
||||||
arguments: install
|
|
||||||
env:
|
|
||||||
AOMP_REPOS: $(Build.SourcesDirectory)
|
|
||||||
AOMP_PROJECT_REPO_NAME: llvm-project
|
|
||||||
AOMP_STANDALONE_BUILD: 0
|
|
||||||
AOMP_BUILD_SANITIZER: 0
|
|
||||||
AOMP_BUILD_DEBUG: 0
|
|
||||||
AOMP_LEGACY_OPENMP: 1
|
|
||||||
AOMP_USE_NINJA: 1
|
|
||||||
ALTAOMP: $(Agent.BuildDirectory)/rocm/llvm
|
|
||||||
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
|
||||||
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
|
||||||
AOMP: $(Build.BinariesDirectory)
|
|
||||||
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
|
||||||
INSTALL_OPENMP: $(Build.BinariesDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build llvm-classic
|
|
||||||
inputs:
|
|
||||||
filePath: $(Build.SourcesDirectory)/aomp/bin/build_llvm-classic.sh
|
|
||||||
env:
|
|
||||||
AOMP_REPOS: $(Build.SourcesDirectory)
|
|
||||||
AOMP_PROJECT_REPO_NAME: llvm-project
|
|
||||||
AOMP_STANDALONE_BUILD: 0
|
|
||||||
AOMP_BUILD_SANITIZER: 0
|
|
||||||
AOMP_BUILD_DEBUG: 0
|
|
||||||
AOMP_USE_NINJA: 1
|
|
||||||
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
|
||||||
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
|
||||||
AOMP: $(Build.BinariesDirectory)
|
|
||||||
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Install llvm-classic
|
|
||||||
inputs:
|
|
||||||
filePath: $(Build.SourcesDirectory)/aomp/bin/build_llvm-classic.sh
|
|
||||||
arguments: install
|
|
||||||
env:
|
|
||||||
AOMP_REPOS: $(Build.SourcesDirectory)
|
|
||||||
AOMP_PROJECT_REPO_NAME: llvm-project
|
|
||||||
AOMP_STANDALONE_BUILD: 0
|
|
||||||
AOMP_BUILD_SANITIZER: 0
|
|
||||||
AOMP_BUILD_DEBUG: 0
|
|
||||||
AOMP_USE_NINJA: 1
|
|
||||||
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
|
||||||
CMAKE_INSTALL_PREFIX: $(Build.BinariesDirectory)
|
|
||||||
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
|
||||||
AOMP: $(Build.BinariesDirectory)
|
|
||||||
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build flang-classic
|
|
||||||
inputs:
|
|
||||||
filePath: $(Build.SourcesDirectory)/aomp/bin/build_flang-classic.sh
|
|
||||||
env:
|
|
||||||
AOMP_REPOS: $(Build.SourcesDirectory)
|
|
||||||
AOMP_PROJECT_REPO_NAME: llvm-project
|
|
||||||
AOMP_STANDALONE_BUILD: 0
|
|
||||||
AOMP_BUILD_SANITIZER: 0
|
|
||||||
AOMP_BUILD_DEBUG: 0
|
|
||||||
AOMP_USE_NINJA: 1
|
|
||||||
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
|
||||||
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
|
||||||
AOMP: $(Build.BinariesDirectory)
|
|
||||||
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Install flang-classic
|
|
||||||
inputs:
|
|
||||||
filePath: $(Build.SourcesDirectory)/aomp/bin/build_flang-classic.sh
|
|
||||||
arguments: install
|
|
||||||
env:
|
|
||||||
AOMP_REPOS: $(Build.SourcesDirectory)
|
|
||||||
AOMP_PROJECT_REPO_NAME: llvm-project
|
|
||||||
AOMP_STANDALONE_BUILD: 0
|
|
||||||
AOMP_BUILD_SANITIZER: 0
|
|
||||||
AOMP_BUILD_DEBUG: 0
|
|
||||||
AOMP_USE_NINJA: 1
|
|
||||||
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
|
||||||
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
|
||||||
AOMP: $(Build.BinariesDirectory)
|
|
||||||
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build pgmath
|
|
||||||
inputs:
|
|
||||||
filePath: $(Build.SourcesDirectory)/aomp/bin/build_pgmath.sh
|
|
||||||
env:
|
|
||||||
AOMP_REPOS: $(Build.SourcesDirectory)
|
|
||||||
AOMP_PROJECT_REPO_NAME: llvm-project
|
|
||||||
AOMP_STANDALONE_BUILD: 0
|
|
||||||
AOMP_BUILD_SANITIZER: 0
|
|
||||||
AOMP_BUILD_DEBUG: 0
|
|
||||||
AOMP_USE_NINJA: 1
|
|
||||||
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
|
||||||
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
|
||||||
AOMP: $(Build.BinariesDirectory)
|
|
||||||
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Install pgmath
|
|
||||||
inputs:
|
|
||||||
filePath: $(Build.SourcesDirectory)/aomp/bin/build_pgmath.sh
|
|
||||||
arguments: install
|
|
||||||
env:
|
|
||||||
AOMP_REPOS: $(Build.SourcesDirectory)
|
|
||||||
AOMP_PROJECT_REPO_NAME: llvm-project
|
|
||||||
AOMP_STANDALONE_BUILD: 0
|
|
||||||
AOMP_BUILD_SANITIZER: 0
|
|
||||||
AOMP_BUILD_DEBUG: 0
|
|
||||||
AOMP_USE_NINJA: 1
|
|
||||||
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
|
||||||
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
|
||||||
AOMP: $(Build.BinariesDirectory)
|
|
||||||
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build flang
|
|
||||||
inputs:
|
|
||||||
filePath: $(Build.SourcesDirectory)/aomp/bin/build_flang.sh
|
|
||||||
env:
|
|
||||||
AOMP_REPOS: $(Build.SourcesDirectory)
|
|
||||||
AOMP_PROJECT_REPO_NAME: llvm-project
|
|
||||||
AOMP_STANDALONE_BUILD: 0
|
|
||||||
AOMP_BUILD_SANITIZER: 0
|
|
||||||
AOMP_BUILD_DEBUG: 0
|
|
||||||
AOMP_USE_NINJA: 1
|
|
||||||
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
|
||||||
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
|
||||||
AOMP: $(Build.BinariesDirectory)
|
|
||||||
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Install flang
|
|
||||||
inputs:
|
|
||||||
filePath: $(Build.SourcesDirectory)/aomp/bin/build_flang.sh
|
|
||||||
arguments: install
|
|
||||||
env:
|
|
||||||
AOMP_REPOS: $(Build.SourcesDirectory)
|
|
||||||
AOMP_PROJECT_REPO_NAME: llvm-project
|
|
||||||
AOMP_STANDALONE_BUILD: 0
|
|
||||||
AOMP_BUILD_SANITIZER: 0
|
|
||||||
AOMP_BUILD_DEBUG: 0
|
|
||||||
AOMP_USE_NINJA: 1
|
|
||||||
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
|
||||||
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
|
||||||
AOMP: $(Build.BinariesDirectory)
|
|
||||||
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build flang_runtime
|
|
||||||
inputs:
|
|
||||||
filePath: $(Build.SourcesDirectory)/aomp/bin/build_flang_runtime.sh
|
|
||||||
env:
|
|
||||||
AOMP_REPOS: $(Build.SourcesDirectory)
|
|
||||||
AOMP_PROJECT_REPO_NAME: llvm-project
|
|
||||||
AOMP_STANDALONE_BUILD: 0
|
|
||||||
AOMP_BUILD_SANITIZER: 0
|
|
||||||
AOMP_BUILD_DEBUG: 0
|
|
||||||
AOMP_USE_NINJA: 1
|
|
||||||
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
|
||||||
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
|
||||||
AOMP: $(Build.BinariesDirectory)
|
|
||||||
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Install flang_runtime
|
|
||||||
inputs:
|
|
||||||
filePath: $(Build.SourcesDirectory)/aomp/bin/build_flang_runtime.sh
|
|
||||||
arguments: install
|
|
||||||
env:
|
|
||||||
AOMP_REPOS: $(Build.SourcesDirectory)
|
|
||||||
AOMP_PROJECT_REPO_NAME: llvm-project
|
|
||||||
AOMP_STANDALONE_BUILD: 0
|
|
||||||
AOMP_BUILD_SANITIZER: 0
|
|
||||||
AOMP_BUILD_DEBUG: 0
|
|
||||||
AOMP_USE_NINJA: 1
|
|
||||||
INSTALL_PREFIX: $(Build.BinariesDirectory)
|
|
||||||
LLVM_PROJECT_ROOT: $(Build.SourcesDirectory)/llvm-project
|
|
||||||
AOMP: $(Build.BinariesDirectory)
|
|
||||||
AOMP_INSTALL_DIR: $(Build.BinariesDirectory)
|
|
||||||
# Clean up build environment before publish artifact
|
|
||||||
- script: |
|
|
||||||
rm $(Build.BinariesDirectory)/lib/llvm/bin/clang
|
|
||||||
rm $(Build.BinariesDirectory)/lib/llvm/bin/clang++
|
|
||||||
rm $(Build.BinariesDirectory)/lib/llvm/bin/llvm-config
|
|
||||||
rm $(Build.BinariesDirectory)/lib/llvm/bin/flang
|
|
||||||
rm $(Build.BinariesDirectory)/llvm
|
|
||||||
displayName: Remove temporary symbolic links
|
|
||||||
# aomp scripts changed where files get installed in scripts, copy to expected location
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
|
||||||
parameters:
|
parameters:
|
||||||
sourceDir: $(Build.BinariesDirectory)/lib/llvm
|
componentName: extras
|
||||||
targetDir: $(Build.ArtifactStagingDirectory)
|
cmakeBuildDir: '$(Build.SourcesDirectory)/aomp-extras/build'
|
||||||
# Remove temporary directory used to deal with expected paths of scripts
|
cmakeSourceDir: '$(Build.SourcesDirectory)/aomp-extras'
|
||||||
- script: |
|
installDir: '$(Build.BinariesDirectory)/llvm'
|
||||||
rm -rf $(Build.BinariesDirectory)/lib/llvm
|
extraBuildFlags: >-
|
||||||
displayName: Remove temporary directories
|
-DLLVM_DIR=$(Agent.BuildDirectory)/rocm/llvm
|
||||||
# Copy the files to artifact staging temporarily to clean up binaries directory
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
# and then copy files back to llvm subdirectory in the cleaned up binaries directory
|
-DAOMP_STANDALONE_BUILD=0
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
-DAOMP_VERSION_STRING=9.99.99
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
sourceDir: $(Build.BinariesDirectory)
|
componentName: openmp
|
||||||
targetDir: $(Build.ArtifactStagingDirectory)
|
cmakeBuildDir: '$(Build.SourcesDirectory)/llvm-project/openmp/build'
|
||||||
clean: false
|
cmakeSourceDir: '$(Build.SourcesDirectory)/llvm-project/openmp'
|
||||||
- script: |
|
installDir: '$(Build.BinariesDirectory)/llvm'
|
||||||
ln -s $(Build.ArtifactStagingDirectory)/bin/flang-classic $(Build.ArtifactStagingDirectory)/bin/flang
|
extraBuildFlags: >-
|
||||||
displayName: Recreate flang symlink
|
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Build.BinariesDirectory)"
|
||||||
- task: DeleteFiles@1
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
displayName: 'Cleanup Binaries Directory'
|
-DOPENMP_TEST_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
||||||
|
-DOPENMP_TEST_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
||||||
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
||||||
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
||||||
|
-DOPENMP_ENABLE_LIBOMPTARGET=1
|
||||||
|
-DLIBOMP_COPY_EXPORTS=OFF
|
||||||
|
-DLIBOMP_OMPT_SUPPORT=ON
|
||||||
|
-DLIBOMP_OMPD_SUPPORT=ON
|
||||||
|
-DCMAKE_SKIP_INSTALL_RPATH=TRUE
|
||||||
|
-DLLVM_MAIN_INCLUDE_DIR=$(Build.SourcesDirectory)/llvm-project/llvm/include
|
||||||
|
-DLIBOMP_FORTRAN_MODULES_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/flang
|
||||||
|
-DLIBOMP_MODULES_INSTALL_PATH=$(Build.BinariesDirectory)/llvm/include/flang/
|
||||||
|
-GNinja
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: 'ROCm symbolic link'
|
||||||
inputs:
|
inputs:
|
||||||
SourceFolder: '$(Build.BinariesDirectory)'
|
targetType: inline
|
||||||
Contents: '/**/*'
|
script: sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
RemoveDotFiles: true
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
|
||||||
parameters:
|
parameters:
|
||||||
sourceDir: $(Build.ArtifactStagingDirectory)
|
componentName: offload
|
||||||
targetDir: $(Build.BinariesDirectory)/llvm
|
cmakeBuildDir: '$(Build.SourcesDirectory)/llvm-project/offload/build'
|
||||||
- task: DeleteFiles@1
|
cmakeSourceDir: '$(Build.SourcesDirectory)/llvm-project/offload'
|
||||||
displayName: 'Cleanup Staging Directory'
|
installDir: '$(Build.BinariesDirectory)/llvm'
|
||||||
inputs:
|
extraBuildFlags: >-
|
||||||
SourceFolder: $(Build.ArtifactStagingDirectory)
|
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Build.BinariesDirectory)"
|
||||||
Contents: '/**/*'
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
RemoveDotFiles: true
|
-DOPENMP_TEST_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
||||||
|
-DOPENMP_TEST_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
||||||
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
||||||
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
||||||
|
-DCMAKE_SKIP_INSTALL_RPATH=TRUE
|
||||||
|
-DLLVM_MAIN_INCLUDE_DIR=$(Build.SourcesDirectory)/llvm-project/llvm/include
|
||||||
|
-DLIBOMPTARGET_LLVM_INCLUDE_DIRS=$(Build.SourcesDirectory)/llvm-project/llvm/include
|
||||||
|
-DCMAKE_EXE_LINKER_FLAGS="-L$(Agent.BuildDirectory)/rocm/llvm/lib"
|
||||||
|
-DCMAKE_SHARED_LINKER_FLAGS="-L$(Agent.BuildDirectory)/rocm/llvm/lib"
|
||||||
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
optSymLink: true
|
|
||||||
|
|
||||||
- job: aomp_testing
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
dependsOn: aomp
|
- job: aomp_test_${{ job.target }}
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
dependsOn: aomp
|
||||||
variables:
|
condition:
|
||||||
- group: common
|
and(succeeded(),
|
||||||
- template: /.azuredevops/variables-global.yml
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
pool: $(JOB_TEST_POOL)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
workspace:
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
clean: all
|
)
|
||||||
strategy:
|
variables:
|
||||||
matrix:
|
- group: common
|
||||||
gfx942:
|
- template: /.azuredevops/variables-global.yml
|
||||||
JOB_GPU_TARGET: gfx942
|
pool: ${{ job.target }}_test_pool
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
workspace:
|
||||||
gfx90a:
|
clean: all
|
||||||
JOB_GPU_TARGET: gfx90a
|
steps:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
steps:
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- task: Bash@3
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
displayName: ROCm symbolic link
|
||||||
- task: Bash@3
|
inputs:
|
||||||
displayName: ROCm symbolic link
|
targetType: inline
|
||||||
inputs:
|
script: sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
targetType: inline
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
script: |
|
parameters:
|
||||||
sudo rm -rf /opt/rocm
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
checkoutRepo: aomp-extras_repo
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
# these copy steps are from the aomp prototype script for test prep
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- task: CopyFiles@2
|
||||||
parameters:
|
displayName: 'Copy AOMP contents'
|
||||||
checkoutRepo: aomp-extras_repo
|
inputs:
|
||||||
# these copy steps are from the aomp prototype script for test prep
|
CleanTargetFolder: false
|
||||||
- task: CopyFiles@2
|
SourceFolder: $(Build.SourcesDirectory)/aomp
|
||||||
displayName: 'Copy AOMP contents'
|
Contents: |
|
||||||
inputs:
|
**
|
||||||
CleanTargetFolder: false
|
!**/.git/**
|
||||||
SourceFolder: $(Build.SourcesDirectory)/aomp
|
!**/.github/**
|
||||||
Contents: |
|
!**/.gitignore
|
||||||
**
|
TargetFolder: $(Agent.BuildDirectory)/rocm/share/openmp-extras/tests
|
||||||
!**/.git/**
|
retryCount: 3
|
||||||
!**/.github/**
|
- task: CopyFiles@2
|
||||||
!**/.gitignore
|
displayName: 'Copy FileCheck'
|
||||||
TargetFolder: $(Agent.BuildDirectory)/rocm/share/openmp-extras/tests
|
inputs:
|
||||||
retryCount: 3
|
CleanTargetFolder: false
|
||||||
- task: CopyFiles@2
|
SourceFolder: $(Agent.BuildDirectory)/rocm/llvm/bin
|
||||||
displayName: 'Copy FileCheck'
|
Contents: FileCheck
|
||||||
inputs:
|
TargetFolder: $(Agent.BuildDirectory)/rocm/share/openmp-extras/tests/bin
|
||||||
CleanTargetFolder: false
|
retryCount: 3
|
||||||
SourceFolder: $(Agent.BuildDirectory)/rocm/llvm/bin
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
Contents: FileCheck
|
- task: Bash@3
|
||||||
TargetFolder: $(Agent.BuildDirectory)/rocm/share/openmp-extras/tests/bin
|
displayName: Test AOMP
|
||||||
retryCount: 3
|
continueOnError: true
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
inputs:
|
||||||
- task: Bash@3
|
targetType: inline
|
||||||
displayName: Test AOMP
|
script: ./run_rocm_test.sh
|
||||||
continueOnError: true
|
workingDirectory: $(Build.SourcesDirectory)/aomp/bin
|
||||||
inputs:
|
env:
|
||||||
targetType: inline
|
AOMP: $(Agent.BuildDirectory)/rocm/llvm
|
||||||
script: ./run_rocm_test.sh
|
AOMP_REPOS_TEST: $(Build.SourcesDirectory)/aomp-test
|
||||||
workingDirectory: $(Build.SourcesDirectory)/aomp/bin
|
AOMP_TEST_DIR: $(Build.SourcesDirectory)/aomp-test
|
||||||
env:
|
SKIP_TEST_PACKAGE: 1
|
||||||
AOMP: $(Agent.BuildDirectory)/rocm/llvm
|
MAINLINE_BUILD: 1
|
||||||
AOMP_REPOS_TEST: $(Build.SourcesDirectory)/aomp-test
|
SUITE_LIST: smoke
|
||||||
AOMP_TEST_DIR: $(Build.SourcesDirectory)/aomp-test
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
SKIP_TEST_PACKAGE: 1
|
parameters:
|
||||||
MAINLINE_BUILD: 1
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
SUITE_LIST: smoke
|
environment: test
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
optSymLink: true
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
optSymLink: true
|
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -27,127 +32,134 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- clr
|
- clr
|
||||||
- composable_kernel
|
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: composable_kernel
|
type: object
|
||||||
timeoutInMinutes: 240
|
default:
|
||||||
variables:
|
buildJobs:
|
||||||
- group: common
|
- gfx942:
|
||||||
- template: /.azuredevops/variables-global.yml
|
target: gfx942
|
||||||
- name: DAY_STRING
|
- gfx90a:
|
||||||
value: $[format('{0:ddMMyyyy}', pipeline.startTime)]
|
target: gfx90a
|
||||||
pool: ${{ variables.ULTRA_BUILD_POOL }}
|
testJobs:
|
||||||
workspace:
|
- gfx942:
|
||||||
clean: all
|
target: gfx942
|
||||||
strategy:
|
- gfx90a:
|
||||||
matrix:
|
target: gfx90a
|
||||||
gfx942:
|
|
||||||
JOB_GPU_TARGET: gfx942
|
|
||||||
gfx90a:
|
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- script: |
|
|
||||||
mkdir -p $(CCACHE_DIR)
|
|
||||||
echo "##vso[task.prependpath]/usr/lib/ccache"
|
|
||||||
displayName: Update path for ccache
|
|
||||||
- task: Cache@2
|
|
||||||
displayName: Ccache caching
|
|
||||||
inputs:
|
|
||||||
key: composable_kernel | $(Agent.OS) | $(JOB_GPU_TARGET) | $(DAY_STRING) | $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
path: $(CCACHE_DIR)
|
|
||||||
restoreKeys: |
|
|
||||||
composable_kernel | $(Agent.OS) | $(JOB_GPU_TARGET) | $(DAY_STRING)
|
|
||||||
composable_kernel | $(Agent.OS) | $(JOB_GPU_TARGET)
|
|
||||||
composable_kernel | $(Agent.OS)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
|
||||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
|
||||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache
|
|
||||||
-DCMAKE_HIP_FLAGS="-Wno-missing-include-dirs"
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCK_BUILD_JIT_LIB=ON
|
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
|
|
||||||
- job: composable_kernel_testing
|
jobs:
|
||||||
timeoutInMinutes: 90
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
dependsOn: composable_kernel
|
- job: composable_kernel_build_${{ job.target }}
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
timeoutInMinutes: 240
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
- name: TEST_LOG_FILE
|
- name: DAY_STRING
|
||||||
value: $(Pipeline.Workspace)/ckTestLog.log
|
value: $[format('{0:ddMMyyyy}', pipeline.startTime)]
|
||||||
pool: $(JOB_TEST_POOL)
|
pool: ${{ variables.ULTRA_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
strategy:
|
steps:
|
||||||
matrix:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
gfx942:
|
parameters:
|
||||||
JOB_GPU_TARGET: gfx942
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
gfx90a:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
JOB_GPU_TARGET: gfx90a
|
parameters:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
parameters:
|
- script: |
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
mkdir -p $(CCACHE_DIR)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
echo "##vso[task.prependpath]/usr/lib/ccache"
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
displayName: Update path for ccache
|
||||||
parameters:
|
- task: Cache@2
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
displayName: Ccache caching
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
inputs:
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
key: composable_kernel | $(Agent.OS) | ${{ job.target }} | $(DAY_STRING) | $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
path: $(CCACHE_DIR)
|
||||||
- task: Bash@3
|
restoreKeys: |
|
||||||
displayName: Iterate through test scripts
|
composable_kernel | $(Agent.OS) | ${{ job.target }} | $(DAY_STRING)
|
||||||
inputs:
|
composable_kernel | $(Agent.OS) | ${{ job.target }}
|
||||||
targetType: inline
|
composable_kernel | $(Agent.OS)
|
||||||
script: |
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
for file in ./test_*; do
|
parameters:
|
||||||
./$file | tee -a $(TEST_LOG_FILE)
|
extraBuildFlags: >-
|
||||||
done
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
workingDirectory: $(Agent.BuildDirectory)/rocm/bin
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||||
parameters:
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
-DCMAKE_HIP_FLAGS="-Wno-missing-include-dirs"
|
||||||
environment: test
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
-DCK_BUILD_JIT_LIB=ON
|
||||||
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: composable_kernel_test_${{ job.target }}
|
||||||
|
timeoutInMinutes: 180
|
||||||
|
dependsOn: composable_kernel_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: TEST_LOG_FILE
|
||||||
|
value: $(Pipeline.Workspace)/ckTestLog.log
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Iterate through test scripts
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
for file in ./test_*; do
|
||||||
|
./$file | tee -a $(TEST_LOG_FILE)
|
||||||
|
done
|
||||||
|
workingDirectory: $(Agent.BuildDirectory)/rocm/bin
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -26,9 +26,11 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
componentName: HIP
|
componentName: HIP
|
||||||
pipelineId: $(HIP_PIPELINE_ID)
|
pipelineId: $(HIP_PIPELINE_ID)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
- task: Bash@3
|
||||||
parameters:
|
displayName: Copy HIP artifacts
|
||||||
sourceDir: $(Agent.BuildDirectory)/rocm
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: cp -a $(Agent.BuildDirectory)/rocm/* $(Build.BinariesDirectory)/
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -25,7 +30,7 @@ jobs:
|
|||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool:
|
pool:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
@@ -41,6 +46,7 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -37,116 +42,118 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
buildJobs:
|
||||||
|
- gfx942:
|
||||||
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
|
testJobs:
|
||||||
|
- gfx942:
|
||||||
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
|
|
||||||
# HIP with AMD backend
|
# HIP with AMD backend
|
||||||
jobs:
|
jobs:
|
||||||
- job: hip_tests
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
variables:
|
- job: hip_tests_build_${{ job.target }}
|
||||||
- group: common
|
variables:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- group: common
|
||||||
- name: HIP_ROCCLR_HOME
|
- template: /.azuredevops/variables-global.yml
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
- name: HIP_ROCCLR_HOME
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
workspace:
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
clean: all
|
workspace:
|
||||||
strategy:
|
clean: all
|
||||||
matrix:
|
steps:
|
||||||
gfx942:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
JOB_GPU_TARGET: gfx942
|
parameters:
|
||||||
gfx90a:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
JOB_GPU_TARGET: gfx90a
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
# compile hip-tests
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
parameters:
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
componentName: hip-tests
|
||||||
# compile hip-tests
|
cmakeSourceDir: '../catch'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
customBuildTarget: build_tests
|
||||||
parameters:
|
extraBuildFlags: >-
|
||||||
componentName: hip-tests
|
-DHIP_PLATFORM=amd
|
||||||
cmakeSourceDir: '../catch'
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
customBuildTarget: build_tests
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
extraBuildFlags: >-
|
-DHIP_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DHIP_PLATFORM=amd
|
-DOFFLOAD_ARCH_STR="--offload-arch=${{ job.target }}"
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-GNinja
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
-DHIP_PATH=$(Agent.BuildDirectory)/rocm
|
parameters:
|
||||||
-DOFFLOAD_ARCH_STR="--offload-arch=$(JOB_GPU_TARGET)"
|
gpuTarget: ${{ job.target }}
|
||||||
-GNinja
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
parameters:
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
extraEnvVars:
|
||||||
parameters:
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
extraEnvVars:
|
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
|
||||||
|
|
||||||
- job: hip_tests_testing
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
timeoutInMinutes: 240
|
- job: hip_tests_test_${{ job.target }}
|
||||||
dependsOn: hip_tests
|
timeoutInMinutes: 240
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
dependsOn: hip_tests_build_${{ job.target }}
|
||||||
variables:
|
condition:
|
||||||
- group: common
|
and(succeeded(),
|
||||||
- template: /.azuredevops/variables-global.yml
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
pool: $(JOB_TEST_POOL)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
workspace:
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
clean: all
|
)
|
||||||
strategy:
|
variables:
|
||||||
matrix:
|
- group: common
|
||||||
gfx942:
|
- template: /.azuredevops/variables-global.yml
|
||||||
JOB_GPU_TARGET: gfx942
|
pool: ${{ job.target }}_test_pool
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
workspace:
|
||||||
gfx90a:
|
clean: all
|
||||||
JOB_GPU_TARGET: gfx90a
|
steps:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
steps:
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/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_GPU_TARGET)
|
displayName: Symlink rocm_agent_enumerator
|
||||||
- task: Bash@3
|
inputs:
|
||||||
displayName: Symlink rocm_agent_enumerator
|
targetType: inline
|
||||||
inputs:
|
script: |
|
||||||
targetType: inline
|
# Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral
|
||||||
script: |
|
sudo mkdir -p /opt/rocm/bin
|
||||||
sudo rm -rf /opt/rocm
|
sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rocm_agent_enumerator /opt/rocm/bin/rocm_agent_enumerator
|
||||||
sudo mkdir -p /opt/rocm/bin
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rocm_agent_enumerator /opt/rocm/bin/rocm_agent_enumerator
|
- 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: hip_tests
|
||||||
parameters:
|
testDir: $(Agent.BuildDirectory)/rocm/share/hip
|
||||||
componentName: hip_tests
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
testDir: $(Agent.BuildDirectory)/rocm/share/hip
|
parameters:
|
||||||
- task: Bash@3
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
displayName: Clean up symlink
|
environment: test
|
||||||
condition: always()
|
gpuTarget: ${{ job.target }}
|
||||||
inputs:
|
optSymLink: true
|
||||||
targetType: inline
|
|
||||||
script: sudo rm -rf /opt/rocm
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
environment: test
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
optSymLink: true
|
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -29,7 +34,7 @@ jobs:
|
|||||||
- name: ROCM_PATH
|
- name: ROCM_PATH
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool:
|
pool:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
@@ -45,6 +50,7 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -51,103 +56,111 @@ parameters:
|
|||||||
- rocSOLVER
|
- rocSOLVER
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: hipBLAS
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
target: gfx942
|
||||||
workspace:
|
- gfx90a:
|
||||||
clean: all
|
target: gfx90a
|
||||||
strategy:
|
testJobs:
|
||||||
matrix:
|
- gfx942:
|
||||||
gfx942:
|
target: gfx942
|
||||||
JOB_GPU_TARGET: gfx942
|
- gfx90a:
|
||||||
gfx90a:
|
target: gfx90a
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aocl.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DHIP_PLATFORM=amd
|
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
|
||||||
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
|
||||||
-DBUILD_CLIENTS_SAMPLES=OFF
|
|
||||||
-DCPACK_SET_DESTDIR=OFF
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
installAOCL: true
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
|
|
||||||
- job: hipBLAS_testing
|
jobs:
|
||||||
dependsOn: hipBLAS
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: hipBLAS_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: $(JOB_TEST_POOL)
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
strategy:
|
steps:
|
||||||
matrix:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
gfx942:
|
parameters:
|
||||||
JOB_GPU_TARGET: gfx942
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
gfx90a:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
JOB_GPU_TARGET: gfx90a
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
parameters:
|
||||||
steps:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aocl.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
pipModules: ${{ parameters.pipModules }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
-DHIP_PLATFORM=amd
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
||||||
parameters:
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
componentName: hipBLAS
|
-DCPACK_SET_DESTDIR=OFF
|
||||||
testExecutable: $(Agent.BuildDirectory)/rocm/bin/hipblas-test
|
-GNinja
|
||||||
testParameters: '--yaml hipblas_smoke.yaml --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
pipModules: ${{ parameters.pipModules }}
|
gpuTarget: ${{ job.target }}
|
||||||
environment: test
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
installAOCL: true
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: hipBLAS_test_${{ job.target }}
|
||||||
|
dependsOn: hipBLAS_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: hipBLAS
|
||||||
|
testExecutable: $(Agent.BuildDirectory)/rocm/bin/hipblas-test
|
||||||
|
testParameters: '--yaml hipblas_smoke.yaml --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -22,7 +27,7 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- joblib
|
- joblib
|
||||||
- packaging>=22.0
|
- "packaging>=22.0"
|
||||||
- --upgrade
|
- --upgrade
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
@@ -49,157 +54,173 @@ parameters:
|
|||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: hipBLASLt
|
type: object
|
||||||
timeoutInMinutes: 300
|
default:
|
||||||
variables:
|
buildJobs:
|
||||||
- group: common
|
- gfx942:
|
||||||
- template: /.azuredevops/variables-global.yml
|
target: gfx942
|
||||||
- name: HIP_ROCCLR_HOME
|
- gfx90a:
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
target: gfx90a
|
||||||
- name: TENSILE_ROCM_ASSEMBLER_PATH
|
testJobs:
|
||||||
value: $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
- gfx942:
|
||||||
- name: TENSILE_ROCM_OFFLOAD_BUNDLER_PATH
|
target: gfx942
|
||||||
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang-offload-bundler
|
- gfx90a:
|
||||||
- name: ROCM_PATH
|
target: gfx90a
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
|
||||||
- name: DAY_STRING
|
|
||||||
value: $[format('{0:ddMMyyyy}', pipeline.startTime)]
|
|
||||||
pool: ${{ variables.ULTRA_BUILD_POOL }}
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
gfx942:
|
|
||||||
JOB_GPU_TARGET: gfx942
|
|
||||||
gfx90a:
|
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- script: sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
|
||||||
displayName: ROCm symbolic link
|
|
||||||
# Build and install gtest, lapack, hipBLAS-common
|
|
||||||
# $(Pipeline.Workspace)/deps is a temporary folder for the build process
|
|
||||||
# $(Pipeline.Workspace)/s/deps is part of the hipBLASLt repo
|
|
||||||
- script: mkdir $(Pipeline.Workspace)/deps
|
|
||||||
displayName: Create temp folder for external dependencies
|
|
||||||
# hipBLASLt already has a CMake script for external deps, so we can just run that
|
|
||||||
# https://github.com/ROCm/hipBLASLt/blob/develop/deps/CMakeLists.txt
|
|
||||||
- script: cmake $(Pipeline.Workspace)/s/deps
|
|
||||||
displayName: Configure hipBLASLt external dependencies
|
|
||||||
workingDirectory: $(Pipeline.Workspace)/deps
|
|
||||||
- script: make
|
|
||||||
displayName: Build hipBLASLt external dependencies
|
|
||||||
workingDirectory: $(Pipeline.Workspace)/deps
|
|
||||||
- script: sudo make install
|
|
||||||
displayName: Install hipBLASLt external dependencies
|
|
||||||
workingDirectory: $(Pipeline.Workspace)/deps
|
|
||||||
- script: |
|
|
||||||
mkdir -p $(CCACHE_DIR)
|
|
||||||
echo "##vso[task.prependpath]/usr/lib/ccache"
|
|
||||||
displayName: Update path for ccache
|
|
||||||
- task: Cache@2
|
|
||||||
displayName: Ccache caching
|
|
||||||
inputs:
|
|
||||||
key: hipBLASLt | $(Agent.OS) | $(JOB_GPU_TARGET) | $(DAY_STRING) | $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
path: $(CCACHE_DIR)
|
|
||||||
restoreKeys: |
|
|
||||||
hipBLASLt | $(Agent.OS) | $(JOB_GPU_TARGET) | $(DAY_STRING)
|
|
||||||
hipBLASLt | $(Agent.OS) | $(JOB_GPU_TARGET)
|
|
||||||
hipBLASLt | $(Agent.OS)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
|
||||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
|
||||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache
|
|
||||||
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-DTensile_LOGIC=
|
|
||||||
-DTensile_CPU_THREADS=
|
|
||||||
-DTensile_LIBRARY_FORMAT=msgpack
|
|
||||||
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm"
|
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin
|
|
||||||
installLatestCMake: true
|
|
||||||
extraEnvVars:
|
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
|
||||||
- TENSILE_ROCM_ASSEMBLER_PATH:::/home/user/workspace/rocm/llvm/bin/amdclang
|
|
||||||
- TENSILE_ROCM_OFFLOAD_BUNDLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang-offload-bundler
|
|
||||||
- ROCM_PATH:::/home/user/workspace/rocm
|
|
||||||
extraCopyDirectories:
|
|
||||||
- deps
|
|
||||||
|
|
||||||
- job: hipBLASLt_testing
|
jobs:
|
||||||
timeoutInMinutes: 120
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
dependsOn: hipBLASLt
|
- job: hipBLASLt_build_${{ job.target }}
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
timeoutInMinutes: 300
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: $(JOB_TEST_POOL)
|
- name: HIP_ROCCLR_HOME
|
||||||
workspace:
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
clean: all
|
- name: TENSILE_ROCM_ASSEMBLER_PATH
|
||||||
strategy:
|
value: $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
matrix:
|
- name: TENSILE_ROCM_OFFLOAD_BUNDLER_PATH
|
||||||
gfx942:
|
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang-offload-bundler
|
||||||
JOB_GPU_TARGET: gfx942
|
- name: ROCM_PATH
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
gfx90a:
|
- name: DAY_STRING
|
||||||
JOB_GPU_TARGET: gfx90a
|
value: $[format('{0:ddMMyyyy}', pipeline.startTime)]
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
pool: ${{ variables.ULTRA_BUILD_POOL }}
|
||||||
steps:
|
workspace:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
clean: all
|
||||||
parameters:
|
steps:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
pipModules: ${{ parameters.pipModules }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
pipModules: ${{ parameters.pipModules }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
parameters:
|
||||||
parameters:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
parameters:
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
componentName: hipBLASLt
|
- task: Bash@3
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
displayName: Add ROCm binaries to PATH
|
||||||
testExecutable: './hipblaslt-test'
|
inputs:
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes --gtest_filter=*pre_checkin*'
|
targetType: inline
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
script: |
|
||||||
parameters:
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
||||||
pipModules: ${{ parameters.pipModules }}
|
# Build and install gtest, lapack, hipBLAS-common
|
||||||
environment: test
|
# $(Pipeline.Workspace)/deps is a temporary folder for the build process
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
# $(Pipeline.Workspace)/s/deps is part of the hipBLASLt repo
|
||||||
|
- script: mkdir $(Pipeline.Workspace)/deps
|
||||||
|
displayName: Create temp folder for external dependencies
|
||||||
|
# hipBLASLt already has a CMake script for external deps, so we can just run that
|
||||||
|
# https://github.com/ROCm/hipBLASLt/blob/develop/deps/CMakeLists.txt
|
||||||
|
- script: cmake $(Pipeline.Workspace)/s/deps
|
||||||
|
displayName: Configure hipBLASLt external dependencies
|
||||||
|
workingDirectory: $(Pipeline.Workspace)/deps
|
||||||
|
- script: make
|
||||||
|
displayName: Build hipBLASLt external dependencies
|
||||||
|
workingDirectory: $(Pipeline.Workspace)/deps
|
||||||
|
- script: sudo make install
|
||||||
|
displayName: Install hipBLASLt external dependencies
|
||||||
|
workingDirectory: $(Pipeline.Workspace)/deps
|
||||||
|
- script: |
|
||||||
|
mkdir -p $(CCACHE_DIR)
|
||||||
|
echo "##vso[task.prependpath]/usr/lib/ccache"
|
||||||
|
displayName: Update path for ccache
|
||||||
|
- task: Cache@2
|
||||||
|
displayName: Ccache caching
|
||||||
|
inputs:
|
||||||
|
key: hipBLASLt | $(Agent.OS) | ${{ job.target }} | $(DAY_STRING) | $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
path: $(CCACHE_DIR)
|
||||||
|
restoreKeys: |
|
||||||
|
hipBLASLt | $(Agent.OS) | ${{ job.target }} | $(DAY_STRING)
|
||||||
|
hipBLASLt | $(Agent.OS) | ${{ job.target }}
|
||||||
|
hipBLASLt | $(Agent.OS)
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
|
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||||
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache
|
||||||
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
|
-DTensile_LOGIC=
|
||||||
|
-DTensile_CPU_THREADS=
|
||||||
|
-DTensile_LIBRARY_FORMAT=msgpack
|
||||||
|
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm"
|
||||||
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin
|
||||||
|
installLatestCMake: true
|
||||||
|
extraEnvVars:
|
||||||
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
|
- TENSILE_ROCM_ASSEMBLER_PATH:::/home/user/workspace/rocm/llvm/bin/amdclang
|
||||||
|
- TENSILE_ROCM_OFFLOAD_BUNDLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang-offload-bundler
|
||||||
|
- ROCM_PATH:::/home/user/workspace/rocm
|
||||||
|
extraCopyDirectories:
|
||||||
|
- deps
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: hipBLASLt_test_${{ job.target }}
|
||||||
|
timeoutInMinutes: 300
|
||||||
|
dependsOn: hipBLASLt_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: ROCM_PATH
|
||||||
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: hipBLASLt
|
||||||
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
|
testExecutable: './hipblaslt-test'
|
||||||
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes --gtest_filter=*pre_checkin*'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -31,92 +36,100 @@ parameters:
|
|||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: hipCUB
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
target: gfx942
|
||||||
workspace:
|
- gfx90a:
|
||||||
clean: all
|
target: gfx90a
|
||||||
strategy:
|
testJobs:
|
||||||
matrix:
|
- gfx942:
|
||||||
gfx942:
|
target: gfx942
|
||||||
JOB_GPU_TARGET: gfx942
|
- gfx90a:
|
||||||
gfx90a:
|
target: gfx90a
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DBUILD_TEST=ON
|
|
||||||
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
|
|
||||||
- job: hipCUB_testing
|
jobs:
|
||||||
dependsOn: hipCUB
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: hipCUB_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: $(JOB_TEST_POOL)
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
strategy:
|
steps:
|
||||||
matrix:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
gfx942:
|
parameters:
|
||||||
JOB_GPU_TARGET: gfx942
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
gfx90a:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
JOB_GPU_TARGET: gfx90a
|
parameters:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
parameters:
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
-DBUILD_TEST=ON
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: hipCUB
|
gpuTarget: ${{ job.target }}
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin/hipcub'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
parameters:
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
environment: test
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: hipCUB_test_${{ job.target }}
|
||||||
|
dependsOn: hipCUB_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: hipCUB
|
||||||
|
testDir: '$(Agent.BuildDirectory)/rocm/bin/hipcub'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -40,103 +45,111 @@ parameters:
|
|||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocRAND
|
- rocRAND
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: hipFFT
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
- name: HIP_ROCCLR_HOME
|
target: gfx942
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
- gfx90a:
|
||||||
pool:
|
target: gfx90a
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
testJobs:
|
||||||
workspace:
|
- gfx942:
|
||||||
clean: all
|
target: gfx942
|
||||||
strategy:
|
- gfx90a:
|
||||||
matrix:
|
target: gfx90a
|
||||||
gfx942:
|
|
||||||
JOB_GPU_TARGET: gfx942
|
|
||||||
gfx90a:
|
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-DUSE_HIP_CLANG=ON
|
|
||||||
-DHIP_COMPILER=clang
|
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
|
||||||
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
|
||||||
-DBUILD_CLIENTS_SAMPLES=OFF
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
|
|
||||||
- job: hipFFT_testing
|
jobs:
|
||||||
dependsOn: hipFFT
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: hipFFT_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: $(JOB_TEST_POOL)
|
- name: HIP_ROCCLR_HOME
|
||||||
workspace:
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
clean: all
|
pool:
|
||||||
strategy:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
matrix:
|
workspace:
|
||||||
gfx942:
|
clean: all
|
||||||
JOB_GPU_TARGET: gfx942
|
steps:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
gfx90a:
|
parameters:
|
||||||
JOB_GPU_TARGET: gfx90a
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
extraBuildFlags: >-
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
parameters:
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
componentName: hipFFT
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
-DUSE_HIP_CLANG=ON
|
||||||
testExecutable: './hipfft-test'
|
-DHIP_COMPILER=clang
|
||||||
testParameters: '--test_prob 0.002 --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
||||||
parameters:
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
-GNinja
|
||||||
environment: test
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
# parameters:
|
||||||
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
# gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: hipFFT_test_${{ job.target }}
|
||||||
|
dependsOn: hipFFT_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: hipFFT
|
||||||
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
|
testExecutable: './hipfft-test'
|
||||||
|
testParameters: '--test_prob 0.002 --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -31,99 +36,107 @@ parameters:
|
|||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocRAND
|
- rocRAND
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: hipRAND
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
- name: HIP_ROCCLR_HOME
|
target: gfx942
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
- gfx90a:
|
||||||
pool:
|
target: gfx90a
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
testJobs:
|
||||||
workspace:
|
- gfx942:
|
||||||
clean: all
|
target: gfx942
|
||||||
strategy:
|
- gfx90a:
|
||||||
matrix:
|
target: gfx90a
|
||||||
gfx942:
|
|
||||||
JOB_GPU_TARGET: gfx942
|
|
||||||
gfx90a:
|
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
|
||||||
-DBUILD_TEST=ON
|
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
# extraEnvVars:
|
|
||||||
# - HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
|
||||||
|
|
||||||
- job: hipRAND_testing
|
jobs:
|
||||||
dependsOn: hipRAND
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: hipRAND_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: $(JOB_TEST_POOL)
|
- name: HIP_ROCCLR_HOME
|
||||||
workspace:
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
clean: all
|
pool:
|
||||||
strategy:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
matrix:
|
workspace:
|
||||||
gfx942:
|
clean: all
|
||||||
JOB_GPU_TARGET: gfx942
|
steps:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
gfx90a:
|
parameters:
|
||||||
JOB_GPU_TARGET: gfx90a
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
extraBuildFlags: >-
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
-DBUILD_TEST=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
parameters:
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
componentName: hipRAND
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin/hipRAND'
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
-GNinja
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
environment: test
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
# parameters:
|
||||||
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
# gpuTarget: ${{ job.target }}
|
||||||
|
# extraEnvVars:
|
||||||
|
# - HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: hipRAND_test_${{ job.target }}
|
||||||
|
dependsOn: hipRAND_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: hipRAND
|
||||||
|
testDir: '$(Agent.BuildDirectory)/rocm/bin/hipRAND'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -45,108 +50,117 @@ parameters:
|
|||||||
- rocSPARSE
|
- rocSPARSE
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: hipSOLVER
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
pool:
|
target: gfx942
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
- gfx90a:
|
||||||
workspace:
|
target: gfx90a
|
||||||
clean: all
|
testJobs:
|
||||||
strategy:
|
- gfx942:
|
||||||
matrix:
|
target: gfx942
|
||||||
gfx942:
|
- gfx90a:
|
||||||
JOB_GPU_TARGET: gfx942
|
target: gfx90a
|
||||||
gfx90a:
|
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
# build external gtest and lapack
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
componentName: external
|
|
||||||
cmakeBuildDir: 'deps/build'
|
|
||||||
installDir: '$(Pipeline.Workspace)/deps-install'
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DBUILD_BOOST=OFF
|
|
||||||
-DBUILD_GTEST=OFF
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Pipeline.Workspace)/deps-install
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
|
||||||
-DUSE_CUDA=OFF
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
# extraCopyDirectories:
|
|
||||||
# - deps-install
|
|
||||||
|
|
||||||
- job: hipSOLVER_testing
|
jobs:
|
||||||
dependsOn: hipSOLVER
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: hipSOLVER_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: $(JOB_TEST_POOL)
|
pool:
|
||||||
workspace:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
clean: all
|
workspace:
|
||||||
strategy:
|
clean: all
|
||||||
matrix:
|
steps:
|
||||||
gfx942:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
JOB_GPU_TARGET: gfx942
|
parameters:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
gfx90a:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
JOB_GPU_TARGET: gfx90a
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
parameters:
|
||||||
steps:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
# build external gtest and lapack
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
parameters:
|
||||||
parameters:
|
componentName: external
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
cmakeBuildDir: '$(Build.SourcesDirectory)/deps/build'
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
cmakeSourceDir: '$(Build.SourcesDirectory)/deps'
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
installDir: '$(Pipeline.Workspace)/deps-install'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
-DBUILD_BOOST=OFF
|
||||||
parameters:
|
-DBUILD_GTEST=OFF
|
||||||
componentName: hipSOLVER
|
-GNinja
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
testExecutable: './hipsolver-test'
|
parameters:
|
||||||
testParameters: '--gtest_filter="*checkin*" --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Pipeline.Workspace)/deps-install
|
||||||
parameters:
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
environment: test
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
|
-DUSE_CUDA=OFF
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
# parameters:
|
||||||
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
# gpuTarget: ${{ job.target }}
|
||||||
|
# extraCopyDirectories:
|
||||||
|
# - deps-install
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: hipSOLVER_test_${{ job.target }}
|
||||||
|
dependsOn: hipSOLVER_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: hipSOLVER
|
||||||
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
|
testExecutable: './hipsolver-test'
|
||||||
|
testParameters: '--gtest_filter="*checkin*" --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -40,107 +45,115 @@ parameters:
|
|||||||
- rocSPARSE
|
- rocSPARSE
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: hipSPARSE
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
pool:
|
target: gfx942
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
- gfx90a:
|
||||||
workspace:
|
target: gfx90a
|
||||||
clean: all
|
testJobs:
|
||||||
strategy:
|
- gfx942:
|
||||||
matrix:
|
target: gfx942
|
||||||
gfx942:
|
- gfx90a:
|
||||||
JOB_GPU_TARGET: gfx942
|
target: gfx90a
|
||||||
gfx90a:
|
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/share/rocm/cmake/
|
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
|
||||||
-DBUILD_CLIENTS_SAMPLES=OFF
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
artifactName: hipSPARSE
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
artifactName: hipSPARSE
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
publish: false
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
|
||||||
parameters:
|
|
||||||
sourceDir: $(Build.SourcesDirectory)/build/clients
|
|
||||||
contentsString: matrices/**
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
artifactName: testMatrices
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# environment: test
|
|
||||||
# gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
|
|
||||||
- job: hipSPARSE_testing
|
jobs:
|
||||||
dependsOn: hipSPARSE
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: hipSPARSE_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: $(JOB_TEST_POOL)
|
pool:
|
||||||
workspace:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
clean: all
|
workspace:
|
||||||
strategy:
|
clean: all
|
||||||
matrix:
|
steps:
|
||||||
gfx942:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
JOB_GPU_TARGET: gfx942
|
parameters:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
gfx90a:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
JOB_GPU_TARGET: gfx90a
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
parameters:
|
||||||
steps:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/share/rocm/cmake/
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
-GNinja
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
componentName: hipSPARSE
|
parameters:
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
artifactName: hipSPARSE
|
||||||
testExecutable: './hipsparse-test'
|
gpuTarget: ${{ job.target }}
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
parameters:
|
||||||
parameters:
|
artifactName: hipSPARSE
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
gpuTarget: ${{ job.target }}
|
||||||
environment: test
|
publish: false
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
||||||
|
parameters:
|
||||||
|
sourceDir: $(Build.SourcesDirectory)/build/clients
|
||||||
|
contentsString: matrices/**
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
artifactName: testMatrices
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
# parameters:
|
||||||
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
# environment: test
|
||||||
|
# gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: hipSPARSE_test_${{ job.target }}
|
||||||
|
dependsOn: hipSPARSE_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: hipSPARSE
|
||||||
|
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 }}
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -28,6 +33,7 @@ parameters:
|
|||||||
- hipSPARSE
|
- hipSPARSE
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
|
- rocm_smi_lib
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
@@ -46,133 +52,142 @@ parameters:
|
|||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: hipSPARSELt
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
- name: HIP_ROCCLR_HOME
|
target: gfx942
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
testJobs:
|
||||||
- name: TENSILE_ROCM_ASSEMBLER_PATH
|
- gfx942:
|
||||||
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
target: gfx942
|
||||||
- name: CMAKE_CXX_COMPILER
|
|
||||||
value: $(Agent.BuildDirectory)/rocm/llvm/bin/hipcc
|
|
||||||
- name: TENSILE_ROCM_OFFLOAD_BUNDLER_PATH
|
|
||||||
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang-offload-bundler
|
|
||||||
- name: PATH
|
|
||||||
value: $(Agent.BuildDirectory)/rocm/llvm/bin:$(Agent.BuildDirectory)/rocm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
|
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
gfx942:
|
|
||||||
JOB_GPU_TARGET: gfx942
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
# Build and install gtest and lapack
|
|
||||||
# $(Pipeline.Workspace)/deps is a temporary folder for the build process
|
|
||||||
# $(Pipeline.Workspace)/s/deps is part of the hipSPARSELt repo
|
|
||||||
- script: mkdir $(Pipeline.Workspace)/deps
|
|
||||||
displayName: Create temp folder for external dependencies
|
|
||||||
# hipSPARSELt already has a CMake script for external deps, so we can just run that
|
|
||||||
# https://github.com/ROCm/hipSPARSELt/blob/develop/deps/CMakeLists.txt
|
|
||||||
- script: cmake $(Pipeline.Workspace)/s/deps
|
|
||||||
displayName: Configure hipSPARSELt external dependencies
|
|
||||||
workingDirectory: $(Pipeline.Workspace)/deps
|
|
||||||
- script: make
|
|
||||||
displayName: Build hipSPARSELt external dependencies
|
|
||||||
workingDirectory: $(Pipeline.Workspace)/deps
|
|
||||||
- script: sudo make install
|
|
||||||
displayName: Install hipSPARSELt external dependencies
|
|
||||||
workingDirectory: $(Pipeline.Workspace)/deps
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
|
||||||
-DCMAKE_Fortran_COMPILER=f95
|
|
||||||
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-DTensile_LOGIC=
|
|
||||||
-DTensile_CPU_THREADS=
|
|
||||||
-DTensile_LIBRARY_FORMAT=msgpack
|
|
||||||
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm"
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
extraCopyDirectories:
|
|
||||||
- deps
|
|
||||||
extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin
|
|
||||||
extraEnvVars:
|
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
|
||||||
- TENSILE_ROCM_ASSEMBLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang
|
|
||||||
- CMAKE_CXX_COMPILER:::/home/user/workspace/rocm/llvm/bin/hipcc
|
|
||||||
- TENSILE_ROCM_OFFLOAD_BUNDLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang-offload-bundler
|
|
||||||
installLatestCMake: true
|
|
||||||
|
|
||||||
- job: hipSPARSELt_testing
|
jobs:
|
||||||
dependsOn: hipSPARSELt
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: hipSPARSELt_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: $(JOB_TEST_POOL)
|
- name: HIP_ROCCLR_HOME
|
||||||
workspace:
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
clean: all
|
- name: TENSILE_ROCM_ASSEMBLER_PATH
|
||||||
strategy:
|
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
||||||
matrix:
|
- name: CMAKE_CXX_COMPILER
|
||||||
gfx942:
|
value: $(Agent.BuildDirectory)/rocm/llvm/bin/hipcc
|
||||||
JOB_GPU_TARGET: gfx942
|
- name: TENSILE_ROCM_OFFLOAD_BUNDLER_PATH
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang-offload-bundler
|
||||||
steps:
|
- name: PATH
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
value: $(Agent.BuildDirectory)/rocm/llvm/bin:$(Agent.BuildDirectory)/rocm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
|
||||||
parameters:
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
workspace:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
clean: all
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
steps:
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
pipModules: ${{ parameters.pipModules }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
componentName: hipSPARSELt
|
parameters:
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
testExecutable: './hipsparselt-test'
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes --gtest_filter=*pre_checkin*'
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
parameters:
|
# Build and install gtest and lapack
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
# $(Pipeline.Workspace)/deps is a temporary folder for the build process
|
||||||
pipModules: ${{ parameters.pipModules }}
|
# $(Pipeline.Workspace)/s/deps is part of the hipSPARSELt repo
|
||||||
environment: test
|
- script: mkdir $(Pipeline.Workspace)/deps
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
displayName: Create temp folder for external dependencies
|
||||||
|
# hipSPARSELt already has a CMake script for external deps, so we can just run that
|
||||||
|
# https://github.com/ROCm/hipSPARSELt/blob/develop/deps/CMakeLists.txt
|
||||||
|
- script: cmake $(Pipeline.Workspace)/s/deps
|
||||||
|
displayName: Configure hipSPARSELt external dependencies
|
||||||
|
workingDirectory: $(Pipeline.Workspace)/deps
|
||||||
|
- script: make
|
||||||
|
displayName: Build hipSPARSELt external dependencies
|
||||||
|
workingDirectory: $(Pipeline.Workspace)/deps
|
||||||
|
- script: sudo make install
|
||||||
|
displayName: Install hipSPARSELt external dependencies
|
||||||
|
workingDirectory: $(Pipeline.Workspace)/deps
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
|
-DCMAKE_Fortran_COMPILER=f95
|
||||||
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
|
-DTensile_LOGIC=
|
||||||
|
-DTensile_CPU_THREADS=
|
||||||
|
-DTensile_LIBRARY_FORMAT=msgpack
|
||||||
|
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm"
|
||||||
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
extraCopyDirectories:
|
||||||
|
- deps
|
||||||
|
extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin
|
||||||
|
extraEnvVars:
|
||||||
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
|
- TENSILE_ROCM_ASSEMBLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang
|
||||||
|
- CMAKE_CXX_COMPILER:::/home/user/workspace/rocm/llvm/bin/hipcc
|
||||||
|
- TENSILE_ROCM_OFFLOAD_BUNDLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang-offload-bundler
|
||||||
|
installLatestCMake: true
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: hipSPARSELt_test_${{ job.target }}
|
||||||
|
dependsOn: hipSPARSELt_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: hipSPARSELt
|
||||||
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
|
testExecutable: './hipsparselt-test'
|
||||||
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes --gtest_filter=*pre_checkin*'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -30,95 +35,103 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: hipTensor
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
target: gfx942
|
||||||
workspace:
|
- gfx90a:
|
||||||
clean: all
|
target: gfx90a
|
||||||
strategy:
|
testJobs:
|
||||||
matrix:
|
- gfx942:
|
||||||
gfx942:
|
target: gfx942
|
||||||
JOB_GPU_TARGET: gfx942
|
- gfx90a:
|
||||||
gfx90a:
|
target: gfx90a
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/llvm
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DHIPTENSOR_BUILD_TESTS=ON
|
|
||||||
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
multithreadFlag: -- -j32
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
|
|
||||||
- job: hipTensor_testing
|
jobs:
|
||||||
timeoutInMinutes: 90
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
dependsOn: hipTensor
|
- job: hipTensor_build_${{ job.target }}
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
pool: $(JOB_TEST_POOL)
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
steps:
|
||||||
strategy:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
matrix:
|
parameters:
|
||||||
gfx942:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
JOB_GPU_TARGET: gfx942
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
gfx90a:
|
parameters:
|
||||||
JOB_GPU_TARGET: gfx90a
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
steps:
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/llvm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
parameters:
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
-DHIPTENSOR_BUILD_TESTS=ON
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: hipTensor
|
gpuTarget: ${{ job.target }}
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin/hiptensor'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
testParameters: '-E ".*-extended" --output-on-failure --force-new-ctest-process --output-junit test_output.xml'
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
environment: test
|
parameters:
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: hipTensor_test_${{ job.target }}
|
||||||
|
timeoutInMinutes: 90
|
||||||
|
dependsOn: hipTensor_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: hipTensor
|
||||||
|
testDir: '$(Agent.BuildDirectory)/rocm/bin/hiptensor'
|
||||||
|
testParameters: '-E ".*-extended" --output-on-failure --force-new-ctest-process --output-junit test_output.xml'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -39,115 +44,123 @@ parameters:
|
|||||||
- rocSPARSE
|
- rocSPARSE
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: hipfort
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
target: gfx942
|
||||||
workspace:
|
- gfx90a:
|
||||||
clean: all
|
target: gfx90a
|
||||||
strategy:
|
testJobs:
|
||||||
matrix:
|
- gfx942:
|
||||||
gfx942:
|
target: gfx942
|
||||||
JOB_GPU_TARGET: gfx942
|
- gfx90a:
|
||||||
gfx90a:
|
target: gfx90a
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/llvm
|
|
||||||
-DHIPFORT_INSTALL_DIR=$(Build.BinariesDirectory)
|
|
||||||
-DHIPFORT_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/flang
|
|
||||||
-DCMAKE_Fortran_FLAGS="-Mfree -fPIC"
|
|
||||||
-DCMAKE_Fortran_FLAGS_DEBUG=""
|
|
||||||
-DHIPFORT_COMPILER_FLAGS="-cpp"
|
|
||||||
-DHIPFORT_AR=$(Agent.BuildDirectory)/rocm/llvm/bin/llvm-ar
|
|
||||||
-DHIPFORT_RANLIB=$(Agent.BuildDirectory)/rocm/llvm/bin/llvm-ranlib
|
|
||||||
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-DBUILD_TESTING=ON
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
installLatestCMake: true
|
|
||||||
|
|
||||||
- job: hipfort_testing
|
jobs:
|
||||||
dependsOn: hipfort
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: hipfort_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: $(JOB_TEST_POOL)
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
strategy:
|
steps:
|
||||||
matrix:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
gfx942:
|
parameters:
|
||||||
JOB_GPU_TARGET: gfx942
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
||||||
gfx90a:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
JOB_GPU_TARGET: gfx90a
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
parameters:
|
||||||
steps:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/llvm
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
-DHIPFORT_INSTALL_DIR=$(Build.BinariesDirectory)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
-DHIPFORT_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/flang
|
||||||
parameters:
|
-DCMAKE_Fortran_FLAGS="-Mfree -fPIC"
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
-DCMAKE_Fortran_FLAGS_DEBUG=""
|
||||||
- task: Bash@3
|
-DHIPFORT_COMPILER_FLAGS="-cpp"
|
||||||
displayName: 'ROCm symbolic link'
|
-DHIPFORT_AR=$(Agent.BuildDirectory)/rocm/llvm/bin/llvm-ar
|
||||||
inputs:
|
-DHIPFORT_RANLIB=$(Agent.BuildDirectory)/rocm/llvm/bin/llvm-ranlib
|
||||||
targetType: inline
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
script: |
|
-DBUILD_TESTING=ON
|
||||||
sudo rm -rf /opt/rocm
|
-GNinja
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
gpuTarget: ${{ job.target }}
|
||||||
- task: Bash@3
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
displayName: 'Test hipfort'
|
parameters:
|
||||||
inputs:
|
gpuTarget: ${{ job.target }}
|
||||||
targetType: inline
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
script: PATH=$(Agent.BuildDirectory)/rocm/bin:$PATH make run_all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
workingDirectory: $(Build.SourcesDirectory)/test
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
installLatestCMake: true
|
||||||
environment: test
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
optSymLink: true
|
- job: hipfort_test_${{ job.target }}
|
||||||
|
dependsOn: hipfort_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: 'ROCm symbolic link'
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
# Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral
|
||||||
|
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: 'Test hipfort'
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: PATH=$(Agent.BuildDirectory)/rocm/bin:$PATH make run_all
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)/test
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
optSymLink: true
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -45,6 +50,7 @@ jobs:
|
|||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
skipLlvmSymlink: true
|
skipLlvmSymlink: true
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: rocm-llvm
|
componentName: rocm-llvm
|
||||||
@@ -77,7 +83,8 @@ jobs:
|
|||||||
-DROCM_LLVM_BACKWARD_COMPAT_LINK=$(Build.BinariesDirectory)/llvm
|
-DROCM_LLVM_BACKWARD_COMPAT_LINK=$(Build.BinariesDirectory)/llvm
|
||||||
-DROCM_LLVM_BACKWARD_COMPAT_LINK_TARGET=./lib/llvm
|
-DROCM_LLVM_BACKWARD_COMPAT_LINK_TARGET=./lib/llvm
|
||||||
-GNinja
|
-GNinja
|
||||||
cmakeBuildDir: 'llvm/build'
|
cmakeBuildDir: '$(Build.SourcesDirectory)/llvm/build'
|
||||||
|
cmakeSourceDir: '$(Build.SourcesDirectory)/llvm'
|
||||||
installDir: '$(Build.BinariesDirectory)/llvm'
|
installDir: '$(Build.BinariesDirectory)/llvm'
|
||||||
# use llvm-lit to run unit tests for llvm, clang, and lld
|
# use llvm-lit to run unit tests for llvm, clang, and lld
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
@@ -115,7 +122,8 @@ jobs:
|
|||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH="$(Build.SourcesDirectory)/llvm/build"
|
-DCMAKE_PREFIX_PATH="$(Build.SourcesDirectory)/llvm/build"
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
cmakeBuildDir: 'amd/device-libs/build'
|
cmakeBuildDir: '$(Build.SourcesDirectory)/amd/device-libs/build'
|
||||||
|
cmakeSourceDir: '$(Build.SourcesDirectory)/amd/device-libs'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: comgr
|
componentName: comgr
|
||||||
@@ -123,7 +131,8 @@ jobs:
|
|||||||
-DCMAKE_PREFIX_PATH="$(Build.SourcesDirectory)/llvm/build;$(Build.SourcesDirectory)/amd/device-libs/build"
|
-DCMAKE_PREFIX_PATH="$(Build.SourcesDirectory)/llvm/build;$(Build.SourcesDirectory)/amd/device-libs/build"
|
||||||
-DCOMGR_DISABLE_SPIRV=1
|
-DCOMGR_DISABLE_SPIRV=1
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
cmakeBuildDir: 'amd/comgr/build'
|
cmakeBuildDir: '$(Build.SourcesDirectory)/amd/comgr/build'
|
||||||
|
cmakeSourceDir: '$(Build.SourcesDirectory)/amd/comgr'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: comgr
|
componentName: comgr
|
||||||
@@ -136,7 +145,8 @@ jobs:
|
|||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DHIPCC_BACKWARD_COMPATIBILITY=OFF
|
-DHIPCC_BACKWARD_COMPATIBILITY=OFF
|
||||||
cmakeBuildDir: 'amd/hipcc/build'
|
cmakeBuildDir: '$(Build.SourcesDirectory)/amd/hipcc/build'
|
||||||
|
cmakeSourceDir: '$(Build.SourcesDirectory)/amd/hipcc'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -49,106 +54,114 @@ parameters:
|
|||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: rccl
|
type: object
|
||||||
timeoutInMinutes: 90
|
default:
|
||||||
variables:
|
buildJobs:
|
||||||
- group: common
|
- gfx942:
|
||||||
- template: /.azuredevops/variables-global.yml
|
target: gfx942
|
||||||
- name: HIP_ROCCLR_HOME
|
- gfx90a:
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
target: gfx90a
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
testJobs:
|
||||||
workspace:
|
- gfx942:
|
||||||
clean: all
|
target: gfx942
|
||||||
strategy:
|
- gfx90a:
|
||||||
matrix:
|
target: gfx90a
|
||||||
gfx942:
|
|
||||||
JOB_GPU_TARGET: gfx942
|
|
||||||
gfx90a:
|
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
submoduleBehaviour: recursive
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
|
||||||
-DHALF_INCLUDE_DIR=$(Agent.BuildDirectory)/rocm/include
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DBUILD_TESTS=ON
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/share/rocm/cmake;$(Agent.BuildDirectory)/rocm/libexec/hipify
|
|
||||||
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
extraEnvVars:
|
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
|
||||||
installLatestCMake: true
|
|
||||||
|
|
||||||
- job: rccl_testing
|
jobs:
|
||||||
timeoutInMinutes: 120
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
dependsOn: rccl
|
- job: rccl_build_${{ job.target }}
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
timeoutInMinutes: 90
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: $(JOB_TEST_POOL)
|
- name: HIP_ROCCLR_HOME
|
||||||
workspace:
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
clean: all
|
pool: ${{ variables.HIGH_BUILD_POOL }}
|
||||||
strategy:
|
workspace:
|
||||||
matrix:
|
clean: all
|
||||||
gfx942:
|
steps:
|
||||||
JOB_GPU_TARGET: gfx942
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
parameters:
|
||||||
gfx90a:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
JOB_GPU_TARGET: gfx90a
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
submoduleBehaviour: recursive
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
parameters:
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
extraBuildFlags: >-
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
-DHALF_INCLUDE_DIR=$(Agent.BuildDirectory)/rocm/include
|
||||||
parameters:
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
componentName: rccl
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
-DBUILD_TESTS=ON
|
||||||
testExecutable: './rccl-UnitTests'
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/share/rocm/cmake;$(Agent.BuildDirectory)/rocm/libexec/hipify
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
-GNinja
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
environment: test
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
extraEnvVars:
|
||||||
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
|
installLatestCMake: true
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: rccl_test_${{ job.target }}
|
||||||
|
timeoutInMinutes: 120
|
||||||
|
dependsOn: rccl_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: rccl
|
||||||
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
|
testExecutable: './rccl-UnitTests'
|
||||||
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -53,128 +58,138 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: rdc
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
target: gfx942
|
||||||
workspace:
|
- gfx90a:
|
||||||
clean: all
|
target: gfx90a
|
||||||
strategy:
|
testJobs:
|
||||||
matrix:
|
- gfx942:
|
||||||
gfx942:
|
target: gfx942
|
||||||
JOB_GPU_TARGET: gfx942
|
- gfx90a:
|
||||||
gfx90a:
|
target: gfx90a
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
# Build grpc
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'git clone grpc'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: git clone -b v1.61.0 https://github.com/grpc/grpc --depth=1 --shallow-submodules --recurse-submodules
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
cmakeBuildDir: $(Build.SourcesDirectory)/grpc/build
|
|
||||||
installDir: $(Build.SourcesDirectory)/bin
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DgRPC_INSTALL=ON
|
|
||||||
-DgRPC_BUILD_TESTS=OFF
|
|
||||||
-DBUILD_SHARED_LIBS=ON
|
|
||||||
-DCMAKE_INSTALL_LIBDIR=lib
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DGRPC_ROOT="$(Build.SourcesDirectory)/bin"
|
|
||||||
-DBUILD_RVS=ON
|
|
||||||
-DBUILD_PROFILER=ON
|
|
||||||
-DBUILD_TESTS=ON
|
|
||||||
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
|
|
||||||
- job: rdc_testing
|
jobs:
|
||||||
dependsOn: rdc
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: rdc_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: $(JOB_TEST_POOL)
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
strategy:
|
steps:
|
||||||
matrix:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
gfx942:
|
parameters:
|
||||||
JOB_GPU_TARGET: gfx942
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
gfx90a:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
JOB_GPU_TARGET: gfx90a
|
parameters:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
parameters:
|
# Build grpc
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- task: Bash@3
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
displayName: 'git clone grpc'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
inputs:
|
||||||
parameters:
|
targetType: inline
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
script: git clone -b v1.67.1 https://github.com/grpc/grpc --depth=1 --shallow-submodules --recurse-submodules
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- task: Bash@3
|
parameters:
|
||||||
displayName: Setup test environment
|
cmakeBuildDir: $(Build.SourcesDirectory)/grpc/build
|
||||||
inputs:
|
cmakeSourceDir: $(Build.SourcesDirectory)/grpc
|
||||||
targetType: inline
|
installDir: $(Build.SourcesDirectory)/bin
|
||||||
script: |
|
extraBuildFlags: >-
|
||||||
sudo rm -rf /opt/rocm
|
-DgRPC_INSTALL=ON
|
||||||
sudo rm -rf /usr/sbin/rdcd
|
-DgRPC_BUILD_TESTS=OFF
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
-DBUILD_SHARED_LIBS=ON
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rdcd /usr/sbin/rdcd
|
-DCMAKE_INSTALL_LIBDIR=lib
|
||||||
echo $(Agent.BuildDirectory)/rocm/lib/rdc/grpc/lib | sudo tee /etc/ld.so.conf.d/grpc.conf
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
sudo ldconfig -v
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
-GNinja
|
||||||
- task: Bash@3
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
displayName: Test rdc
|
parameters:
|
||||||
inputs:
|
extraBuildFlags: >-
|
||||||
targetType: inline
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
script: >-
|
-DGRPC_ROOT="$(Build.SourcesDirectory)/bin"
|
||||||
$(Agent.BuildDirectory)/rocm/share/rdc/rdctst_tests/rdctst
|
-DBUILD_RVS=ON
|
||||||
--batch_mode
|
-DBUILD_PROFILER=ON
|
||||||
--start_rdcd
|
-DBUILD_TESTS=ON
|
||||||
--unauth_comm
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
gpuTarget: ${{ job.target }}
|
||||||
environment: test
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
parameters:
|
||||||
extraPaths: /home/user/workspace/rocm/bin
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: rdc_test_${{ job.target }}
|
||||||
|
dependsOn: rdc_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: ROCM_PATH
|
||||||
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
|
- name: ROCM_DIR
|
||||||
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Setup test environment
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rdcd /usr/sbin/rdcd
|
||||||
|
echo $(Agent.BuildDirectory)/rocm/lib/rdc/grpc/lib | sudo tee /etc/ld.so.conf.d/grpc.conf
|
||||||
|
sudo ldconfig -v
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Test rdc
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: >-
|
||||||
|
$(Agent.BuildDirectory)/rocm/share/rdc/rdctst_tests/rdctst
|
||||||
|
--batch_mode
|
||||||
|
--start_rdcd
|
||||||
|
--unauth_comm
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
extraPaths: /home/user/workspace/rocm/bin
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -61,194 +66,203 @@ parameters:
|
|||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rpp
|
- rpp
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: rocAL
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
pool:
|
target: gfx942
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
- gfx90a:
|
||||||
workspace:
|
target: gfx90a
|
||||||
clean: all
|
testJobs:
|
||||||
strategy:
|
- gfx942:
|
||||||
matrix:
|
target: gfx942
|
||||||
gfx942:
|
- gfx90a:
|
||||||
JOB_GPU_TARGET: gfx942
|
target: gfx90a
|
||||||
gfx90a:
|
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'Register libjpeg-turbo packages'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
sudo mkdir --parents --mode=0755 /etc/apt/keyrings
|
|
||||||
wget -q -O- https://packagecloud.io/dcommander/libjpeg-turbo/gpgkey | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/libjpeg-turbo.gpg > /dev/null
|
|
||||||
echo "deb [signed-by=/etc/apt/trusted.gpg.d/libjpeg-turbo.gpg] https://packagecloud.io/dcommander/libjpeg-turbo/any/ any main" | sudo tee /etc/apt/sources.list.d/libjpeg-turbo.list
|
|
||||||
sudo apt update
|
|
||||||
apt-cache show libjpeg-turbo-official | grep Version
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'Clone PyBind11'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: git clone --depth 1 -b v2.11.1 https://github.com/pybind/pybind11
|
|
||||||
workingDirectory: '$(Build.SourcesDirectory)'
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'Clone RapidJSON'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: git clone --depth 1 https://github.com/Tencent/rapidjson.git
|
|
||||||
workingDirectory: '$(Build.SourcesDirectory)'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
componentName: PyBind11
|
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/pybind11/build'
|
|
||||||
customInstallPath: false
|
|
||||||
installEnabled: false
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DDOWNLOAD_CATCH=ON
|
|
||||||
-DDOWNLOAD_EIGEN=ON
|
|
||||||
-GNinja
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'Install PyBind11'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: sudo cmake --build . --target install
|
|
||||||
workingDirectory: '$(Build.SourcesDirectory)/pybind11/build'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
componentName: RapidJSON
|
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/rapidjson/build'
|
|
||||||
customInstallPath: false
|
|
||||||
installEnabled: false
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-GNinja
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'Install RapidJSON'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: sudo cmake --build . --target install
|
|
||||||
workingDirectory: '$(Build.SourcesDirectory)/rapidjson/build'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;/opt/libjpeg-turbo
|
|
||||||
-DCMAKE_INSTALL_PREFIX_PYTHON=$Python3_STDARCH
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# pipModules: ${{ parameters.pipModules }}
|
|
||||||
# registerJPEGPackages: true
|
|
||||||
# gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
# extraCopyDirectories:
|
|
||||||
# - /opt/libjpeg-turbo
|
|
||||||
|
|
||||||
- job: rocAL_testing
|
jobs:
|
||||||
dependsOn: rocAL
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: rocAL_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
- name: ROCM_PATH
|
pool:
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
- name: CMAKE_INCLUDE_PATH
|
workspace:
|
||||||
value: $(Agent.BuildDirectory)/rocm/include/rocal
|
clean: all
|
||||||
pool:
|
steps:
|
||||||
name: $(JOB_TEST_POOL)
|
- task: Bash@3
|
||||||
demands: firstRenderDeviceAccess
|
displayName: 'Register libjpeg-turbo packages'
|
||||||
workspace:
|
inputs:
|
||||||
clean: all
|
targetType: inline
|
||||||
strategy:
|
script: |
|
||||||
matrix:
|
sudo mkdir --parents --mode=0755 /etc/apt/keyrings
|
||||||
gfx942:
|
wget -q -O- https://packagecloud.io/dcommander/libjpeg-turbo/gpgkey | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/libjpeg-turbo.gpg > /dev/null
|
||||||
JOB_GPU_TARGET: gfx942
|
echo "deb [signed-by=/etc/apt/trusted.gpg.d/libjpeg-turbo.gpg] https://packagecloud.io/dcommander/libjpeg-turbo/any/ any main" | sudo tee /etc/apt/sources.list.d/libjpeg-turbo.list
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
sudo apt update
|
||||||
gfx90a:
|
apt-cache show libjpeg-turbo-official | grep Version
|
||||||
JOB_GPU_TARGET: gfx90a
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
parameters:
|
||||||
steps:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- task: Bash@3
|
pipModules: ${{ parameters.pipModules }}
|
||||||
displayName: 'Register libjpeg-turbo packages'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
inputs:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
targetType: inline
|
parameters:
|
||||||
script: |
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sudo mkdir --parents --mode=0755 /etc/apt/keyrings
|
- task: Bash@3
|
||||||
wget -q -O- https://packagecloud.io/dcommander/libjpeg-turbo/gpgkey | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/libjpeg-turbo.gpg > /dev/null
|
displayName: 'Clone PyBind11'
|
||||||
echo "deb [signed-by=/etc/apt/trusted.gpg.d/libjpeg-turbo.gpg] https://packagecloud.io/dcommander/libjpeg-turbo/any/ any main" | sudo tee /etc/apt/sources.list.d/libjpeg-turbo.list
|
inputs:
|
||||||
sudo apt update
|
targetType: inline
|
||||||
apt-cache show libjpeg-turbo-official | grep Version
|
script: git clone --depth 1 -b v2.11.1 https://github.com/pybind/pybind11
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
workingDirectory: '$(Build.SourcesDirectory)'
|
||||||
parameters:
|
- task: Bash@3
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
displayName: 'Clone RapidJSON'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
inputs:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
targetType: inline
|
||||||
parameters:
|
script: git clone --depth 1 https://github.com/Tencent/rapidjson.git
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
workingDirectory: '$(Build.SourcesDirectory)'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
parameters:
|
||||||
parameters:
|
componentName: PyBind11
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
cmakeBuildDir: '$(Build.SourcesDirectory)/pybind11/build'
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
cmakeSourceDir: '$(Build.SourcesDirectory)/pybind11'
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
customInstallPath: false
|
||||||
- task: Bash@3
|
installEnabled: false
|
||||||
displayName: Link libjpeg-turbo
|
extraBuildFlags: >-
|
||||||
inputs:
|
-DDOWNLOAD_CATCH=ON
|
||||||
targetType: inline
|
-DDOWNLOAD_EIGEN=ON
|
||||||
script: |
|
-GNinja
|
||||||
echo /opt/libjpeg-turbo/lib64 | sudo tee /etc/ld.so.conf.d/libjpeg-turbo.conf
|
- task: Bash@3
|
||||||
sudo ldconfig -v
|
displayName: 'Install PyBind11'
|
||||||
- task: Bash@3
|
inputs:
|
||||||
displayName: Build rocAL tests
|
targetType: inline
|
||||||
inputs:
|
script: sudo cmake --build . --target install
|
||||||
targetType: inline
|
workingDirectory: '$(Build.SourcesDirectory)/pybind11/build'
|
||||||
script: |
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
mkdir rocAL-tests
|
parameters:
|
||||||
cd rocAL-tests
|
componentName: RapidJSON
|
||||||
cmake $(Agent.BuildDirectory)/rocm/share/rocal/test
|
cmakeBuildDir: '$(Build.SourcesDirectory)/rapidjson/build'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
cmakeSourceDir: '$(Build.SourcesDirectory)/rapidjson'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
customInstallPath: false
|
||||||
parameters:
|
installEnabled: false
|
||||||
componentName: rocAL
|
extraBuildFlags: >-
|
||||||
testDir: rocAL-tests
|
-GNinja
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Clean up libjpeg-turbo
|
displayName: 'Install RapidJSON'
|
||||||
condition: always()
|
inputs:
|
||||||
inputs:
|
targetType: inline
|
||||||
targetType: inline
|
script: sudo cmake --build . --target install
|
||||||
script: |
|
workingDirectory: '$(Build.SourcesDirectory)/rapidjson/build'
|
||||||
sudo rm /etc/ld.so.conf.d/libjpeg-turbo.conf
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
sudo ldconfig -v
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
gpuTarget: ${{ job.target }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
registerJPEGPackages: true
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
environment: test
|
parameters:
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
extraBuildFlags: >-
|
||||||
extraCopyDirectories:
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
- /opt/libjpeg-turbo
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;/opt/libjpeg-turbo
|
||||||
# docker image will be missing the ldconfig to libjpeg-turbo
|
-DCMAKE_INSTALL_PREFIX_PYTHON=$Python3_STDARCH
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
# parameters:
|
||||||
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
# pipModules: ${{ parameters.pipModules }}
|
||||||
|
# registerJPEGPackages: true
|
||||||
|
# gpuTarget: ${{ job.target }}
|
||||||
|
# extraCopyDirectories:
|
||||||
|
# - /opt/libjpeg-turbo
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: rocAL_test_${{ job.target }}
|
||||||
|
dependsOn: rocAL_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: ROCM_PATH
|
||||||
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
|
- name: CMAKE_INCLUDE_PATH
|
||||||
|
value: $(Agent.BuildDirectory)/rocm/include/rocal
|
||||||
|
pool:
|
||||||
|
name: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: 'Register libjpeg-turbo packages'
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
sudo mkdir --parents --mode=0755 /etc/apt/keyrings
|
||||||
|
wget -q -O- https://packagecloud.io/dcommander/libjpeg-turbo/gpgkey | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/libjpeg-turbo.gpg > /dev/null
|
||||||
|
echo "deb [signed-by=/etc/apt/trusted.gpg.d/libjpeg-turbo.gpg] https://packagecloud.io/dcommander/libjpeg-turbo/any/ any main" | sudo tee /etc/apt/sources.list.d/libjpeg-turbo.list
|
||||||
|
sudo apt update
|
||||||
|
apt-cache show libjpeg-turbo-official | grep Version
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Link libjpeg-turbo
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
echo /opt/libjpeg-turbo/lib64 | sudo tee /etc/ld.so.conf.d/libjpeg-turbo.conf
|
||||||
|
sudo ldconfig -v
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Build rocAL tests
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
mkdir rocAL-tests
|
||||||
|
cd rocAL-tests
|
||||||
|
cmake $(Agent.BuildDirectory)/rocm/share/rocal/test
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: rocAL
|
||||||
|
testDir: rocAL-tests
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Clean up libjpeg-turbo
|
||||||
|
condition: always()
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
sudo rm /etc/ld.so.conf.d/libjpeg-turbo.conf
|
||||||
|
sudo ldconfig -v
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
registerJPEGPackages: true
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
extraCopyDirectories:
|
||||||
|
- /opt/libjpeg-turbo
|
||||||
|
# docker image will be missing the ldconfig to libjpeg-turbo
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -46,102 +51,110 @@ parameters:
|
|||||||
- rocSPARSE
|
- rocSPARSE
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: rocALUTION
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
- name: HIP_ROCCLR_HOME
|
target: gfx942
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
- gfx90a:
|
||||||
pool:
|
target: gfx90a
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
testJobs:
|
||||||
workspace:
|
- gfx942:
|
||||||
clean: all
|
target: gfx942
|
||||||
strategy:
|
- gfx90a:
|
||||||
matrix:
|
target: gfx90a
|
||||||
gfx942:
|
|
||||||
JOB_GPU_TARGET: gfx942
|
|
||||||
gfx90a:
|
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/share/rocm/cmake/
|
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
|
||||||
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
|
||||||
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
|
||||||
-DBUILD_CLIENTS_SAMPLES=OFF
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
# extraEnvVars:
|
|
||||||
# - HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
|
||||||
|
|
||||||
- job: rocALUTION_testing
|
jobs:
|
||||||
dependsOn: rocALUTION
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: rocALUTION_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: $(JOB_TEST_POOL)
|
- name: HIP_ROCCLR_HOME
|
||||||
workspace:
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
clean: all
|
pool:
|
||||||
strategy:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
matrix:
|
workspace:
|
||||||
gfx942:
|
clean: all
|
||||||
JOB_GPU_TARGET: gfx942
|
steps:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
gfx90a:
|
parameters:
|
||||||
JOB_GPU_TARGET: gfx90a
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
extraBuildFlags: >-
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/share/rocm/cmake/
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
parameters:
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
componentName: rocALUTION
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
||||||
testExecutable: './rocalution-test'
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
gpuTarget: ${{ job.target }}
|
||||||
environment: test
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
# parameters:
|
||||||
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
# gpuTarget: ${{ job.target }}
|
||||||
|
# extraEnvVars:
|
||||||
|
# - HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: rocALUTION_test_${{ job.target }}
|
||||||
|
dependsOn: rocALUTION_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: rocALUTION
|
||||||
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
|
testExecutable: './rocalution-test'
|
||||||
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -55,123 +60,131 @@ parameters:
|
|||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: rocBLAS
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
- name: HIP_ROCCLR_HOME
|
target: gfx942
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
- gfx90a:
|
||||||
- name: TENSILE_ROCM_ASSEMBLER_PATH
|
target: gfx90a
|
||||||
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
testJobs:
|
||||||
- name: TENSILE_ROCM_OFFLOAD_BUNDLER_PATH
|
- gfx942:
|
||||||
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang-offload-bundler
|
target: gfx942
|
||||||
- name: ROCM_PATH
|
- gfx90a:
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
target: gfx90a
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
gfx942:
|
|
||||||
JOB_GPU_TARGET: gfx942
|
|
||||||
gfx90a:
|
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aocl.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_TOOLCHAIN_FILE=toolchain-linux.cmake
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang++
|
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang
|
|
||||||
-DGPU_TARGETS=$(JOB_GPU_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_BENCHMARKS=OFF
|
|
||||||
-DBUILD_CLIENTS_SAMPLES=OFF
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
installAOCL: true
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
extraEnvVars:
|
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
|
||||||
- TENSILE_ROCM_ASSEMBLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang
|
|
||||||
- TENSILE_ROCM_OFFLOAD_BUNDLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang-offload-bundler
|
|
||||||
- ROCM_PATH:::/home/user/workspace/rocm
|
|
||||||
|
|
||||||
- job: rocBLAS_testing
|
jobs:
|
||||||
dependsOn: rocBLAS
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: rocBLAS_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: $(JOB_TEST_POOL)
|
- name: HIP_ROCCLR_HOME
|
||||||
workspace:
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
clean: all
|
- name: TENSILE_ROCM_ASSEMBLER_PATH
|
||||||
strategy:
|
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
||||||
matrix:
|
- name: TENSILE_ROCM_OFFLOAD_BUNDLER_PATH
|
||||||
gfx942:
|
value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang-offload-bundler
|
||||||
JOB_GPU_TARGET: gfx942
|
- name: ROCM_PATH
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
gfx90a:
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
JOB_GPU_TARGET: gfx90a
|
workspace:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.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:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: rocBLAS
|
extraBuildFlags: >-
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
-DCMAKE_TOOLCHAIN_FILE=toolchain-linux.cmake
|
||||||
testExecutable: './rocblas-test'
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm
|
||||||
testParameters: '--yaml rocblas_smoke.yaml --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang++
|
||||||
parameters:
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
-DTensile_CODE_OBJECT_VERSION=default
|
||||||
environment: test
|
-DTensile_LOGIC=asm_full
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
-DTensile_SEPARATE_ARCHITECTURES=ON
|
||||||
|
-DTensile_LAZY_LIBRARY_LOADING=ON
|
||||||
|
-DTensile_LIBRARY_FORMAT=msgpack
|
||||||
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
|
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
||||||
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
installAOCL: true
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
extraEnvVars:
|
||||||
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
|
- TENSILE_ROCM_ASSEMBLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang
|
||||||
|
- TENSILE_ROCM_OFFLOAD_BUNDLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang-offload-bundler
|
||||||
|
- ROCM_PATH:::/home/user/workspace/rocm
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: rocBLAS_test_${{ job.target }}
|
||||||
|
dependsOn: rocBLAS_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: rocBLAS
|
||||||
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
|
testExecutable: './rocblas-test'
|
||||||
|
testParameters: '--yaml rocblas_smoke.yaml --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -40,11 +45,22 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
testJobs:
|
||||||
|
- gfx942:
|
||||||
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- job: rocDecode
|
- job: rocDecode_build
|
||||||
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:
|
||||||
@@ -62,11 +78,10 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
@@ -77,56 +92,53 @@ jobs:
|
|||||||
# aptPackages: ${{ parameters.aptPackages }}
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
# registerROCmPackages: true
|
# registerROCmPackages: true
|
||||||
|
|
||||||
- job: rocDecode_testing
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
dependsOn: rocDecode
|
- job: rocDecode_test_${{ job.target }}
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
dependsOn: rocDecode_build
|
||||||
variables:
|
condition:
|
||||||
- group: common
|
and(succeeded(),
|
||||||
- template: /.azuredevops/variables-global.yml
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
pool:
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
name: $(JOB_TEST_POOL)
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
demands: firstRenderDeviceAccess
|
)
|
||||||
workspace:
|
variables:
|
||||||
clean: all
|
- group: common
|
||||||
strategy:
|
- template: /.azuredevops/variables-global.yml
|
||||||
matrix:
|
- name: ROCM_PATH
|
||||||
gfx942:
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
JOB_GPU_TARGET: gfx942
|
pool:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
name: ${{ job.target }}_test_pool
|
||||||
gfx90a:
|
workspace:
|
||||||
JOB_GPU_TARGET: gfx90a
|
clean: all
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
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 }}
|
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
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- task: Bash@3
|
||||||
# anything in /opt may be persistent across runs
|
displayName: Build rocDecode tests
|
||||||
# so we need to remove the symlink if it already exists
|
inputs:
|
||||||
- script: |
|
targetType: inline
|
||||||
sudo rm -rf /opt/rocm
|
script: |
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
mkdir rocDecode-tests
|
||||||
mkdir rocDecode-tests
|
cd rocDecode-tests
|
||||||
cd rocDecode-tests
|
cmake $(Agent.BuildDirectory)/rocm/share/rocdecode/test
|
||||||
cmake /opt/rocm/share/rocdecode/test
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
parameters:
|
||||||
parameters:
|
componentName: rocDecode
|
||||||
componentName: rocDecode
|
testDir: 'rocDecode-tests'
|
||||||
testDir: 'rocDecode-tests'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
- script: sudo rm /opt/rocm
|
parameters:
|
||||||
condition: always()
|
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_GPU_TARGET)
|
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -41,103 +46,111 @@ parameters:
|
|||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocRAND
|
- rocRAND
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: rocFFT
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
- name: HIP_ROCCLR_HOME
|
target: gfx942
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
- gfx90a:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
target: gfx90a
|
||||||
workspace:
|
testJobs:
|
||||||
clean: all
|
- gfx942:
|
||||||
strategy:
|
target: gfx942
|
||||||
matrix:
|
- gfx90a:
|
||||||
gfx942:
|
target: gfx90a
|
||||||
JOB_GPU_TARGET: gfx942
|
|
||||||
gfx90a:
|
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-DUSE_HIP_CLANG=ON
|
|
||||||
-DHIP_COMPILER=clang
|
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
|
||||||
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
|
||||||
-DBUILD_CLIENTS_SAMPLES=OFF
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
extraEnvVars:
|
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
|
||||||
|
|
||||||
- job: rocFFT_testing
|
jobs:
|
||||||
dependsOn: rocFFT
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: rocFFT_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: $(JOB_TEST_POOL)
|
- name: HIP_ROCCLR_HOME
|
||||||
workspace:
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
clean: all
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
strategy:
|
workspace:
|
||||||
matrix:
|
clean: all
|
||||||
gfx942:
|
steps:
|
||||||
JOB_GPU_TARGET: gfx942
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
parameters:
|
||||||
gfx90a:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
JOB_GPU_TARGET: gfx90a
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
steps:
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
parameters:
|
||||||
parameters:
|
extraBuildFlags: >-
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
parameters:
|
-DUSE_HIP_CLANG=ON
|
||||||
componentName: rocFFT
|
-DHIP_COMPILER=clang
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
testExecutable: './rocfft-test'
|
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
||||||
testParameters: '--test_prob 0.004 --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
-GNinja
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
environment: test
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
extraEnvVars:
|
||||||
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: rocFFT_test_${{ job.target }}
|
||||||
|
dependsOn: rocFFT_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: rocFFT
|
||||||
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
|
testExecutable: './rocfft-test'
|
||||||
|
testParameters: '--test_prob 0.004 --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -35,103 +40,113 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: rocJPEG
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
pool:
|
target: gfx942
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
- gfx90a:
|
||||||
workspace:
|
target: gfx90a
|
||||||
clean: all
|
testJobs:
|
||||||
strategy:
|
- gfx942:
|
||||||
matrix:
|
target: gfx942
|
||||||
gfx942:
|
- gfx90a:
|
||||||
JOB_GPU_TARGET: gfx942
|
target: gfx90a
|
||||||
gfx90a:
|
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
registerROCmPackages: true
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
# registerROCmPackages: true
|
|
||||||
|
|
||||||
- job: rocJPEG_testing
|
jobs:
|
||||||
dependsOn: rocJPEG
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: rocJPEG_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool:
|
- name: ROCM_PATH
|
||||||
name: $(JOB_TEST_POOL)
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
demands: firstRenderDeviceAccess
|
pool:
|
||||||
workspace:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
clean: all
|
workspace:
|
||||||
strategy:
|
clean: all
|
||||||
matrix:
|
steps:
|
||||||
gfx942:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
JOB_GPU_TARGET: gfx942
|
parameters:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
gfx90a:
|
registerROCmPackages: true
|
||||||
JOB_GPU_TARGET: gfx90a
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
steps:
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
registerROCmPackages: true
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
extraBuildFlags: >-
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
# anything in /opt may be persistent across runs
|
-GNinja
|
||||||
# so we need to remove the symlink if it already exists
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- script: |
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
sudo rm -rf /opt/rocm
|
parameters:
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
gpuTarget: ${{ job.target }}
|
||||||
mkdir rocJPEG-tests
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
cd rocJPEG-tests
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
cmake $(Agent.BuildDirectory)/rocm/share/rocjpeg/test
|
# parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
# gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
# registerROCmPackages: true
|
||||||
componentName: rocJPEG
|
|
||||||
testDir: 'rocJPEG-tests'
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- script: sudo rm /opt/rocm
|
- job: rocJPEG_test_${{ job.target }}
|
||||||
condition: always()
|
dependsOn: rocJPEG_build_${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
condition:
|
||||||
parameters:
|
and(succeeded(),
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
environment: test
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
registerROCmPackages: true
|
)
|
||||||
optSymLink: true
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: ROCM_PATH
|
||||||
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
|
pool:
|
||||||
|
name: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
registerROCmPackages: true
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Build rocJPEG tests
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
mkdir rocJPEG-tests
|
||||||
|
cd rocJPEG-tests
|
||||||
|
cmake $(Agent.BuildDirectory)/rocm/share/rocjpeg/test
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: rocJPEG
|
||||||
|
testDir: 'rocJPEG-tests'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
registerROCmPackages: true
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -32,8 +37,17 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
testJobs:
|
||||||
|
- gfx942:
|
||||||
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- job: rocMLIR
|
- job: rocMLIR_build
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -53,6 +67,7 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
@@ -71,68 +86,69 @@ jobs:
|
|||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
|
||||||
# compiling and running test on the test system together
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- job: rocMLIR_testing
|
# compiling and running test on the test system together
|
||||||
dependsOn: rocMLIR
|
- job: rocMLIR_test_${{ job.target }}
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
dependsOn: rocMLIR_build
|
||||||
variables:
|
condition:
|
||||||
- group: common
|
and(succeeded(),
|
||||||
- template: /.azuredevops/variables-global.yml
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
pool: $(JOB_TEST_POOL)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
workspace:
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
clean: all
|
)
|
||||||
strategy:
|
variables:
|
||||||
matrix:
|
- group: common
|
||||||
gfx942:
|
- template: /.azuredevops/variables-global.yml
|
||||||
JOB_GPU_TARGET: gfx942
|
pool: ${{ job.target }}_test_pool
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
workspace:
|
||||||
gfx90a:
|
clean: all
|
||||||
JOB_GPU_TARGET: gfx90a
|
steps:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
steps:
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
pipModules: ${{ parameters.pipModules }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
gpuTarget: ${{ job.target }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- task: Bash@3
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
displayName: Symlink rocm_agent_enumerator
|
||||||
- task: Bash@3
|
inputs:
|
||||||
displayName: ROCm symbolic link
|
targetType: inline
|
||||||
inputs:
|
script: |
|
||||||
targetType: inline
|
# Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral
|
||||||
script: |
|
sudo mkdir -p /opt/rocm/bin
|
||||||
sudo rm -rf /opt/rocm
|
sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rocm_agent_enumerator /opt/rocm/bin/rocm_agent_enumerator
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
parameters:
|
||||||
parameters:
|
installEnabled: false
|
||||||
installEnabled: false
|
extraBuildFlags: >-
|
||||||
extraBuildFlags: >-
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/lib
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_INCLUDE_PATH=$(Agent.BuildDirectory)/rocm/lib
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
-DROCM_TEST_CHIPSET=$(JOB_GPU_TARGET)
|
-DROCM_TEST_CHIPSET=${{ job.target }}
|
||||||
-GNinja
|
-GNinja
|
||||||
- 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: rocMLIR
|
componentName: rocMLIR
|
||||||
testDir: $(Build.SourcesDirectory)/build
|
testDir: $(Build.SourcesDirectory)/build
|
||||||
testExecutable: ninja
|
testExecutable: ninja
|
||||||
testParameters: check-rocmlir
|
testParameters: check-rocmlir
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
testPublishResults: false
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
pipModules: ${{ parameters.pipModules }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
environment: test
|
pipModules: ${{ parameters.pipModules }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -5,6 +5,17 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
- name: sparseCheckout
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -30,92 +41,102 @@ parameters:
|
|||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: rocPRIM
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
target: gfx942
|
||||||
workspace:
|
- gfx90a:
|
||||||
clean: all
|
target: gfx90a
|
||||||
strategy:
|
testJobs:
|
||||||
matrix:
|
- gfx942:
|
||||||
gfx942:
|
target: gfx942
|
||||||
JOB_GPU_TARGET: gfx942
|
- gfx90a:
|
||||||
gfx90a:
|
target: gfx90a
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DBUILD_BENCHMARK=ON
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-DBUILD_TEST=ON
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
|
|
||||||
- job: rocPRIM_testing
|
jobs:
|
||||||
dependsOn: rocPRIM
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: rocPRIM_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: $(JOB_TEST_POOL)
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
strategy:
|
steps:
|
||||||
matrix:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
gfx942:
|
parameters:
|
||||||
JOB_GPU_TARGET: gfx942
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
gfx90a:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
JOB_GPU_TARGET: gfx90a
|
parameters:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
steps:
|
sparseCheckout: ${{ parameters.sparseCheckout }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
parameters:
|
||||||
parameters:
|
extraBuildFlags: >-
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
-DBUILD_BENCHMARK=ON
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
-DBUILD_TEST=ON
|
||||||
parameters:
|
-GNinja
|
||||||
componentName: rocPRIM
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin/rocprim'
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
environment: test
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: rocPRIM_test_${{ job.target }}
|
||||||
|
dependsOn: rocPRIM_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: rocPRIM
|
||||||
|
testDir: '$(Agent.BuildDirectory)/rocm/bin/rocprim'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -37,211 +42,209 @@ parameters:
|
|||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: rocPyDecode
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
pool:
|
target: gfx942
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
- gfx90a:
|
||||||
workspace:
|
target: gfx90a
|
||||||
clean: all
|
testJobs:
|
||||||
strategy:
|
- gfx942:
|
||||||
matrix:
|
target: gfx942
|
||||||
gfx942:
|
- gfx90a:
|
||||||
JOB_GPU_TARGET: gfx942
|
target: gfx90a
|
||||||
gfx90a:
|
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'ROCm symbolic link'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
sudo rm -rf /opt/rocm
|
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'Save Python Package Paths'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
echo "##vso[task.setvariable variable=PYTHON_USER_SITE;]$(python3 -m site --user-site)"
|
|
||||||
echo "##vso[task.setvariable variable=PYTHON_DIST_PACKAGES;]$(python3 -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])')"
|
|
||||||
echo "##vso[task.setvariable variable=PYBIND11_PATH;]$(python3 -c 'import pybind11; print(pybind11.get_cmake_dir())')"
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
installEnabled: false
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(PYTHON_USER_SITE)/pybind11;$(PYTHON_DIST_PACKAGES)/pybind11;$(PYBIND11_PATH)
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-DCMAKE_INSTALL_PREFIX_PYTHON=$(Build.BinariesDirectory)
|
|
||||||
-GNinja
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'rocPyDecode install'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
sudo cmake --build . --target install
|
|
||||||
sudo chown -R $(whoami):$(id -gn) $(Build.BinariesDirectory)
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)/build
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
publish: false
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Create wheel file
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
export ROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
export HIP_INCLUDE_DIRS=$(Agent.BuildDirectory)/rocm/include/hip
|
|
||||||
sudo python3 setup.py bdist_wheel
|
|
||||||
sudo chown -R $(whoami):$(id -gn) $(find . -name "*.whl")
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
|
||||||
parameters:
|
|
||||||
sourceDir: $(Build.SourcesDirectory)/dist
|
|
||||||
contentsString: '*.whl'
|
|
||||||
targetDir: $(Build.ArtifactStagingDirectory)
|
|
||||||
clean: false
|
|
||||||
- task: PublishPipelineArtifact@1
|
|
||||||
displayName: 'wheel file Publish'
|
|
||||||
retryCountOnTaskFailure: 3
|
|
||||||
inputs:
|
|
||||||
targetPath: $(Build.ArtifactStagingDirectory)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Save pipeline artifact file names
|
|
||||||
inputs:
|
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
whlFile=$(find "$(Build.ArtifactStagingDirectory)" -type f -name "*.whl" | head -n 1)
|
|
||||||
if [ -n "$whlFile" ]; then
|
|
||||||
echo $(basename "$whlFile") >> pipelineArtifacts.txt
|
|
||||||
fi
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# pipModules: ${{ parameters.pipModules }}
|
|
||||||
# gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
# optSymLink: true
|
|
||||||
|
|
||||||
- job: rocPyDecode_testing
|
jobs:
|
||||||
dependsOn: rocPyDecode
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: rocPyDecode_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool:
|
- name: ROCM_PATH
|
||||||
name: $(JOB_TEST_POOL)
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
demands: firstRenderDeviceAccess
|
pool:
|
||||||
workspace:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
clean: all
|
workspace:
|
||||||
strategy:
|
clean: all
|
||||||
matrix:
|
steps:
|
||||||
gfx942:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
JOB_GPU_TARGET: gfx942
|
parameters:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
gfx90a:
|
pipModules: ${{ parameters.pipModules }}
|
||||||
JOB_GPU_TARGET: gfx90a
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
steps:
|
parameters:
|
||||||
- task: Bash@3
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
displayName: Ensure pybind11-dev is not installed
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
inputs:
|
parameters:
|
||||||
targetType: inline
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
script: |
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
if dpkg -l | grep -q pybind11-dev; then
|
gpuTarget: ${{ job.target }}
|
||||||
echo "Removing pybind11-dev..."
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
sudo apt remove -y pybind11-dev
|
- task: Bash@3
|
||||||
else
|
displayName: 'Save Python Package Paths'
|
||||||
echo "pybind11-dev is not installed."
|
inputs:
|
||||||
fi
|
targetType: inline
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
script: |
|
||||||
parameters:
|
echo "##vso[task.setvariable variable=PYTHON_USER_SITE;]$(python3 -m site --user-site)"
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
echo "##vso[task.setvariable variable=PYTHON_DIST_PACKAGES;]$(python3 -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])')"
|
||||||
pipModules: ${{ parameters.pipModules }}
|
echo "##vso[task.setvariable variable=PYBIND11_PATH;]$(python3 -c 'import pybind11; print(pybind11.get_cmake_dir())')"
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- task: DownloadPipelineArtifact@2
|
parameters:
|
||||||
displayName: 'Download Pipeline Wheel Files'
|
installEnabled: false
|
||||||
inputs:
|
extraBuildFlags: >-
|
||||||
itemPattern: '**/*.whl'
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(PYTHON_USER_SITE)/pybind11;$(PYTHON_DIST_PACKAGES)/pybind11;$(PYBIND11_PATH)
|
||||||
targetPath: $(Agent.BuildDirectory)
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
parameters:
|
-DCMAKE_INSTALL_PREFIX_PYTHON=$(Build.BinariesDirectory)
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- task: Bash@3
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
displayName: 'rocPyDecode install'
|
||||||
parameters:
|
inputs:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
targetType: inline
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
script: |
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
sudo cmake --build . --target install
|
||||||
setupHIPLibrarySymlinks: true
|
sudo chown -R $(whoami):$(id -gn) $(Build.BinariesDirectory)
|
||||||
- task: Bash@3
|
workingDirectory: $(Build.SourcesDirectory)/build
|
||||||
displayName: pip install
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
inputs:
|
parameters:
|
||||||
targetType: inline
|
gpuTarget: ${{ job.target }}
|
||||||
script: |
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
pip uninstall -y rocPyDecode
|
parameters:
|
||||||
find -name *.whl -exec pip install {} \;
|
gpuTarget: ${{ job.target }}
|
||||||
workingDirectory: $(Agent.BuildDirectory)
|
publish: false
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Setup search paths
|
displayName: Create wheel file
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
sudo rm -rf /opt/rocm
|
export HIP_INCLUDE_DIRS=$(Agent.BuildDirectory)/rocm/include/hip
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
sudo python3 setup.py bdist_wheel
|
||||||
echo "##vso[task.setvariable variable=PYTHON_USER_SITE;]$(python3 -m site --user-site)"
|
sudo chown -R $(whoami):$(id -gn) $(find . -name "*.whl")
|
||||||
echo "##vso[task.setvariable variable=PYTHON_DIST_PACKAGES;]$(python3 -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])')"
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
echo "##vso[task.setvariable variable=PYBIND11_PATH;]$(python3 -c 'import pybind11; print(pybind11.get_cmake_dir())')"
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
||||||
- task: CMake@1
|
parameters:
|
||||||
displayName: 'rocPyDecode Test CMake Flags'
|
sourceDir: $(Build.SourcesDirectory)/dist
|
||||||
inputs:
|
contentsString: '*.whl'
|
||||||
cmakeArgs: >-
|
targetDir: $(Build.ArtifactStagingDirectory)
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
clean: false
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(PYTHON_USER_SITE)/pybind11;$(PYTHON_DIST_PACKAGES)/pybind11;$(PYBIND11_PATH)
|
- task: PublishPipelineArtifact@1
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
displayName: 'wheel file Publish'
|
||||||
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
retryCountOnTaskFailure: 3
|
||||||
..
|
inputs:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
targetPath: $(Build.ArtifactStagingDirectory)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- task: Bash@3
|
||||||
parameters:
|
displayName: Save pipeline artifact file names
|
||||||
componentName: rocPyDecode
|
inputs:
|
||||||
testDir: $(Build.SourcesDirectory)/build
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
# sudo required for pip install but screws up permissions for next pipeline run
|
targetType: inline
|
||||||
- task: Bash@3
|
script: |
|
||||||
displayName: Clean up test environment
|
whlFile=$(find "$(Build.ArtifactStagingDirectory)" -type f -name "*.whl" | head -n 1)
|
||||||
condition: always()
|
if [ -n "$whlFile" ]; then
|
||||||
inputs:
|
echo $(basename "$whlFile") >> pipelineArtifacts.txt
|
||||||
targetType: inline
|
fi
|
||||||
script: |
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
pip uninstall -y rocPyDecode
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
pip uninstall -y hip-python
|
# parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
# pipModules: ${{ parameters.pipModules }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
# gpuTarget: ${{ job.target }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- job: rocPyDecode_test_${{ job.target }}
|
||||||
pythonEnvVars: true
|
dependsOn: rocPyDecode_build_${{ job.target }}
|
||||||
# note that this docker won't have hip-python installed via pip
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: ROCM_PATH
|
||||||
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
|
pool:
|
||||||
|
name: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Ensure pybind11-dev is not installed
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
if dpkg -l | grep -q pybind11-dev; then
|
||||||
|
echo "Removing pybind11-dev..."
|
||||||
|
sudo apt remove -y pybind11-dev
|
||||||
|
else
|
||||||
|
echo "pybind11-dev is not installed."
|
||||||
|
fi
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- task: DownloadPipelineArtifact@2
|
||||||
|
displayName: 'Download Pipeline Wheel Files'
|
||||||
|
inputs:
|
||||||
|
itemPattern: '**/*.whl'
|
||||||
|
targetPath: $(Agent.BuildDirectory)
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
setupHIPLibrarySymlinks: true
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: pip install
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
pip uninstall -y rocPyDecode
|
||||||
|
find -name *.whl -exec pip install {} \;
|
||||||
|
workingDirectory: $(Agent.BuildDirectory)
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Setup search paths
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
echo "##vso[task.setvariable variable=PYTHON_USER_SITE;]$(python3 -m site --user-site)"
|
||||||
|
echo "##vso[task.setvariable variable=PYTHON_DIST_PACKAGES;]$(python3 -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])')"
|
||||||
|
echo "##vso[task.setvariable variable=PYBIND11_PATH;]$(python3 -c 'import pybind11; print(pybind11.get_cmake_dir())')"
|
||||||
|
- task: CMake@1
|
||||||
|
displayName: 'rocPyDecode Test CMake Flags'
|
||||||
|
inputs:
|
||||||
|
cmakeArgs: >-
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(PYTHON_USER_SITE)/pybind11;$(PYTHON_DIST_PACKAGES)/pybind11;$(PYBIND11_PATH)
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
|
..
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: rocPyDecode
|
||||||
|
testDir: $(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
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
pythonEnvVars: true
|
||||||
|
# note that this docker won't have hip-python installed via pip
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -31,96 +36,104 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: rocRAND
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
- name: HIP_ROCCLR_HOME
|
target: gfx942
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
- gfx90a:
|
||||||
pool:
|
target: gfx90a
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
testJobs:
|
||||||
workspace:
|
- gfx942:
|
||||||
clean: all
|
target: gfx942
|
||||||
strategy:
|
- gfx90a:
|
||||||
matrix:
|
target: gfx90a
|
||||||
gfx942:
|
|
||||||
JOB_GPU_TARGET: gfx942
|
|
||||||
gfx90a:
|
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DBUILD_TEST=ON
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
# extraEnvVars:
|
|
||||||
# - HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
|
||||||
|
|
||||||
- job: rocRAND_testing
|
jobs:
|
||||||
dependsOn: rocRAND
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: rocRAND_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: $(JOB_TEST_POOL)
|
- name: HIP_ROCCLR_HOME
|
||||||
workspace:
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
clean: all
|
pool:
|
||||||
strategy:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
matrix:
|
workspace:
|
||||||
gfx942:
|
clean: all
|
||||||
JOB_GPU_TARGET: gfx942
|
steps:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
gfx90a:
|
parameters:
|
||||||
JOB_GPU_TARGET: gfx90a
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
extraBuildFlags: >-
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
-DBUILD_TEST=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
parameters:
|
-GNinja
|
||||||
componentName: rocRAND
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin/rocRAND'
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
environment: test
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
# parameters:
|
||||||
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
# gpuTarget: ${{ job.target }}
|
||||||
|
# extraEnvVars:
|
||||||
|
# - HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: rocRAND_test_${{ job.target }}
|
||||||
|
dependsOn: rocRAND_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: rocRAND
|
||||||
|
testDir: '$(Agent.BuildDirectory)/rocm/bin/rocRAND'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -46,116 +51,125 @@ parameters:
|
|||||||
- rocSPARSE
|
- rocSPARSE
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: rocSOLVER
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
target: gfx942
|
||||||
workspace:
|
- gfx90a:
|
||||||
clean: all
|
target: gfx90a
|
||||||
strategy:
|
testJobs:
|
||||||
matrix:
|
- gfx942:
|
||||||
gfx942:
|
target: gfx942
|
||||||
JOB_GPU_TARGET: gfx942
|
- gfx90a:
|
||||||
gfx90a:
|
target: gfx90a
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
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 }}
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'Clone lapack'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: git clone --depth 1 --branch v3.9.1 https://github.com/Reference-LAPACK/lapack
|
|
||||||
workingDirectory: '$(Build.SourcesDirectory)'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
componentName: lapack
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DCMAKE_Fortran_FLAGS=-fno-optimize-sibling-calls
|
|
||||||
-DBUILD_TESTING=OFF
|
|
||||||
-DCBLAS=ON
|
|
||||||
-DLAPACKE=OFF
|
|
||||||
-GNinja
|
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/lapack/build'
|
|
||||||
installDir: '$(Pipeline.Workspace)/deps-install'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Pipeline.Workspace)/deps-install
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
|
||||||
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
|
||||||
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
|
||||||
-DBUILD_CLIENTS_SAMPLES=OFF
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
extraCopyDirectories:
|
|
||||||
- deps-install
|
|
||||||
|
|
||||||
- job: rocSOLVER_testing
|
jobs:
|
||||||
dependsOn: rocSOLVER
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: rocSOLVER_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: $(JOB_TEST_POOL)
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
strategy:
|
steps:
|
||||||
matrix:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
gfx942:
|
parameters:
|
||||||
JOB_GPU_TARGET: gfx942
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
gfx90a:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
JOB_GPU_TARGET: gfx90a
|
parameters:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
steps:
|
- task: Bash@3
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
displayName: 'Clone lapack'
|
||||||
parameters:
|
inputs:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
targetType: inline
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
script: git clone --depth 1 --branch v3.9.1 https://github.com/Reference-LAPACK/lapack
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
workingDirectory: '$(Build.SourcesDirectory)'
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
gpuTarget: $(JOB_GPU_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.rocmDependencies }}
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
componentName: lapack
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
componentName: rocSOLVER
|
-DCMAKE_Fortran_FLAGS=-fno-optimize-sibling-calls
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
-DBUILD_TESTING=OFF
|
||||||
testExecutable: './rocsolver-test'
|
-DCBLAS=ON
|
||||||
testParameters: '--gtest_filter="*checkin*" --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
-DLAPACKE=OFF
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
-GNinja
|
||||||
parameters:
|
cmakeBuildDir: '$(Build.SourcesDirectory)/lapack/build'
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
cmakeSourceDir: '$(Build.SourcesDirectory)/lapack'
|
||||||
environment: test
|
installDir: '$(Pipeline.Workspace)/deps-install'
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Pipeline.Workspace)/deps-install
|
||||||
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
|
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
||||||
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
extraCopyDirectories:
|
||||||
|
- deps-install
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: rocSOLVER_test_${{ job.target }}
|
||||||
|
dependsOn: rocSOLVER_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: rocSOLVER
|
||||||
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
|
testExecutable: './rocsolver-test'
|
||||||
|
testParameters: '--gtest_filter="*checkin*" --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -29,6 +34,7 @@ parameters:
|
|||||||
- rocminfo
|
- rocminfo
|
||||||
- rocPRIM
|
- rocPRIM
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
|
- roctracer
|
||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -42,115 +48,123 @@ parameters:
|
|||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: rocSPARSE
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
- name: HIP_ROCCLR_HOME
|
target: gfx942
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
- gfx90a:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
target: gfx90a
|
||||||
workspace:
|
testJobs:
|
||||||
clean: all
|
- gfx942:
|
||||||
strategy:
|
target: gfx942
|
||||||
matrix:
|
- gfx90a:
|
||||||
gfx942:
|
target: gfx90a
|
||||||
JOB_GPU_TARGET: gfx942
|
|
||||||
gfx90a:
|
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-DBUILD_CLIENTS_SAMPLES=OFF
|
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
|
||||||
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip;$(Agent.BuildDirectory)/rocm/hip/cmake
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
artifactName: rocSPARSE
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
artifactName: rocSPARSE
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
publish: false
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
|
||||||
parameters:
|
|
||||||
sourceDir: $(Build.SourcesDirectory)/build/clients
|
|
||||||
contentsString: matrices/**
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
artifactName: testMatrices
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
extraEnvVars:
|
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
|
||||||
|
|
||||||
- job: rocSPARSE_testing
|
jobs:
|
||||||
timeoutInMinutes: 90
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
dependsOn: rocSPARSE
|
- job: rocSPARSE_build_${{ job.target }}
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
- name: HIP_ROCCLR_HOME
|
||||||
pool: $(JOB_TEST_POOL)
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
workspace:
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
clean: all
|
workspace:
|
||||||
strategy:
|
clean: all
|
||||||
matrix:
|
steps:
|
||||||
gfx942:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
JOB_GPU_TARGET: gfx942
|
parameters:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
gfx90a:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
JOB_GPU_TARGET: gfx90a
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
parameters:
|
||||||
steps:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
parameters:
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
componentName: rocSPARSE
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
||||||
testExecutable: './rocsparse-test'
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip;$(Agent.BuildDirectory)/rocm/hip/cmake
|
||||||
testParameters: '--gtest_filter="*quick*" --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
artifactName: rocSPARSE
|
||||||
environment: test
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
artifactName: rocSPARSE
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
publish: false
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
||||||
|
parameters:
|
||||||
|
sourceDir: $(Build.SourcesDirectory)/build/clients
|
||||||
|
contentsString: matrices/**
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
artifactName: testMatrices
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
extraEnvVars:
|
||||||
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: rocSPARSE_test_${{ job.target }}
|
||||||
|
timeoutInMinutes: 90
|
||||||
|
dependsOn: rocSPARSE_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: rocSPARSE
|
||||||
|
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 }}
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -35,92 +40,100 @@ parameters:
|
|||||||
- hipRAND
|
- hipRAND
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: rocThrust
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
target: gfx942
|
||||||
workspace:
|
- gfx90a:
|
||||||
clean: all
|
target: gfx90a
|
||||||
strategy:
|
testJobs:
|
||||||
matrix:
|
- gfx942:
|
||||||
gfx942:
|
target: gfx942
|
||||||
JOB_GPU_TARGET: gfx942
|
- gfx90a:
|
||||||
gfx90a:
|
target: gfx90a
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-GNinja
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-DBUILD_TEST=ON
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
|
|
||||||
- job: rocThrust_testing
|
jobs:
|
||||||
dependsOn: rocThrust
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: rocThrust_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: $(JOB_TEST_POOL)
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
strategy:
|
steps:
|
||||||
matrix:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
gfx942:
|
parameters:
|
||||||
JOB_GPU_TARGET: gfx942
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
gfx90a:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
JOB_GPU_TARGET: gfx90a
|
parameters:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
-GNinja
|
||||||
parameters:
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
-DBUILD_TEST=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: rocThrust
|
gpuTarget: ${{ job.target }}
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin/rocthrust'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
parameters:
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
environment: test
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: rocThrust_test_${{ job.target }}
|
||||||
|
dependsOn: rocThrust_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: rocThrust
|
||||||
|
testDir: '$(Agent.BuildDirectory)/rocm/bin/rocthrust'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -45,97 +50,105 @@ parameters:
|
|||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: rocWMMA
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
target: gfx942
|
||||||
workspace:
|
- gfx90a:
|
||||||
clean: all
|
target: gfx90a
|
||||||
strategy:
|
testJobs:
|
||||||
matrix:
|
- gfx942:
|
||||||
gfx942:
|
target: gfx942
|
||||||
JOB_GPU_TARGET: gfx942
|
- gfx90a:
|
||||||
gfx90a:
|
target: gfx90a
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DROCWMMA_BUILD_TESTS=ON
|
|
||||||
-DROCWMMA_BUILD_SAMPLES=OFF
|
|
||||||
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON
|
|
||||||
-DROCM_PLATFORM_VERSION=$(NEXT_RELEASE_VERSION)
|
|
||||||
-GNinja
|
|
||||||
# gfx1030 not supported in documentation
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
|
|
||||||
- job: rocWMMA_testing
|
jobs:
|
||||||
timeoutInMinutes: 120
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
dependsOn: rocWMMA
|
- job: rocWMMA_build_${{ job.target }}
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool: ${{ variables.HIGH_BUILD_POOL }}
|
||||||
pool: $(JOB_TEST_POOL)
|
workspace:
|
||||||
workspace:
|
clean: all
|
||||||
clean: all
|
steps:
|
||||||
strategy:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
matrix:
|
parameters:
|
||||||
gfx942:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
JOB_GPU_TARGET: gfx942
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
gfx90a:
|
parameters:
|
||||||
JOB_GPU_TARGET: gfx90a
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
steps:
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
parameters:
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DROCWMMA_BUILD_TESTS=ON
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
-DROCWMMA_BUILD_SAMPLES=OFF
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
-DROCM_PLATFORM_VERSION=$(NEXT_RELEASE_VERSION)
|
||||||
parameters:
|
-GNinja
|
||||||
componentName: rocWMMA
|
# gfx1030 not supported in documentation
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin/rocwmma'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
parameters:
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
environment: test
|
parameters:
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: rocWMMA_test_${{ job.target }}
|
||||||
|
timeoutInMinutes: 270
|
||||||
|
dependsOn: rocWMMA_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: rocWMMA
|
||||||
|
testDir: '$(Agent.BuildDirectory)/rocm/bin/rocwmma'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -26,7 +31,7 @@ jobs:
|
|||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool:
|
pool:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
|
|||||||
@@ -5,10 +5,16 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
|
- ninja-build
|
||||||
- python3-pip
|
- python3-pip
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@@ -16,7 +22,7 @@ jobs:
|
|||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool:
|
pool:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
@@ -38,6 +44,7 @@ jobs:
|
|||||||
-DCPACK_DEBIAN_PACKAGE_RELEASE="local.9999~99.99"
|
-DCPACK_DEBIAN_PACKAGE_RELEASE="local.9999~99.99"
|
||||||
-DCPACK_RPM_PACKAGE_RELEASE="local.9999"
|
-DCPACK_RPM_PACKAGE_RELEASE="local.9999"
|
||||||
-DROCM_VERSION="$(NEXT_RELEASE_VERSION)"
|
-DROCM_VERSION="$(NEXT_RELEASE_VERSION)"
|
||||||
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
|||||||
@@ -5,12 +5,18 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- libglfw3-dev
|
- libglfw3-dev
|
||||||
- libtbb-dev
|
- libtbb-dev
|
||||||
|
- ninja-build
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
@@ -63,112 +69,123 @@ parameters:
|
|||||||
- rocThrust
|
- rocThrust
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: rocm_examples
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
target: gfx942
|
||||||
workspace:
|
- gfx90a:
|
||||||
clean: all
|
target: gfx90a
|
||||||
strategy:
|
testJobs:
|
||||||
matrix:
|
- gfx942:
|
||||||
gfx942:
|
target: gfx942
|
||||||
JOB_GPU_TARGET: gfx942
|
- gfx90a:
|
||||||
gfx90a:
|
target: gfx90a
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
# https://github.com/ROCm/HIP/issues/2203
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DROCM_ROOT=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-DCMAKE_HIP_ARCHITECTURES=$(JOB_GPU_TARGET)
|
|
||||||
-DCMAKE_EXE_LINKER_FLAGS=-fgpu-rdc
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Move rocm-examples binaries to rocm/examples
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
mkdir -p $(Build.BinariesDirectory)/examples
|
|
||||||
mv $(Build.BinariesDirectory)/bin/* $(Build.BinariesDirectory)/examples
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
|
|
||||||
- job: rocm_examples_testing
|
jobs:
|
||||||
dependsOn: rocm_examples
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: rocm_examples_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
- name: TEST_LOG_FILE
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
value: $(Pipeline.Workspace)/rocm-examplesTestLog.log
|
workspace:
|
||||||
pool: $(JOB_TEST_POOL)
|
clean: all
|
||||||
workspace:
|
steps:
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
strategy:
|
parameters:
|
||||||
matrix:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
gfx942:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
JOB_GPU_TARGET: gfx942
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
parameters:
|
||||||
gfx90a:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
JOB_GPU_TARGET: gfx90a
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
parameters:
|
||||||
steps:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
# https://github.com/ROCm/HIP/issues/2203
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
parameters:
|
-DROCM_ROOT=$(Agent.BuildDirectory)/rocm
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
-DCMAKE_HIP_ARCHITECTURES=${{ job.target }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
-DCMAKE_EXE_LINKER_FLAGS=-fgpu-rdc
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-GNinja
|
||||||
parameters:
|
- task: Bash@3
|
||||||
# https://github.com/ROCm/HIP/issues/2203
|
displayName: Move rocm-examples binaries to rocm/examples
|
||||||
extraBuildFlags: >-
|
inputs:
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
targetType: inline
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
script: |
|
||||||
-DROCM_ROOT=$(Agent.BuildDirectory)/rocm
|
mkdir -p $(Build.BinariesDirectory)/examples
|
||||||
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
mv $(Build.BinariesDirectory)/bin/* $(Build.BinariesDirectory)/examples
|
||||||
-DCMAKE_HIP_ARCHITECTURES=$(JOB_GPU_TARGET)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
-DCMAKE_EXE_LINKER_FLAGS=-fgpu-rdc
|
parameters:
|
||||||
- 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/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: rocm-examples
|
gpuTarget: ${{ job.target }}
|
||||||
testDir: $(Build.SourcesDirectory)/build
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
environment: test
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: rocm_examples_test_${{ job.target }}
|
||||||
|
dependsOn: rocm_examples_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: TEST_LOG_FILE
|
||||||
|
value: $(Pipeline.Workspace)/rocm-examplesTestLog.log
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
# https://github.com/ROCm/HIP/issues/2203
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DROCM_ROOT=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
|
-DCMAKE_HIP_ARCHITECTURES=${{ job.target }}
|
||||||
|
-DCMAKE_EXE_LINKER_FLAGS=-fgpu-rdc
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: rocm-examples
|
||||||
|
testDir: $(Build.SourcesDirectory)/build
|
||||||
|
testParameters: '--output-on-failure --force-new-ctest-process --output-junit test_output.xml --exclude-regex "rocfft_callback"'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -5,6 +5,12 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -31,8 +37,17 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
testJobs:
|
||||||
|
- gfx942:
|
||||||
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- job: rocm_bandwidth_test
|
- job: rocm_bandwidth_test_build
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -40,7 +55,7 @@ jobs:
|
|||||||
value: $(Agent.BuildDirectory)/rocm
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
- name: ROCR_LIB_DIR
|
- name: ROCR_LIB_DIR
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
pool:
|
pool:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
@@ -57,6 +72,7 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
@@ -75,46 +91,44 @@ jobs:
|
|||||||
# - ROCR_INC_DIR:::/home/user/workspace/rocm
|
# - ROCR_INC_DIR:::/home/user/workspace/rocm
|
||||||
# - ROCR_LIB_DIR:::/home/user/workspace/rocm
|
# - ROCR_LIB_DIR:::/home/user/workspace/rocm
|
||||||
|
|
||||||
- job: rocm_bandwidth_test_testing
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
dependsOn: rocm_bandwidth_test
|
- job: rocm_bandwidth_test_test_${{ job.target }}
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
dependsOn: rocm_bandwidth_test_build
|
||||||
variables:
|
condition:
|
||||||
- group: common
|
and(succeeded(),
|
||||||
- template: /.azuredevops/variables-global.yml
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
pool: $(JOB_TEST_POOL)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
workspace:
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
clean: all
|
)
|
||||||
strategy:
|
variables:
|
||||||
matrix:
|
- group: common
|
||||||
gfx942:
|
- template: /.azuredevops/variables-global.yml
|
||||||
JOB_GPU_TARGET: gfx942
|
pool: ${{ job.target }}_test_pool
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
workspace:
|
||||||
gfx90a:
|
clean: all
|
||||||
JOB_GPU_TARGET: gfx90a
|
steps:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
steps:
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
pipModules: ${{ parameters.pipModules }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
parameters:
|
||||||
- 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_GPU_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: rocm_bandwidth_test
|
||||||
parameters:
|
testDir: '$(Agent.BuildDirectory)'
|
||||||
componentName: rocm_bandwidth_test
|
testExecutable: './rocm/bin/rocm-bandwidth-test'
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
testParameters: ''
|
||||||
testExecutable: './rocm/bin/rocm-bandwidth-test'
|
testPublishResults: false
|
||||||
testParameters: ''
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
testPublishResults: false
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
pipModules: ${{ parameters.pipModules }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
environment: test
|
||||||
pipModules: ${{ parameters.pipModules }}
|
gpuTarget: ${{ job.target }}
|
||||||
environment: test
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
|
|||||||
@@ -5,20 +5,35 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
|
- ninja-build
|
||||||
- pkg-config
|
- pkg-config
|
||||||
- python3-pip
|
- python3-pip
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
testJobs:
|
||||||
|
- gfx942:
|
||||||
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- job: rocm_smi_lib
|
- job: rocm_smi_lib_build
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool:
|
pool:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
@@ -35,6 +50,7 @@ jobs:
|
|||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DBUILD_TESTS=ON
|
-DBUILD_TESTS=ON
|
||||||
-DROCM_DEP_ROCMCORE=ON
|
-DROCM_DEP_ROCMCORE=ON
|
||||||
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
@@ -42,40 +58,38 @@ jobs:
|
|||||||
# parameters:
|
# parameters:
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
|
||||||
- job: rocm_smi_lib_testing
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
dependsOn: rocm_smi_lib
|
- job: rocm_smi_lib_test_${{ job.target }}
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
dependsOn: rocm_smi_lib_build
|
||||||
variables:
|
condition:
|
||||||
- group: common
|
and(succeeded(),
|
||||||
- template: /.azuredevops/variables-global.yml
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
pool: $(JOB_TEST_POOL)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
workspace:
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
clean: all
|
)
|
||||||
strategy:
|
variables:
|
||||||
matrix:
|
- group: common
|
||||||
gfx942:
|
- template: /.azuredevops/variables-global.yml
|
||||||
JOB_GPU_TARGET: gfx942
|
pool: ${{ job.target }}_test_pool
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
workspace:
|
||||||
gfx90a:
|
clean: all
|
||||||
JOB_GPU_TARGET: gfx90a
|
steps:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
steps:
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
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: rocm_smi_lib
|
testExecutable: './rocm/share/rocm_smi/rsmitst_tests/rsmitst'
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
testExecutable: './rocm/share/rocm_smi/rsmitst_tests/rsmitst'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
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_GPU_TARGET)
|
|
||||||
|
|||||||
@@ -5,12 +5,18 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- libdrm-amdgpu-dev
|
- libdrm-amdgpu-dev
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
|
- ninja-build
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
@@ -23,12 +29,21 @@ parameters:
|
|||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
testJobs:
|
||||||
|
- gfx942:
|
||||||
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- job: rocminfo
|
- job: rocminfo
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool:
|
pool:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
@@ -45,68 +60,65 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
skipLlvmSymlink: true
|
skipLlvmSymlink: true
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DROCRTST_BLD_TYPE=release
|
-DROCRTST_BLD_TYPE=release
|
||||||
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# registerROCmPackages: true
|
|
||||||
|
|
||||||
- job: rocminfo_testing
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
dependsOn: rocminfo
|
- job: rocminfo_test_${{ job.target }}
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
dependsOn: rocminfo
|
||||||
variables:
|
condition:
|
||||||
- group: common
|
and(succeeded(),
|
||||||
- template: /.azuredevops/variables-global.yml
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
pool: $(JOB_TEST_POOL)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
workspace:
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
clean: all
|
)
|
||||||
strategy:
|
variables:
|
||||||
matrix:
|
- group: common
|
||||||
gfx942:
|
- template: /.azuredevops/variables-global.yml
|
||||||
JOB_GPU_TARGET: gfx942
|
pool: ${{ job.target }}_test_pool
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
workspace:
|
||||||
gfx90a:
|
clean: all
|
||||||
JOB_GPU_TARGET: gfx90a
|
steps:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
steps:
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
registerROCmPackages: true
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- 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: rocminfo
|
||||||
componentName: rocminfo
|
testDir: '$(Agent.BuildDirectory)'
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
testExecutable: './rocm/bin/rocminfo'
|
||||||
testExecutable: './rocm/bin/rocminfo'
|
testParameters: ''
|
||||||
testParameters: ''
|
testPublishResults: false
|
||||||
testPublishResults: false
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
parameters:
|
||||||
parameters:
|
componentName: rocm_agent_enumerator
|
||||||
componentName: rocm_agent_enumerator
|
testDir: '$(Agent.BuildDirectory)'
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
testExecutable: './rocm/bin/rocm_agent_enumerator'
|
||||||
testExecutable: './rocm/bin/rocm_agent_enumerator'
|
testParameters: ''
|
||||||
testParameters: ''
|
testPublishResults: false
|
||||||
testPublishResults: false
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
registerROCmPackages: true
|
||||||
registerROCmPackages: true
|
environment: test
|
||||||
environment: test
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
|
|||||||
@@ -5,21 +5,29 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
|
- libdw-dev
|
||||||
|
- libtbb-dev
|
||||||
- locales
|
- locales
|
||||||
|
- ninja-build
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- astunparse==1.6.2
|
- astunparse==1.6.2
|
||||||
- colorlover
|
- colorlover
|
||||||
- dash>=1.12.0
|
- "dash>=1.12.0"
|
||||||
- matplotlib
|
- matplotlib
|
||||||
- numpy>=1.17.5
|
- "numpy>=1.17.5"
|
||||||
- pandas>=1.4.3
|
- "pandas>=1.4.3"
|
||||||
- pymongo
|
- pymongo
|
||||||
- pyyaml
|
- pyyaml
|
||||||
- tabulate
|
- tabulate
|
||||||
@@ -36,6 +44,7 @@ parameters:
|
|||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
|
- amdsmi
|
||||||
- clr
|
- clr
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
@@ -44,139 +53,168 @@ parameters:
|
|||||||
- rocm_smi_lib
|
- rocm_smi_lib
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocprofiler
|
- rocprofiler
|
||||||
|
- rocprofiler-sdk
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: rocprofiler_compute
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942-staging:
|
||||||
pool:
|
name: gfx942_staging
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
target: gfx942
|
||||||
workspace:
|
dependencySource: staging
|
||||||
clean: all
|
- gfx942-mainline:
|
||||||
strategy:
|
name: gfx942_mainline
|
||||||
matrix:
|
target: gfx942
|
||||||
gfx942:
|
dependencySource: mainline
|
||||||
JOB_GPU_TARGET: gfx942
|
- gfx90a-staging:
|
||||||
gfx90a:
|
name: gfx90a_staging
|
||||||
JOB_GPU_TARGET: gfx90a
|
target: gfx90a
|
||||||
steps:
|
dependencySource: staging
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- gfx90a-mainline:
|
||||||
parameters:
|
name: gfx90a_mainline
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
target: gfx90a
|
||||||
pipModules: ${{ parameters.pipModules }}
|
dependencySource: mainline
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
testJobs:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- gfx942-staging:
|
||||||
parameters:
|
name: gfx942_staging
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
target: gfx942
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
dependencySource: staging
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- gfx942-mainline:
|
||||||
parameters:
|
name: gfx942_mainline
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
target: gfx942
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencySource: mainline
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- gfx90a-staging:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
name: gfx90a_staging
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
target: gfx90a
|
||||||
parameters:
|
dependencySource: staging
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- gfx90a-mainline:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
name: gfx90a_mainline
|
||||||
parameters:
|
target: gfx90a
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
dependencySource: mainline
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# pipModules: ${{ parameters.pipModules }}
|
|
||||||
# gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
|
|
||||||
- job: rocprofiler_compute_testing
|
jobs:
|
||||||
timeoutInMinutes: 120
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
dependsOn: rocprofiler_compute
|
- job: rocprofiler_compute_build_${{ job.name }}
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
variables:
|
||||||
variables:
|
- group: common
|
||||||
- group: common
|
- template: /.azuredevops/variables-global.yml
|
||||||
- template: /.azuredevops/variables-global.yml
|
pool:
|
||||||
- name: PYTHON_VERSION
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
value: 3.10
|
workspace:
|
||||||
pool: $(JOB_TEST_POOL)
|
clean: all
|
||||||
workspace:
|
steps:
|
||||||
clean: all
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
strategy:
|
parameters:
|
||||||
matrix:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
gfx942:
|
pipModules: ${{ parameters.pipModules }}
|
||||||
JOB_GPU_TARGET: gfx942
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
gfx90a:
|
parameters:
|
||||||
JOB_GPU_TARGET: gfx90a
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
steps:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
dependencySource: ${{ job.dependencySource }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
gpuTarget: ${{ job.target }}
|
||||||
- task: Bash@3
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
displayName: Add en_US.UTF-8 locale
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
inputs:
|
parameters:
|
||||||
targetType: inline
|
extraBuildFlags: >-
|
||||||
script: |
|
-GNinja
|
||||||
sudo locale-gen en_US.UTF-8
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
sudo update-locale
|
parameters:
|
||||||
locale -a
|
artifactName: ${{ job.dependencySource }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
artifactName: ${{ job.dependencySource }}
|
||||||
- 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/artifact-links.yml
|
||||||
parameters:
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
# parameters:
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
# pipModules: ${{ parameters.pipModules }}
|
||||||
- task: Bash@3
|
# gpuTarget: ${{ job.target }}
|
||||||
displayName: Add ROCm binaries to PATH
|
|
||||||
inputs:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
targetType: inline
|
- job: rocprofiler_compute_test_${{ job.name }}
|
||||||
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
timeoutInMinutes: 120
|
||||||
- task: Bash@3
|
dependsOn: rocprofiler_compute_build_${{ job.name }}
|
||||||
displayName: Add ROCm compilers to PATH
|
condition:
|
||||||
inputs:
|
and(succeeded(),
|
||||||
targetType: inline
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
parameters:
|
)
|
||||||
extraBuildFlags: >-
|
variables:
|
||||||
-DCMAKE_HIP_ARCHITECTURES=$(JOB_GPU_TARGET)
|
- group: common
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
- template: /.azuredevops/variables-global.yml
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
- name: PYTHON_VERSION
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
value: 3.10
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
pool: ${{ job.target }}_test_pool
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
workspace:
|
||||||
-DENABLE_TESTS=ON
|
clean: all
|
||||||
-DINSTALL_TESTS=ON
|
steps:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
componentName: rocprofiler-compute
|
pipModules: ${{ parameters.pipModules }}
|
||||||
testDir: $(Build.BinariesDirectory)/libexec/rocprofiler-compute
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
testExecutable: ROCM_PATH=$(Agent.BuildDirectory)/rocm ctest
|
- task: Bash@3
|
||||||
- task: Bash@3
|
displayName: Add en_US.UTF-8 locale
|
||||||
displayName: Remove ROCm binaries from PATH
|
inputs:
|
||||||
condition: always()
|
targetType: inline
|
||||||
inputs:
|
script: |
|
||||||
targetType: inline
|
sudo locale-gen en_US.UTF-8
|
||||||
script: echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$(Agent.BuildDirectory)/rocm/bin;;' -e 's;^/;;' -e 's;/$;;')"
|
sudo update-locale
|
||||||
- task: Bash@3
|
locale -a
|
||||||
displayName: Remove ROCm compilers from PATH
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
condition: always()
|
parameters:
|
||||||
inputs:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
targetType: inline
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
script: echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$(Agent.BuildDirectory)/rocm/llvm/bin;;' -e 's;^/;;' -e 's;/$;;')"
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
postTargetFilter: ${{ job.dependencySource }}
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
environment: test
|
parameters:
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
dependencySource: ${{ job.dependencySource }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Add ROCm binaries to PATH
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
||||||
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_HIP_ARCHITECTURES=${{ job.target }}
|
||||||
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DENABLE_TESTS=ON
|
||||||
|
-DINSTALL_TESTS=ON
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: rocprofiler-compute
|
||||||
|
testDir: $(Build.BinariesDirectory)/libexec/rocprofiler-compute
|
||||||
|
testExecutable: ROCM_PATH=$(Agent.BuildDirectory)/rocm ctest
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -5,10 +5,16 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
|
- ninja-build
|
||||||
- python3-pip
|
- python3-pip
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@@ -16,7 +22,7 @@ jobs:
|
|||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool:
|
pool:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
@@ -31,17 +37,14 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: rocprofiler-register
|
componentName: rocprofiler-register
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
componentName: rocprofiler-register-tests
|
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Build.BinariesDirectory)
|
-DCMAKE_PREFIX_PATH=$(Build.BinariesDirectory)
|
||||||
cmakeBuildDir: 'tests/build'
|
-DROCPROFILER_REGISTER_BUILD_TESTS=ON
|
||||||
installEnabled: false
|
-DROCPROFILER_REGISTER_BUILD_SAMPLES=ON
|
||||||
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: rocprofiler-register
|
componentName: rocprofiler-register
|
||||||
testDir: 'tests/build'
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -13,6 +18,8 @@ parameters:
|
|||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- libdw-dev
|
- libdw-dev
|
||||||
- libelf-dev
|
- libelf-dev
|
||||||
|
- libva-dev
|
||||||
|
- ninja-build
|
||||||
- pkg-config
|
- pkg-config
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
@@ -29,11 +36,12 @@ parameters:
|
|||||||
- pandas
|
- pandas
|
||||||
- perfetto
|
- perfetto
|
||||||
- pycobertura
|
- pycobertura
|
||||||
- pytest>=6.2.5
|
- "pytest>=6.2.5"
|
||||||
- pyyaml
|
- pyyaml
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
|
- aomp
|
||||||
- clr
|
- clr
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rccl
|
- rccl
|
||||||
@@ -44,124 +52,135 @@ parameters:
|
|||||||
- rocminfo
|
- rocminfo
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
|
- roctracer
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
buildJobs:
|
||||||
|
- gfx942:
|
||||||
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
|
testJobs:
|
||||||
|
- gfx942:
|
||||||
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- job: rocprofiler_sdk
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
variables:
|
- job: rocprofiler_sdk_build_${{ job.target }}
|
||||||
- group: common
|
variables:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- group: common
|
||||||
pool:
|
- template: /.azuredevops/variables-global.yml
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
pool:
|
||||||
workspace:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
clean: all
|
workspace:
|
||||||
strategy:
|
clean: all
|
||||||
matrix:
|
steps:
|
||||||
gfx942:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
JOB_GPU_TARGET: gfx942
|
parameters:
|
||||||
gfx90a:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
JOB_GPU_TARGET: gfx90a
|
pipModules: ${{ parameters.pipModules }}
|
||||||
steps:
|
registerROCmPackages: true
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
pipModules: ${{ parameters.pipModules }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
registerROCmPackages: true
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
parameters:
|
- task: Bash@3
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
displayName: Add Python site-packages binaries to path
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
inputs:
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
targetType: inline
|
||||||
- task: Bash@3
|
script: |
|
||||||
displayName: Add Python site-packages binaries to path
|
USER_BASE=$(python3 -m site --user-base)
|
||||||
inputs:
|
echo "##vso[task.prependpath]$USER_BASE/bin"
|
||||||
targetType: inline
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
script: |
|
parameters:
|
||||||
USER_BASE=$(python3 -m site --user-base)
|
extraBuildFlags: >-
|
||||||
echo "##vso[task.prependpath]$USER_BASE/bin"
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DROCPROFILER_BUILD_TESTS=ON
|
||||||
parameters:
|
-DROCPROFILER_BUILD_SAMPLES=ON
|
||||||
extraBuildFlags: >-
|
-DROCPROFILER_BUILD_RELEASE=ON
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
-DROCPROFILER_BUILD_TESTS=ON
|
-GNinja
|
||||||
-DROCPROFILER_BUILD_SAMPLES=ON
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
-DROCPROFILER_BUILD_RELEASE=ON
|
parameters:
|
||||||
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
gpuTarget: ${{ job.target }}
|
||||||
multithreadFlag: -- -j4
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
parameters:
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
# parameters:
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
# pipModules: ${{ parameters.pipModules }}
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
# gpuTarget: ${{ job.target }}
|
||||||
# parameters:
|
# registerROCmPackages: true
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# pipModules: ${{ parameters.pipModules }}
|
|
||||||
# gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
# registerROCmPackages: true
|
|
||||||
|
|
||||||
- job: rocprofiler_sdk_testing
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
dependsOn: rocprofiler_sdk
|
- job: rocprofiler_sdk_test_${{ job.target }}
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
dependsOn: rocprofiler_sdk_build_${{ job.target }}
|
||||||
variables:
|
condition:
|
||||||
- group: common
|
and(succeeded(),
|
||||||
- template: /.azuredevops/variables-global.yml
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
pool: $(JOB_TEST_POOL)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
workspace:
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
clean: all
|
)
|
||||||
strategy:
|
variables:
|
||||||
matrix:
|
- group: common
|
||||||
gfx942:
|
- template: /.azuredevops/variables-global.yml
|
||||||
JOB_GPU_TARGET: gfx942
|
pool: ${{ job.target }}_test_pool
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
workspace:
|
||||||
gfx90a:
|
clean: all
|
||||||
JOB_GPU_TARGET: gfx90a
|
steps:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
steps:
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
pipModules: ${{ parameters.pipModules }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
registerROCmPackages: true
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
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
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- 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.rocmDependencies }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
gpuTarget: ${{ job.target }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- task: Bash@3
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
displayName: Add Python and ROCm binaries to path
|
||||||
- task: Bash@3
|
inputs:
|
||||||
displayName: Add Python site-packages binaries to path
|
targetType: inline
|
||||||
inputs:
|
script: |
|
||||||
targetType: inline
|
USER_BASE=$(python3 -m site --user-base)
|
||||||
script: |
|
echo "##vso[task.prependpath]$USER_BASE/bin"
|
||||||
USER_BASE=$(python3 -m site --user-base)
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/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:
|
extraBuildFlags: >-
|
||||||
extraBuildFlags: >-
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DROCPROFILER_BUILD_TESTS=ON
|
||||||
-DROCPROFILER_BUILD_TESTS=ON
|
-DROCPROFILER_BUILD_SAMPLES=ON
|
||||||
-DROCPROFILER_BUILD_SAMPLES=ON
|
-DROCPROFILER_BUILD_RELEASE=ON
|
||||||
-DROCPROFILER_BUILD_RELEASE=ON
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
-GNinja
|
||||||
multithreadFlag: -- -j16
|
- 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: rocprofiler-sdk
|
componentName: rocprofiler-sdk
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
environment: test
|
environment: test
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
gpuTarget: ${{ job.target }}
|
||||||
registerROCmPackages: true
|
registerROCmPackages: true
|
||||||
|
|||||||
@@ -6,6 +6,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -16,6 +21,7 @@ parameters:
|
|||||||
- bzip2
|
- bzip2
|
||||||
- clang
|
- clang
|
||||||
- cmake
|
- cmake
|
||||||
|
- chrpath
|
||||||
- environment-modules
|
- environment-modules
|
||||||
- ffmpeg
|
- ffmpeg
|
||||||
- g++-12
|
- g++-12
|
||||||
@@ -24,6 +30,7 @@ parameters:
|
|||||||
- libavutil-dev
|
- libavutil-dev
|
||||||
- libdrm-amdgpu-dev
|
- libdrm-amdgpu-dev
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
|
- libdw-dev
|
||||||
- libfabric-dev
|
- libfabric-dev
|
||||||
- libiberty-dev
|
- libiberty-dev
|
||||||
- libpapi-dev
|
- libpapi-dev
|
||||||
@@ -31,6 +38,7 @@ parameters:
|
|||||||
- libtool
|
- libtool
|
||||||
- libopenmpi-dev
|
- libopenmpi-dev
|
||||||
- m4
|
- m4
|
||||||
|
- ninja-build
|
||||||
- openmpi-bin
|
- openmpi-bin
|
||||||
- pkg-config
|
- pkg-config
|
||||||
- python3-pip
|
- python3-pip
|
||||||
@@ -59,192 +67,168 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- rocprofiler-sdk
|
- rocprofiler-sdk
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
- roctracer
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
buildJobs:
|
||||||
|
- gfx942:
|
||||||
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
|
testJobs:
|
||||||
|
- gfx942:
|
||||||
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- job: rocprofiler_systems
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
variables:
|
- job: rocprofiler_systems_build_${{ job.target }}
|
||||||
- group: common
|
variables:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- group: common
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
- template: /.azuredevops/variables-global.yml
|
||||||
workspace:
|
- name: ROCM_PATH
|
||||||
clean: all
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
strategy:
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
matrix:
|
workspace:
|
||||||
gfx942:
|
clean: all
|
||||||
JOB_GPU_TARGET: gfx942
|
steps:
|
||||||
gfx90a:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
JOB_GPU_TARGET: gfx90a
|
parameters:
|
||||||
steps:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
pipModules: ${{ parameters.pipModules }}
|
||||||
parameters:
|
registerROCmPackages: true
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
registerROCmPackages: true
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- task: Bash@3
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
displayName: Add ROCm binaries to PATH
|
||||||
- task: Bash@3
|
inputs:
|
||||||
displayName: ROCm symbolic link
|
targetType: inline
|
||||||
inputs:
|
script: |
|
||||||
targetType: inline
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
||||||
script: |
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
||||||
sudo rm -rf /opt/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
parameters:
|
||||||
- task: Bash@3
|
# build flags reference: https://rocm.docs.amd.com/projects/omnitrace/en/latest/install/install.html
|
||||||
displayName: Add ROCm binaries to PATH
|
extraBuildFlags: >-
|
||||||
inputs:
|
-DROCPROFSYS_BUILD_TESTING=ON
|
||||||
targetType: inline
|
-DROCPROFSYS_BUILD_DYNINST=ON
|
||||||
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
-DROCPROFSYS_BUILD_LIBUNWIND=ON
|
||||||
- task: Bash@3
|
-DROCPROFSYS_DISABLE_EXAMPLES="openmp-target"
|
||||||
displayName: Add ROCm compilers to PATH
|
-DDYNINST_BUILD_TBB=ON
|
||||||
inputs:
|
-DDYNINST_BUILD_ELFUTILS=ON
|
||||||
targetType: inline
|
-DDYNINST_BUILD_LIBIBERTY=ON
|
||||||
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
-DDYNINST_BUILD_BOOST=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DROCPROFSYS_USE_PAPI=ON
|
||||||
parameters:
|
-DROCPROFSYS_USE_MPI=ON
|
||||||
# build flags reference: https://rocm.docs.amd.com/projects/omnitrace/en/latest/install/install.html
|
-DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/include/rocjpeg
|
||||||
extraBuildFlags: >-
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-GNinja
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
-DROCPROFSYS_BUILD_TESTING=ON
|
parameters:
|
||||||
-DROCPROFSYS_BUILD_DYNINST=ON
|
gpuTarget: ${{ job.target }}
|
||||||
-DROCPROFSYS_BUILD_LIBUNWIND=ON
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
-DROCPROFSYS_DISABLE_EXAMPLES="openmp-target"
|
parameters:
|
||||||
-DDYNINST_BUILD_TBB=ON
|
gpuTarget: ${{ job.target }}
|
||||||
-DDYNINST_BUILD_ELFUTILS=ON
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
-DDYNINST_BUILD_LIBIBERTY=ON
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
-DDYNINST_BUILD_BOOST=ON
|
parameters:
|
||||||
-DROCPROFSYS_USE_PAPI=ON
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
-DROCPROFSYS_USE_MPI=ON
|
pipModules: ${{ parameters.pipModules }}
|
||||||
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
gpuTarget: ${{ job.target }}
|
||||||
multithreadFlag: -- -j32
|
registerROCmPackages: true
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
extraPaths: /home/user/workspace/rocm/bin:/home/user/workspace/rocm/llvm/bin
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
registerROCmPackages: true
|
|
||||||
optSymLink: true
|
|
||||||
extraPaths: /home/user/workspace/rocm/bin:/home/user/workspace/rocm/llvm/bin
|
|
||||||
|
|
||||||
- job: rocprofiler_systems_testing
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
dependsOn: rocprofiler_systems
|
- job: rocprofiler_systems_test_${{ job.target }}
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
dependsOn: rocprofiler_systems_build_${{ job.target }}
|
||||||
timeoutInMinutes: 180
|
condition:
|
||||||
variables:
|
and(succeeded(),
|
||||||
- group: common
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
- template: /.azuredevops/variables-global.yml
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
pool:
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
name: $(JOB_TEST_POOL)
|
)
|
||||||
demands: firstRenderDeviceAccess
|
timeoutInMinutes: 180
|
||||||
workspace:
|
variables:
|
||||||
clean: all
|
- group: common
|
||||||
strategy:
|
- template: /.azuredevops/variables-global.yml
|
||||||
matrix:
|
- name: ROCM_PATH
|
||||||
gfx942:
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
JOB_GPU_TARGET: gfx942
|
pool:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
name: ${{ job.target }}_test_pool
|
||||||
gfx90a:
|
workspace:
|
||||||
JOB_GPU_TARGET: gfx90a
|
clean: all
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
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_GPU_TARGET)
|
- task: Bash@3
|
||||||
- task: Bash@3
|
displayName: Add ROCm binaries to PATH
|
||||||
displayName: ROCm symbolic link
|
inputs:
|
||||||
inputs:
|
targetType: inline
|
||||||
targetType: inline
|
script: |
|
||||||
script: |
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
||||||
sudo rm -rf /opt/rocm
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
- task: Bash@3
|
parameters:
|
||||||
displayName: Add ROCm binaries to PATH
|
# build flags reference: https://rocm.docs.amd.com/projects/omnitrace/en/latest/install/install.html
|
||||||
inputs:
|
extraBuildFlags: >-
|
||||||
targetType: inline
|
-DROCPROFSYS_BUILD_TESTING=ON
|
||||||
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
-DROCPROFSYS_BUILD_DYNINST=ON
|
||||||
- task: Bash@3
|
-DROCPROFSYS_BUILD_LIBUNWIND=ON
|
||||||
displayName: Add ROCm compilers to PATH
|
-DROCPROFSYS_DISABLE_EXAMPLES="openmp-target"
|
||||||
inputs:
|
-DDYNINST_BUILD_TBB=ON
|
||||||
targetType: inline
|
-DDYNINST_BUILD_ELFUTILS=ON
|
||||||
script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
-DDYNINST_BUILD_LIBIBERTY=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
-DDYNINST_BUILD_BOOST=ON
|
||||||
parameters:
|
-DROCPROFSYS_USE_PAPI=ON
|
||||||
# build flags reference: https://rocm.docs.amd.com/projects/omnitrace/en/latest/install/install.html
|
-DROCPROFSYS_USE_MPI=ON
|
||||||
extraBuildFlags: >-
|
-DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/include/rocjpeg
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
-GNinja
|
||||||
-DROCPROFSYS_BUILD_TESTING=ON
|
- task: Bash@3
|
||||||
-DROCPROFSYS_BUILD_DYNINST=ON
|
displayName: Set up rocprofiler-systems env
|
||||||
-DROCPROFSYS_BUILD_LIBUNWIND=ON
|
inputs:
|
||||||
-DROCPROFSYS_DISABLE_EXAMPLES="openmp-target"
|
targetType: inline
|
||||||
-DDYNINST_BUILD_TBB=ON
|
script: source share/rocprofiler-systems/setup-env.sh
|
||||||
-DDYNINST_BUILD_ELFUTILS=ON
|
workingDirectory: build
|
||||||
-DDYNINST_BUILD_LIBIBERTY=ON
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
-DDYNINST_BUILD_BOOST=ON
|
parameters:
|
||||||
-DROCPROFSYS_USE_PAPI=ON
|
componentName: rocprofiler-systems
|
||||||
-DROCPROFSYS_USE_MPI=ON
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
parameters:
|
||||||
multithreadFlag: -- -j32
|
gpuTarget: ${{ job.target }}
|
||||||
- task: Bash@3
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
displayName: Set up rocprofiler-systems env
|
parameters:
|
||||||
inputs:
|
gpuTarget: ${{ job.target }}
|
||||||
targetType: inline
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
script: source share/rocprofiler-systems/setup-env.sh
|
parameters:
|
||||||
workingDirectory: build
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
pipModules: ${{ parameters.pipModules }}
|
||||||
parameters:
|
environment: test
|
||||||
componentName: rocprofiler-systems
|
registerROCmPackages: true
|
||||||
- task: Bash@3
|
gpuTarget: ${{ job.target }}
|
||||||
displayName: Remove ROCm binaries from PATH
|
extraPaths: /home/user/workspace/rocm/bin:/home/user/workspace/rocm/llvm/bin
|
||||||
condition: always()
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$(Agent.BuildDirectory)/rocm/bin;;' -e 's;^/;;' -e 's;/$;;')"
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Remove ROCm compilers from PATH
|
|
||||||
condition: always()
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$(Agent.BuildDirectory)/rocm/llvm/bin;;' -e 's;^/;;' -e 's;/$;;')"
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
environment: test
|
|
||||||
registerROCmPackages: true
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
optSymLink: true
|
|
||||||
extraPaths: /home/user/workspace/rocm/bin:/home/user/workspace/rocm/llvm/bin
|
|
||||||
|
|||||||
@@ -5,6 +5,12 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -41,121 +47,125 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- roctracer
|
- roctracer
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: rocprofiler
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
- name: HIP_ROCCLR_HOME
|
target: gfx942
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
- gfx90a:
|
||||||
- name: ROCM_PATH
|
target: gfx90a
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
testJobs:
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
- gfx942:
|
||||||
workspace:
|
target: gfx942
|
||||||
clean: all
|
- gfx90a:
|
||||||
strategy:
|
target: gfx90a
|
||||||
matrix:
|
|
||||||
gfx942:
|
|
||||||
JOB_GPU_TARGET: gfx942
|
|
||||||
gfx90a:
|
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_MODULE_PATH=$(Build.SourcesDirectory)/cmake_modules;$(Agent.BuildDirectory)/rocm/lib/cmake;$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DENABLE_LDCONFIG=OFF
|
|
||||||
-DUSE_PROF_API=1
|
|
||||||
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
multithreadFlag: -- -j32
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
extraEnvVars:
|
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
|
||||||
- ROCM_PATH:::/home/user/workspace/rocm
|
|
||||||
|
|
||||||
- job: rocprofiler_testing
|
jobs:
|
||||||
dependsOn: rocprofiler
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: rocprofiler_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: $(JOB_TEST_POOL)
|
- name: HIP_ROCCLR_HOME
|
||||||
workspace:
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
clean: all
|
- name: ROCM_PATH
|
||||||
strategy:
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
matrix:
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
gfx942:
|
workspace:
|
||||||
JOB_GPU_TARGET: gfx942
|
clean: all
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
steps:
|
||||||
gfx90a:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
JOB_GPU_TARGET: gfx90a
|
parameters:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
steps:
|
pipModules: ${{ parameters.pipModules }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
gpuTarget: $(JOB_GPU_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.rocmDependencies }}
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
parameters:
|
||||||
- task: Bash@3
|
extraBuildFlags: >-
|
||||||
displayName: Setup test environment
|
-DCMAKE_MODULE_PATH=$(Build.SourcesDirectory)/cmake_modules;$(Agent.BuildDirectory)/rocm/lib/cmake;$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
inputs:
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
targetType: inline
|
-DENABLE_LDCONFIG=OFF
|
||||||
script: |
|
-DUSE_PROF_API=1
|
||||||
sudo rm -rf /opt/rocm
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
multithreadFlag: -- -j32
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: rocprofilerV1
|
gpuTarget: ${{ job.target }}
|
||||||
testExecutable: LD_LIBRARY_PATH="$(Agent.BuildDirectory)/rocm/lib/rocprofiler:$(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1/test" ./run.sh
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
testDir: $(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1
|
parameters:
|
||||||
testParameters: ''
|
gpuTarget: ${{ job.target }}
|
||||||
testPublishResults: false
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: rocprofilerV2
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
testExecutable: LD_LIBRARY_PATH="$(Agent.BuildDirectory)/rocm/lib/rocprofiler:$(Agent.BuildDirectory)/rocm/share/rocprofiler/tests" share/rocprofiler/tests/runUnitTests
|
pipModules: ${{ parameters.pipModules }}
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
gpuTarget: ${{ job.target }}
|
||||||
testDir: $(Agent.BuildDirectory)/rocm
|
extraEnvVars:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
parameters:
|
- ROCM_PATH:::/home/user/workspace/rocm
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
environment: test
|
- job: rocprofiler_test_${{ job.target }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
dependsOn: rocprofiler_build_${{ job.target }}
|
||||||
optSymLink: true
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: ROCM_PATH
|
||||||
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
|
- name: LD_LIBRARY_PATH
|
||||||
|
value: $(Agent.BuildDirectory)/rocm/lib/rocprofiler:$(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1/test:$(Agent.BuildDirectory)/rocm/share/rocprofiler/tests
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: rocprofilerV1
|
||||||
|
testDir: $(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1
|
||||||
|
testExecutable: ./run.sh
|
||||||
|
testParameters: ''
|
||||||
|
testPublishResults: false
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: rocprofilerV2
|
||||||
|
testDir: $(Agent.BuildDirectory)/rocm
|
||||||
|
testExecutable: share/rocprofiler/tests/runUnitTests
|
||||||
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -35,12 +40,21 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
testJobs:
|
||||||
|
- gfx942:
|
||||||
|
target: gfx942
|
||||||
|
- gfx90a:
|
||||||
|
target: gfx90a
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- job: rocr_debug_agent
|
- job: rocr_debug_agent_build
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool:
|
pool:
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
@@ -56,6 +70,7 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
@@ -71,52 +86,50 @@ jobs:
|
|||||||
# parameters:
|
# parameters:
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
|
||||||
- job: rocr_debug_agent_testing
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
dependsOn: rocr_debug_agent
|
- job: rocr_debug_agent_test_${{ job.target }}
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
dependsOn: rocr_debug_agent_build
|
||||||
variables:
|
condition:
|
||||||
- group: common
|
and(succeeded(),
|
||||||
- template: /.azuredevops/variables-global.yml
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
pool: $(JOB_TEST_POOL)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
workspace:
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
clean: all
|
)
|
||||||
strategy:
|
variables:
|
||||||
matrix:
|
- group: common
|
||||||
gfx942:
|
- template: /.azuredevops/variables-global.yml
|
||||||
JOB_GPU_TARGET: gfx942
|
pool: ${{ job.target }}_test_pool
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
workspace:
|
||||||
gfx90a:
|
clean: all
|
||||||
JOB_GPU_TARGET: gfx90a
|
steps:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
steps:
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- 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/build-cmake.yml
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
componentName: rocr_debug_agent-tests
|
||||||
parameters:
|
extraBuildFlags: >-
|
||||||
componentName: rocr_debug_agent-tests
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake;$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
extraBuildFlags: >-
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake;$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
cmakeBuildDir: '$(Agent.BuildDirectory)/rocm/src/rocm-debug-agent-test'
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
cmakeSourceDir: '.'
|
||||||
cmakeBuildDir: '$(Agent.BuildDirectory)/rocm/src/rocm-debug-agent-test'
|
installEnabled: false
|
||||||
cmakeSourceDir: '.'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
installEnabled: false
|
- 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: rocr_debug_agent
|
||||||
parameters:
|
testDir: '$(Agent.BuildDirectory)/rocm/src/rocm-debug-agent-test'
|
||||||
componentName: rocr_debug_agent
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/src/rocm-debug-agent-test'
|
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_GPU_TARGET)
|
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -36,107 +41,115 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: roctracer
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
- name: HIP_ROCCLR_HOME
|
target: gfx942
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
- gfx90a:
|
||||||
pool:
|
target: gfx90a
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
testJobs:
|
||||||
workspace:
|
- gfx942:
|
||||||
clean: all
|
target: gfx942
|
||||||
strategy:
|
- gfx90a:
|
||||||
matrix:
|
target: gfx90a
|
||||||
gfx942:
|
|
||||||
JOB_GPU_TARGET: gfx942
|
|
||||||
gfx90a:
|
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
registerROCmPackages: true
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_BUILD_TYPE=release
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-DAMDGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# pipModules: ${{ parameters.pipModules }}
|
|
||||||
# gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
# registerROCmPackages: true
|
|
||||||
|
|
||||||
- job: roctracer_testing
|
jobs:
|
||||||
dependsOn: roctracer
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: roctracer_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: $(JOB_TEST_POOL)
|
- name: HIP_ROCCLR_HOME
|
||||||
workspace:
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
clean: all
|
pool:
|
||||||
strategy:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
matrix:
|
workspace:
|
||||||
gfx942:
|
clean: all
|
||||||
JOB_GPU_TARGET: gfx942
|
steps:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
gfx90a:
|
parameters:
|
||||||
JOB_GPU_TARGET: gfx90a
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
steps:
|
registerROCmPackages: true
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
pipModules: ${{ parameters.pipModules }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
registerROCmPackages: true
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
parameters:
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
extraBuildFlags: >-
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
-DCMAKE_BUILD_TYPE=release
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
parameters:
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
componentName: roctracer
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
testExecutable: $(Agent.BuildDirectory)/rocm/share/roctracer/run_tests.sh
|
-GNinja
|
||||||
testParameters: ''
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
testDir: $(Agent.BuildDirectory)
|
parameters:
|
||||||
testPublishResults: false
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
gpuTarget: ${{ job.target }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
environment: test
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
# parameters:
|
||||||
registerROCmPackages: true
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
# pipModules: ${{ parameters.pipModules }}
|
||||||
|
# gpuTarget: ${{ job.target }}
|
||||||
|
# registerROCmPackages: true
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: roctracer_test_${{ job.target }}
|
||||||
|
dependsOn: roctracer_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
registerROCmPackages: true
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: roctracer
|
||||||
|
testExecutable: $(Agent.BuildDirectory)/rocm/share/roctracer/run_tests.sh
|
||||||
|
testParameters: ''
|
||||||
|
testDir: $(Agent.BuildDirectory)
|
||||||
|
testPublishResults: false
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
registerROCmPackages: true
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -45,147 +50,151 @@ parameters:
|
|||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
|
|
||||||
jobs:
|
- name: jobMatrix
|
||||||
- job: rpp
|
type: object
|
||||||
variables:
|
default:
|
||||||
- group: common
|
buildJobs:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- gfx942:
|
||||||
pool:
|
target: gfx942
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
- gfx90a:
|
||||||
workspace:
|
target: gfx90a
|
||||||
clean: all
|
testJobs:
|
||||||
strategy:
|
- gfx942:
|
||||||
matrix:
|
target: gfx942
|
||||||
gfx942:
|
- gfx90a:
|
||||||
JOB_GPU_TARGET: gfx942
|
target: gfx90a
|
||||||
gfx90a:
|
|
||||||
JOB_GPU_TARGET: gfx90a
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DHALF_INCLUDE_DIRS=$(Agent.BuildDirectory)/rocm/include
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
|
||||||
-DGPU_TARGETS=$(JOB_GPU_TARGET)
|
|
||||||
-DROCM_PLATFORM_VERSION=$(NEXT_RELEASE_VERSION)
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# pipModules: ${{ parameters.pipModules }}
|
|
||||||
# gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
|
|
||||||
- job: rpp_testing
|
jobs:
|
||||||
dependsOn: rpp
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName'])))
|
- job: rpp_build_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
- name: LD_LIBRARY_PATH
|
- name: ROCM_PATH
|
||||||
value: $(Agent.BuildDirectory)/rocm/lib;$(Agent.BuildDirectory)/rocm/llvm/lib
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
pool: $(JOB_TEST_POOL)
|
pool:
|
||||||
workspace:
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
clean: all
|
workspace:
|
||||||
strategy:
|
clean: all
|
||||||
matrix:
|
steps:
|
||||||
gfx942:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
JOB_GPU_TARGET: gfx942
|
parameters:
|
||||||
JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
gfx90a:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
JOB_GPU_TARGET: gfx90a
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
JOB_TEST_POOL: ${{ variables.GFX90A_TEST_POOL }}
|
parameters:
|
||||||
steps:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
extraBuildFlags: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
|
||||||
# Dependencies from: https://github.com/ROCm/rpp/blob/develop/utilities/test_suite/README.md
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build and install Turbo JPEG
|
|
||||||
inputs:
|
|
||||||
targetType: 'inline'
|
|
||||||
script: |
|
|
||||||
sudo apt-get install nasm
|
|
||||||
sudo apt-get install wget
|
|
||||||
git clone -b 3.0.2 https://github.com/libjpeg-turbo/libjpeg-turbo.git
|
|
||||||
cd libjpeg-turbo
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
cmake -DCMAKE_INSTALL_PREFIX=/usr \
|
|
||||||
-DCMAKE_BUILD_TYPE=RELEASE \
|
|
||||||
-DENABLE_STATIC=FALSE \
|
|
||||||
-DCMAKE_INSTALL_DEFAULT_LIBDIR=lib \
|
|
||||||
-DWITH_JPEG8=TRUE \
|
|
||||||
..
|
|
||||||
make -j$nproc
|
|
||||||
sudo make install
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build and install Nifti
|
|
||||||
inputs:
|
|
||||||
targetType: 'inline'
|
|
||||||
script: |
|
|
||||||
git clone -b v3.0.1 https://github.com/NIFTI-Imaging/nifti_clib.git
|
|
||||||
cd nifti_clib
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
cmake ..
|
|
||||||
sudo make -j$nproc install
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build rpp tests
|
|
||||||
inputs:
|
|
||||||
targetType: 'inline'
|
|
||||||
script: |
|
|
||||||
sudo rm -rf /opt/rocm
|
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm
|
|
||||||
mkdir rpp-tests
|
|
||||||
cd rpp-tests
|
|
||||||
cmake /opt/rocm/share/rpp/test \
|
|
||||||
-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
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
-DHALF_INCLUDE_DIRS=$(Agent.BuildDirectory)/rocm/include
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
parameters:
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
componentName: rpp
|
-DROCM_PLATFORM_VERSION=$(NEXT_RELEASE_VERSION)
|
||||||
testExecutable: 'export PATH=$(Agent.BuildDirectory)/rocm/llvm/bin:$PATH; CC=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang CMAKE_VERBOSE_MAKEFILE=ON VERBOSE=1 ctest'
|
-GNinja
|
||||||
testDir: 'rpp-tests'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- script: sudo rm /opt/rocm
|
parameters:
|
||||||
condition: always()
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
gpuTarget: ${{ job.target }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
environment: test
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
# parameters:
|
||||||
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
# pipModules: ${{ parameters.pipModules }}
|
||||||
|
# gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: rpp_test_${{ job.target }}
|
||||||
|
dependsOn: rpp_build_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: ROCM_PATH
|
||||||
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
# Dependencies from: https://github.com/ROCm/rpp/blob/develop/utilities/test_suite/README.md
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Build and install Turbo JPEG
|
||||||
|
inputs:
|
||||||
|
targetType: 'inline'
|
||||||
|
script: |
|
||||||
|
sudo apt-get install nasm
|
||||||
|
sudo apt-get install wget
|
||||||
|
git clone -b 3.0.2 https://github.com/libjpeg-turbo/libjpeg-turbo.git
|
||||||
|
cd libjpeg-turbo
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake -DCMAKE_INSTALL_PREFIX=/usr \
|
||||||
|
-DCMAKE_BUILD_TYPE=RELEASE \
|
||||||
|
-DENABLE_STATIC=FALSE \
|
||||||
|
-DCMAKE_INSTALL_DEFAULT_LIBDIR=lib \
|
||||||
|
-DWITH_JPEG8=TRUE \
|
||||||
|
..
|
||||||
|
make -j$nproc
|
||||||
|
sudo make install
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Build and install Nifti
|
||||||
|
inputs:
|
||||||
|
targetType: 'inline'
|
||||||
|
script: |
|
||||||
|
git clone -b v3.0.1 https://github.com/NIFTI-Imaging/nifti_clib.git
|
||||||
|
cd nifti_clib
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake ..
|
||||||
|
sudo make -j$nproc install
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Build rpp tests
|
||||||
|
inputs:
|
||||||
|
targetType: 'inline'
|
||||||
|
script: |
|
||||||
|
mkdir rpp-tests
|
||||||
|
cd rpp-tests
|
||||||
|
cmake $(Agent.BuildDirectory)/rocm/share/rpp/test \
|
||||||
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ \
|
||||||
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: rpp
|
||||||
|
testExecutable: 'CMAKE_VERBOSE_MAKEFILE=ON VERBOSE=1 ctest'
|
||||||
|
testDir: 'rpp-tests'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
cmakeBuildDir: $(Agent.BuildDirectory)/grpc/build
|
cmakeBuildDir: $(Agent.BuildDirectory)/grpc/build
|
||||||
|
cmakeSourceDir: $(Agent.BuildDirectory)/grpc
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DgRPC_INSTALL=ON
|
-DgRPC_INSTALL=ON
|
||||||
-DgRPC_BUILD_TESTS=OFF
|
-DgRPC_BUILD_TESTS=OFF
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
cmakeBuildDir: $(Agent.BuildDirectory)/googletest/build
|
cmakeBuildDir: $(Agent.BuildDirectory)/googletest/build
|
||||||
|
cmakeSourceDir: $(Agent.BuildDirectory)/googletest
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DGTEST_FORCE_SHARED_CRT=ON
|
-DGTEST_FORCE_SHARED_CRT=ON
|
||||||
-DCMAKE_DEBUG_POSTFIX=d
|
-DCMAKE_DEBUG_POSTFIX=d
|
||||||
|
|||||||
@@ -68,16 +68,16 @@ parameters:
|
|||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- astunparse
|
- astunparse
|
||||||
- expecttest>=0.2.1
|
- "expecttest>=0.2.1"
|
||||||
- hypothesis
|
- hypothesis
|
||||||
- numpy
|
- numpy
|
||||||
- psutil
|
- psutil
|
||||||
- pyyaml
|
- pyyaml
|
||||||
- requests
|
- requests
|
||||||
- setuptools
|
- setuptools==75.8.0
|
||||||
- types-dataclasses
|
- types-dataclasses
|
||||||
- typing-extensions>=4.8.0
|
- "typing-extensions>=4.8.0"
|
||||||
- sympy>=1.13.0
|
- "sympy>=1.13.0"
|
||||||
- filelock
|
- filelock
|
||||||
- networkx
|
- networkx
|
||||||
- jinja2
|
- jinja2
|
||||||
@@ -85,8 +85,8 @@ parameters:
|
|||||||
- lintrunner
|
- lintrunner
|
||||||
- ninja
|
- ninja
|
||||||
- packaging
|
- packaging
|
||||||
- optree>=0.13.0
|
- "optree>=0.13.0"
|
||||||
- click>=8.0.3
|
- "click>=8.0.3"
|
||||||
# list for vision
|
# list for vision
|
||||||
- auditwheel
|
- auditwheel
|
||||||
- future
|
- future
|
||||||
@@ -170,13 +170,13 @@ jobs:
|
|||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
# various flags/parameters expected by bash scripts in pytorch repo's .ci directory
|
# various flags/parameters expected by bash scripts in pytorch repo's .ci directory
|
||||||
- name: ROCM_VERSION
|
- name: ROCM_VERSION
|
||||||
value: 6.3.0
|
value: 6.5.0
|
||||||
- name: ROCM_PATH
|
- name: ROCM_PATH
|
||||||
value: /opt/rocm
|
value: /opt/rocm
|
||||||
- name: DESIRED_CUDA
|
- name: DESIRED_CUDA
|
||||||
value: 6.3.0
|
value: 6.5.0
|
||||||
- name: MKLROOT
|
- name: MAGMA_ROCM
|
||||||
value: /opt/intel
|
value: 6.3
|
||||||
- name: DESIRED_PYTHON
|
- name: DESIRED_PYTHON
|
||||||
value: 3.10
|
value: 3.10
|
||||||
- name: PYTORCH_ROOT
|
- name: PYTORCH_ROOT
|
||||||
@@ -218,6 +218,7 @@ jobs:
|
|||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
dependencySource: staging
|
dependencySource: staging
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
|
setupHIPLibrarySymlinks: true
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: ROCm symbolic link
|
displayName: ROCm symbolic link
|
||||||
inputs:
|
inputs:
|
||||||
@@ -252,13 +253,6 @@ jobs:
|
|||||||
script: |
|
script: |
|
||||||
sudo bash pytorch/.ci/docker/common/install_patchelf.sh
|
sudo bash pytorch/.ci/docker/common/install_patchelf.sh
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
- task: Bash@3
|
|
||||||
displayName: Install mkl dependency for magma
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
sudo bash pytorch/.ci/docker/common/install_mkl.sh
|
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Install rocm drm
|
displayName: Install rocm drm
|
||||||
inputs:
|
inputs:
|
||||||
@@ -271,7 +265,7 @@ jobs:
|
|||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
sudo PYTORCH_ROCM_ARCH=$(JOB_GPU_TARGET) MKLROOT=$(MKLROOT) bash pytorch/.ci/docker/common/install_rocm_magma.sh
|
sudo bash pytorch/.ci/docker/common/install_rocm_magma.sh $(MAGMA_ROCM)
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Run ROCm Build Script
|
displayName: Run ROCm Build Script
|
||||||
@@ -279,6 +273,7 @@ jobs:
|
|||||||
targetType: inline
|
targetType: inline
|
||||||
script: >-
|
script: >-
|
||||||
sudo
|
sudo
|
||||||
|
PYTHONPATH=/home/AzDevOps/.local/lib/python3.10/site-packages:/usr/lib/python3/dist-packages
|
||||||
DESIRED_CUDA=$(DESIRED_CUDA)
|
DESIRED_CUDA=$(DESIRED_CUDA)
|
||||||
PYTORCH_ROCM_ARCH=$(JOB_GPU_TARGET)
|
PYTORCH_ROCM_ARCH=$(JOB_GPU_TARGET)
|
||||||
GPU_TARGET=$(JOB_GPU_TARGET)
|
GPU_TARGET=$(JOB_GPU_TARGET)
|
||||||
|
|||||||
@@ -1,10 +1,14 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: dependencySource
|
# using a parameter instead of a strategy matrix allows job variables to be eval'd at compile-time rather than runtime
|
||||||
type: string
|
- name: jobList
|
||||||
default: staging
|
type: object
|
||||||
values:
|
default:
|
||||||
- staging
|
- gfx942-staging:
|
||||||
- mainline
|
target: gfx942
|
||||||
|
source: staging
|
||||||
|
- gfx90a-staging:
|
||||||
|
target: gfx90a
|
||||||
|
source: staging
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -78,62 +82,59 @@ schedules:
|
|||||||
always: true
|
always: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- job: rocm_nightly
|
- ${{ each job in parameters.jobList }}:
|
||||||
variables:
|
- job: rocm_nightly_${{ job.target }}_${{ job.source }}
|
||||||
- group: common
|
variables:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- group: common
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
- template: /.azuredevops/variables-global.yml
|
||||||
workspace:
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
clean: all
|
workspace:
|
||||||
strategy:
|
clean: all
|
||||||
matrix:
|
steps:
|
||||||
gfx942:
|
- task: DeleteFiles@1
|
||||||
JOB_GPU_TARGET: gfx942
|
displayName: 'Cleanup checkout space'
|
||||||
steps:
|
inputs:
|
||||||
- task: DeleteFiles@1
|
SourceFolder: '$(Agent.BuildDirectory)/s'
|
||||||
displayName: 'Cleanup checkout space'
|
Contents: '**/*'
|
||||||
inputs:
|
- task: DeleteFiles@1
|
||||||
SourceFolder: '$(Agent.BuildDirectory)/s'
|
displayName: 'Cleanup Staging Area'
|
||||||
Contents: '**/*'
|
inputs:
|
||||||
- task: DeleteFiles@1
|
SourceFolder: '$(Build.ArtifactStagingDirectory)'
|
||||||
displayName: 'Cleanup Staging Area'
|
Contents: '/**/*'
|
||||||
inputs:
|
RemoveDotFiles: true
|
||||||
SourceFolder: '$(Build.ArtifactStagingDirectory)'
|
- script: df -h
|
||||||
Contents: '/**/*'
|
displayName: System disk space before ROCm
|
||||||
RemoveDotFiles: true
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- script: df -h
|
parameters:
|
||||||
displayName: System disk space before ROCm
|
dependencySource: ${{ job.source }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
dependencySource: ${{ parameters.dependencySource }}
|
skipLibraryLinking: true
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
skipLlvmSymlink: true
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
- script: df -h
|
||||||
skipLibraryLinking: true
|
displayName: System disk space after ROCm
|
||||||
skipLlvmSymlink: true
|
- script: du -sh $(Agent.BuildDirectory)/rocm
|
||||||
- script: df -h
|
displayName: Uncompressed ROCm size
|
||||||
displayName: System disk space after ROCm
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
- script: du -sh $(Agent.BuildDirectory)/rocm
|
- task: ArchiveFiles@2
|
||||||
displayName: Uncompressed ROCm size
|
displayName: Compress rocm-nightly
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
inputs:
|
||||||
- task: ArchiveFiles@2
|
rootFolderOrFile: $(Agent.BuildDirectory)/rocm
|
||||||
displayName: Compress rocm-nightly
|
includeRootFolder: false
|
||||||
inputs:
|
archiveType: tar
|
||||||
rootFolderOrFile: $(Agent.BuildDirectory)/rocm
|
tarCompression: gz
|
||||||
includeRootFolder: false
|
archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.DefinitionName)_$(Build.BuildNumber)_ubuntu2204_${{ job.target }}.tar.gz
|
||||||
archiveType: tar
|
- script: du -sh $(Build.ArtifactStagingDirectory)
|
||||||
tarCompression: gz
|
displayName: Compressed ROCm size
|
||||||
archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.DefinitionName)_$(Build.BuildNumber)_ubuntu2204_$(JOB_GPU_TARGET).tar.gz
|
- task: PublishPipelineArtifact@1
|
||||||
- script: du -sh $(Build.ArtifactStagingDirectory)
|
displayName: 'Publish ROCm Nightly Artifact'
|
||||||
displayName: Compressed ROCm size
|
retryCountOnTaskFailure: 3
|
||||||
- task: PublishPipelineArtifact@1
|
inputs:
|
||||||
displayName: 'Publish ROCm Nightly Artifact'
|
targetPath: '$(Build.ArtifactStagingDirectory)'
|
||||||
retryCountOnTaskFailure: 3
|
- task: Bash@3
|
||||||
inputs:
|
displayName: Save pipeline artifact file name
|
||||||
targetPath: '$(Build.ArtifactStagingDirectory)'
|
inputs:
|
||||||
- task: Bash@3
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
displayName: Save pipeline artifact file name
|
targetType: inline
|
||||||
inputs:
|
script: echo "$(Build.DefinitionName)_$(Build.BuildNumber)_ubuntu2204_${{ job.target }}.tar.gz" >> pipelineArtifacts.txt
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
targetType: inline
|
|
||||||
script: echo "$(Build.DefinitionName)_$(Build.BuildNumber)_ubuntu2204_$(JOB_GPU_TARGET).tar.gz" >> pipelineArtifacts.txt
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
|
|||||||
@@ -0,0 +1,68 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import json
|
||||||
|
import requests
|
||||||
|
import argparse
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
def get_builds(entries, gpu_target, output):
|
||||||
|
already_downloaded = {}
|
||||||
|
for entry in entries:
|
||||||
|
already_downloaded = _get_builds(entry, gpu_target, already_downloaded, output)
|
||||||
|
|
||||||
|
def _get_builds(entry, gpu_target, already_downloaded, output):
|
||||||
|
print()
|
||||||
|
print(f"{entry['buildNumber']} - {entry['buildId']} - {entry['repoName']}")
|
||||||
|
if already_downloaded.get(entry['buildId']):
|
||||||
|
print('Skipping, already downloaded from build ' + entry['buildId'])
|
||||||
|
return already_downloaded
|
||||||
|
|
||||||
|
artifacts_url = f"https://dev.azure.com/ROCm-CI/ROCm-CI/_apis/build/builds/{entry['buildId']}/artifacts?api-version=7.1"
|
||||||
|
artifacts = requests.get(artifacts_url).json()
|
||||||
|
for artifact in artifacts['value']:
|
||||||
|
if 'gfx' in artifact['name'] and gpu_target not in artifact['name']:
|
||||||
|
continue
|
||||||
|
|
||||||
|
print('Artifact name: ' + artifact['name'])
|
||||||
|
print('File size: ~' +
|
||||||
|
str(round(int(artifact['resource']['properties']['artifactsize'])/1000000, 2)) + ' MB')
|
||||||
|
download_url = f"{artifact['resource']['downloadUrl']}"
|
||||||
|
download = requests.get(download_url)
|
||||||
|
|
||||||
|
zip_file = Path(output) / f"{artifact['name']}.zip"
|
||||||
|
with open(zip_file, 'wb') as f:
|
||||||
|
f.write(download.content)
|
||||||
|
already_downloaded[entry['buildId']] = True
|
||||||
|
|
||||||
|
return already_downloaded
|
||||||
|
|
||||||
|
def main():
|
||||||
|
parser = argparse.ArgumentParser(description="Command line tool for downloading external ci artifacts")
|
||||||
|
parser.add_argument('--target', type=str, dest="target", choices=["gfx90a", "gfx942"], help="Target gfx")
|
||||||
|
parser.add_argument('--manifest', type=str, dest="manifest", help='JSON manifest url or path to local manifest')
|
||||||
|
parser.add_argument('--output_dir', type=str, dest="output", help='Path to download directory')
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
manifest = args.manifest
|
||||||
|
gpu_target = args.target
|
||||||
|
|
||||||
|
if not gpu_target:
|
||||||
|
print("Enter the GPU target (gfx942, gfx90a)")
|
||||||
|
gpu_target = input()
|
||||||
|
|
||||||
|
if not manifest:
|
||||||
|
print("Enter the manifest file (URL or local path)")
|
||||||
|
manifest = input()
|
||||||
|
|
||||||
|
if 'http' in manifest:
|
||||||
|
data = requests.get(manifest).json()
|
||||||
|
else:
|
||||||
|
with open(manifest, 'r') as f:
|
||||||
|
data = json.load(f)
|
||||||
|
|
||||||
|
entries = [e for e in data['current']]
|
||||||
|
entries.extend([e for e in data['dependencies']])
|
||||||
|
get_builds(entries, gpu_target, args.output)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
requests
|
||||||
@@ -3,7 +3,16 @@ variables:
|
|||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
|
||||||
parameters:
|
parameters:
|
||||||
- name: checkoutRef
|
- name: aompRef
|
||||||
|
type: string
|
||||||
|
default: refs/tags/$(LATEST_RELEASE_TAG)
|
||||||
|
- name: extrasRef
|
||||||
|
type: string
|
||||||
|
default: refs/tags/$(LATEST_RELEASE_TAG)
|
||||||
|
- name: flangRef
|
||||||
|
type: string
|
||||||
|
default: refs/tags/$(LATEST_RELEASE_TAG)
|
||||||
|
- name: llvmRef
|
||||||
type: string
|
type: string
|
||||||
default: refs/tags/$(LATEST_RELEASE_TAG)
|
default: refs/tags/$(LATEST_RELEASE_TAG)
|
||||||
|
|
||||||
@@ -13,22 +22,22 @@ resources:
|
|||||||
type: github
|
type: github
|
||||||
endpoint: ROCm
|
endpoint: ROCm
|
||||||
name: ROCm/aomp
|
name: ROCm/aomp
|
||||||
ref: ${{ parameters.checkoutRef }}
|
ref: ${{ parameters.aompRef }}
|
||||||
- repository: aomp-extras_repo
|
- repository: aomp-extras_repo
|
||||||
type: github
|
type: github
|
||||||
endpoint: ROCm
|
endpoint: ROCm
|
||||||
name: ROCm/aomp-extras
|
name: ROCm/aomp-extras
|
||||||
ref: ${{ parameters.checkoutRef }}
|
ref: ${{ parameters.extrasRef }}
|
||||||
- repository: flang_repo
|
- repository: flang_repo
|
||||||
type: github
|
type: github
|
||||||
endpoint: ROCm
|
endpoint: ROCm
|
||||||
name: ROCm/flang
|
name: ROCm/flang
|
||||||
ref: ${{ parameters.checkoutRef }}
|
ref: ${{ parameters.flangRef }}
|
||||||
- repository: llvm-project_repo
|
- repository: llvm-project_repo
|
||||||
type: github
|
type: github
|
||||||
endpoint: ROCm
|
endpoint: ROCm
|
||||||
name: ROCm/llvm-project
|
name: ROCm/llvm-project
|
||||||
ref: amd-staging
|
ref: ${{ parameters.llvmRef }}
|
||||||
|
|
||||||
trigger: none
|
trigger: none
|
||||||
pr: none
|
pr: none
|
||||||
@@ -37,4 +46,4 @@ jobs:
|
|||||||
- template: ${{ variables.CI_COMPONENT_PATH }}/aomp.yml
|
- template: ${{ variables.CI_COMPONENT_PATH }}/aomp.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: aomp_repo
|
checkoutRepo: aomp_repo
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.aompRef }}
|
||||||
|
|||||||
@@ -12,6 +12,11 @@ parameters:
|
|||||||
- name: fileFilter
|
- name: fileFilter
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
@@ -27,16 +32,23 @@ steps:
|
|||||||
- task: DownloadPipelineArtifact@2
|
- task: DownloadPipelineArtifact@2
|
||||||
displayName: Download ${{ parameters.componentName }}
|
displayName: Download ${{ parameters.componentName }}
|
||||||
inputs:
|
inputs:
|
||||||
buildType: 'specific'
|
${{ if eq(parameters.aggregatePipeline, false) }}:
|
||||||
project: ROCm-CI
|
buildType: 'specific'
|
||||||
definition: ${{ parameters.pipelineId }}
|
project: ROCm-CI
|
||||||
specificBuildWithTriggering: true
|
definition: ${{ parameters.pipelineId }}
|
||||||
itemPattern: '**/*${{ parameters.fileFilter }}*'
|
specificBuildWithTriggering: true
|
||||||
${{ if notIn(parameters.componentName, 'aomp') }}: # remove this once these pipelines are functional + up-to-date
|
itemPattern: '**/*${{ parameters.fileFilter }}*'
|
||||||
buildVersionToDownload: latestFromBranch # default is 'latest'
|
# aomp is a special case, since the trigger file is under ROCm/ROCm instead of the component repo
|
||||||
branchName: refs/heads/${{ parameters.branchName }}
|
${{ if notIn(parameters.componentName, 'aomp') }}:
|
||||||
allowPartiallySucceededBuilds: $(allowPartiallySucceededBuilds)
|
buildVersionToDownload: latestFromBranch # default is 'latest'
|
||||||
targetPath: '$(Pipeline.Workspace)/d'
|
branchName: refs/heads/${{ parameters.branchName }}
|
||||||
|
allowPartiallySucceededBuilds: $(allowPartiallySucceededBuilds)
|
||||||
|
targetPath: '$(Pipeline.Workspace)/d'
|
||||||
|
${{ else }}:
|
||||||
|
buildType: 'current'
|
||||||
|
itemPattern: '**/${{ parameters.componentName }}*${{ parameters.fileFilter }}*'
|
||||||
|
allowPartiallySucceededBuilds: $(allowPartiallySucceededBuilds)
|
||||||
|
targetPath: '$(Pipeline.Workspace)/d'
|
||||||
- task: ExtractFiles@1
|
- task: ExtractFiles@1
|
||||||
displayName: Extract ${{ parameters.componentName }}
|
displayName: Extract ${{ parameters.componentName }}
|
||||||
inputs:
|
inputs:
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ steps:
|
|||||||
includeRootFolder: false
|
includeRootFolder: false
|
||||||
archiveType: 'tar'
|
archiveType: 'tar'
|
||||||
tarCompression: 'gz'
|
tarCompression: 'gz'
|
||||||
archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.DefinitionName)_$(Build.SourceBranchName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ parameters.artifactName }}_${{ parameters.gpuTarget }}.tar.gz'
|
archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.DefinitionName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.tar.gz'
|
||||||
- task: DeleteFiles@1
|
- task: DeleteFiles@1
|
||||||
displayName: 'Cleanup Staging Area'
|
displayName: 'Cleanup Staging Area'
|
||||||
inputs:
|
inputs:
|
||||||
@@ -32,10 +32,11 @@ steps:
|
|||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: echo "$(Build.DefinitionName)_$(Build.SourceBranchName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ parameters.artifactName }}_${{ parameters.gpuTarget }}.tar.gz" >> pipelineArtifacts.txt
|
script: echo "$(Build.DefinitionName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.tar.gz" >> pipelineArtifacts.txt
|
||||||
# then publish it
|
# then publish it
|
||||||
- ${{ if parameters.publish }}:
|
- ${{ if parameters.publish }}:
|
||||||
- task: PublishPipelineArtifact@1
|
- task: PublishPipelineArtifact@1
|
||||||
|
condition: always()
|
||||||
displayName: '${{ parameters.artifactName }} Publish'
|
displayName: '${{ parameters.artifactName }} Publish'
|
||||||
retryCountOnTaskFailure: 3
|
retryCountOnTaskFailure: 3
|
||||||
inputs:
|
inputs:
|
||||||
|
|||||||
@@ -10,10 +10,10 @@ parameters:
|
|||||||
default: ''
|
default: ''
|
||||||
- name: cmakeBuildDir
|
- name: cmakeBuildDir
|
||||||
type: string
|
type: string
|
||||||
default: 'build'
|
default: $(Agent.BuildDirectory)/s/build
|
||||||
- name: cmakeSourceDir
|
- name: cmakeSourceDir
|
||||||
type: string
|
type: string
|
||||||
default: '..'
|
default: $(Agent.BuildDirectory)/s
|
||||||
- name: customBuildTarget
|
- name: customBuildTarget
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
@@ -46,7 +46,7 @@ steps:
|
|||||||
${{ if eq(parameters.customInstallPath, true) }}:
|
${{ if eq(parameters.customInstallPath, true) }}:
|
||||||
cmakeArgs: -DCMAKE_INSTALL_PREFIX=${{ parameters.installDir }} ${{ parameters.extraBuildFlags }} ${{ parameters.cmakeSourceDir }}
|
cmakeArgs: -DCMAKE_INSTALL_PREFIX=${{ parameters.installDir }} ${{ parameters.extraBuildFlags }} ${{ parameters.cmakeSourceDir }}
|
||||||
${{ else }}:
|
${{ else }}:
|
||||||
cmakeArgs: ${{ parameters.extraBuildFlags }} ..
|
cmakeArgs: ${{ parameters.extraBuildFlags }} ${{ parameters.cmakeSourceDir }}
|
||||||
- ${{ if parameters.printDiskSpace }}:
|
- ${{ if parameters.printDiskSpace }}:
|
||||||
- script: df -h
|
- script: df -h
|
||||||
displayName: Disk space before build
|
displayName: Disk space before build
|
||||||
|
|||||||
@@ -4,6 +4,12 @@ parameters:
|
|||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
|
- name: sparseCheckout
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
# submodule download behaviour
|
# submodule download behaviour
|
||||||
# change to 'recursive' for repos with submodules
|
# change to 'recursive' for repos with submodules
|
||||||
- name: submoduleBehaviour
|
- name: submoduleBehaviour
|
||||||
@@ -15,3 +21,13 @@ steps:
|
|||||||
clean: true
|
clean: true
|
||||||
submodules: ${{ parameters.submoduleBehaviour }}
|
submodules: ${{ parameters.submoduleBehaviour }}
|
||||||
retryCountOnTaskFailure: 3
|
retryCountOnTaskFailure: 3
|
||||||
|
fetchFilter: blob:none
|
||||||
|
${{ if eq(parameters.sparseCheckout, true) }}:
|
||||||
|
sparseCheckoutDirectories: ${{ parameters.sparseCheckoutDir }}
|
||||||
|
path: sparse
|
||||||
|
- ${{ if eq(parameters.sparseCheckout, true) }}:
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Symlink sparse checkout
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: ln -s $(Agent.BuildDirectory)/sparse/${{ parameters.sparseCheckoutDir }} $(Agent.BuildDirectory)/s
|
||||||
|
|||||||
@@ -6,5 +6,5 @@ steps:
|
|||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
sudo apt purge cmake -y
|
sudo apt purge cmake -y
|
||||||
sudo snap install cmake --classic
|
sudo snap install cmake --classic --channel=3.31/stable
|
||||||
hash -r
|
hash -r
|
||||||
|
|||||||
@@ -61,4 +61,4 @@ steps:
|
|||||||
displayName: 'pip install ...'
|
displayName: 'pip install ...'
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: pip install -v ${{ join(' ', parameters.pipModules) }}
|
script: pip install -v --force-reinstall ${{ join(' ', parameters.pipModules) }}
|
||||||
|
|||||||
@@ -31,6 +31,11 @@ parameters:
|
|||||||
- name: setupHIPLibrarySymlinks
|
- name: setupHIPLibrarySymlinks
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
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: componentVarList
|
- name: componentVarList
|
||||||
type: object
|
type: object
|
||||||
@@ -38,7 +43,7 @@ parameters:
|
|||||||
AMDMIGraphX:
|
AMDMIGraphX:
|
||||||
pipelineId: $(AMDMIGRAPHX_PIPELINE_ID)
|
pipelineId: $(AMDMIGRAPHX_PIPELINE_ID)
|
||||||
stagingBranch: develop
|
stagingBranch: develop
|
||||||
mainlineBranch: mainline
|
mainlineBranch: master
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
amdsmi:
|
amdsmi:
|
||||||
pipelineId: $(AMDSMI_PIPELINE_ID)
|
pipelineId: $(AMDSMI_PIPELINE_ID)
|
||||||
@@ -53,7 +58,7 @@ parameters:
|
|||||||
aomp:
|
aomp:
|
||||||
pipelineId: $(AOMP_PIPELINE_ID)
|
pipelineId: $(AOMP_PIPELINE_ID)
|
||||||
stagingBranch: aomp-dev
|
stagingBranch: aomp-dev
|
||||||
mainlineBranch: amd-mainline-open
|
mainlineBranch: amd-mainline
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
clr:
|
clr:
|
||||||
pipelineId: $(CLR_PIPELINE_ID)
|
pipelineId: $(CLR_PIPELINE_ID)
|
||||||
@@ -143,17 +148,17 @@ parameters:
|
|||||||
llvm-project:
|
llvm-project:
|
||||||
pipelineId: $(LLVM_PROJECT_PIPELINE_ID)
|
pipelineId: $(LLVM_PROJECT_PIPELINE_ID)
|
||||||
stagingBranch: amd-staging
|
stagingBranch: amd-staging
|
||||||
mainlineBranch: amd-mainline-open
|
mainlineBranch: amd-mainline
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
MIOpen:
|
MIOpen:
|
||||||
pipelineId: $(MIOpen_PIPELINE_ID)
|
pipelineId: $(MIOpen_PIPELINE_ID)
|
||||||
stagingBranch: develop
|
stagingBranch: develop
|
||||||
mainlineBranch: mainline
|
mainlineBranch: amd-master
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
MIVisionX:
|
MIVisionX:
|
||||||
pipelineId: $(MIVISIONX_PIPELINE_ID)
|
pipelineId: $(MIVISIONX_PIPELINE_ID)
|
||||||
stagingBranch: develop
|
stagingBranch: develop
|
||||||
mainlineBranch: mainline
|
mainlineBranch: master
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
omnitrace: # deprecated
|
omnitrace: # deprecated
|
||||||
pipelineId: $(OMNITRACE_PIPELINE_ID)
|
pipelineId: $(OMNITRACE_PIPELINE_ID)
|
||||||
@@ -173,7 +178,7 @@ parameters:
|
|||||||
rocAL:
|
rocAL:
|
||||||
pipelineId: $(ROCAL_PIPELINE_ID)
|
pipelineId: $(ROCAL_PIPELINE_ID)
|
||||||
stagingBranch: develop
|
stagingBranch: develop
|
||||||
mainlineBranch: master
|
mainlineBranch: mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocALUTION:
|
rocALUTION:
|
||||||
pipelineId: $(ROCALUTION_PIPELINE_ID)
|
pipelineId: $(ROCALUTION_PIPELINE_ID)
|
||||||
@@ -238,7 +243,7 @@ parameters:
|
|||||||
ROCmValidationSuite:
|
ROCmValidationSuite:
|
||||||
pipelineId: $(ROCMVALIDATIONSUITE_PIPELINE_ID)
|
pipelineId: $(ROCMVALIDATIONSUITE_PIPELINE_ID)
|
||||||
stagingBranch: master
|
stagingBranch: master
|
||||||
mainlineBranch: mainline
|
mainlineBranch: master
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocm_bandwidth_test:
|
rocm_bandwidth_test:
|
||||||
pipelineId: $(ROCM_BANDWIDTH_TEST_PIPELINE_ID)
|
pipelineId: $(ROCM_BANDWIDTH_TEST_PIPELINE_ID)
|
||||||
@@ -323,7 +328,7 @@ parameters:
|
|||||||
roctracer:
|
roctracer:
|
||||||
pipelineId: $(ROCTRACER_PIPELINE_ID)
|
pipelineId: $(ROCTRACER_PIPELINE_ID)
|
||||||
stagingBranch: amd-staging
|
stagingBranch: amd-staging
|
||||||
mainlineBranch: amd-master
|
mainlineBranch: amd-mainline
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocWMMA:
|
rocWMMA:
|
||||||
pipelineId: $(ROCWMMA_PIPELINE_ID)
|
pipelineId: $(ROCWMMA_PIPELINE_ID)
|
||||||
@@ -354,6 +359,7 @@ 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 }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
${{ if parameters.componentVarList[split(dependency, ':')[0]].hasGpuTarget }}:
|
${{ if parameters.componentVarList[split(dependency, ':')[0]].hasGpuTarget }}:
|
||||||
fileFilter: "${{ split(dependency, ':')[1] }}*${{ parameters.gpuTarget }}"
|
fileFilter: "${{ split(dependency, ':')[1] }}*${{ parameters.gpuTarget }}"
|
||||||
# dependencySource = staging
|
# dependencySource = staging
|
||||||
@@ -383,6 +389,7 @@ steps:
|
|||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ dependency }}
|
componentName: ${{ dependency }}
|
||||||
pipelineId: ${{ parameters.componentVarList[dependency].pipelineId }}
|
pipelineId: ${{ parameters.componentVarList[dependency].pipelineId }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
${{ if parameters.componentVarList[dependency].hasGpuTarget }}:
|
${{ if parameters.componentVarList[dependency].hasGpuTarget }}:
|
||||||
fileFilter: ${{ parameters.gpuTarget }}
|
fileFilter: ${{ parameters.gpuTarget }}
|
||||||
# dependencySource = staging
|
# dependencySource = staging
|
||||||
@@ -456,7 +463,7 @@ steps:
|
|||||||
displayName: 'List downloaded ROCm files'
|
displayName: 'List downloaded ROCm files'
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: ls -1R $(Agent.BuildDirectory)/rocm
|
script: ls -la1R $(Agent.BuildDirectory)/rocm
|
||||||
- ${{ if eq(parameters.skipLibraryLinking, false) }}:
|
- ${{ if eq(parameters.skipLibraryLinking, false) }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'Link ROCm shared libraries'
|
displayName: 'Link ROCm shared libraries'
|
||||||
|
|||||||
82
.azuredevops/templates/steps/docker-container-commit.yml
Normal file
82
.azuredevops/templates/steps/docker-container-commit.yml
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
# This template creates and uploads a Docker image from the current environment
|
||||||
|
# It uses `docker commit` to do so, which can provide more accurate images than the standard template
|
||||||
|
# It requires the following conditions:
|
||||||
|
# - Job must be run inside a Docker container
|
||||||
|
# - The container's external name must be the same as the container's internal hostname
|
||||||
|
# - Docker must be installed inside said container and given sufficient permissions
|
||||||
|
# Currently, it is only usable for test jobs run on our self-managed systems
|
||||||
|
# Jobs run on Azure VMs will not be able to use this template (most if not all build jobs)
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
- name: gpuTarget
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: environment
|
||||||
|
type: string
|
||||||
|
default: build
|
||||||
|
values:
|
||||||
|
- build
|
||||||
|
- test
|
||||||
|
- combined
|
||||||
|
- amd
|
||||||
|
- nvidia
|
||||||
|
- name: extraPaths
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: extraEnvVars
|
||||||
|
type: object
|
||||||
|
default: []
|
||||||
|
- name: forceDockerCreation
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Commit container and initialize Dockerfile
|
||||||
|
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
|
inputs:
|
||||||
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
docker commit $(hostname) az-ci-temp-image:latest
|
||||||
|
echo "FROM az-ci-temp-image:latest" > Dockerfile
|
||||||
|
echo "RUN sudo groupmod -g $(getent group render | awk -F: '{print $3}') render" >> Dockerfile
|
||||||
|
echo "RUN sudo groupmod -g $(getent group docker | awk -F: '{print $3}') docker" >> Dockerfile
|
||||||
|
echo "ENV PATH='$PATH:${{ parameters.extraPaths }}'" >> Dockerfile
|
||||||
|
echo "ENTRYPOINT [\"/bin/bash\"]" >> Dockerfile
|
||||||
|
- ${{ each extraEnvVar in parameters.extraEnvVars }}:
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Add extra environment variables
|
||||||
|
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
|
inputs:
|
||||||
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
|
targetType: inline
|
||||||
|
script: echo "ENV ${{ split(extraEnvVar, ':::')[0] }}='${{ split(extraEnvVar, ':::')[1] }}'" >> Dockerfile
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Print Dockerfile
|
||||||
|
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
|
inputs:
|
||||||
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
|
targetType: inline
|
||||||
|
script: cat Dockerfile
|
||||||
|
- task: Docker@2
|
||||||
|
displayName: Build and upload Docker image
|
||||||
|
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
|
inputs:
|
||||||
|
containerRegistry: 'ContainerService3'
|
||||||
|
${{ if ne(parameters.gpuTarget, '') }}:
|
||||||
|
repository: '$(Build.DefinitionName)-${{ parameters.environment }}-${{ parameters.gpuTarget }}'
|
||||||
|
${{ else }}:
|
||||||
|
repository: '$(Build.DefinitionName)-${{ parameters.environment }}'
|
||||||
|
Dockerfile: '$(Pipeline.Workspace)/Dockerfile'
|
||||||
|
buildContext: '$(Pipeline.Workspace)'
|
||||||
|
- task: Bash@3
|
||||||
|
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
|
displayName: "!! Docker Image URL !!"
|
||||||
|
inputs:
|
||||||
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
|
targetType: inline
|
||||||
|
${{ if ne(parameters.gpuTarget, '') }}:
|
||||||
|
script: echo "rocmexternalcicd.azurecr.io/$(Build.DefinitionName)-${{ parameters.environment }}-${{ parameters.gpuTarget }}:$(Build.BuildId)" | tr '[:upper:]' '[:lower:]'
|
||||||
|
${{ else }}:
|
||||||
|
script: echo "rocmexternalcicd.azurecr.io/$(Build.DefinitionName)-${{ parameters.environment }}:$(Build.BuildId)" | tr '[:upper:]' '[:lower:]'
|
||||||
@@ -102,12 +102,18 @@ parameters:
|
|||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
- name: dockerSkipGfx
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- gfx90a
|
||||||
|
- gfx942
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
# these steps should only be run if there was a failure or warning
|
# these steps should only be run if there was a failure or warning
|
||||||
# dynamically write to a Dockerfile
|
# dynamically write to a Dockerfile
|
||||||
# first is to do base setup of users, groups
|
# first is to do base setup of users, groups
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
displayName: Create start of Dockerfile
|
displayName: Create start of Dockerfile
|
||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
@@ -126,7 +132,7 @@ steps:
|
|||||||
# for test jobs, setup GPU-related users and group
|
# for test jobs, setup GPU-related users and group
|
||||||
- ${{ if eq(parameters.environment, 'test') }}:
|
- ${{ if eq(parameters.environment, 'test') }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
displayName: GPU setup of Dockerfile
|
displayName: GPU setup of Dockerfile
|
||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
@@ -137,7 +143,7 @@ steps:
|
|||||||
# now install a common set of packages through apt
|
# now install a common set of packages through apt
|
||||||
- ${{ if gt(length(parameters.baseAptPackages), 0) }}:
|
- ${{ if gt(length(parameters.baseAptPackages), 0) }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
displayName: Base Apt Packages to Dockerfile
|
displayName: Base Apt Packages to Dockerfile
|
||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
@@ -146,7 +152,7 @@ steps:
|
|||||||
# iterate through possible apt repos that might need to be added to the docker container
|
# iterate through possible apt repos that might need to be added to the docker container
|
||||||
- ${{ if eq(parameters.registerROCmPackages, true) }}:
|
- ${{ if eq(parameters.registerROCmPackages, true) }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
displayName: Register ROCm packages to Dockerfile
|
displayName: Register ROCm packages to Dockerfile
|
||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
@@ -160,7 +166,7 @@ steps:
|
|||||||
echo "RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update" >> Dockerfile
|
echo "RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update" >> Dockerfile
|
||||||
- ${{ if eq(parameters.registerCUDAPackages, true) }}:
|
- ${{ if eq(parameters.registerCUDAPackages, true) }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
displayName: Register CUDA packages to Dockerfile
|
displayName: Register CUDA packages to Dockerfile
|
||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
@@ -172,7 +178,7 @@ steps:
|
|||||||
echo 'RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update' >> Dockerfile
|
echo 'RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update' >> Dockerfile
|
||||||
- ${{ if eq(parameters.registerJPEGPackages, true) }}:
|
- ${{ if eq(parameters.registerJPEGPackages, true) }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
displayName: Register libjpeg-turbo packages to Dockerfile
|
displayName: Register libjpeg-turbo packages to Dockerfile
|
||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
@@ -185,7 +191,7 @@ steps:
|
|||||||
# install AOCL to docker container, if needed
|
# install AOCL to docker container, if needed
|
||||||
- ${{ if eq(parameters.installAOCL, true) }}:
|
- ${{ if eq(parameters.installAOCL, true) }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
displayName: aocl install to Dockerfile
|
displayName: aocl install to Dockerfile
|
||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
@@ -197,7 +203,7 @@ steps:
|
|||||||
# since apt repo list is updated, install the extra apt packages
|
# since apt repo list is updated, install the extra apt packages
|
||||||
- ${{ if gt(length(parameters.aptPackages), 0) }}:
|
- ${{ if gt(length(parameters.aptPackages), 0) }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
displayName: Extra Apt Packages to Dockerfile
|
displayName: Extra Apt Packages to Dockerfile
|
||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
@@ -206,7 +212,7 @@ steps:
|
|||||||
# install latest cmake to docker container, if needed
|
# install latest cmake to docker container, if needed
|
||||||
- ${{ if eq(parameters.installLatestCMake, true) }}:
|
- ${{ if eq(parameters.installLatestCMake, true) }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
displayName: latest cmake install to Dockerfile
|
displayName: latest cmake install to Dockerfile
|
||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
@@ -216,7 +222,7 @@ steps:
|
|||||||
echo "RUN pip install cmake --upgrade" >> Dockerfile
|
echo "RUN pip install cmake --upgrade" >> Dockerfile
|
||||||
# setup workspace where binaries, sources, and dependencies from the job will be copied to
|
# setup workspace where binaries, sources, and dependencies from the job will be copied to
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
displayName: Workspace setup of Dockerfile
|
displayName: Workspace setup of Dockerfile
|
||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
@@ -228,7 +234,7 @@ steps:
|
|||||||
# pip install is done here as non-root
|
# pip install is done here as non-root
|
||||||
- ${{ if gt(length(parameters.pipModules), 0) }}:
|
- ${{ if gt(length(parameters.pipModules), 0) }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
displayName: Extra Python Modules to Dockerfile
|
displayName: Extra Python Modules to Dockerfile
|
||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
@@ -236,7 +242,7 @@ steps:
|
|||||||
script: echo "RUN pip install -v ${{ join(' ', parameters.pipModules) }}" >> Dockerfile
|
script: echo "RUN pip install -v ${{ join(' ', parameters.pipModules) }}" >> Dockerfile
|
||||||
# copy common directories
|
# copy common directories
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
displayName: Copy base directories to Dockerfile
|
displayName: Copy base directories to Dockerfile
|
||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
@@ -254,7 +260,7 @@ steps:
|
|||||||
# copy extra directories, if applicable to the job
|
# copy extra directories, if applicable to the job
|
||||||
- ${{ each extraCopyDirectory in parameters.extraCopyDirectories }}:
|
- ${{ each extraCopyDirectory in parameters.extraCopyDirectories }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
displayName: Copy ${{ extraCopyDirectory }} to Dockerfile
|
displayName: Copy ${{ extraCopyDirectory }} to Dockerfile
|
||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
@@ -265,7 +271,7 @@ steps:
|
|||||||
fi
|
fi
|
||||||
# setup ldconfig
|
# setup ldconfig
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
displayName: ldconfig to Dockerfile
|
displayName: ldconfig to Dockerfile
|
||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
@@ -279,7 +285,7 @@ steps:
|
|||||||
# create /opt/rocm symbolic link, if needed
|
# create /opt/rocm symbolic link, if needed
|
||||||
- ${{ if eq(parameters.optSymLink, true) }}:
|
- ${{ if eq(parameters.optSymLink, true) }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
displayName: /opt/rocm symbolic link to Dockerfile
|
displayName: /opt/rocm symbolic link to Dockerfile
|
||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
@@ -290,7 +296,7 @@ steps:
|
|||||||
# set environment variables needed for some python-based components
|
# set environment variables needed for some python-based components
|
||||||
- ${{ if eq(parameters.pythonEnvVars, true) }}:
|
- ${{ if eq(parameters.pythonEnvVars, true) }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
displayName: python environment variables
|
displayName: python environment variables
|
||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
@@ -303,33 +309,33 @@ steps:
|
|||||||
# add to PATH environment variable
|
# add to PATH environment variable
|
||||||
- ${{ if ne(parameters.extraPaths, '') }}:
|
- ${{ if ne(parameters.extraPaths, '') }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
displayName: Add to PATH in Dockerfile
|
displayName: Add to PATH in Dockerfile
|
||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: echo "ENV PATH='${{ parameters.extraPaths }}:\$PATH'" >> Dockerfile
|
script: echo "ENV PATH='$PATH:${{ parameters.extraPaths }}'" >> Dockerfile
|
||||||
# set extra environment variables, if applicable to the job
|
# set extra environment variables, if applicable to the job
|
||||||
# use ::: as delimiter to allow for colons to be in the environment variable values
|
# use ::: as delimiter to allow for colons to be in the environment variable values
|
||||||
- ${{ each extraEnvVar in parameters.extraEnvVars }}:
|
- ${{ each extraEnvVar in parameters.extraEnvVars }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
displayName: Set ${{ extraEnvVar }} to Dockerfile
|
displayName: Set ${{ extraEnvVar }} to Dockerfile
|
||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: echo "ENV ${{ split(extraEnvVar, ':::')[0] }}='${{ split(extraEnvVar, ':::')[1] }}'" >> Dockerfile
|
script: echo "ENV ${{ split(extraEnvVar, ':::')[0] }}='${{ split(extraEnvVar, ':::')[1] }}'" >> Dockerfile
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
displayName: Print Dockerfile
|
displayName: Print Dockerfile
|
||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: cat Dockerfile
|
script: cat Dockerfile
|
||||||
- task: Docker@2
|
- task: Docker@2
|
||||||
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
inputs:
|
inputs:
|
||||||
containerRegistry: 'ContainerService'
|
containerRegistry: 'ContainerService3'
|
||||||
${{ if ne(parameters.gpuTarget, '') }}:
|
${{ if ne(parameters.gpuTarget, '') }}:
|
||||||
repository: '$(Build.DefinitionName)-${{ parameters.environment }}-${{ parameters.gpuTarget }}'
|
repository: '$(Build.DefinitionName)-${{ parameters.environment }}-${{ parameters.gpuTarget }}'
|
||||||
${{ else }}:
|
${{ else }}:
|
||||||
@@ -337,12 +343,12 @@ steps:
|
|||||||
Dockerfile: '$(Pipeline.Workspace)/Dockerfile'
|
Dockerfile: '$(Pipeline.Workspace)/Dockerfile'
|
||||||
buildContext: '$(Pipeline.Workspace)'
|
buildContext: '$(Pipeline.Workspace)'
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }})
|
condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }})
|
||||||
displayName: "!! Docker Image URL !!"
|
displayName: "!! Docker Image URL !!"
|
||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
targetType: inline
|
targetType: inline
|
||||||
${{ if ne(parameters.gpuTarget, '') }}:
|
${{ if ne(parameters.gpuTarget, '') }}:
|
||||||
script: echo "rocmexternalcicd.azurecr.io/$(Build.DefinitionName)-${{ parameters.environment }}-${{ parameters.gpuTarget }}:$(Build.BuildId)"
|
script: echo "rocmexternalcicd.azurecr.io/$(Build.DefinitionName)-${{ parameters.environment }}-${{ parameters.gpuTarget }}:$(Build.BuildId)" | tr '[:upper:]' '[:lower:]'
|
||||||
${{ else }}:
|
${{ else }}:
|
||||||
script: echo "rocmexternalcicd.azurecr.io/$(Build.DefinitionName)-${{ parameters.environment }}:$(Build.BuildId)"
|
script: echo "rocmexternalcicd.azurecr.io/$(Build.DefinitionName)-${{ parameters.environment }}:$(Build.BuildId)" | tr '[:upper:]' '[:lower:]'
|
||||||
|
|||||||
34
.azuredevops/templates/steps/gh-actions-post.yml
Normal file
34
.azuredevops/templates/steps/gh-actions-post.yml
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
parameters:
|
||||||
|
- name: repoName
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: eventType
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: azureBuildNumber
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: githubActionsToken
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- task: Bash@3
|
||||||
|
name: ghActionsPost
|
||||||
|
displayName: Post a request to a github repository with a repository_dispatch workflow
|
||||||
|
continueOnError: true
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
|
script: |
|
||||||
|
curl -L -X POST \
|
||||||
|
-H "Accept: application/vnd.github+json" \
|
||||||
|
-H "Authorization: Bearer ${{ parameters.githubActionsToken }}" \
|
||||||
|
-H "X-GitHub-Api-Version: 2022-11-28" \
|
||||||
|
https://api.github.com/repos/${{ parameters.repoName }}/dispatches \
|
||||||
|
-d '{
|
||||||
|
"event_type": "${{ parameters.eventType }}",
|
||||||
|
"client_payload": {
|
||||||
|
"azure-job-id": "${{ parameters.azureBuildNumber }}"
|
||||||
|
}
|
||||||
|
}'
|
||||||
@@ -1,7 +1,16 @@
|
|||||||
|
# The default behaviour of this template is to download artifacts from previous jobs in the current pipeline
|
||||||
|
# It can be overridden to download any artifact from any pipeline, given the appropriate build/pipeline IDs
|
||||||
|
|
||||||
parameters:
|
parameters:
|
||||||
- name: gpuTarget
|
- name: gpuTarget
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
- name: preTargetFilter
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: postTargetFilter
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
# Set buildType to specific to download artifacts from previous builds, useful for saving time when debugging
|
# Set buildType to specific to download artifacts from previous builds, useful for saving time when debugging
|
||||||
- name: buildType
|
- name: buildType
|
||||||
type: string
|
type: string
|
||||||
@@ -9,8 +18,8 @@ parameters:
|
|||||||
values:
|
values:
|
||||||
- current
|
- current
|
||||||
- specific
|
- specific
|
||||||
# Must be set if buildType == specific
|
# One of the below params must be set if buildType == specific
|
||||||
# Set definitionId to the pipeline ID and buildId to the specific build ID
|
# Set definitionId to the pipeline ID or buildId to the specific build ID
|
||||||
- name: definitionId
|
- name: definitionId
|
||||||
type: string
|
type: string
|
||||||
default: 0
|
default: 0
|
||||||
@@ -28,7 +37,7 @@ steps:
|
|||||||
project: ROCm-CI
|
project: ROCm-CI
|
||||||
definition: ${{ parameters.definitionId }}
|
definition: ${{ parameters.definitionId }}
|
||||||
buildId: ${{ parameters.buildId }}
|
buildId: ${{ parameters.buildId }}
|
||||||
itemPattern: '**/*${{ parameters.gpuTarget }}*'
|
itemPattern: '**/*${{ parameters.preTargetFilter }}*${{ parameters.gpuTarget }}*${{ parameters.postTargetFilter }}*'
|
||||||
targetPath: $(Pipeline.Workspace)/d
|
targetPath: $(Pipeline.Workspace)/d
|
||||||
- task: ExtractFiles@1
|
- task: ExtractFiles@1
|
||||||
displayName: 'Extract Pipeline Build'
|
displayName: 'Extract Pipeline Build'
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ parameters:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Set up current_repo values
|
displayName: Create manifest.json
|
||||||
condition: always()
|
condition: always()
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
inputs:
|
inputs:
|
||||||
@@ -24,57 +24,69 @@ steps:
|
|||||||
cat resources.repositories
|
cat resources.repositories
|
||||||
|
|
||||||
IS_TAG_BUILD=$(jq 'has("release_repo")' resources.repositories)
|
IS_TAG_BUILD=$(jq 'has("release_repo")' resources.repositories)
|
||||||
if [ "$IS_TAG_BUILD" = "true" ]; then
|
IS_AOMP_BUILD=$(jq 'has("aomp_repo")' resources.repositories)
|
||||||
REPO_TYPE="release_repo" # Triggered by a ROCm/ROCm tag-builds file
|
|
||||||
|
if [ "$IS_TAG_BUILD" = "true" ] || [ "$IS_AOMP_BUILD" = "true" ]; then
|
||||||
|
exclude_keys=("pipelines_repo" "self") # Triggered by a file under ROCm/ROCm
|
||||||
else
|
else
|
||||||
REPO_TYPE="self" # Triggered by component repo's rocm-ci.yml file
|
exclude_keys=("pipelines_repo") # Triggered by a file under a component repo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "##vso[task.setvariable variable=current_repo.id;]$(jq .$REPO_TYPE.id resources.repositories | tr -d '"')"
|
exclude_keys_string=$(printf '"%s", ' "${exclude_keys[@]}")
|
||||||
echo "##vso[task.setvariable variable=current_repo.name;]$(jq .$REPO_TYPE.name resources.repositories | tr -d '"')"
|
exclude_keys_string=${exclude_keys_string%, }
|
||||||
echo "##vso[task.setvariable variable=current_repo.ref;]$(jq .$REPO_TYPE.ref resources.repositories | tr -d '"')"
|
|
||||||
echo "##vso[task.setvariable variable=current_repo.url;]$(jq .$REPO_TYPE.url resources.repositories | tr -d '"')"
|
current=$(jq --argjson exclude "[$exclude_keys_string]" '
|
||||||
echo "##vso[task.setvariable variable=current_repo.version;]$(jq .$REPO_TYPE.version resources.repositories | tr -d '"')"
|
reduce to_entries[] as $entry (
|
||||||
- task: Bash@3
|
[];
|
||||||
displayName: Create manifest.json
|
if ($exclude | index($entry.key) | not)
|
||||||
condition: always()
|
then . + [
|
||||||
continueOnError: true
|
{
|
||||||
inputs:
|
buildNumber: "$(Build.BuildNumber)",
|
||||||
targetType: inline
|
buildId: "$(Build.BuildId)",
|
||||||
script: |
|
repoId: $entry.value.id,
|
||||||
manifest_json=$(Build.ArtifactStagingDirectory)/manifest_$(Build.DefinitionName)_$(Build.SourceBranchName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ parameters.artifactName }}_${{ parameters.gpuTarget }}.json
|
repoName: $entry.value.name,
|
||||||
|
repoRef: $entry.value.ref,
|
||||||
|
repoUrl: $entry.value.url,
|
||||||
|
repoVersion: $entry.value.version
|
||||||
|
}
|
||||||
|
]
|
||||||
|
else .
|
||||||
|
end
|
||||||
|
)
|
||||||
|
' resources.repositories)
|
||||||
|
|
||||||
|
manifest_json=$(Build.ArtifactStagingDirectory)/manifest_$(Build.DefinitionName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ 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"
|
||||||
cat $manifest_file
|
file=$(jq -c '.current | if type=="array" then .[] else . end' "$manifest_file")
|
||||||
current=$(jq '.current' "$manifest_file")
|
while IFS= read -r line; do
|
||||||
dependencies+=("$current")
|
dependencies+=("$line")
|
||||||
|
done <<< "$file"
|
||||||
done
|
done
|
||||||
dependencies_json=$(printf '%s\n' "${dependencies[@]}" | jq -s '.')
|
dependencies_json=$(printf '%s\n' "${dependencies[@]}" | jq -s '.')
|
||||||
|
|
||||||
jq -n \
|
jq -n \
|
||||||
--arg buildNumber "$(Build.BuildNumber)" \
|
--argjson current "$current" \
|
||||||
--arg buildId "$(Build.BuildId)" \
|
|
||||||
--arg repoId "$(current_repo.id)" \
|
|
||||||
--arg repoName "$(current_repo.name)" \
|
|
||||||
--arg repoRef "$(current_repo.ref)" \
|
|
||||||
--arg repoUrl "$(current_repo.url)" \
|
|
||||||
--arg repoVersion "$(current_repo.version)" \
|
|
||||||
--argjson dependencies "$dependencies_json" \
|
--argjson dependencies "$dependencies_json" \
|
||||||
'{
|
'{
|
||||||
current: {
|
current: $current,
|
||||||
buildNumber: $buildNumber,
|
|
||||||
buildId: $buildId,
|
|
||||||
repoId: $repoId,
|
|
||||||
repoName: $repoName,
|
|
||||||
repoRef: $repoRef,
|
|
||||||
repoUrl: $repoUrl,
|
|
||||||
repoVersion: $repoVersion
|
|
||||||
},
|
|
||||||
dependencies: $dependencies
|
dependencies: $dependencies
|
||||||
}' > $manifest_json
|
}' > $manifest_json
|
||||||
|
|
||||||
|
current_rows=$(cat $manifest_json | \
|
||||||
|
jq -r '
|
||||||
|
.current[] |
|
||||||
|
"<tr><td>" + .buildNumber + "</td>" +
|
||||||
|
"<td><a href=\"https://dev.azure.com/ROCm-CI/ROCm-CI/_build/results?buildId=" + .buildId + "\">" + .buildId + "</a></td>" +
|
||||||
|
"<td><a href=\"" + .repoUrl + "\">" + .repoName + "</a></td>" +
|
||||||
|
"<td><a href=\"" + .repoUrl + "/tree/" + .repoRef + "\">" + .repoRef + "</a></td>" +
|
||||||
|
"<td><a href=\"" + .repoUrl + "/commit/" + .repoVersion + "\">" + .repoVersion + "</a></td></tr>"
|
||||||
|
')
|
||||||
|
current_rows=$(echo $current_rows)
|
||||||
|
echo "##vso[task.setvariable variable=current_rows;]$current_rows"
|
||||||
|
|
||||||
dependencies_rows=$(cat $manifest_json | \
|
dependencies_rows=$(cat $manifest_json | \
|
||||||
jq -r '
|
jq -r '
|
||||||
.dependencies[] |
|
.dependencies[] |
|
||||||
@@ -95,7 +107,7 @@ steps:
|
|||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
manifest_html=$(Build.ArtifactStagingDirectory)/manifest_$(Build.DefinitionName)_$(Build.SourceBranchName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ parameters.artifactName }}_${{ parameters.gpuTarget }}.html
|
manifest_html=$(Build.ArtifactStagingDirectory)/manifest_$(Build.DefinitionName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.html
|
||||||
cat <<EOF > $manifest_html
|
cat <<EOF > $manifest_html
|
||||||
<html>
|
<html>
|
||||||
<h1>Manifest</h1>
|
<h1>Manifest</h1>
|
||||||
@@ -108,13 +120,7 @@ steps:
|
|||||||
<th>Repo Ref</th>
|
<th>Repo Ref</th>
|
||||||
<th>Repo Version</th>
|
<th>Repo Version</th>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
$(current_rows)
|
||||||
<td>$(Build.BuildNumber)</td>
|
|
||||||
<td><a href="https://dev.azure.com/ROCm-CI/ROCm-CI/_build/results?buildId=$(Build.BuildId)">$(Build.BuildId)</a></td>
|
|
||||||
<td><a href="$(current_repo.url)">$(current_repo.name)</a></td>
|
|
||||||
<td><a href="$(current_repo.url)/tree/$(current_repo.ref)">$(current_repo.ref)</a></td>
|
|
||||||
<td><a href="$(current_repo.url)/commit/$(current_repo.version)">$(current_repo.version)</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
</table>
|
||||||
<h2>Dependencies</h2>
|
<h2>Dependencies</h2>
|
||||||
<table border="1">
|
<table border="1">
|
||||||
@@ -142,7 +148,7 @@ steps:
|
|||||||
continueOnError: true
|
continueOnError: true
|
||||||
inputs:
|
inputs:
|
||||||
tabName: Manifest
|
tabName: Manifest
|
||||||
reportDir: $(Build.ArtifactStagingDirectory)/manifest_$(Build.DefinitionName)_$(Build.SourceBranchName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ parameters.artifactName }}_${{ parameters.gpuTarget }}.html
|
reportDir: $(Build.ArtifactStagingDirectory)/manifest_$(Build.DefinitionName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ 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()
|
||||||
@@ -151,5 +157,5 @@ steps:
|
|||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
echo "manifest_$(Build.DefinitionName)_$(Build.SourceBranchName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ parameters.artifactName }}_${{ parameters.gpuTarget }}.html" >> pipelineArtifacts.txt
|
echo "manifest_$(Build.DefinitionName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.html" >> pipelineArtifacts.txt
|
||||||
echo "manifest_$(Build.DefinitionName)_$(Build.SourceBranchName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ parameters.artifactName }}_${{ parameters.gpuTarget }}.json" >> pipelineArtifacts.txt
|
echo "manifest_$(Build.DefinitionName)_$(Build.BuildId)_$(Build.BuildNumber)_ubuntu2204_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.json" >> pipelineArtifacts.txt
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ steps:
|
|||||||
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="composablekernel.${{ parameters.gpuTarget }}"
|
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
|
||||||
@@ -54,7 +54,7 @@ steps:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Downloading CK artifact from $ARTIFACT_URL"
|
echo "Downloading CK artifact from $ARTIFACT_URL"
|
||||||
wget -nv $ARTIFACT_URL -O $(System.ArtifactsDirectory)/ck.zip
|
wget --tries=5 --waitretry=10 --retry-connrefused -nv $ARTIFACT_URL -O $(System.ArtifactsDirectory)/ck.zip
|
||||||
unzip $(System.ArtifactsDirectory)/ck.zip -d $(System.ArtifactsDirectory)
|
unzip $(System.ArtifactsDirectory)/ck.zip -d $(System.ArtifactsDirectory)
|
||||||
mkdir -p $(Agent.BuildDirectory)/rocm
|
mkdir -p $(Agent.BuildDirectory)/rocm
|
||||||
tar -zxvf $(System.ArtifactsDirectory)/$ARTIFACT_NAME/*.tar.gz -C $(Agent.BuildDirectory)/rocm
|
tar -zxvf $(System.ArtifactsDirectory)/$ARTIFACT_NAME/*.tar.gz -C $(Agent.BuildDirectory)/rocm
|
||||||
|
|||||||
@@ -3,17 +3,39 @@
|
|||||||
# also display installed components and packages
|
# also display installed components and packages
|
||||||
steps:
|
steps:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'apt installed list'
|
displayName: List apt packages
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: apt list --installed
|
script: apt list --installed
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'python version'
|
displayName: Print Python version
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: python3 --version
|
script: python3 --version
|
||||||
- script: pip list -v
|
- task: Bash@3
|
||||||
displayName: 'list python packages'
|
displayName: List Python packages
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: pip list -v
|
||||||
|
# The "Azure Pipelines" agents install CMake in multiple ways, including a standalone install into /usr/local/bin:
|
||||||
|
# https://github.com/actions/runner-images/blob/6d939a3ab352a54a021dd67b071577287b6f14a5/images/ubuntu/scripts/build/install-cmake.sh#L27
|
||||||
|
# This standalone CMake does not have a fixed version, and is not the same version as the one installed by the package manager
|
||||||
|
# We want to use the CMake installed by the package manager, so just remove any bins from the standalone install
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Remove CMake binaries from /usr/local/bin
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
sudo rm -f /usr/local/bin/ccmake
|
||||||
|
sudo rm -f /usr/local/bin/cmake
|
||||||
|
sudo rm -f /usr/local/bin/cmake-gui
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Print CMake info
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
cmake --version
|
||||||
|
which cmake
|
||||||
- task: DeleteFiles@1
|
- task: DeleteFiles@1
|
||||||
displayName: 'Cleanup checkout space'
|
displayName: 'Cleanup checkout space'
|
||||||
inputs:
|
inputs:
|
||||||
|
|||||||
@@ -30,13 +30,13 @@ variables:
|
|||||||
- 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.3.4
|
|
||||||
- name: REPO_RADEON_VERSION
|
|
||||||
value: 6.3.4
|
|
||||||
- name: NEXT_RELEASE_VERSION
|
|
||||||
value: 6.4.0
|
value: 6.4.0
|
||||||
|
- name: REPO_RADEON_VERSION
|
||||||
|
value: 6.4
|
||||||
|
- name: NEXT_RELEASE_VERSION
|
||||||
|
value: 6.5.0
|
||||||
- name: LATEST_RELEASE_TAG
|
- name: LATEST_RELEASE_TAG
|
||||||
value: rocm-6.3.4
|
value: rocm-6.4.0
|
||||||
- name: DOCKER_SKIP_GFX
|
- name: DOCKER_SKIP_GFX
|
||||||
value: gfx90a
|
value: gfx90a
|
||||||
- name: AMDMIGRAPHX_GFX942_TEST_PIPELINE_ID
|
- name: AMDMIGRAPHX_GFX942_TEST_PIPELINE_ID
|
||||||
|
|||||||
4
.gitignore
vendored
4
.gitignore
vendored
@@ -5,6 +5,7 @@ build
|
|||||||
# documentation artifacts
|
# documentation artifacts
|
||||||
_build/
|
_build/
|
||||||
_images/
|
_images/
|
||||||
|
__pycache__/
|
||||||
_static/
|
_static/
|
||||||
_templates/
|
_templates/
|
||||||
_toc.yml
|
_toc.yml
|
||||||
@@ -14,7 +15,6 @@ _readthedocs/
|
|||||||
__pycache__/
|
__pycache__/
|
||||||
|
|
||||||
# avoid duplicating contributing.md due to conf.py
|
# avoid duplicating contributing.md due to conf.py
|
||||||
docs/CHANGELOG.md
|
|
||||||
docs/contribute/index.md
|
docs/contribute/index.md
|
||||||
docs/about/release-notes.md
|
docs/about/release-notes.md
|
||||||
docs/about/changelog.md
|
docs/release/changelog.md
|
||||||
|
|||||||
@@ -12,6 +12,5 @@ config:
|
|||||||
MD041: false
|
MD041: false
|
||||||
MD051: false
|
MD051: false
|
||||||
ignores:
|
ignores:
|
||||||
- CHANGELOG.md
|
- "{,docs/}{RELEASE,release,CHANGELOG,changelog}.md"
|
||||||
- "{,docs/}{RELEASE,release}.md"
|
|
||||||
- tools/autotag/templates/**/*.md
|
- tools/autotag/templates/**/*.md
|
||||||
|
|||||||
@@ -18,12 +18,14 @@ APBDIS
|
|||||||
APIC
|
APIC
|
||||||
APIs
|
APIs
|
||||||
APU
|
APU
|
||||||
|
APUs
|
||||||
ASIC
|
ASIC
|
||||||
ASICs
|
ASICs
|
||||||
ASan
|
ASan
|
||||||
ASAN
|
ASAN
|
||||||
ASm
|
ASm
|
||||||
ATI
|
ATI
|
||||||
|
atomicRMW
|
||||||
AddressSanitizer
|
AddressSanitizer
|
||||||
AlexNet
|
AlexNet
|
||||||
Andrej
|
Andrej
|
||||||
@@ -32,10 +34,12 @@ Autocast
|
|||||||
BARs
|
BARs
|
||||||
BLAS
|
BLAS
|
||||||
BMC
|
BMC
|
||||||
|
BabelStream
|
||||||
Blit
|
Blit
|
||||||
Blockwise
|
Blockwise
|
||||||
Bluefield
|
Bluefield
|
||||||
Bootloader
|
Bootloader
|
||||||
|
CAS
|
||||||
CCD
|
CCD
|
||||||
CDNA
|
CDNA
|
||||||
CHTML
|
CHTML
|
||||||
@@ -73,11 +77,14 @@ Concretized
|
|||||||
Conda
|
Conda
|
||||||
ConnectX
|
ConnectX
|
||||||
CuPy
|
CuPy
|
||||||
|
da
|
||||||
Dashboarding
|
Dashboarding
|
||||||
DBRX
|
DBRX
|
||||||
DDR
|
DDR
|
||||||
DF
|
DF
|
||||||
DGEMM
|
DGEMM
|
||||||
|
dGPU
|
||||||
|
dGPUs
|
||||||
DIMM
|
DIMM
|
||||||
DKMS
|
DKMS
|
||||||
DL
|
DL
|
||||||
@@ -98,6 +105,7 @@ DeepSpeed
|
|||||||
Dependabot
|
Dependabot
|
||||||
Deprecations
|
Deprecations
|
||||||
DevCap
|
DevCap
|
||||||
|
DirectX
|
||||||
Dockerfile
|
Dockerfile
|
||||||
Doxygen
|
Doxygen
|
||||||
ELMo
|
ELMo
|
||||||
@@ -131,12 +139,14 @@ GDR
|
|||||||
GDS
|
GDS
|
||||||
GEMM
|
GEMM
|
||||||
GEMMs
|
GEMMs
|
||||||
|
GFLOPS
|
||||||
GFortran
|
GFortran
|
||||||
GFXIP
|
GFXIP
|
||||||
Gemma
|
Gemma
|
||||||
GiB
|
GiB
|
||||||
GIM
|
GIM
|
||||||
GL
|
GL
|
||||||
|
Glibc
|
||||||
GLXT
|
GLXT
|
||||||
Gloo
|
Gloo
|
||||||
GMI
|
GMI
|
||||||
@@ -177,6 +187,7 @@ IDE
|
|||||||
IDEs
|
IDEs
|
||||||
IFWI
|
IFWI
|
||||||
IMDb
|
IMDb
|
||||||
|
IncDec
|
||||||
IOMMU
|
IOMMU
|
||||||
IOP
|
IOP
|
||||||
IOPM
|
IOPM
|
||||||
@@ -217,6 +228,7 @@ LM
|
|||||||
LSAN
|
LSAN
|
||||||
LSan
|
LSan
|
||||||
LTS
|
LTS
|
||||||
|
LanguageCrossEntropy
|
||||||
LoRA
|
LoRA
|
||||||
MEM
|
MEM
|
||||||
MERCHANTABILITY
|
MERCHANTABILITY
|
||||||
@@ -234,6 +246,7 @@ MMIOH
|
|||||||
MMU
|
MMU
|
||||||
MNIST
|
MNIST
|
||||||
MPI
|
MPI
|
||||||
|
MPT
|
||||||
MSVC
|
MSVC
|
||||||
MVAPICH
|
MVAPICH
|
||||||
MVFFR
|
MVFFR
|
||||||
@@ -241,6 +254,7 @@ Makefile
|
|||||||
Makefiles
|
Makefiles
|
||||||
Matplotlib
|
Matplotlib
|
||||||
Matrox
|
Matrox
|
||||||
|
MaxText
|
||||||
Megatrends
|
Megatrends
|
||||||
Megatron
|
Megatron
|
||||||
Mellanox
|
Mellanox
|
||||||
@@ -249,6 +263,7 @@ Meta's
|
|||||||
Miniconda
|
Miniconda
|
||||||
MirroredStrategy
|
MirroredStrategy
|
||||||
Mixtral
|
Mixtral
|
||||||
|
MosaicML
|
||||||
Multicore
|
Multicore
|
||||||
Multithreaded
|
Multithreaded
|
||||||
MyEnvironment
|
MyEnvironment
|
||||||
@@ -272,6 +287,7 @@ NaN
|
|||||||
Nano
|
Nano
|
||||||
Navi
|
Navi
|
||||||
Noncoherently
|
Noncoherently
|
||||||
|
NoReturn
|
||||||
NousResearch's
|
NousResearch's
|
||||||
NumPy
|
NumPy
|
||||||
OAM
|
OAM
|
||||||
@@ -318,6 +334,7 @@ PipelineParallel
|
|||||||
PnP
|
PnP
|
||||||
PowerEdge
|
PowerEdge
|
||||||
PowerShell
|
PowerShell
|
||||||
|
Pretrained
|
||||||
Pretraining
|
Pretraining
|
||||||
Profiler's
|
Profiler's
|
||||||
PyPi
|
PyPi
|
||||||
@@ -380,6 +397,7 @@ SIMDs
|
|||||||
SKU
|
SKU
|
||||||
SKUs
|
SKUs
|
||||||
SLES
|
SLES
|
||||||
|
SLURM
|
||||||
SMEM
|
SMEM
|
||||||
SMI
|
SMI
|
||||||
SMT
|
SMT
|
||||||
@@ -439,6 +457,7 @@ UMC
|
|||||||
USM
|
USM
|
||||||
UTCL
|
UTCL
|
||||||
UTIL
|
UTIL
|
||||||
|
UltraChat
|
||||||
Uncached
|
Uncached
|
||||||
Unittests
|
Unittests
|
||||||
Unhandled
|
Unhandled
|
||||||
@@ -502,15 +521,19 @@ bfloat
|
|||||||
bilinear
|
bilinear
|
||||||
bitcode
|
bitcode
|
||||||
bitsandbytes
|
bitsandbytes
|
||||||
|
bitwise
|
||||||
|
Bitwise
|
||||||
blit
|
blit
|
||||||
bootloader
|
bootloader
|
||||||
boson
|
boson
|
||||||
bosons
|
bosons
|
||||||
br
|
br
|
||||||
|
BrainFloat
|
||||||
buildable
|
buildable
|
||||||
bursty
|
bursty
|
||||||
bzip
|
bzip
|
||||||
cacheable
|
cacheable
|
||||||
|
carveout
|
||||||
cd
|
cd
|
||||||
centos
|
centos
|
||||||
centric
|
centric
|
||||||
@@ -572,6 +595,7 @@ distro
|
|||||||
distros
|
distros
|
||||||
dkms
|
dkms
|
||||||
dtype
|
dtype
|
||||||
|
eb
|
||||||
el
|
el
|
||||||
embeddings
|
embeddings
|
||||||
enablement
|
enablement
|
||||||
@@ -589,6 +613,7 @@ ffmpeg
|
|||||||
filesystem
|
filesystem
|
||||||
fortran
|
fortran
|
||||||
fp
|
fp
|
||||||
|
framebuffer
|
||||||
gRPC
|
gRPC
|
||||||
galb
|
galb
|
||||||
gcc
|
gcc
|
||||||
@@ -618,6 +643,7 @@ hipSPARSELt
|
|||||||
hipTensor
|
hipTensor
|
||||||
hipamd
|
hipamd
|
||||||
hipblas
|
hipblas
|
||||||
|
hipcc
|
||||||
hipcub
|
hipcub
|
||||||
hipfft
|
hipfft
|
||||||
hipfort
|
hipfort
|
||||||
@@ -625,6 +651,7 @@ hipify
|
|||||||
hipsolver
|
hipsolver
|
||||||
hipsparse
|
hipsparse
|
||||||
hlist
|
hlist
|
||||||
|
hostname
|
||||||
hotspotting
|
hotspotting
|
||||||
hpc
|
hpc
|
||||||
hpp
|
hpp
|
||||||
@@ -671,6 +698,7 @@ macOS
|
|||||||
matchers
|
matchers
|
||||||
microarchitecture
|
microarchitecture
|
||||||
migraphx
|
migraphx
|
||||||
|
migratable
|
||||||
miopen
|
miopen
|
||||||
miopengemm
|
miopengemm
|
||||||
mivisionx
|
mivisionx
|
||||||
@@ -683,6 +711,9 @@ mvffr
|
|||||||
namespace
|
namespace
|
||||||
namespaces
|
namespaces
|
||||||
nanoGPT
|
nanoGPT
|
||||||
|
NCS
|
||||||
|
NOP
|
||||||
|
NVLink
|
||||||
num
|
num
|
||||||
numref
|
numref
|
||||||
ocl
|
ocl
|
||||||
@@ -728,6 +759,7 @@ profilers
|
|||||||
protobuf
|
protobuf
|
||||||
pseudorandom
|
pseudorandom
|
||||||
py
|
py
|
||||||
|
pytorch
|
||||||
recommender
|
recommender
|
||||||
recommenders
|
recommenders
|
||||||
quantile
|
quantile
|
||||||
@@ -834,6 +866,7 @@ tracebacks
|
|||||||
txt
|
txt
|
||||||
uarch
|
uarch
|
||||||
uncached
|
uncached
|
||||||
|
uncacheable
|
||||||
uncorrectable
|
uncorrectable
|
||||||
underoptimized
|
underoptimized
|
||||||
unhandled
|
unhandled
|
||||||
@@ -878,6 +911,7 @@ wrreq
|
|||||||
wzo
|
wzo
|
||||||
xargs
|
xargs
|
||||||
xGMI
|
xGMI
|
||||||
|
xPacked
|
||||||
xz
|
xz
|
||||||
yaml
|
yaml
|
||||||
ysvmadyb
|
ysvmadyb
|
||||||
|
|||||||
7203
CHANGELOG.md
Normal file
7203
CHANGELOG.md
Normal file
File diff suppressed because it is too large
Load Diff
22
README.md
22
README.md
@@ -50,8 +50,8 @@ The following example shows how to use the repo tool to download the ROCm source
|
|||||||
```bash
|
```bash
|
||||||
mkdir -p ~/ROCm/
|
mkdir -p ~/ROCm/
|
||||||
cd ~/ROCm/
|
cd ~/ROCm/
|
||||||
export ROCM_VERSION=6.3.3
|
export ROCM_VERSION=6.4.0
|
||||||
~/bin/repo init -u http://github.com/ROCm/ROCm.git -b roc-6.3.x -m tools/rocm-build/rocm-${ROCM_VERSION}.xml
|
~/bin/repo init -u http://github.com/ROCm/ROCm.git -b roc-6.4.x -m tools/rocm-build/rocm-${ROCM_VERSION}.xml
|
||||||
~/bin/repo sync
|
~/bin/repo sync
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -77,8 +77,8 @@ The Build time will reduce significantly if we limit the GPU Architecture/s agai
|
|||||||
|
|
||||||
mkdir -p ~/WORKSPACE/ # Or any folder name other than WORKSPACE
|
mkdir -p ~/WORKSPACE/ # Or any folder name other than WORKSPACE
|
||||||
cd ~/WORKSPACE/
|
cd ~/WORKSPACE/
|
||||||
export ROCM_VERSION=6.3.3
|
export ROCM_VERSION=6.4.0
|
||||||
~/bin/repo init -u http://github.com/ROCm/ROCm.git -b roc-6.3.x -m tools/rocm-build/rocm-${ROCM_VERSION}.xml
|
~/bin/repo init -u http://github.com/ROCm/ROCm.git -b roc-6.4.x -m tools/rocm-build/rocm-${ROCM_VERSION}.xml
|
||||||
~/bin/repo sync
|
~/bin/repo sync
|
||||||
|
|
||||||
# --------------------------------------
|
# --------------------------------------
|
||||||
@@ -87,12 +87,10 @@ export ROCM_VERSION=6.3.3
|
|||||||
|
|
||||||
# Option 1: Start a docker container
|
# Option 1: Start a docker container
|
||||||
# Pulling required base docker images:
|
# Pulling required base docker images:
|
||||||
# Ubuntu20.04 built from ROCm/tools/rocm-build/docker/ubuntu20/Dockerfile
|
|
||||||
docker pull rocm/rocm-build-ubuntu-20.04:6.3
|
|
||||||
# Ubuntu22.04 built from ROCm/tools/rocm-build/docker/ubuntu22/Dockerfile
|
# Ubuntu22.04 built from ROCm/tools/rocm-build/docker/ubuntu22/Dockerfile
|
||||||
docker pull rocm/rocm-build-ubuntu-22.04:6.3
|
docker pull rocm/rocm-build-ubuntu-22.04:6.4
|
||||||
# Ubuntu24.04 built from ROCm/tools/rocm-build/docker/ubuntu24/Dockerfile
|
# Ubuntu24.04 built from ROCm/tools/rocm-build/docker/ubuntu24/Dockerfile
|
||||||
docker pull rocm/rocm-build-ubuntu-24.04:6.3
|
docker pull rocm/rocm-build-ubuntu-24.04:6.4
|
||||||
|
|
||||||
# Start docker container and mount the source code folder:
|
# Start docker container and mount the source code folder:
|
||||||
docker run -ti \
|
docker run -ti \
|
||||||
@@ -109,10 +107,6 @@ docker run -ti \
|
|||||||
<replace_with_required_ubuntu_base_docker_image> bash
|
<replace_with_required_ubuntu_base_docker_image> bash
|
||||||
|
|
||||||
# Option 2: Install required packages into the host machine
|
# Option 2: Install required packages into the host machine
|
||||||
# For ubuntu20.04 system
|
|
||||||
cd ROCm/tools/rocm-build/docker/ubuntu20
|
|
||||||
cp * /tmp && cd /tmp
|
|
||||||
bash install-prerequisites.sh
|
|
||||||
# For ubuntu22.04 system
|
# For ubuntu22.04 system
|
||||||
cd ROCm/tools/rocm-build/docker/ubuntu22
|
cd ROCm/tools/rocm-build/docker/ubuntu22
|
||||||
cp * /tmp && cd /tmp
|
cp * /tmp && cd /tmp
|
||||||
@@ -143,15 +137,11 @@ make -f ROCm/tools/rocm-build/ROCm.mk list_components
|
|||||||
# Build a single ROCm packages
|
# Build a single ROCm packages
|
||||||
make -f ROCm/tools/rocm-build/ROCm.mk T_rocblas
|
make -f ROCm/tools/rocm-build/ROCm.mk T_rocblas
|
||||||
|
|
||||||
# Find built packages in ubuntu20.04:
|
|
||||||
out/ubuntu-20.04/20.04/deb/
|
|
||||||
# Find built packages in ubuntu22.04:
|
# Find built packages in ubuntu22.04:
|
||||||
out/ubuntu-22.04/22.04/deb/
|
out/ubuntu-22.04/22.04/deb/
|
||||||
# Find built packages in ubuntu24.04:
|
# Find built packages in ubuntu24.04:
|
||||||
out/ubuntu-24.04/24.04/deb/
|
out/ubuntu-24.04/24.04/deb/
|
||||||
|
|
||||||
# Find built logs in ubuntu20.04:
|
|
||||||
out/ubuntu-20.04/20.04/logs/
|
|
||||||
# Find built logs in ubuntu22.04:
|
# Find built logs in ubuntu22.04:
|
||||||
out/ubuntu-22.04/22.04/logs/
|
out/ubuntu-22.04/22.04/logs/
|
||||||
# Find built logs in ubuntu24.04:
|
# Find built logs in ubuntu24.04:
|
||||||
|
|||||||
1598
RELEASE.md
1598
RELEASE.md
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
|||||||
<?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-6.3.3"
|
<default revision="refs/tags/rocm-6.4.0"
|
||||||
remote="rocm-org"
|
remote="rocm-org"
|
||||||
sync-c="true"
|
sync-c="true"
|
||||||
sync-j="4" />
|
sync-j="4" />
|
||||||
@@ -30,6 +30,7 @@
|
|||||||
<!-- 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" />
|
||||||
|
<project name="spirv-llvm-translator" />
|
||||||
<!-- gdb projects -->
|
<!-- gdb projects -->
|
||||||
<project name="ROCdbgapi" />
|
<project name="ROCdbgapi" />
|
||||||
<project name="ROCgdb" />
|
<project name="ROCgdb" />
|
||||||
@@ -62,6 +63,7 @@
|
|||||||
<project groups="mathlibs" name="rocFFT" />
|
<project groups="mathlibs" name="rocFFT" />
|
||||||
<project groups="mathlibs" name="rocPRIM" />
|
<project groups="mathlibs" name="rocPRIM" />
|
||||||
<project groups="mathlibs" name="rocRAND" />
|
<project groups="mathlibs" name="rocRAND" />
|
||||||
|
<project groups="mathlibs" name="rocSHMEM" />
|
||||||
<project groups="mathlibs" name="rocSOLVER" />
|
<project groups="mathlibs" name="rocSOLVER" />
|
||||||
<project groups="mathlibs" name="rocSPARSE" />
|
<project groups="mathlibs" name="rocSPARSE" />
|
||||||
<project groups="mathlibs" name="rocThrust" />
|
<project groups="mathlibs" name="rocThrust" />
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ additional licenses. Please review individual repositories for more information.
|
|||||||
<!-- spellcheck-disable -->
|
<!-- spellcheck-disable -->
|
||||||
| Component | License |
|
| Component | License |
|
||||||
|:---------------------|:-------------------------|
|
|:---------------------|:-------------------------|
|
||||||
| [AMD Compute Language Runtime (CLR)](https://github.com/ROCm/clr) | [MIT](https://github.com/ROCm/clr/blob/amd-staging/LICENCE) |
|
| [AMD Compute Language Runtime (CLR)](https://github.com/ROCm/clr) | [MIT](https://github.com/ROCm/clr/blob/amd-staging/LICENSE.txt) |
|
||||||
| [AMD SMI](https://github.com/ROCm/amdsmi) | [MIT](https://github.com/ROCm/amdsmi/blob/amd-staging/LICENSE) |
|
| [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](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) |
|
| [aomp-extras](https://github.com/ROCm/aomp-extras/) | [MIT](https://github.com/ROCm/aomp-extras/blob/aomp-dev/LICENSE) |
|
||||||
@@ -77,10 +77,11 @@ additional licenses. Please review individual repositories for more information.
|
|||||||
| [rocPRIM](https://github.com/ROCm/rocPRIM/) | [MIT](https://github.com/ROCm/rocPRIM/blob/develop/LICENSE.txt) |
|
| [rocPRIM](https://github.com/ROCm/rocPRIM/) | [MIT](https://github.com/ROCm/rocPRIM/blob/develop/LICENSE.txt) |
|
||||||
| [ROCProfiler](https://github.com/ROCm/rocprofiler/) | [MIT](https://github.com/ROCm/rocprofiler/blob/amd-staging/LICENSE) |
|
| [ROCProfiler](https://github.com/ROCm/rocprofiler/) | [MIT](https://github.com/ROCm/rocprofiler/blob/amd-staging/LICENSE) |
|
||||||
| [ROCprofiler-SDK](https://github.com/ROCm/rocprofiler-sdk) | [MIT](https://github.com/ROCm/rocprofiler-sdk/blob/amd-mainline/LICENSE) |
|
| [ROCprofiler-SDK](https://github.com/ROCm/rocprofiler-sdk) | [MIT](https://github.com/ROCm/rocprofiler-sdk/blob/amd-mainline/LICENSE) |
|
||||||
| [rocPyDecode](https://github.com/ROCm/rocPyDecode) | [MIT](https://github.com/ROCm/rocPyDecode/blob/develop/LICENSE) |
|
| [rocPyDecode](https://github.com/ROCm/rocPyDecode) | [MIT](https://github.com/ROCm/rocPyDecode/blob/develop/LICENSE.txt) |
|
||||||
| [rocRAND](https://github.com/ROCm/rocRAND/) | [MIT](https://github.com/ROCm/rocRAND/blob/develop/LICENSE.txt) |
|
| [rocRAND](https://github.com/ROCm/rocRAND/) | [MIT](https://github.com/ROCm/rocRAND/blob/develop/LICENSE.txt) |
|
||||||
| [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 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/ROCR-Runtime/) | [The University of Illinois/NCSA](https://github.com/ROCm/ROCR-Runtime/blob/amd-staging/LICENSE.txt) |
|
| [ROCR-Runtime](https://github.com/ROCm/ROCR-Runtime/) | [The University of Illinois/NCSA](https://github.com/ROCm/ROCR-Runtime/blob/amd-staging/LICENSE.txt) |
|
||||||
|
| [rocSHMEM](https://github.com/ROCm/rocSHMEM/) | [MIT](https://github.com/ROCm/rocSHMEM/blob/develop/LICENSE.md) |
|
||||||
| [rocSOLVER](https://github.com/ROCm/rocSOLVER/) | [BSD-2-Clause](https://github.com/ROCm/rocSOLVER/blob/develop/LICENSE.md) |
|
| [rocSOLVER](https://github.com/ROCm/rocSOLVER/) | [BSD-2-Clause](https://github.com/ROCm/rocSOLVER/blob/develop/LICENSE.md) |
|
||||||
| [rocSPARSE](https://github.com/ROCm/rocSPARSE/) | [MIT](https://github.com/ROCm/rocSPARSE/blob/develop/LICENSE.md) |
|
| [rocSPARSE](https://github.com/ROCm/rocSPARSE/) | [MIT](https://github.com/ROCm/rocSPARSE/blob/develop/LICENSE.md) |
|
||||||
| [rocThrust](https://github.com/ROCm/rocThrust/) | [Apache 2.0](https://github.com/ROCm/rocThrust/blob/develop/LICENSE) |
|
| [rocThrust](https://github.com/ROCm/rocThrust/) | [Apache 2.0](https://github.com/ROCm/rocThrust/blob/develop/LICENSE) |
|
||||||
|
|||||||
@@ -1,120 +1,121 @@
|
|||||||
ROCm Version,6.3.3,6.3.2,6.3.1,6.3.0,6.2.4,6.2.2,6.2.1,6.2.0, 6.1.2, 6.1.1, 6.1.0, 6.0.2, 6.0.0
|
ROCm Version,6.4.0,6.3.3,6.3.2,6.3.1,6.3.0,6.2.4,6.2.2,6.2.1,6.2.0, 6.1.5, 6.1.2, 6.1.1, 6.1.0, 6.0.2, 6.0.0
|
||||||
:ref:`Operating systems & kernels <OS-kernel-versions>`,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,"Ubuntu 24.04.1, 24.04","Ubuntu 24.04.1, 24.04","Ubuntu 24.04.1, 24.04",Ubuntu 24.04,,,,,
|
:ref:`Operating systems & kernels <OS-kernel-versions>`,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2,"Ubuntu 24.04.1, 24.04","Ubuntu 24.04.1, 24.04","Ubuntu 24.04.1, 24.04",Ubuntu 24.04,,,,,,
|
||||||
,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,"Ubuntu 22.04.5, 22.04.4","Ubuntu 22.04.5, 22.04.4","Ubuntu 22.04.5, 22.04.4","Ubuntu 22.04.5, 22.04.4","Ubuntu 22.04.4, 22.04.3","Ubuntu 22.04.4, 22.04.3","Ubuntu 22.04.4, 22.04.3","Ubuntu 22.04.4, 22.04.3, 22.04.2","Ubuntu 22.04.4, 22.04.3, 22.04.2"
|
,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5,"Ubuntu 22.04.5, 22.04.4","Ubuntu 22.04.5, 22.04.4","Ubuntu 22.04.5, 22.04.4","Ubuntu 22.04.5, 22.04.4","Ubuntu 22.04.5, 22.04.4, 22.04.3","Ubuntu 22.04.4, 22.04.3","Ubuntu 22.04.4, 22.04.3","Ubuntu 22.04.4, 22.04.3","Ubuntu 22.04.4, 22.04.3, 22.04.2","Ubuntu 22.04.4, 22.04.3, 22.04.2"
|
||||||
,,,,,,,,,"Ubuntu 20.04.6, 20.04.5","Ubuntu 20.04.6, 20.04.5","Ubuntu 20.04.6, 20.04.5","Ubuntu 20.04.6, 20.04.5","Ubuntu 20.04.6, 20.04.5"
|
,,,,,,,,,,"Ubuntu 20.04.6, 20.04.5","Ubuntu 20.04.6, 20.04.5","Ubuntu 20.04.6, 20.04.5","Ubuntu 20.04.6, 20.04.5","Ubuntu 20.04.6, 20.04.5","Ubuntu 20.04.6, 20.04.5"
|
||||||
,"RHEL 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.4, 9.3","RHEL 9.4, 9.3","RHEL 9.4, 9.3","RHEL 9.4, 9.3","RHEL 9.4, 9.3, 9.2","RHEL 9.4, 9.3, 9.2","RHEL 9.4, 9.3, 9.2","RHEL 9.3, 9.2","RHEL 9.3, 9.2"
|
,"RHEL 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.4, 9.3","RHEL 9.4, 9.3","RHEL 9.4, 9.3","RHEL 9.4, 9.3","RHEL 9.4, 9.3, 9.2","RHEL 9.4, 9.3, 9.2","RHEL 9.4, 9.3, 9.2","RHEL 9.4, 9.3, 9.2","RHEL 9.3, 9.2","RHEL 9.3, 9.2"
|
||||||
,RHEL 8.10,RHEL 8.10,RHEL 8.10,RHEL 8.10,"RHEL 8.10, 8.9","RHEL 8.10, 8.9","RHEL 8.10, 8.9","RHEL 8.10, 8.9","RHEL 8.9, 8.8","RHEL 8.9, 8.8","RHEL 8.9, 8.8","RHEL 8.9, 8.8","RHEL 8.9, 8.8"
|
,RHEL 8.10,RHEL 8.10,RHEL 8.10,RHEL 8.10,RHEL 8.10,"RHEL 8.10, 8.9","RHEL 8.10, 8.9","RHEL 8.10, 8.9","RHEL 8.10, 8.9","RHEL 8.9, 8.8","RHEL 8.9, 8.8","RHEL 8.9, 8.8","RHEL 8.9, 8.8","RHEL 8.9, 8.8","RHEL 8.9, 8.8"
|
||||||
,"SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP5, SP4","SLES 15 SP5, SP4","SLES 15 SP5, SP4","SLES 15 SP5, SP4","SLES 15 SP5, SP4"
|
,SLES 15 SP6,"SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP5, SP4","SLES 15 SP5, SP4","SLES 15 SP5, SP4","SLES 15 SP5, SP4","SLES 15 SP5, SP4","SLES 15 SP5, SP4"
|
||||||
,,,,,,,,,CentOS 7.9,CentOS 7.9,CentOS 7.9,CentOS 7.9,CentOS 7.9
|
,,,,,,,,,,,CentOS 7.9,CentOS 7.9,CentOS 7.9,CentOS 7.9,CentOS 7.9
|
||||||
,Oracle Linux 8.10 [#mi300x-past-60]_,Oracle Linux 8.10 [#mi300x-past-60]_,Oracle Linux 8.10 [#mi300x-past-60]_,Oracle Linux 8.10 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,,,
|
,"Oracle Linux 9, 8 [#mi300x-past-60]_",Oracle Linux 8.10 [#mi300x-past-60]_,Oracle Linux 8.10 [#mi300x-past-60]_,Oracle Linux 8.10 [#mi300x-past-60]_,Oracle Linux 8.10 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,Oracle Linux 8.9 [#mi300x-past-60]_,,,
|
||||||
,Debian 12 [#single-node-past-60]_,Debian 12 [#single-node-past-60]_,Debian 12 [#single-node-past-60]_,,,,,,,,,,
|
,Debian 12 [#single-node-past-60]_,Debian 12 [#single-node-past-60]_,Debian 12 [#single-node-past-60]_,Debian 12 [#single-node-past-60]_,,,,,,,,,,,
|
||||||
,Azure Linux 3.0 [#mi300x-past-60]_,Azure Linux 3.0 [#mi300x-past-60]_,,,,,,,,,,,
|
,Azure Linux 3.0 [#mi300x-past-60]_,Azure Linux 3.0 [#mi300x-past-60]_,Azure Linux 3.0 [#mi300x-past-60]_,,,,,,,,,,,,
|
||||||
,.. _architecture-support-compatibility-matrix-past-60:,,,,,,,,,,,,
|
,.. _architecture-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
:doc:`Architecture <rocm-install-on-linux:reference/system-requirements>`,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3
|
:doc:`Architecture <rocm-install-on-linux:reference/system-requirements>`,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3,CDNA3
|
||||||
,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2
|
,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2,CDNA2
|
||||||
,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA
|
,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA
|
||||||
,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3
|
,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3,RDNA3
|
||||||
,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2
|
,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2,RDNA2
|
||||||
,.. _gpu-support-compatibility-matrix-past-60:,,,,,,,,,,,,
|
,.. _gpu-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
:doc:`GPU / LLVM target <rocm-install-on-linux:reference/system-requirements>`,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100
|
:doc:`GPU / LLVM target <rocm-install-on-linux:reference/system-requirements>`,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100,gfx1100
|
||||||
,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030
|
,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030,gfx1030
|
||||||
,gfx942,gfx942,gfx942,gfx942,gfx942 [#mi300_624-past-60]_,gfx942 [#mi300_622-past-60]_,gfx942 [#mi300_621-past-60]_,gfx942 [#mi300_620-past-60]_, gfx942 [#mi300_612-past-60]_, gfx942 [#mi300_611-past-60]_, gfx942 [#mi300_610-past-60]_, gfx942 [#mi300_602-past-60]_, gfx942 [#mi300_600-past-60]_
|
,gfx942,gfx942,gfx942,gfx942,gfx942,gfx942 [#mi300_624-past-60]_,gfx942 [#mi300_622-past-60]_,gfx942 [#mi300_621-past-60]_,gfx942 [#mi300_620-past-60]_, gfx942 [#mi300_612-past-60]_, gfx942 [#mi300_612-past-60]_, gfx942 [#mi300_611-past-60]_, gfx942 [#mi300_610-past-60]_, gfx942 [#mi300_602-past-60]_, gfx942 [#mi300_600-past-60]_
|
||||||
,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a
|
,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a,gfx90a
|
||||||
,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908
|
,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908
|
||||||
,,,,,,,,,,,,,
|
,,,,,,,,,,,,,,,
|
||||||
FRAMEWORK SUPPORT,.. _framework-support-compatibility-matrix-past-60:,,,,,,,,,,,,
|
FRAMEWORK SUPPORT,.. _framework-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
:doc:`PyTorch <../compatibility/ml-compatibility/pytorch-compatibility>`,"2.4, 2.3, 2.2, 1.13","2.4, 2.3, 2.2, 1.13","2.4, 2.3, 2.2, 1.13","2.4, 2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13"
|
:doc:`PyTorch <../compatibility/ml-compatibility/pytorch-compatibility>`,"2.6, 2.5, 2.4, 2.3","2.4, 2.3, 2.2, 1.13","2.4, 2.3, 2.2, 1.13","2.4, 2.3, 2.2, 1.13","2.4, 2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13"
|
||||||
:doc:`TensorFlow <../compatibility/ml-compatibility/tensorflow-compatibility>`,"2.17.0, 2.16.2, 2.15.1","2.17.0, 2.16.2, 2.15.1","2.17.0, 2.16.2, 2.15.1","2.17.0, 2.16.2, 2.15.1","2.16.1, 2.15.1, 2.14.1","2.16.1, 2.15.1, 2.14.1","2.16.1, 2.15.1, 2.14.1","2.16.1, 2.15.1, 2.14.1","2.15.0, 2.14.0, 2.13.1","2.15.0, 2.14.0, 2.13.1","2.15.0, 2.14.0, 2.13.1","2.14.0, 2.13.1, 2.12.1","2.14.0, 2.13.1, 2.12.1"
|
:doc:`TensorFlow <../compatibility/ml-compatibility/tensorflow-compatibility>`,"2.18.1, 2.17.1, 2.16.2","2.17.0, 2.16.2, 2.15.1","2.17.0, 2.16.2, 2.15.1","2.17.0, 2.16.2, 2.15.1","2.17.0, 2.16.2, 2.15.1","2.16.1, 2.15.1, 2.14.1","2.16.1, 2.15.1, 2.14.1","2.16.1, 2.15.1, 2.14.1","2.16.1, 2.15.1, 2.14.1","2.15.0, 2.14.0, 2.13.1","2.15.0, 2.14.0, 2.13.1","2.15.0, 2.14.0, 2.13.1","2.15.0, 2.14.0, 2.13.1","2.14.0, 2.13.1, 2.12.1","2.14.0, 2.13.1, 2.12.1"
|
||||||
:doc:`JAX <../compatibility/ml-compatibility/jax-compatibility>`,0.4.31,0.4.31,0.4.31,0.4.31,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26
|
:doc:`JAX <../compatibility/ml-compatibility/jax-compatibility>`,0.4.35,0.4.31,0.4.31,0.4.31,0.4.31,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26
|
||||||
`ONNX Runtime <https://onnxruntime.ai/docs/build/eps.html#amd-migraphx>`_,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.14.1,1.14.1
|
`ONNX Runtime <https://onnxruntime.ai/docs/build/eps.html#amd-migraphx>`_,1.2,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.14.1,1.14.1
|
||||||
,,,,,,,,,,,,,
|
,,,,,,,,,,,,,,,
|
||||||
THIRD PARTY COMMS,.. _thirdpartycomms-support-compatibility-matrix-past-60:,,,,,,,,,,,,
|
THIRD PARTY COMMS,.. _thirdpartycomms-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
`UCC <https://github.com/ROCm/ucc>`_,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.2.0,>=1.2.0
|
`UCC <https://github.com/ROCm/ucc>`_,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.3.0,>=1.2.0,>=1.2.0
|
||||||
`UCX <https://github.com/ROCm/ucx>`_,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.14.1,>=1.14.1,>=1.14.1,>=1.14.1,>=1.14.1
|
`UCX <https://github.com/ROCm/ucx>`_,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.15.0,>=1.14.1,>=1.14.1,>=1.14.1,>=1.14.1,>=1.14.1,>=1.14.1
|
||||||
,,,,,,,,,,,,,
|
,,,,,,,,,,,,,,,
|
||||||
THIRD PARTY ALGORITHM,.. _thirdpartyalgorithm-support-compatibility-matrix-past-60:,,,,,,,,,,,,
|
THIRD PARTY ALGORITHM,.. _thirdpartyalgorithm-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
Thrust,2.3.2,2.3.2,2.3.2,2.3.2,2.2.0,2.2.0,2.2.0,2.2.0,2.1.0,2.1.0,2.1.0,2.0.1,2.0.1
|
Thrust,2.5.0,2.3.2,2.3.2,2.3.2,2.3.2,2.2.0,2.2.0,2.2.0,2.2.0,2.1.0,2.1.0,2.1.0,2.1.0,2.0.1,2.0.1
|
||||||
CUB,2.3.2,2.3.2,2.3.2,2.3.2,2.2.0,2.2.0,2.2.0,2.2.0,2.1.0,2.1.0,2.1.0,2.0.1,2.0.1
|
CUB,2.5.0,2.3.2,2.3.2,2.3.2,2.3.2,2.2.0,2.2.0,2.2.0,2.2.0,2.1.0,2.1.0,2.1.0,2.1.0,2.0.1,2.0.1
|
||||||
,,,,,,,,,,,,,
|
,,,,,,,,,,,,,,,
|
||||||
KMD & USER SPACE [#kfd_support-past-60]_,.. _kfd-userspace-support-compatibility-matrix-past-60:,,,,,,,,,,,,
|
KMD & USER SPACE [#kfd_support-past-60]_,.. _kfd-userspace-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
Tested user space versions,"6.3.x, 6.2.x, 6.1.x","6.3.x, 6.2.x, 6.1.x","6.3.x, 6.2.x, 6.1.x","6.3.x, 6.2.x, 6.1.x","6.3.x, 6.2.x, 6.1.x, 6.0.x","6.3.x, 6.2.x, 6.1.x, 6.0.x","6.3.x, 6.2.x, 6.1.x, 6.0.x","6.3.x, 6.2.x, 6.1.x, 6.0.x","6.3.x, 6.2.x, 6.1.x, 6.0.x, 5.7.x","6.3.x, 6.2.x, 6.1.x, 6.0.x, 5.7.x","6.3.x, 6.2.x, 6.1.x, 6.0.x, 5.7.x","6.2.x, 6.1.x, 6.0.x, 5.7.x, 5.6.x","6.2.x, 6.1.x, 6.0.x, 5.7.x, 5.6.x"
|
KMD versions,"6.4.x, 6.3.x","6.4.x, 6.3.x, 6.2.x, 6.1.x","6.4.x, 6.3.x, 6.2.x, 6.1.x","6.4.x, 6.3.x, 6.2.x, 6.1.x","6.4.x, 6.3.x, 6.2.x, 6.1.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x, 5.7.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x, 5.7.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x, 5.7.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x, 5.7.x","6.2.x, 6.1.x, 6.0.x, 5.7.x, 5.6.x","6.2.x, 6.1.x, 6.0.x, 5.7.x, 5.6.x"
|
||||||
,,,,,,,,,,,,,
|
,,,,,,,,,,,,,,,
|
||||||
ML & COMPUTER VISION,.. _mllibs-support-compatibility-matrix-past-60:,,,,,,,,,,,,
|
ML & COMPUTER VISION,.. _mllibs-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
:doc:`Composable Kernel <composable_kernel:index>`,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0
|
:doc:`Composable Kernel <composable_kernel:index>`,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0
|
||||||
:doc:`MIGraphX <amdmigraphx:index>`,2.11.0,2.11.0,2.11.0,2.11.0,2.10.0,2.10.0,2.10.0,2.10.0,2.9.0,2.9.0,2.9.0,2.8.0,2.8.0
|
:doc:`MIGraphX <amdmigraphx:index>`,2.12.0,2.11.0,2.11.0,2.11.0,2.11.0,2.10.0,2.10.0,2.10.0,2.10.0,2.9.0,2.9.0,2.9.0,2.9.0,2.8.0,2.8.0
|
||||||
:doc:`MIOpen <miopen:index>`,3.3.0,3.3.0,3.3.0,3.3.0,3.2.0,3.2.0,3.2.0,3.2.0,3.1.0,3.1.0,3.1.0,3.0.0,3.0.0
|
:doc:`MIOpen <miopen:index>`,3.4.0,3.3.0,3.3.0,3.3.0,3.3.0,3.2.0,3.2.0,3.2.0,3.2.0,3.1.0,3.1.0,3.1.0,3.1.0,3.0.0,3.0.0
|
||||||
:doc:`MIVisionX <mivisionx:index>`,3.1.0,3.1.0,3.1.0,3.1.0,3.0.0,3.0.0,3.0.0,3.0.0,2.5.0,2.5.0,2.5.0,2.5.0,2.5.0
|
:doc:`MIVisionX <mivisionx:index>`,3.2.0,3.1.0,3.1.0,3.1.0,3.1.0,3.0.0,3.0.0,3.0.0,3.0.0,2.5.0,2.5.0,2.5.0,2.5.0,2.5.0,2.5.0
|
||||||
:doc:`rocAL <rocal:index>`,2.1.0,2.1.0,2.1.0,2.1.0,2.0.0,2.0.0,2.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0
|
:doc:`rocAL <rocal:index>`,2.2.0,2.1.0,2.1.0,2.1.0,2.1.0,2.0.0,2.0.0,2.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0
|
||||||
:doc:`rocDecode <rocdecode:index>`,0.8.0,0.8.0,0.8.0,0.8.0,0.6.0,0.6.0,0.6.0,0.6.0,0.6.0,0.5.0,0.5.0,N/A,N/A
|
:doc:`rocDecode <rocdecode:index>`,0.10.0,0.8.0,0.8.0,0.8.0,0.8.0,0.6.0,0.6.0,0.6.0,0.6.0,0.6.0,0.6.0,0.5.0,0.5.0,N/A,N/A
|
||||||
:doc:`rocJPEG <rocjpeg:index>`,0.6.0,0.6.0,0.6.0,0.6.0,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A
|
:doc:`rocJPEG <rocjpeg:index>`,0.8.0,0.6.0,0.6.0,0.6.0,0.6.0,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A
|
||||||
:doc:`rocPyDecode <rocpydecode:index>`,0.2.0,0.2.0,0.2.0,0.2.0,0.1.0,0.1.0,0.1.0,0.1.0,N/A,N/A,N/A,N/A,N/A
|
:doc:`rocPyDecode <rocpydecode:index>`,0.3.1,0.2.0,0.2.0,0.2.0,0.2.0,0.1.0,0.1.0,0.1.0,0.1.0,N/A,N/A,N/A,N/A,N/A,N/A
|
||||||
:doc:`RPP <rpp:index>`,1.9.1,1.9.1,1.9.1,1.9.1,1.8.0,1.8.0,1.8.0,1.8.0,1.5.0,1.5.0,1.5.0,1.4.0,1.4.0
|
:doc:`RPP <rpp:index>`,1.9.10,1.9.1,1.9.1,1.9.1,1.9.1,1.8.0,1.8.0,1.8.0,1.8.0,1.5.0,1.5.0,1.5.0,1.5.0,1.4.0,1.4.0
|
||||||
,,,,,,,,,,,,,
|
,,,,,,,,,,,,,,,
|
||||||
COMMUNICATION,.. _commlibs-support-compatibility-matrix-past-60:,,,,,,,,,,,,
|
COMMUNICATION,.. _commlibs-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
:doc:`RCCL <rccl:index>`,2.21.5,2.21.5,2.21.5,2.21.5,2.20.5,2.20.5,2.20.5,2.20.5,2.18.6,2.18.6,2.18.6,2.18.3,2.18.3
|
:doc:`RCCL <rccl:index>`,2.22.3,2.21.5,2.21.5,2.21.5,2.21.5,2.20.5,2.20.5,2.20.5,2.20.5,2.18.6,2.18.6,2.18.6,2.18.6,2.18.3,2.18.3
|
||||||
,,,,,,,,,,,,,
|
`rocSHMEM <https://github.com/ROCm/rocSHMEM>`_,2.0.0,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A
|
||||||
MATH LIBS,.. _mathlibs-support-compatibility-matrix-past-60:,,,,,,,,,,,,
|
,,,,,,,,,,,,,,,
|
||||||
`half <https://github.com/ROCm/half>`_ ,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0
|
MATH LIBS,.. _mathlibs-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
:doc:`hipBLAS <hipblas:index>`,2.3.0,2.3.0,2.3.0,2.3.0,2.2.0,2.2.0,2.2.0,2.2.0,2.1.0,2.1.0,2.1.0,2.0.0,2.0.0
|
`half <https://github.com/ROCm/half>`_ ,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0,1.12.0
|
||||||
:doc:`hipBLASLt <hipblaslt:index>`,0.10.0,0.10.0,0.10.0,0.10.0,0.8.0,0.8.0,0.8.0,0.8.0,0.7.0,0.7.0,0.7.0,0.6.0,0.6.0
|
:doc:`hipBLAS <hipblas:index>`,2.4.0,2.3.0,2.3.0,2.3.0,2.3.0,2.2.0,2.2.0,2.2.0,2.2.0,2.1.0,2.1.0,2.1.0,2.1.0,2.0.0,2.0.0
|
||||||
:doc:`hipFFT <hipfft:index>`,1.0.17,1.0.17,1.0.17,1.0.17,1.0.16,1.0.15,1.0.15,1.0.14,1.0.14,1.0.14,1.0.14,1.0.13,1.0.13
|
:doc:`hipBLASLt <hipblaslt:index>`,0.12.0,0.10.0,0.10.0,0.10.0,0.10.0,0.8.0,0.8.0,0.8.0,0.8.0,0.7.0,0.7.0,0.7.0,0.7.0,0.6.0,0.6.0
|
||||||
:doc:`hipfort <hipfort:index>`,0.5.1,0.5.1,0.5.0,0.5.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0
|
:doc:`hipFFT <hipfft:index>`,1.0.18,1.0.17,1.0.17,1.0.17,1.0.17,1.0.16,1.0.15,1.0.15,1.0.14,1.0.14,1.0.14,1.0.14,1.0.14,1.0.13,1.0.13
|
||||||
:doc:`hipRAND <hiprand:index>`,2.11.1,2.11.1,2.11.1,2.11.0,2.11.1,2.11.0,2.11.0,2.11.0,2.10.16,2.10.16,2.10.16,2.10.16,2.10.16
|
:doc:`hipfort <hipfort:index>`,0.6.0,0.5.1,0.5.1,0.5.0,0.5.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0
|
||||||
:doc:`hipSOLVER <hipsolver:index>`,2.3.0,2.3.0,2.3.0,2.3.0,2.2.0,2.2.0,2.2.0,2.2.0,2.1.1,2.1.1,2.1.0,2.0.0,2.0.0
|
:doc:`hipRAND <hiprand:index>`,2.12.0,2.11.1,2.11.1,2.11.1,2.11.0,2.11.1,2.11.0,2.11.0,2.11.0,2.10.16,2.10.16,2.10.16,2.10.16,2.10.16,2.10.16
|
||||||
:doc:`hipSPARSE <hipsparse:index>`,3.1.2,3.1.2,3.1.2,3.1.2,3.1.1,3.1.1,3.1.1,3.1.1,3.0.1,3.0.1,3.0.1,3.0.0,3.0.0
|
:doc:`hipSOLVER <hipsolver:index>`,2.4.0,2.3.0,2.3.0,2.3.0,2.3.0,2.2.0,2.2.0,2.2.0,2.2.0,2.1.1,2.1.1,2.1.1,2.1.0,2.0.0,2.0.0
|
||||||
:doc:`hipSPARSELt <hipsparselt:index>`,0.2.2,0.2.2,0.2.2,0.2.2,0.2.1,0.2.1,0.2.1,0.2.1,0.2.0,0.1.0,0.1.0,0.1.0,0.1.0
|
:doc:`hipSPARSE <hipsparse:index>`,3.2.0,3.1.2,3.1.2,3.1.2,3.1.2,3.1.1,3.1.1,3.1.1,3.1.1,3.0.1,3.0.1,3.0.1,3.0.1,3.0.0,3.0.0
|
||||||
:doc:`rocALUTION <rocalution:index>`,3.2.1,3.2.1,3.2.1,3.2.1,3.2.1,3.2.0,3.2.0,3.2.0,3.1.1,3.1.1,3.1.1,3.0.3,3.0.3
|
:doc:`hipSPARSELt <hipsparselt:index>`,0.2.3,0.2.2,0.2.2,0.2.2,0.2.2,0.2.1,0.2.1,0.2.1,0.2.1,0.2.0,0.2.0,0.1.0,0.1.0,0.1.0,0.1.0
|
||||||
:doc:`rocBLAS <rocblas:index>`,4.3.0,4.3.0,4.3.0,4.3.0,4.2.4,4.2.1,4.2.1,4.2.0,4.1.2,4.1.0,4.1.0,4.0.0,4.0.0
|
:doc:`rocALUTION <rocalution:index>`,3.2.2,3.2.1,3.2.1,3.2.1,3.2.1,3.2.1,3.2.0,3.2.0,3.2.0,3.1.1,3.1.1,3.1.1,3.1.1,3.0.3,3.0.3
|
||||||
:doc:`rocFFT <rocfft:index>`,1.0.31,1.0.31,1.0.31,1.0.31,1.0.30,1.0.29,1.0.29,1.0.28,1.0.27,1.0.27,1.0.26,1.0.25,1.0.23
|
:doc:`rocBLAS <rocblas:index>`,4.4.0,4.3.0,4.3.0,4.3.0,4.3.0,4.2.4,4.2.1,4.2.1,4.2.0,4.1.2,4.1.2,4.1.0,4.1.0,4.0.0,4.0.0
|
||||||
:doc:`rocRAND <rocrand:index>`,3.2.0,3.2.0,3.2.0,3.2.0,3.1.1,3.1.0,3.1.0,3.1.0,3.0.1,3.0.1,3.0.1,3.0.0,2.10.17
|
:doc:`rocFFT <rocfft:index>`,1.0.32,1.0.31,1.0.31,1.0.31,1.0.31,1.0.30,1.0.29,1.0.29,1.0.28,1.0.27,1.0.27,1.0.27,1.0.26,1.0.25,1.0.23
|
||||||
:doc:`rocSOLVER <rocsolver:index>`,3.27.0,3.27.0,3.27.0,3.27.0,3.26.2,3.26.0,3.26.0,3.26.0,3.25.0,3.25.0,3.25.0,3.24.0,3.24.0
|
:doc:`rocRAND <rocrand:index>`,3.3.0,3.2.0,3.2.0,3.2.0,3.2.0,3.1.1,3.1.0,3.1.0,3.1.0,3.0.1,3.0.1,3.0.1,3.0.1,3.0.0,2.10.17
|
||||||
:doc:`rocSPARSE <rocsparse:index>`,3.3.0,3.3.0,3.3.0,3.3.0,3.2.1,3.2.0,3.2.0,3.2.0,3.1.2,3.1.2,3.1.2,3.0.2,3.0.2
|
:doc:`rocSOLVER <rocsolver:index>`,3.28.0,3.27.0,3.27.0,3.27.0,3.27.0,3.26.2,3.26.0,3.26.0,3.26.0,3.25.0,3.25.0,3.25.0,3.25.0,3.24.0,3.24.0
|
||||||
:doc:`rocWMMA <rocwmma:index>`,1.6.0,1.6.0,1.6.0,1.6.0,1.5.0,1.5.0,1.5.0,1.5.0,1.4.0,1.4.0,1.4.0,1.3.0,1.3.0
|
:doc:`rocSPARSE <rocsparse:index>`,3.4.0,3.3.0,3.3.0,3.3.0,3.3.0,3.2.1,3.2.0,3.2.0,3.2.0,3.1.2,3.1.2,3.1.2,3.1.2,3.0.2,3.0.2
|
||||||
:doc:`Tensile <tensile:src/index>`,4.42.0,4.42.0,4.42.0,4.42.0,4.41.0,4.41.0,4.41.0,4.41.0,4.40.0,4.40.0,4.40.0,4.39.0,4.39.0
|
:doc:`rocWMMA <rocwmma:index>`,1.7.0,1.6.0,1.6.0,1.6.0,1.6.0,1.5.0,1.5.0,1.5.0,1.5.0,1.4.0,1.4.0,1.4.0,1.4.0,1.3.0,1.3.0
|
||||||
,,,,,,,,,,,,,
|
:doc:`Tensile <tensile:src/index>`,4.43.0,4.42.0,4.42.0,4.42.0,4.42.0,4.41.0,4.41.0,4.41.0,4.41.0,4.40.0,4.40.0,4.40.0,4.40.0,4.39.0,4.39.0
|
||||||
PRIMITIVES,.. _primitivelibs-support-compatibility-matrix-past-60:,,,,,,,,,,,,
|
,,,,,,,,,,,,,,,
|
||||||
:doc:`hipCUB <hipcub:index>`,3.3.0,3.3.0,3.3.0,3.3.0,3.2.1,3.2.0,3.2.0,3.2.0,3.1.0,3.1.0,3.1.0,3.0.0,3.0.0
|
PRIMITIVES,.. _primitivelibs-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
:doc:`hipTensor <hiptensor:index>`,1.4.0,1.4.0,1.4.0,1.4.0,1.3.0,1.3.0,1.3.0,1.3.0,1.2.0,1.2.0,1.2.0,1.1.0,1.1.0
|
:doc:`hipCUB <hipcub:index>`,3.4.0,3.3.0,3.3.0,3.3.0,3.3.0,3.2.1,3.2.0,3.2.0,3.2.0,3.1.0,3.1.0,3.1.0,3.1.0,3.0.0,3.0.0
|
||||||
:doc:`rocPRIM <rocprim:index>`,3.3.0,3.3.0,3.3.0,3.3.0,3.2.2,3.2.0,3.2.0,3.2.0,3.1.0,3.1.0,3.1.0,3.0.0,3.0.0
|
:doc:`hipTensor <hiptensor:index>`,1.5.0,1.4.0,1.4.0,1.4.0,1.4.0,1.3.0,1.3.0,1.3.0,1.3.0,1.2.0,1.2.0,1.2.0,1.2.0,1.1.0,1.1.0
|
||||||
:doc:`rocThrust <rocthrust:index>`,3.3.0,3.3.0,3.3.0,3.3.0,3.1.1,3.1.0,3.1.0,3.0.1,3.0.1,3.0.1,3.0.1,3.0.0,3.0.0
|
:doc:`rocPRIM <rocprim:index>`,3.4.0,3.3.0,3.3.0,3.3.0,3.3.0,3.2.2,3.2.0,3.2.0,3.2.0,3.1.0,3.1.0,3.1.0,3.1.0,3.0.0,3.0.0
|
||||||
,,,,,,,,,,,,,
|
:doc:`rocThrust <rocthrust:index>`,3.3.0,3.3.0,3.3.0,3.3.0,3.3.0,3.1.1,3.1.0,3.1.0,3.0.1,3.0.1,3.0.1,3.0.1,3.0.1,3.0.0,3.0.0
|
||||||
SUPPORT LIBS,,,,,,,,,,,,,
|
,,,,,,,,,,,,,,,
|
||||||
`hipother <https://github.com/ROCm/hipother>`_,6.3.42134,6.3.42134,6.3.42133,6.3.42131,6.2.41134,6.2.41134,6.2.41134,6.2.41133,6.1.40093,6.1.40092,6.1.40091,6.1.32831,6.1.32830
|
SUPPORT LIBS,,,,,,,,,,,,,,,
|
||||||
`rocm-core <https://github.com/ROCm/rocm-core>`_,6.3.3,6.3.2,6.3.1,6.3.0,6.2.4,6.2.2,6.2.1,6.2.0,6.1.2,6.1.1,6.1.0,6.0.2,6.0.0
|
`hipother <https://github.com/ROCm/hipother>`_,6.4.43482,6.3.42134,6.3.42134,6.3.42133,6.3.42131,6.2.41134,6.2.41134,6.2.41134,6.2.41133,6.1.40093,6.1.40093,6.1.40092,6.1.40091,6.1.32831,6.1.32830
|
||||||
`ROCT-Thunk-Interface <https://github.com/ROCm/ROCT-Thunk-Interface>`_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,20240607.5.7,20240607.5.7,20240607.4.05,20240607.1.4246,20240125.5.08,20240125.5.08,20240125.3.30,20231016.2.245,20231016.2.245
|
`rocm-core <https://github.com/ROCm/rocm-core>`_,6.4.0,6.3.3,6.3.2,6.3.1,6.3.0,6.2.4,6.2.2,6.2.1,6.2.0,6.1.5,6.1.2,6.1.1,6.1.0,6.0.2,6.0.0
|
||||||
,,,,,,,,,,,,,
|
`ROCT-Thunk-Interface <https://github.com/ROCm/ROCT-Thunk-Interface>`_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,N/A [#ROCT-rocr-past-60]_,20240607.5.7,20240607.5.7,20240607.4.05,20240607.1.4246,20240125.5.08,20240125.5.08,20240125.5.08,20240125.3.30,20231016.2.245,20231016.2.245
|
||||||
SYSTEM MGMT TOOLS,.. _tools-support-compatibility-matrix-past-60:,,,,,,,,,,,,
|
,,,,,,,,,,,,,,,
|
||||||
:doc:`AMD SMI <amdsmi:index>`,24.7.1,24.7.1,24.7.1,24.7.1,24.6.3,24.6.3,24.6.3,24.6.2,24.5.1,24.5.1,24.4.1,23.4.2,23.4.2
|
SYSTEM MGMT TOOLS,.. _tools-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
:doc:`ROCm Data Center Tool <rdc:index>`,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0
|
:doc:`AMD SMI <amdsmi:index>`,25.3.0,24.7.1,24.7.1,24.7.1,24.7.1,24.6.3,24.6.3,24.6.3,24.6.2,24.5.1,24.5.1,24.5.1,24.4.1,23.4.2,23.4.2
|
||||||
:doc:`rocminfo <rocminfo:index>`,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0
|
:doc:`ROCm Data Center Tool <rdc:index>`,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0,0.3.0
|
||||||
:doc:`ROCm SMI <rocm_smi_lib:index>`,7.4.0,7.4.0,7.4.0,7.4.0,7.3.0,7.3.0,7.3.0,7.3.0,7.2.0,7.0.0,7.0.0,6.0.2,6.0.0
|
:doc:`rocminfo <rocminfo:index>`,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0
|
||||||
:doc:`ROCm Validation Suite <rocmvalidationsuite:index>`,1.1.0,1.1.0,1.1.0,1.1.0,1.0.60204,1.0.60202,1.0.60201,1.0.60200,1.0.60102,1.0.60101,1.0.60100,1.0.60002,1.0.60000
|
:doc:`ROCm SMI <rocm_smi_lib:index>`,7.5.0,7.4.0,7.4.0,7.4.0,7.4.0,7.3.0,7.3.0,7.3.0,7.3.0,7.2.0,7.2.0,7.0.0,7.0.0,6.0.2,6.0.0
|
||||||
,,,,,,,,,,,,,
|
:doc:`ROCm Validation Suite <rocmvalidationsuite:index>`,1.1.0,1.1.0,1.1.0,1.1.0,1.1.0,1.0.60204,1.0.60202,1.0.60201,1.0.60200,1.0.60105,1.0.60102,1.0.60101,1.0.60100,1.0.60002,1.0.60000
|
||||||
PERFORMANCE TOOLS,,,,,,,,,,,,,
|
,,,,,,,,,,,,,,,
|
||||||
:doc:`ROCm Bandwidth Test <rocm_bandwidth_test:index>`,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0
|
PERFORMANCE TOOLS,,,,,,,,,,,,,,,
|
||||||
:doc:`ROCm Compute Profiler <rocprofiler-compute:index>`,3.0.0,3.0.0,3.0.0,3.0.0,2.0.1,2.0.1,2.0.1,2.0.1,N/A,N/A,N/A,N/A,N/A
|
:doc:`ROCm Bandwidth Test <rocm_bandwidth_test:index>`,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0,1.4.0
|
||||||
:doc:`ROCm Systems Profiler <rocprofiler-systems:index>`,0.1.2,0.1.1,0.1.0,0.1.0,1.11.2,1.11.2,1.11.2,1.11.2,N/A,N/A,N/A,N/A,N/A
|
:doc:`ROCm Compute Profiler <rocprofiler-compute:index>`,3.1.0,3.0.0,3.0.0,3.0.0,3.0.0,2.0.1,2.0.1,2.0.1,2.0.1,N/A,N/A,N/A,N/A,N/A,N/A
|
||||||
:doc:`ROCProfiler <rocprofiler:index>`,2.0.60303,2.0.60302,2.0.60301,2.0.60300,2.0.60204,2.0.60202,2.0.60201,2.0.60200,2.0.60102,2.0.60101,2.0.60100,2.0.60002,2.0.60000
|
:doc:`ROCm Systems Profiler <rocprofiler-systems:index>`,1.0.0,0.1.2,0.1.1,0.1.0,0.1.0,1.11.2,1.11.2,1.11.2,1.11.2,N/A,N/A,N/A,N/A,N/A,N/A
|
||||||
:doc:`ROCprofiler-SDK <rocprofiler-sdk:index>`,0.5.0,0.5.0,0.5.0,0.5.0,0.4.0,0.4.0,0.4.0,0.4.0,N/A,N/A,N/A,N/A,N/A
|
:doc:`ROCProfiler <rocprofiler:index>`,2.0.60400,2.0.60303,2.0.60302,2.0.60301,2.0.60300,2.0.60204,2.0.60202,2.0.60201,2.0.60200,2.0.60105,2.0.60102,2.0.60101,2.0.60100,2.0.60002,2.0.60000
|
||||||
:doc:`ROCTracer <roctracer:index>`,4.1.60303,4.1.60302,4.1.60301,4.1.60300,4.1.60204,4.1.60202,4.1.60201,4.1.60200,4.1.60102,4.1.60101,4.1.60100,4.1.60002,4.1.60000
|
:doc:`ROCprofiler-SDK <rocprofiler-sdk:index>`,0.6.0,0.5.0,0.5.0,0.5.0,0.5.0,0.4.0,0.4.0,0.4.0,0.4.0,N/A,N/A,N/A,N/A,N/A,N/A
|
||||||
,,,,,,,,,,,,,
|
:doc:`ROCTracer <roctracer:index>`,4.1.60400,4.1.60303,4.1.60302,4.1.60301,4.1.60300,4.1.60204,4.1.60202,4.1.60201,4.1.60200,4.1.60105,4.1.60102,4.1.60101,4.1.60100,4.1.60002,4.1.60000
|
||||||
DEVELOPMENT TOOLS,,,,,,,,,,,,,
|
,,,,,,,,,,,,,,,
|
||||||
:doc:`HIPIFY <hipify:index>`,18.0.0.25012,18.0.0.25012,18.0.0.24491,18.0.0.24455,18.0.0.24392,18.0.0.24355,18.0.0.24355,18.0.0.24232,17.0.0.24193,17.0.0.24154,17.0.0.24103,17.0.0.24012,17.0.0.23483
|
DEVELOPMENT TOOLS,,,,,,,,,,,,,,,
|
||||||
:doc:`ROCm CMake <rocmcmakebuildtools:index>`,0.14.0,0.14.0,0.14.0,0.14.0,0.13.0,0.13.0,0.13.0,0.13.0,0.12.0,0.12.0,0.12.0,0.11.0,0.11.0
|
:doc:`HIPIFY <hipify:index>`,19.0.0.25104,18.0.0.25012,18.0.0.25012,18.0.0.24491,18.0.0.24455,18.0.0.24392,18.0.0.24355,18.0.0.24355,18.0.0.24232,17.0.0.24193,17.0.0.24193,17.0.0.24154,17.0.0.24103,17.0.0.24012,17.0.0.23483
|
||||||
:doc:`ROCdbgapi <rocdbgapi:index>`,0.77.0,0.77.0,0.77.0,0.77.0,0.76.0,0.76.0,0.76.0,0.76.0,0.71.0,0.71.0,0.71.0,0.71.0,0.71.0
|
:doc:`ROCm CMake <rocmcmakebuildtools:index>`,0.14.0,0.14.0,0.14.0,0.14.0,0.14.0,0.13.0,0.13.0,0.13.0,0.13.0,0.12.0,0.12.0,0.12.0,0.12.0,0.11.0,0.11.0
|
||||||
:doc:`ROCm Debugger (ROCgdb) <rocgdb:index>`,15.2.0,15.2.0,15.2.0,15.2.0,14.2.0,14.2.0,14.2.0,14.2.0,14.1.0,14.1.0,14.1.0,13.2.0,13.2.0
|
:doc:`ROCdbgapi <rocdbgapi:index>`,0.77.2,0.77.0,0.77.0,0.77.0,0.77.0,0.76.0,0.76.0,0.76.0,0.76.0,0.71.0,0.71.0,0.71.0,0.71.0,0.71.0,0.71.0
|
||||||
`rocprofiler-register <https://github.com/ROCm/rocprofiler-register>`_,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.3.0,0.3.0,0.3.0,N/A,N/A
|
:doc:`ROCm Debugger (ROCgdb) <rocgdb:index>`,15.2.0,15.2.0,15.2.0,15.2.0,15.2.0,14.2.0,14.2.0,14.2.0,14.2.0,14.1.0,14.1.0,14.1.0,14.1.0,13.2.0,13.2.0
|
||||||
:doc:`ROCr Debug Agent <rocr_debug_agent:index>`,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3
|
`rocprofiler-register <https://github.com/ROCm/rocprofiler-register>`_,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.4.0,0.3.0,0.3.0,0.3.0,0.3.0,N/A,N/A
|
||||||
,,,,,,,,,,,,,
|
:doc:`ROCr Debug Agent <rocr_debug_agent:index>`,2.0.4,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3,2.0.3
|
||||||
COMPILERS,.. _compilers-support-compatibility-matrix-past-60:,,,,,,,,,,,,
|
,,,,,,,,,,,,,,,
|
||||||
`clang-ocl <https://github.com/ROCm/clang-ocl>`_,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,0.5.0,0.5.0,0.5.0,0.5.0,0.5.0
|
COMPILERS,.. _compilers-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
:doc:`hipCC <hipcc:index>`,1.1.1,1.1.1,1.1.1,1.1.1,1.1.1,1.1.1,1.1.1,1.1.1,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0
|
`clang-ocl <https://github.com/ROCm/clang-ocl>`_,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,0.5.0,0.5.0,0.5.0,0.5.0,0.5.0,0.5.0
|
||||||
`Flang <https://github.com/ROCm/flang>`_,18.0.0.25012,18.0.0.25012,18.0.0.24491,18.0.0.24455,18.0.0.24392,18.0.0.24355,18.0.0.24355,18.0.0.24232,17.0.0.24193,17.0.0.24154,17.0.0.24103,17.0.0.24012,17.0.0.23483
|
:doc:`hipCC <hipcc:index>`,1.1.1,1.1.1,1.1.1,1.1.1,1.1.1,1.1.1,1.1.1,1.1.1,1.1.1,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0
|
||||||
:doc:`llvm-project <llvm-project:index>`,18.0.0.25012,18.0.0.25012,18.0.0.24491,18.0.0.24491,18.0.0.24392,18.0.0.24355,18.0.0.24355,18.0.0.24232,17.0.0.24193,17.0.0.24154,17.0.0.24103,17.0.0.24012,17.0.0.23483
|
`Flang <https://github.com/ROCm/flang>`_,19.0.0.25133,18.0.0.25012,18.0.0.25012,18.0.0.24491,18.0.0.24455,18.0.0.24392,18.0.0.24355,18.0.0.24355,18.0.0.24232,17.0.0.24193,17.0.0.24193,17.0.0.24154,17.0.0.24103,17.0.0.24012,17.0.0.23483
|
||||||
`OpenMP <https://github.com/ROCm/llvm-project/tree/amd-staging/openmp>`_,18.0.0.25012,18.0.0.25012,18.0.0.24491,18.0.0.24491,18.0.0.24392,18.0.0.24355,18.0.0.24355,18.0.0.24232,17.0.0.24193,17.0.0.24154,17.0.0.24103,17.0.0.24012,17.0.0.23483
|
:doc:`llvm-project <llvm-project:index>`,19.0.0.25133,18.0.0.25012,18.0.0.25012,18.0.0.24491,18.0.0.24491,18.0.0.24392,18.0.0.24355,18.0.0.24355,18.0.0.24232,17.0.0.24193,17.0.0.24193,17.0.0.24154,17.0.0.24103,17.0.0.24012,17.0.0.23483
|
||||||
,,,,,,,,,,,,,
|
`OpenMP <https://github.com/ROCm/llvm-project/tree/amd-staging/openmp>`_,19.0.0.25133,18.0.0.25012,18.0.0.25012,18.0.0.24491,18.0.0.24491,18.0.0.24392,18.0.0.24355,18.0.0.24355,18.0.0.24232,17.0.0.24193,17.0.0.24193,17.0.0.24154,17.0.0.24103,17.0.0.24012,17.0.0.23483
|
||||||
RUNTIMES,.. _runtime-support-compatibility-matrix-past-60:,,,,,,,,,,,,
|
,,,,,,,,,,,,,,,
|
||||||
:doc:`AMD CLR <hip:understand/amd_clr>`,6.3.42134,6.3.42134,6.3.42133,6.3.42131,6.2.41134,6.2.41134,6.2.41134,6.2.41133,6.1.40093,6.1.40092,6.1.40091,6.1.32831,6.1.32830
|
RUNTIMES,.. _runtime-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,
|
||||||
:doc:`HIP <hip:index>`,6.3.42134,6.3.42134,6.3.42133,6.3.42131,6.2.41134,6.2.41134,6.2.41134,6.2.41133,6.1.40093,6.1.40092,6.1.40091,6.1.32831,6.1.32830
|
:doc:`AMD CLR <hip:understand/amd_clr>`,6.4.43482,6.3.42134,6.3.42134,6.3.42133,6.3.42131,6.2.41134,6.2.41134,6.2.41134,6.2.41133,6.1.40093,6.1.40093,6.1.40092,6.1.40091,6.1.32831,6.1.32830
|
||||||
`OpenCL Runtime <https://github.com/ROCm/clr/tree/develop/opencl>`_,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0
|
:doc:`HIP <hip:index>`,6.4.43482,6.3.42134,6.3.42134,6.3.42133,6.3.42131,6.2.41134,6.2.41134,6.2.41134,6.2.41133,6.1.40093,6.1.40093,6.1.40092,6.1.40091,6.1.32831,6.1.32830
|
||||||
:doc:`ROCr Runtime <rocr-runtime:index>`,1.14.0,1.14.0,1.14.0,1.14.0,1.14.0,1.14.0,1.14.0,1.13.0,1.13.0,1.13.0,1.13.0,1.12.0,1.12.0
|
`OpenCL Runtime <https://github.com/ROCm/clr/tree/develop/opencl>`_,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0,2.0.0
|
||||||
|
:doc:`ROCr Runtime <rocr-runtime:index>`,1.15.0,1.14.0,1.14.0,1.14.0,1.14.0,1.14.0,1.14.0,1.14.0,1.13.0,1.13.0,1.13.0,1.13.0,1.13.0,1.12.0,1.12.0
|
||||||
|
|||||||
|
@@ -23,15 +23,15 @@ compatibility and system requirements.
|
|||||||
.. container:: format-big-table
|
.. container:: format-big-table
|
||||||
|
|
||||||
.. csv-table::
|
.. csv-table::
|
||||||
:header: "ROCm Version", "6.3.3", "6.3.2", "6.2.0"
|
:header: "ROCm Version", "6.4.0", "6.3.3", "6.2.0"
|
||||||
:stub-columns: 1
|
:stub-columns: 1
|
||||||
|
|
||||||
:ref:`Operating systems & kernels <OS-kernel-versions>`,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04
|
:ref:`Operating systems & kernels <OS-kernel-versions>`,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04
|
||||||
,Ubuntu 22.04.5,Ubuntu 22.04.5,"Ubuntu 22.04.5, 22.04.4"
|
,Ubuntu 22.04.5,Ubuntu 22.04.5,"Ubuntu 22.04.5, 22.04.4"
|
||||||
,"RHEL 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.4, 9.3"
|
,"RHEL 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.4, 9.3"
|
||||||
,RHEL 8.10,RHEL 8.10,"RHEL 8.10, 8.9"
|
,RHEL 8.10,RHEL 8.10,"RHEL 8.10, 8.9"
|
||||||
,"SLES 15 SP6, SP5","SLES 15 SP6, SP5","SLES 15 SP6, SP5"
|
,"SLES 15 SP6","SLES 15 SP6, SP5","SLES 15 SP6, SP5"
|
||||||
,Oracle Linux 8.10 [#mi300x]_,Oracle Linux 8.10 [#mi300x]_,Oracle Linux 8.9 [#mi300x]_
|
,"Oracle Linux 9, 8 [#mi300x]_",Oracle Linux 8.10 [#mi300x]_,Oracle Linux 8.9 [#mi300x]_
|
||||||
,Debian 12 [#single-node]_,Debian 12 [#single-node]_,
|
,Debian 12 [#single-node]_,Debian 12 [#single-node]_,
|
||||||
,Azure Linux 3.0 [#mi300x]_,Azure Linux 3.0 [#mi300x]_,
|
,Azure Linux 3.0 [#mi300x]_,Azure Linux 3.0 [#mi300x]_,
|
||||||
,.. _architecture-support-compatibility-matrix:,,
|
,.. _architecture-support-compatibility-matrix:,,
|
||||||
@@ -48,103 +48,102 @@ compatibility and system requirements.
|
|||||||
,gfx908,gfx908,gfx908
|
,gfx908,gfx908,gfx908
|
||||||
,,,
|
,,,
|
||||||
FRAMEWORK SUPPORT,.. _framework-support-compatibility-matrix:,,
|
FRAMEWORK SUPPORT,.. _framework-support-compatibility-matrix:,,
|
||||||
:doc:`PyTorch <../compatibility/ml-compatibility/pytorch-compatibility>`,"2.4, 2.3, 2.2, 1.13","2.4, 2.3, 2.2, 1.13","2.3, 2.2, 2.1, 2.0, 1.13"
|
:doc:`PyTorch <../compatibility/ml-compatibility/pytorch-compatibility>`,"2.6, 2.5, 2.4, 2.3","2.4, 2.3, 2.2, 1.13","2.3, 2.2, 2.1, 2.0, 1.13"
|
||||||
:doc:`TensorFlow <../compatibility/ml-compatibility/tensorflow-compatibility>`,"2.17.0, 2.16.2, 2.15.1","2.17.0, 2.16.2, 2.15.1","2.16.1, 2.15.1, 2.14.1"
|
:doc:`TensorFlow <../compatibility/ml-compatibility/tensorflow-compatibility>`,"2.18.1, 2.17.1, 2.16.2","2.17.0, 2.16.2, 2.15.1","2.16.1, 2.15.1, 2.14.1"
|
||||||
:doc:`JAX <../compatibility/ml-compatibility/jax-compatibility>`,0.4.31,0.4.31,0.4.26
|
:doc:`JAX <../compatibility/ml-compatibility/jax-compatibility>`,0.4.35,0.4.31,0.4.26
|
||||||
`ONNX Runtime <https://onnxruntime.ai/docs/build/eps.html#amd-migraphx>`_,1.17.3,1.17.3,1.17.3
|
`ONNX Runtime <https://onnxruntime.ai/docs/build/eps.html#amd-migraphx>`_,1.20,1.17.3,1.17.3
|
||||||
,,,
|
,,,
|
||||||
THIRD PARTY COMMS,.. _thirdpartycomms-support-compatibility-matrix:,,
|
THIRD PARTY COMMS,.. _thirdpartycomms-support-compatibility-matrix:,,
|
||||||
`UCC <https://github.com/ROCm/ucc>`_,>=1.3.0,>=1.3.0,>=1.3.0
|
`UCC <https://github.com/ROCm/ucc>`_,>=1.3.0,>=1.3.0,>=1.3.0
|
||||||
`UCX <https://github.com/ROCm/ucx>`_,>=1.15.0,>=1.15.0,>=1.15.0
|
`UCX <https://github.com/ROCm/ucx>`_,>=1.15.0,>=1.15.0,>=1.15.0
|
||||||
,,,
|
,,,
|
||||||
THIRD PARTY ALGORITHM,.. _thirdpartyalgorithm-support-compatibility-matrix:,,
|
THIRD PARTY ALGORITHM,.. _thirdpartyalgorithm-support-compatibility-matrix:,,
|
||||||
Thrust,2.3.2,2.3.2,2.2.0
|
Thrust,2.5.0,2.3.2,2.2.0
|
||||||
CUB,2.3.2,2.3.2,2.2.0
|
CUB,2.5.0,2.3.2,2.2.0
|
||||||
,,,
|
,,,
|
||||||
KMD & USER SPACE [#kfd_support]_,.. _kfd-userspace-support-compatibility-matrix:,,
|
KMD & USER SPACE [#kfd_support]_,.. _kfd-userspace-support-compatibility-matrix:,,
|
||||||
Tested user space versions,"6.3.x, 6.2.x, 6.1.x","6.3.x, 6.2.x, 6.1.x","6.3.x, 6.2.x, 6.1.x, 6.0.x"
|
KMD versions,"6.4.x, 6.3.x","6.4.x, 6.3.x, 6.2.x, 6.1.x","6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x"
|
||||||
,,,
|
,,,
|
||||||
ML & COMPUTER VISION,.. _mllibs-support-compatibility-matrix:,,
|
ML & COMPUTER VISION,.. _mllibs-support-compatibility-matrix:,,
|
||||||
:doc:`Composable Kernel <composable_kernel:index>`,1.1.0,1.1.0,1.1.0
|
:doc:`Composable Kernel <composable_kernel:index>`,1.1.0,1.1.0,1.1.0
|
||||||
:doc:`MIGraphX <amdmigraphx:index>`,2.11.0,2.11.0,2.10.0
|
:doc:`MIGraphX <amdmigraphx:index>`,2.12.0,2.11.0,2.10.0
|
||||||
:doc:`MIOpen <miopen:index>`,3.3.0,3.3.0,3.2.0
|
:doc:`MIOpen <miopen:index>`,3.4.0,3.3.0,3.2.0
|
||||||
:doc:`MIVisionX <mivisionx:index>`,3.1.0,3.1.0,3.0.0
|
:doc:`MIVisionX <mivisionx:index>`,3.2.0,3.1.0,3.0.0
|
||||||
:doc:`rocAL <rocal:index>`,2.1.0,2.1.0,1.0.0
|
:doc:`rocAL <rocal:index>`,2.2.0,2.1.0,1.0.0
|
||||||
:doc:`rocDecode <rocdecode:index>`,0.8.0,0.8.0,0.6.0
|
:doc:`rocDecode <rocdecode:index>`,0.10.0,0.8.0,0.6.0
|
||||||
:doc:`rocJPEG <rocjpeg:index>`,0.6.0,0.6.0,N/A
|
:doc:`rocJPEG <rocjpeg:index>`,0.8.0,0.6.0,N/A
|
||||||
:doc:`rocPyDecode <rocpydecode:index>`,0.2.0,0.2.0,0.1.0
|
:doc:`rocPyDecode <rocpydecode:index>`,0.3.1,0.2.0,0.1.0
|
||||||
:doc:`RPP <rpp:index>`,1.9.1,1.9.1,1.8.0
|
:doc:`RPP <rpp:index>`,1.9.10,1.9.1,1.8.0
|
||||||
,,,
|
,,,
|
||||||
COMMUNICATION,.. _commlibs-support-compatibility-matrix:,,
|
COMMUNICATION,.. _commlibs-support-compatibility-matrix:,,
|
||||||
:doc:`RCCL <rccl:index>`,2.21.5,2.21.5,2.20.5
|
:doc:`RCCL <rccl:index>`,2.22.3,2.21.5,2.20.5
|
||||||
|
`rocSHMEM <https://github.com/ROCm/rocSHMEM>`_ ,2.0.0,N/A,N/A
|
||||||
,,,
|
,,,
|
||||||
MATH LIBS,.. _mathlibs-support-compatibility-matrix:,,
|
MATH LIBS,.. _mathlibs-support-compatibility-matrix:,,
|
||||||
`half <https://github.com/ROCm/half>`_ ,1.12.0,1.12.0,1.12.0
|
`half <https://github.com/ROCm/half>`_ ,1.12.0,1.12.0,1.12.0
|
||||||
:doc:`hipBLAS <hipblas:index>`,2.3.0,2.3.0,2.2.0
|
:doc:`hipBLAS <hipblas:index>`,2.4.0,2.3.0,2.2.0
|
||||||
:doc:`hipBLASLt <hipblaslt:index>`,0.10.0,0.10.0,0.8.0
|
:doc:`hipBLASLt <hipblaslt:index>`,0.12.0,0.10.0,0.8.0
|
||||||
:doc:`hipFFT <hipfft:index>`,1.0.17,1.0.17,1.0.14
|
:doc:`hipFFT <hipfft:index>`,1.0.18,1.0.17,1.0.14
|
||||||
:doc:`hipfort <hipfort:index>`,0.5.1,0.5.1,0.4.0
|
:doc:`hipfort <hipfort:index>`,0.6.0,0.5.1,0.4.0
|
||||||
:doc:`hipRAND <hiprand:index>`,2.11.1,2.11.1,2.11.0
|
:doc:`hipRAND <hiprand:index>`,2.12.0,2.11.1,2.11.0
|
||||||
:doc:`hipSOLVER <hipsolver:index>`,2.3.0,2.3.0,2.2.0
|
:doc:`hipSOLVER <hipsolver:index>`,2.4.0,2.3.0,2.2.0
|
||||||
:doc:`hipSPARSE <hipsparse:index>`,3.1.2,3.1.2,3.1.1
|
:doc:`hipSPARSE <hipsparse:index>`,3.2.0,3.1.2,3.1.1
|
||||||
:doc:`hipSPARSELt <hipsparselt:index>`,0.2.2,0.2.2,0.2.1
|
:doc:`hipSPARSELt <hipsparselt:index>`,0.2.3,0.2.2,0.2.1
|
||||||
:doc:`rocALUTION <rocalution:index>`,3.2.1,3.2.1,3.2.0
|
:doc:`rocALUTION <rocalution:index>`,3.2.2,3.2.1,3.2.0
|
||||||
:doc:`rocBLAS <rocblas:index>`,4.3.0,4.3.0,4.2.0
|
:doc:`rocBLAS <rocblas:index>`,4.4.0,4.3.0,4.2.0
|
||||||
:doc:`rocFFT <rocfft:index>`,1.0.31,1.0.31,1.0.28
|
:doc:`rocFFT <rocfft:index>`,1.0.32,1.0.31,1.0.28
|
||||||
:doc:`rocRAND <rocrand:index>`,3.2.0,3.2.0,3.1.0
|
:doc:`rocRAND <rocrand:index>`,3.3.0,3.2.0,3.1.0
|
||||||
:doc:`rocSOLVER <rocsolver:index>`,3.27.0,3.27.0,3.26.0
|
:doc:`rocSOLVER <rocsolver:index>`,3.28.0,3.27.0,3.26.0
|
||||||
:doc:`rocSPARSE <rocsparse:index>`,3.3.0,3.3.0,3.2.0
|
:doc:`rocSPARSE <rocsparse:index>`,3.4.0,3.3.0,3.2.0
|
||||||
:doc:`rocWMMA <rocwmma:index>`,1.6.0,1.6.0,1.5.0
|
:doc:`rocWMMA <rocwmma:index>`,1.7.0,1.6.0,1.5.0
|
||||||
:doc:`Tensile <tensile:src/index>`,4.42.0,4.42.0,4.41.0
|
:doc:`Tensile <tensile:src/index>`,4.43.0,4.42.0,4.41.0
|
||||||
,,,
|
,,,
|
||||||
PRIMITIVES,.. _primitivelibs-support-compatibility-matrix:,,
|
PRIMITIVES,.. _primitivelibs-support-compatibility-matrix:,,
|
||||||
:doc:`hipCUB <hipcub:index>`,3.3.0,3.3.0,3.2.0
|
:doc:`hipCUB <hipcub:index>`,3.4.0,3.3.0,3.2.0
|
||||||
:doc:`hipTensor <hiptensor:index>`,1.4.0,1.4.0,1.3.0
|
:doc:`hipTensor <hiptensor:index>`,1.5.0,1.4.0,1.3.0
|
||||||
:doc:`rocPRIM <rocprim:index>`,3.3.0,3.3.0,3.2.0
|
:doc:`rocPRIM <rocprim:index>`,3.4.0,3.3.0,3.2.0
|
||||||
:doc:`rocThrust <rocthrust:index>`,3.3.0,3.3.0,3.0.1
|
:doc:`rocThrust <rocthrust:index>`,3.3.0,3.3.0,3.0.1
|
||||||
,,,
|
,,,
|
||||||
SUPPORT LIBS,,,
|
SUPPORT LIBS,,,
|
||||||
`hipother <https://github.com/ROCm/hipother>`_,6.3.42134,6.3.42134,6.2.41133
|
`hipother <https://github.com/ROCm/hipother>`_,6.4.43482,6.3.42134,6.2.41133
|
||||||
`rocm-core <https://github.com/ROCm/rocm-core>`_,6.3.3,6.3.2,6.2.0
|
`rocm-core <https://github.com/ROCm/rocm-core>`_,6.4.0,6.3.3,6.2.0
|
||||||
`ROCT-Thunk-Interface <https://github.com/ROCm/ROCT-Thunk-Interface>`_,N/A [#ROCT-rocr]_,N/A [#ROCT-rocr]_,20240607.1.4246
|
`ROCT-Thunk-Interface <https://github.com/ROCm/ROCT-Thunk-Interface>`_,N/A [#ROCT-rocr]_,N/A [#ROCT-rocr]_,20240607.1.4246
|
||||||
,,,
|
,,,
|
||||||
SYSTEM MGMT TOOLS,.. _tools-support-compatibility-matrix:,,
|
SYSTEM MGMT TOOLS,.. _tools-support-compatibility-matrix:,,
|
||||||
:doc:`AMD SMI <amdsmi:index>`,24.7.1,24.7.1,24.6.2
|
:doc:`AMD SMI <amdsmi:index>`,25.3.0,24.7.1,24.6.2
|
||||||
:doc:`ROCm Data Center Tool <rdc:index>`,0.3.0,0.3.0,0.3.0
|
:doc:`ROCm Data Center Tool <rdc:index>`,0.3.0,0.3.0,0.3.0
|
||||||
:doc:`rocminfo <rocminfo:index>`,1.0.0,1.0.0,1.0.0
|
:doc:`rocminfo <rocminfo:index>`,1.0.0,1.0.0,1.0.0
|
||||||
:doc:`ROCm SMI <rocm_smi_lib:index>`,7.4.0,7.4.0,7.3.0
|
:doc:`ROCm SMI <rocm_smi_lib:index>`,7.5.0,7.4.0,7.3.0
|
||||||
:doc:`ROCm Validation Suite <rocmvalidationsuite:index>`,1.1.0,1.1.0,1.0.60200
|
:doc:`ROCm Validation Suite <rocmvalidationsuite:index>`,1.1.0,1.1.0,1.0.60200
|
||||||
,,,
|
,,,
|
||||||
PERFORMANCE TOOLS,,,
|
PERFORMANCE TOOLS,,,
|
||||||
:doc:`ROCm Bandwidth Test <rocm_bandwidth_test:index>`,1.4.0,1.4.0,1.4.0
|
:doc:`ROCm Bandwidth Test <rocm_bandwidth_test:index>`,1.4.0,1.4.0,1.4.0
|
||||||
:doc:`ROCm Compute Profiler <rocprofiler-compute:index>`,3.0.0,3.0.0,2.0.1
|
:doc:`ROCm Compute Profiler <rocprofiler-compute:index>`,3.1.0,3.0.0,2.0.1
|
||||||
:doc:`ROCm Systems Profiler <rocprofiler-systems:index>`,0.1.2,0.1.1,1.11.2
|
:doc:`ROCm Systems Profiler <rocprofiler-systems:index>`,1.0.0,0.1.2,1.11.2
|
||||||
:doc:`ROCProfiler <rocprofiler:index>`,2.0.60303,2.0.60302,2.0.60200
|
:doc:`ROCProfiler <rocprofiler:index>`,2.0.60400,2.0.60303,2.0.60200
|
||||||
:doc:`ROCprofiler-SDK <rocprofiler-sdk:index>`,0.5.0,0.5.0,0.4.0
|
:doc:`ROCprofiler-SDK <rocprofiler-sdk:index>`,0.6.0,0.5.0,0.4.0
|
||||||
:doc:`ROCTracer <roctracer:index>`,4.1.60303,4.1.60302,4.1.60200
|
:doc:`ROCTracer <roctracer:index>`,4.1.60400,4.1.60303,4.1.60200
|
||||||
,,,
|
,,,
|
||||||
DEVELOPMENT TOOLS,,,
|
DEVELOPMENT TOOLS,,,
|
||||||
:doc:`HIPIFY <hipify:index>`,18.0.0.25012,18.0.0.25012,18.0.0.24232
|
:doc:`HIPIFY <hipify:index>`,19.0.0.25133,18.0.0.25012,18.0.0.24232
|
||||||
:doc:`ROCm CMake <rocmcmakebuildtools:index>`,0.14.0,0.14.0,0.13.0
|
:doc:`ROCm CMake <rocmcmakebuildtools:index>`,0.14.0,0.14.0,0.13.0
|
||||||
:doc:`ROCdbgapi <rocdbgapi:index>`,0.77.0,0.77.0,0.76.0
|
:doc:`ROCdbgapi <rocdbgapi:index>`,0.77.2,0.77.0,0.76.0
|
||||||
:doc:`ROCm Debugger (ROCgdb) <rocgdb:index>`,15.2.0,15.2.0,14.2.0
|
:doc:`ROCm Debugger (ROCgdb) <rocgdb:index>`,15.2.0,15.2.0,14.2.0
|
||||||
`rocprofiler-register <https://github.com/ROCm/rocprofiler-register>`_,0.4.0,0.4.0,0.4.0
|
`rocprofiler-register <https://github.com/ROCm/rocprofiler-register>`_,0.4.0,0.4.0,0.4.0
|
||||||
:doc:`ROCr Debug Agent <rocr_debug_agent:index>`,2.0.3,2.0.3,2.0.3
|
:doc:`ROCr Debug Agent <rocr_debug_agent:index>`,2.0.4,2.0.3,2.0.3
|
||||||
,,,
|
,,,
|
||||||
COMPILERS,.. _compilers-support-compatibility-matrix:,,
|
COMPILERS,.. _compilers-support-compatibility-matrix:,,
|
||||||
`clang-ocl <https://github.com/ROCm/clang-ocl>`_,N/A,N/A,N/A
|
`clang-ocl <https://github.com/ROCm/clang-ocl>`_,N/A,N/A,N/A
|
||||||
:doc:`hipCC <hipcc:index>`,1.1.1,1.1.1,1.1.1
|
:doc:`hipCC <hipcc:index>`,1.1.1,1.1.1,1.1.1
|
||||||
`Flang <https://github.com/ROCm/flang>`_,18.0.0.25012,18.0.0.25012,18.0.0.24232
|
`Flang <https://github.com/ROCm/flang>`_,19.0.0.25133,18.0.0.25012,18.0.0.24232
|
||||||
:doc:`llvm-project <llvm-project:index>`,18.0.0.25012,18.0.0.25012,18.0.0.24232
|
:doc:`llvm-project <llvm-project:index>`,19.0.0.25133,18.0.0.25012,18.0.0.24232
|
||||||
`OpenMP <https://github.com/ROCm/llvm-project/tree/amd-staging/openmp>`_,18.0.0.25012,18.0.0.25012,18.0.0.24232
|
`OpenMP <https://github.com/ROCm/llvm-project/tree/amd-staging/openmp>`_,19.0.0.25133,18.0.0.25012,18.0.0.24232
|
||||||
,,,
|
,,,
|
||||||
RUNTIMES,.. _runtime-support-compatibility-matrix:,,
|
RUNTIMES,.. _runtime-support-compatibility-matrix:,,
|
||||||
:doc:`AMD CLR <hip:understand/amd_clr>`,6.3.42134,6.3.42134,6.2.41133
|
:doc:`AMD CLR <hip:understand/amd_clr>`,6.4.43482,6.3.42134,6.2.41133
|
||||||
:doc:`HIP <hip:index>`,6.3.42134,6.3.42134,6.2.41133
|
:doc:`HIP <hip:index>`,6.4.43482,6.3.42134,6.2.41133
|
||||||
`OpenCL Runtime <https://github.com/ROCm/clr/tree/develop/opencl>`_,2.0.0,2.0.0,2.0.0
|
`OpenCL Runtime <https://github.com/ROCm/clr/tree/develop/opencl>`_,2.0.0,2.0.0,2.0.0
|
||||||
:doc:`ROCr Runtime <rocr-runtime:index>`,1.14.0,1.14.0,1.13.0
|
:doc:`ROCr Runtime <rocr-runtime:index>`,1.15.0,1.14.0,1.13.0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.. rubric:: Footnotes
|
.. rubric:: Footnotes
|
||||||
@@ -152,45 +151,47 @@ compatibility and system requirements.
|
|||||||
.. [#mi300x] Oracle Linux and Azure Linux are supported only on AMD Instinct MI300X.
|
.. [#mi300x] Oracle Linux and Azure Linux are supported only on AMD Instinct MI300X.
|
||||||
.. [#single-node] Debian 12 is supported only on AMD Instinct MI300X for single-node functionality.
|
.. [#single-node] Debian 12 is supported only on AMD Instinct MI300X for single-node functionality.
|
||||||
.. [#mi300_620] **For ROCm 6.2.0** - MI300X (gfx942) is supported on listed operating systems *except* Ubuntu 22.04.5 [6.8 HWE] and Ubuntu 22.04.4 [6.5 HWE].
|
.. [#mi300_620] **For ROCm 6.2.0** - MI300X (gfx942) is supported on listed operating systems *except* Ubuntu 22.04.5 [6.8 HWE] and Ubuntu 22.04.4 [6.5 HWE].
|
||||||
.. [#kfd_support] ROCm provides forward and backward compatibility between the AMD Kernel-mode GPU Driver (KMD) and its user space software for +/- 2 releases. These are the compatibility combinations that are currently supported.
|
.. [#kfd_support] Starting from ROCm 6.4.0, forward and backward compatibility between the AMD Kernel-mode GPU Driver (KMD) and its user space software is provided up to a year apart (assuming hardware support is available in both). For earlier ROCm releases, the compatibility is provided for +/- 2 releases. These are the compatibility combinations that are currently supported.
|
||||||
.. [#ROCT-rocr] Starting from ROCm 6.3.0, the ROCT Thunk Interface is included as part of the ROCr runtime package.
|
.. [#ROCT-rocr] Starting from ROCm 6.3.0, the ROCT Thunk Interface is included as part of the ROCr runtime package.
|
||||||
|
|
||||||
.. _OS-kernel-versions:
|
.. _OS-kernel-versions:
|
||||||
|
|
||||||
Operating systems and kernel versions
|
Operating systems, kernel and Glibc versions
|
||||||
*************************************
|
*********************************************
|
||||||
|
|
||||||
Use this lookup table to confirm which operating system and kernel versions are supported with ROCm.
|
Use this lookup table to confirm which operating system and kernel versions are supported with ROCm.
|
||||||
|
|
||||||
.. csv-table::
|
.. csv-table::
|
||||||
:header: "OS", "Version", "Kernel"
|
:header: "OS", "Version", "Kernel", "Glibc"
|
||||||
:widths: 40, 20, 40
|
:widths: 40, 20, 30, 20
|
||||||
:stub-columns: 1
|
:stub-columns: 1
|
||||||
|
|
||||||
`Ubuntu <https://ubuntu.com/about/release-cycle#ubuntu-kernel-release-cycle>`_, 24.04.2, "6.8 GA, 6.11 HWE"
|
`Ubuntu <https://ubuntu.com/about/release-cycle#ubuntu-kernel-release-cycle>`_, 24.04.2, "6.8 GA, 6.11 HWE", 2.39
|
||||||
, 24.04, "6.8 GA"
|
|
||||||
,,
|
,,
|
||||||
`Ubuntu <https://ubuntu.com/about/release-cycle#ubuntu-kernel-release-cycle>`_, 22.04.5, "5.15 GA, 6.8 HWE"
|
`Ubuntu <https://ubuntu.com/about/release-cycle#ubuntu-kernel-release-cycle>`_, 22.04.5, "5.15 GA, 6.8 HWE", 2.35
|
||||||
, 22.04.4, "5.15 GA, 6.5 HWE"
|
|
||||||
,,
|
,,
|
||||||
`Red Hat Enterprise Linux (RHEL 9) <https://access.redhat.com/articles/3078#RHEL9>`_, 9.5, 5.14.0
|
`Red Hat Enterprise Linux (RHEL 9) <https://access.redhat.com/articles/3078#RHEL9>`_, 9.5, 5.14+, 2.34
|
||||||
,9.4, 5.14.0
|
,9.4, 5.14+, 2.34
|
||||||
,9.3, 5.14.0
|
,9.3, 5.14+, 2.34
|
||||||
,,
|
,,
|
||||||
`Red Hat Enterprise Linux (RHEL 8) <https://access.redhat.com/articles/3078#RHEL8>`_, 8.10, 4.18.0
|
`Red Hat Enterprise Linux (RHEL 8) <https://access.redhat.com/articles/3078#RHEL8>`_, 8.10, 4.18.0+, 2.28
|
||||||
,8.9, 4.18.0
|
,8.9, 4.18.0, 2.28
|
||||||
,,
|
,,
|
||||||
`SUSE Linux Enterprise Server (SLES) <https://www.suse.com/support/kb/doc/?id=000019587#SLE15SP4>`_, 15 SP6, 6.4.0
|
`SUSE Linux Enterprise Server (SLES) <https://www.suse.com/support/kb/doc/?id=000019587#SLE15SP4>`_, 15 SP6, "6.5.0+, 6.4.0", 2.38
|
||||||
,15 SP5, 5.14.21
|
,15 SP5, 5.14.21, 2.31
|
||||||
,,
|
,,
|
||||||
`Oracle Linux <https://blogs.oracle.com/scoter/post/oracle-linux-and-unbreakable-enterprise-kernel-uek-releases>`_, 8.10, 5.15.0
|
`Oracle Linux <https://blogs.oracle.com/scoter/post/oracle-linux-and-unbreakable-enterprise-kernel-uek-releases>`_, 9, 5.15.0 (UEK), 2.35
|
||||||
,8.9, 5.15.0
|
,8, 5.15.0 (UEK), 2.28
|
||||||
,,
|
,,
|
||||||
`Debian <https://www.debian.org/download>`_,12, 6.1
|
`Debian <https://www.debian.org/download>`_,12, 6.1, 2.36
|
||||||
,,
|
,,
|
||||||
`Azure Linux <https://techcommunity.microsoft.com/blog/linuxandopensourceblog/azure-linux-3-0-now-in-preview-on-azure-kubernetes-service-v1-31/4287229>`_,3.0, 6.6
|
`Azure Linux <https://techcommunity.microsoft.com/blog/linuxandopensourceblog/azure-linux-3-0-now-in-preview-on-azure-kubernetes-service-v1-31/4287229>`_,3.0, 6.6.60, 2.38
|
||||||
,,
|
,,
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
* See `Red Hat Enterprise Linux Release Dates <https://access.redhat.com/articles/3078>`_ to learn about the specific kernel versions supported on Red Hat Enterprise Linux (RHEL).
|
||||||
|
* See `List of SUSE Linux Enterprise Server kernel <https://www.suse.com/support/kb/doc/?id=000019587>`_ to learn about the specific kernel version supported on SUSE Linux Enterprise Server (SLES).
|
||||||
..
|
..
|
||||||
Footnotes and ref anchors in below historical tables should be appended with "-past-60", to differentiate from the
|
Footnotes and ref anchors in below historical tables should be appended with "-past-60", to differentiate from the
|
||||||
footnote references in the above, latest, compatibility matrix. It also allows to easily find & replace.
|
footnote references in the above, latest, compatibility matrix. It also allows to easily find & replace.
|
||||||
@@ -228,5 +229,5 @@ Expand for full historical view of:
|
|||||||
.. [#mi300_610-past-60] **For ROCm 6.1.0** - MI300A (gfx942) is supported on Ubuntu 22.04.4, RHEL 9.4, RHEL 9.3, RHEL 8.9, and SLES 15 SP5. MI300X (gfx942) is only supported on Ubuntu 22.04.4.
|
.. [#mi300_610-past-60] **For ROCm 6.1.0** - MI300A (gfx942) is supported on Ubuntu 22.04.4, RHEL 9.4, RHEL 9.3, RHEL 8.9, and SLES 15 SP5. MI300X (gfx942) is only supported on Ubuntu 22.04.4.
|
||||||
.. [#mi300_602-past-60] **For ROCm 6.0.2** - MI300A (gfx942) is supported on Ubuntu 22.04.3, RHEL 8.9, and SLES 15 SP5. MI300X (gfx942) is only supported on Ubuntu 22.04.3.
|
.. [#mi300_602-past-60] **For ROCm 6.0.2** - MI300A (gfx942) is supported on Ubuntu 22.04.3, RHEL 8.9, and SLES 15 SP5. MI300X (gfx942) is only supported on Ubuntu 22.04.3.
|
||||||
.. [#mi300_600-past-60] **For ROCm 6.0.0** - MI300A (gfx942) is supported on Ubuntu 22.04.3, RHEL 8.9, and SLES 15 SP5. MI300X (gfx942) is only supported on Ubuntu 22.04.3.
|
.. [#mi300_600-past-60] **For ROCm 6.0.0** - MI300A (gfx942) is supported on Ubuntu 22.04.3, RHEL 8.9, and SLES 15 SP5. MI300X (gfx942) is only supported on Ubuntu 22.04.3.
|
||||||
.. [#kfd_support-past-60] ROCm provides forward and backward compatibility between the AMD Kernel-mode GPU Driver (KMD) and its user space software for +/- 2 releases. These are the compatibility combinations that are currently supported.
|
.. [#kfd_support-past-60] Starting from ROCm 6.4.0, forward and backward compatibility between the AMD Kernel-mode GPU Driver (KMD) and its user space software is provided up to a year apart (assuming hardware support is available in both). For earlier ROCm releases, the compatibility is provided for +/- 2 releases. These are the compatibility combinations that are currently supported.
|
||||||
.. [#ROCT-rocr-past-60] Starting from ROCm 6.3.0, the ROCT Thunk Interface is included as part of the ROCr runtime package.
|
.. [#ROCT-rocr-past-60] Starting from ROCm 6.3.0, the ROCT Thunk Interface is included as part of the ROCr runtime package.
|
||||||
|
|||||||
@@ -14,17 +14,18 @@ JAX provides a NumPy-like API, which combines automatic differentiation and the
|
|||||||
Accelerated Linear Algebra (XLA) compiler to achieve high-performance machine
|
Accelerated Linear Algebra (XLA) compiler to achieve high-performance machine
|
||||||
learning at scale.
|
learning at scale.
|
||||||
|
|
||||||
JAX uses composable transformations of Python and NumPy through just-in-time (JIT) compilation,
|
JAX uses composable transformations of Python and NumPy through just-in-time
|
||||||
automatic vectorization, and parallelization. To learn about JAX, including profiling and
|
(JIT) compilation, automatic vectorization, and parallelization. To learn about
|
||||||
optimizations, see the official `JAX documentation
|
JAX, including profiling and optimizations, see the official `JAX documentation
|
||||||
<https://jax.readthedocs.io/en/latest/notebooks/quickstart.html>`_.
|
<https://jax.readthedocs.io/en/latest/notebooks/quickstart.html>`_.
|
||||||
|
|
||||||
ROCm support for JAX is upstreamed and users can build the official source code with ROCm
|
ROCm support for JAX is upstreamed, and users can build the official source code
|
||||||
support:
|
with ROCm support:
|
||||||
|
|
||||||
- ROCm JAX release:
|
- ROCm JAX release:
|
||||||
|
|
||||||
- Offers AMD-validated and community :ref:`Docker images <jax-docker-compat>` with ROCm and JAX pre-installed.
|
- Offers AMD-validated and community :ref:`Docker images <jax-docker-compat>`
|
||||||
|
with ROCm and JAX preinstalled.
|
||||||
|
|
||||||
- ROCm JAX repository: `ROCm/jax <https://github.com/ROCm/jax>`_
|
- ROCm JAX repository: `ROCm/jax <https://github.com/ROCm/jax>`_
|
||||||
|
|
||||||
@@ -36,8 +37,8 @@ support:
|
|||||||
- Official JAX repository: `jax-ml/jax <https://github.com/jax-ml/jax>`_
|
- Official JAX repository: `jax-ml/jax <https://github.com/jax-ml/jax>`_
|
||||||
|
|
||||||
- See the `AMD GPU (Linux) installation section
|
- See the `AMD GPU (Linux) installation section
|
||||||
<https://jax.readthedocs.io/en/latest/installation.html#amd-gpu-linux>`_ in the JAX
|
<https://jax.readthedocs.io/en/latest/installation.html#amd-gpu-linux>`_ in
|
||||||
documentation.
|
the JAX documentation.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
@@ -46,6 +47,44 @@ support:
|
|||||||
`Community ROCm JAX Docker images <https://hub.docker.com/r/rocm/jax-community>`_
|
`Community ROCm JAX Docker images <https://hub.docker.com/r/rocm/jax-community>`_
|
||||||
follow upstream JAX releases and use the latest available ROCm version.
|
follow upstream JAX releases and use the latest available ROCm version.
|
||||||
|
|
||||||
|
Use cases and recommendations
|
||||||
|
================================================================================
|
||||||
|
|
||||||
|
* The `nanoGPT in JAX <https://rocm.blogs.amd.com/artificial-intelligence/nanoGPT-JAX/README.html>`_
|
||||||
|
blog explores the implementation and training of a Generative Pre-trained
|
||||||
|
Transformer (GPT) model in JAX, inspired by Andrej Karpathy’s JAX-based
|
||||||
|
nanoGPT. Comparing how essential GPT components—such as self-attention
|
||||||
|
mechanisms and optimizers—are realized in JAX and JAX, also highlights
|
||||||
|
JAX’s unique features.
|
||||||
|
|
||||||
|
* The `Optimize GPT Training: Enabling Mixed Precision Training in JAX using
|
||||||
|
ROCm on AMD GPUs <https://rocm.blogs.amd.com/artificial-intelligence/jax-mixed-precision/README.html>`_
|
||||||
|
blog post provides a comprehensive guide on enhancing the training efficiency
|
||||||
|
of GPT models by implementing mixed precision techniques in JAX, specifically
|
||||||
|
tailored for AMD GPUs utilizing the ROCm platform.
|
||||||
|
|
||||||
|
* The `Supercharging JAX with Triton Kernels on AMD GPUs <https://rocm.blogs.amd.com/artificial-intelligence/jax-triton/README.html>`_
|
||||||
|
blog demonstrates how to develop a custom fused dropout-activation kernel for
|
||||||
|
matrices using Triton, integrate it with JAX, and benchmark its performance
|
||||||
|
using ROCm.
|
||||||
|
|
||||||
|
* The `Distributed fine-tuning with JAX on AMD GPUs <https://rocm.blogs.amd.com/artificial-intelligence/distributed-sft-jax/README.html>`_
|
||||||
|
outlines the process of fine-tuning a Bidirectional Encoder Representations
|
||||||
|
from Transformers (BERT)-based large language model (LLM) using JAX for a text
|
||||||
|
classification task. The blog post discuss techniques for parallelizing the
|
||||||
|
fine-tuning across multiple AMD GPUs and assess the model's performance on a
|
||||||
|
holdout dataset. During the fine-tuning, a BERT-base-cased transformer model
|
||||||
|
and the General Language Understanding Evaluation (GLUE) benchmark dataset was
|
||||||
|
used on a multi-GPU setup.
|
||||||
|
|
||||||
|
* The `MI300X workload optimization guide <https://rocm.docs.amd.com/en/latest/how-to/tuning-guides/mi300x/workload.html>`_
|
||||||
|
provides detailed guidance on optimizing workloads for the AMD Instinct MI300X
|
||||||
|
accelerator using ROCm. The page is aimed at helping users achieve optimal
|
||||||
|
performance for deep learning and other high-performance computing tasks on
|
||||||
|
the MI300X GPU.
|
||||||
|
|
||||||
|
For more use cases and recommendations, see `ROCm JAX blog posts <https://rocm.blogs.amd.com/blog/tag/jax.html>`_.
|
||||||
|
|
||||||
.. _jax-docker-compat:
|
.. _jax-docker-compat:
|
||||||
|
|
||||||
Docker image compatibility
|
Docker image compatibility
|
||||||
@@ -57,8 +96,8 @@ Docker image compatibility
|
|||||||
|
|
||||||
AMD validates and publishes ready-made `ROCm JAX Docker images <https://hub.docker.com/r/rocm/jax>`_
|
AMD validates and publishes ready-made `ROCm JAX Docker images <https://hub.docker.com/r/rocm/jax>`_
|
||||||
with ROCm backends on Docker Hub. The following Docker image tags and
|
with ROCm backends on Docker Hub. The following Docker image tags and
|
||||||
associated inventories are validated for
|
associated inventories represent the latest JAX version from the official Docker Hub and are validated for
|
||||||
`ROCm 6.3.1 <https://repo.radeon.com/rocm/apt/6.3.1/>`_. Click the |docker-icon|
|
`ROCm 6.4.0 <https://repo.radeon.com/rocm/apt/6.4/>`_. Click the |docker-icon|
|
||||||
icon to view the image on Docker Hub.
|
icon to view the image on Docker Hub.
|
||||||
|
|
||||||
.. list-table:: JAX Docker image components
|
.. list-table:: JAX Docker image components
|
||||||
@@ -68,24 +107,26 @@ icon to view the image on Docker Hub.
|
|||||||
- JAX
|
- JAX
|
||||||
- Linux
|
- Linux
|
||||||
- Python
|
- Python
|
||||||
|
|
||||||
* - .. raw:: html
|
* - .. raw:: html
|
||||||
|
|
||||||
<a href="https://hub.docker.com/layers/rocm/jax/rocm6.3.1-jax0.4.31-py3.12/images/sha256-085a0cd5207110922f1fca684933a9359c66d42db6c5aba4760ed5214fdabde0"><i class="fab fa-docker fa-lg"></i> rocm/jax</a>
|
<a href="https://hub.docker.com/layers/rocm/jax/rocm6.4-jax0.4.35-py3.12/images/sha256-4069398229078f3311128b6d276c6af377c7e97d3363d020b0bf7154fae619ca"><i class="fab fa-docker fa-lg"></i> rocm/jax</a>
|
||||||
|
|
||||||
- `0.4.31 <https://github.com/ROCm/jax/releases/tag/rocm-jax-v0.4.31>`_
|
- `0.4.35 <https://github.com/ROCm/jax/releases/tag/rocm-jax-v0.4.35>`_
|
||||||
- Ubuntu 24.04
|
- Ubuntu 24.04
|
||||||
- `3.12.7 <https://www.python.org/downloads/release/python-3127/>`_
|
- `3.12.7 <https://www.python.org/downloads/release/python-3127/>`_
|
||||||
|
|
||||||
* - .. raw:: html
|
* - .. raw:: html
|
||||||
|
|
||||||
<a href="https://hub.docker.com/layers/rocm/jax/rocm6.3.1-jax0.4.31-py3.10/images/sha256-f88eddad8f47856d8640b694da4da347ffc1750d7363175ab7dc872e82b43324"><i class="fab fa-docker fa-lg"></i> rocm/jax</a>
|
<a href="https://hub.docker.com/layers/rocm/jax/rocm6.4-jax0.4.35-py3.10/images/sha256-a137f901f91ce6c13b424c40a6cf535248d4d20fd36d5daf5eee0570190a4a11"><i class="fab fa-docker fa-lg"></i> rocm/jax</a>
|
||||||
|
|
||||||
- `0.4.31 <https://github.com/ROCm/jax/releases/tag/rocm-jax-v0.4.31>`_
|
- `0.4.35 <https://github.com/ROCm/jax/releases/tag/rocm-jax-v0.4.35>`_
|
||||||
- Ubuntu 22.04
|
- Ubuntu 22.04
|
||||||
- `3.10.14 <https://www.python.org/downloads/release/python-31014/>`_
|
- `3.10.14 <https://www.python.org/downloads/release/python-31014/>`_
|
||||||
|
|
||||||
AMD publishes `Community ROCm JAX Docker images <https://hub.docker.com/r/rocm/jax-community>`_
|
AMD publishes `Community ROCm JAX Docker images <https://hub.docker.com/r/rocm/jax-community>`_
|
||||||
with ROCm backends on Docker Hub. The following Docker image tags and
|
with ROCm backends on Docker Hub. The following Docker image tags and
|
||||||
associated inventories are tested for `ROCm 6.2.4 <https://repo.radeon.com/rocm/apt/6.2.4/>`_.
|
associated inventories are tested for `ROCm 6.3.2 <https://repo.radeon.com/rocm/apt/6.3.2/>`_.
|
||||||
|
|
||||||
.. list-table:: JAX community Docker image components
|
.. list-table:: JAX community Docker image components
|
||||||
:header-rows: 1
|
:header-rows: 1
|
||||||
@@ -94,35 +135,37 @@ associated inventories are tested for `ROCm 6.2.4 <https://repo.radeon.com/rocm/
|
|||||||
- JAX
|
- JAX
|
||||||
- Linux
|
- Linux
|
||||||
- Python
|
- Python
|
||||||
|
|
||||||
* - .. raw:: html
|
* - .. raw:: html
|
||||||
|
|
||||||
<a href="https://hub.docker.com/layers/rocm/jax-community/rocm6.2.4-jax0.4.35-py3.12.7/images/sha256-a6032d89c07573b84c44e42c637bf9752b1b7cd2a222d39344e603d8f4c63beb?context=explore"><i class="fab fa-docker fa-lg"></i> rocm/jax-community</a>
|
<a href="https://hub.docker.com/layers/rocm/jax-community/rocm6.3.2-jax0.5.0-py3.12.8/images/sha256-25dfaa0183e274bd0a3554a309af3249c6f16a1793226cb5373f418e39d3146a"><i class="fab fa-docker fa-lg"></i> rocm/jax-community</a>
|
||||||
|
|
||||||
- `0.4.35 <https://github.com/ROCm/jax/releases/tag/rocm-jax-v0.4.35>`_
|
- `0.5.0 <https://github.com/ROCm/jax/releases/tag/rocm-jax-v0.5.0>`_
|
||||||
- Ubuntu 22.04
|
- Ubuntu 22.04
|
||||||
- `3.12.7 <https://www.python.org/downloads/release/python-3127/>`_
|
- `3.12.8 <https://www.python.org/downloads/release/python-3128/>`_
|
||||||
|
|
||||||
* - .. raw:: html
|
* - .. raw:: html
|
||||||
|
|
||||||
<a href="https://hub.docker.com/layers/rocm/jax-community/rocm6.2.4-jax0.4.35-py3.11.10/images/sha256-d462f7e445545fba2f3b92234a21beaa52fe6c5f550faabcfdcd1bf53486d991?context=explore"><i class="fab fa-docker fa-lg"></i> rocm/jax-community</a>
|
<a href="https://hub.docker.com/layers/rocm/jax-community/rocm6.3.2-jax0.5.0-py3.11.11/images/sha256-ff9baeca9067d13e6c279c911e5a9e5beed0817d24fafd424367cc3d5bd381d7"><i class="fab fa-docker fa-lg"></i> rocm/jax-community</a>
|
||||||
|
|
||||||
- `0.4.35 <https://github.com/ROCm/jax/releases/tag/rocm-jax-v0.4.35>`_
|
- `0.5.0 <https://github.com/ROCm/jax/releases/tag/rocm-jax-v0.5.0>`_
|
||||||
- Ubuntu 22.04
|
- Ubuntu 22.04
|
||||||
- `3.11.10 <https://www.python.org/downloads/release/python-31110/>`_
|
- `3.11.11 <https://www.python.org/downloads/release/python-31111/>`_
|
||||||
|
|
||||||
* - .. raw:: html
|
* - .. raw:: html
|
||||||
|
|
||||||
<a href="https://hub.docker.com/layers/rocm/jax-community/rocm6.2.4-jax0.4.35-py3.10.15/images/sha256-6f2d4d0f529378d9572f0e8cfdcbc101d1e1d335bd626bb3336fff87814e9d60?context=explore"><i class="fab fa-docker fa-lg"></i> rocm/jax-community</a>
|
<a href="https://hub.docker.com/layers/rocm/jax-community/rocm6.3.2-jax0.5.0-py3.10.16/images/sha256-8bab484be1713655f74da51a191ed824bb9d03db1104fd63530a1ac3c37cf7b1"><i class="fab fa-docker fa-lg"></i> rocm/jax-community</a>
|
||||||
|
|
||||||
- `0.4.35 <https://github.com/ROCm/jax/releases/tag/rocm-jax-v0.4.35>`_
|
- `0.5.0 <https://github.com/ROCm/jax/releases/tag/rocm-jax-v0.5.0>`_
|
||||||
- Ubuntu 22.04
|
- Ubuntu 22.04
|
||||||
- `3.10.15 <https://www.python.org/downloads/release/python-31015/>`_
|
- `3.10.16 <https://www.python.org/downloads/release/python-31016/>`_
|
||||||
|
|
||||||
Critical ROCm libraries for JAX
|
Key ROCm libraries for JAX
|
||||||
================================================================================
|
================================================================================
|
||||||
|
|
||||||
The functionality of JAX with ROCm is determined by its underlying library
|
JAX functionality on ROCm is determined by its underlying library
|
||||||
dependencies. These critical ROCm components affect the capabilities,
|
dependencies. These ROCm components affect the capabilities, performance, and
|
||||||
performance, and feature set available to developers. The versions described
|
feature set available to developers.
|
||||||
are available in ROCm :version:`rocm_version`.
|
|
||||||
|
|
||||||
.. list-table::
|
.. list-table::
|
||||||
:header-rows: 1
|
:header-rows: 1
|
||||||
@@ -210,10 +253,10 @@ are available in ROCm :version:`rocm_version`.
|
|||||||
distributed training, which involves parallel reductions or
|
distributed training, which involves parallel reductions or
|
||||||
operations like ``jax.numpy.cumsum`` can use rocThrust.
|
operations like ``jax.numpy.cumsum`` can use rocThrust.
|
||||||
|
|
||||||
Supported and unsupported features
|
Supported features
|
||||||
===============================================================================
|
===============================================================================
|
||||||
|
|
||||||
The following table maps GPU-accelerated JAX modules to their supported
|
The following table maps the public JAX API modules to their supported
|
||||||
ROCm and JAX versions.
|
ROCm and JAX versions.
|
||||||
|
|
||||||
.. list-table::
|
.. list-table::
|
||||||
@@ -221,8 +264,8 @@ ROCm and JAX versions.
|
|||||||
|
|
||||||
* - Module
|
* - Module
|
||||||
- Description
|
- Description
|
||||||
- Since JAX
|
- As of JAX
|
||||||
- Since ROCm
|
- As of ROCm
|
||||||
* - ``jax.numpy``
|
* - ``jax.numpy``
|
||||||
- Implements the NumPy API, using the primitives in ``jax.lax``.
|
- Implements the NumPy API, using the primitives in ``jax.lax``.
|
||||||
- 0.1.56
|
- 0.1.56
|
||||||
@@ -250,21 +293,11 @@ ROCm and JAX versions.
|
|||||||
devices.
|
devices.
|
||||||
- 0.3.20
|
- 0.3.20
|
||||||
- 5.1.0
|
- 5.1.0
|
||||||
* - ``jax.dlpack``
|
|
||||||
- For exchanging tensor data between JAX and other libraries that support the
|
|
||||||
DLPack standard.
|
|
||||||
- 0.1.57
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.distributed``
|
* - ``jax.distributed``
|
||||||
- Enables the scaling of computations across multiple devices on a single
|
- Enables the scaling of computations across multiple devices on a single
|
||||||
machine or across multiple machines.
|
machine or across multiple machines.
|
||||||
- 0.1.74
|
- 0.1.74
|
||||||
- 5.0.0
|
- 5.0.0
|
||||||
* - ``jax.dtypes``
|
|
||||||
- Provides utilities for working with and managing data types in JAX
|
|
||||||
arrays and computations.
|
|
||||||
- 0.1.66
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.image``
|
* - ``jax.image``
|
||||||
- Contains image manipulation functions like resize, scale and translation.
|
- Contains image manipulation functions like resize, scale and translation.
|
||||||
- 0.1.57
|
- 0.1.57
|
||||||
@@ -278,27 +311,10 @@ ROCm and JAX versions.
|
|||||||
array.
|
array.
|
||||||
- 0.1.57
|
- 0.1.57
|
||||||
- 5.0.0
|
- 5.0.0
|
||||||
* - ``jax.profiler``
|
|
||||||
- Contains JAX’s tracing and time profiling features.
|
|
||||||
- 0.1.57
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.stages``
|
* - ``jax.stages``
|
||||||
- Contains interfaces to stages of the compiled execution process.
|
- Contains interfaces to stages of the compiled execution process.
|
||||||
- 0.3.4
|
- 0.3.4
|
||||||
- 5.0.0
|
- 5.0.0
|
||||||
* - ``jax.tree``
|
|
||||||
- Provides utilities for working with tree-like container data structures.
|
|
||||||
- 0.4.26
|
|
||||||
- 5.6.0
|
|
||||||
* - ``jax.tree_util``
|
|
||||||
- Provides utilities for working with nested data structures, or
|
|
||||||
``pytrees``.
|
|
||||||
- 0.1.65
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.typing``
|
|
||||||
- Provides JAX-specific static type annotations.
|
|
||||||
- 0.3.18
|
|
||||||
- 5.1.0
|
|
||||||
* - ``jax.extend``
|
* - ``jax.extend``
|
||||||
- Provides modules for access to JAX internal machinery module. The
|
- Provides modules for access to JAX internal machinery module. The
|
||||||
``jax.extend`` module defines a library view of some of JAX’s internal
|
``jax.extend`` module defines a library view of some of JAX’s internal
|
||||||
@@ -334,8 +350,8 @@ A SciPy-like API for scientific computing.
|
|||||||
:header-rows: 1
|
:header-rows: 1
|
||||||
|
|
||||||
* - Module
|
* - Module
|
||||||
- Since JAX
|
- As of JAX
|
||||||
- Since ROCm
|
- As of ROCm
|
||||||
* - ``jax.scipy.cluster``
|
* - ``jax.scipy.cluster``
|
||||||
- 0.3.11
|
- 0.3.11
|
||||||
- 5.1.0
|
- 5.1.0
|
||||||
@@ -380,8 +396,8 @@ jax.scipy.stats module
|
|||||||
:header-rows: 1
|
:header-rows: 1
|
||||||
|
|
||||||
* - Module
|
* - Module
|
||||||
- Since JAX
|
- As of JAX
|
||||||
- Since ROCm
|
- As of ROCm
|
||||||
* - ``jax.scipy.stats.bernouli``
|
* - ``jax.scipy.stats.bernouli``
|
||||||
- 0.1.56
|
- 0.1.56
|
||||||
- 5.0.0
|
- 5.0.0
|
||||||
@@ -464,8 +480,8 @@ Modules for JAX extensions.
|
|||||||
:header-rows: 1
|
:header-rows: 1
|
||||||
|
|
||||||
* - Module
|
* - Module
|
||||||
- Since JAX
|
- As of JAX
|
||||||
- Since ROCm
|
- As of ROCm
|
||||||
* - ``jax.extend.ffi``
|
* - ``jax.extend.ffi``
|
||||||
- 0.4.30
|
- 0.4.30
|
||||||
- 6.0.0
|
- 6.0.0
|
||||||
@@ -479,190 +495,25 @@ Modules for JAX extensions.
|
|||||||
- 0.4.15
|
- 0.4.15
|
||||||
- 5.5.0
|
- 5.5.0
|
||||||
|
|
||||||
jax.experimental module
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
Experimental modules and APIs.
|
|
||||||
|
|
||||||
.. list-table::
|
|
||||||
:header-rows: 1
|
|
||||||
|
|
||||||
* - Module
|
|
||||||
- Since JAX
|
|
||||||
- Since ROCm
|
|
||||||
* - ``jax.experimental.checkify``
|
|
||||||
- 0.1.75
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.experimental.compilation_cache.compilation_cache``
|
|
||||||
- 0.1.68
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.experimental.custom_partitioning``
|
|
||||||
- 0.4.0
|
|
||||||
- 5.3.0
|
|
||||||
* - ``jax.experimental.jet``
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.experimental.key_reuse``
|
|
||||||
- 0.4.26
|
|
||||||
- 5.6.0
|
|
||||||
* - ``jax.experimental.mesh_utils``
|
|
||||||
- 0.1.76
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.experimental.multihost_utils``
|
|
||||||
- 0.3.2
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.experimental.pallas``
|
|
||||||
- 0.4.15
|
|
||||||
- 5.5.0
|
|
||||||
* - ``jax.experimental.pjit``
|
|
||||||
- 0.1.61
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.experimental.serialize_executable``
|
|
||||||
- 0.4.0
|
|
||||||
- 5.3.0
|
|
||||||
* - ``jax.experimental.shard_map``
|
|
||||||
- 0.4.3
|
|
||||||
- 5.3.0
|
|
||||||
* - ``jax.experimental.sparse``
|
|
||||||
- 0.1.75
|
|
||||||
- 5.0.0
|
|
||||||
|
|
||||||
.. list-table::
|
|
||||||
:header-rows: 1
|
|
||||||
|
|
||||||
* - API
|
|
||||||
- Since JAX
|
|
||||||
- Since ROCm
|
|
||||||
* - ``jax.experimental.enable_x64``
|
|
||||||
- 0.1.60
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.experimental.disable_x64``
|
|
||||||
- 0.1.60
|
|
||||||
- 5.0.0
|
|
||||||
|
|
||||||
jax.experimental.pallas module
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
|
|
||||||
Module for Pallas, a JAX extension for custom kernels.
|
|
||||||
|
|
||||||
.. list-table::
|
|
||||||
:header-rows: 1
|
|
||||||
|
|
||||||
* - Module
|
|
||||||
- Since JAX
|
|
||||||
- Since ROCm
|
|
||||||
* - ``jax.experimental.pallas.mosaic_gpu``
|
|
||||||
- 0.4.31
|
|
||||||
- 6.1.3
|
|
||||||
* - ``jax.experimental.pallas.tpu``
|
|
||||||
- 0.4.15
|
|
||||||
- 5.5.0
|
|
||||||
* - ``jax.experimental.pallas.triton``
|
|
||||||
- 0.4.32
|
|
||||||
- 6.1.3
|
|
||||||
|
|
||||||
jax.experimental.sparse module
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
|
|
||||||
Experimental support for sparse matrix operations.
|
|
||||||
|
|
||||||
.. list-table::
|
|
||||||
:header-rows: 1
|
|
||||||
|
|
||||||
* - Module
|
|
||||||
- Since JAX
|
|
||||||
- Since ROCm
|
|
||||||
* - ``jax.experimental.sparse.linalg``
|
|
||||||
- 0.3.15
|
|
||||||
- 5.2.0
|
|
||||||
* - ``jax.experimental.sparse.sparsify``
|
|
||||||
- 0.3.25
|
|
||||||
- ❌
|
|
||||||
|
|
||||||
.. list-table::
|
|
||||||
:header-rows: 1
|
|
||||||
|
|
||||||
* - ``sparse`` data structure API
|
|
||||||
- Since JAX
|
|
||||||
- Since ROCm
|
|
||||||
* - ``jax.experimental.sparse.BCOO``
|
|
||||||
- 0.1.72
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.experimental.sparse.BCSR``
|
|
||||||
- 0.3.20
|
|
||||||
- 5.1.0
|
|
||||||
* - ``jax.experimental.sparse.CSR``
|
|
||||||
- 0.1.75
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.experimental.sparse.NM``
|
|
||||||
- 0.4.27
|
|
||||||
- 5.6.0
|
|
||||||
* - ``jax.experimental.sparse.COO``
|
|
||||||
- 0.1.75
|
|
||||||
- 5.0.0
|
|
||||||
|
|
||||||
Unsupported JAX features
|
Unsupported JAX features
|
||||||
------------------------
|
===============================================================================
|
||||||
|
|
||||||
The following are GPU-accelerated JAX features not currently supported by
|
The following GPU-accelerated JAX features are not supported by ROCm for
|
||||||
ROCm.
|
the listed supported JAX versions.
|
||||||
|
|
||||||
.. list-table::
|
.. list-table::
|
||||||
:header-rows: 1
|
:header-rows: 1
|
||||||
|
|
||||||
* - Feature
|
* - Feature
|
||||||
- Description
|
- Description
|
||||||
- Since JAX
|
|
||||||
* - Mixed Precision with TF32
|
* - Mixed Precision with TF32
|
||||||
- Mixed precision with TF32 is used for matrix multiplications,
|
- Mixed precision with TF32 is used for matrix multiplications,
|
||||||
convolutions, and other linear algebra operations, particularly in
|
convolutions, and other linear algebra operations, particularly in
|
||||||
deep learning workloads like CNNs and transformers.
|
deep learning workloads like CNNs and transformers.
|
||||||
- 0.2.25
|
|
||||||
* - RNN support
|
|
||||||
- Currently only LSTM with double bias is supported with float32 input
|
|
||||||
and weight.
|
|
||||||
- 0.3.25
|
|
||||||
* - XLA int4 support
|
* - XLA int4 support
|
||||||
- 4-bit integer (int4) precision in the XLA compiler.
|
- 4-bit integer (int4) precision in the XLA compiler.
|
||||||
- 0.4.0
|
|
||||||
* - ``jax.experimental.sparsify``
|
|
||||||
- Converts a dense matrix to a sparse matrix representation.
|
|
||||||
- Experimental
|
|
||||||
|
|
||||||
Use cases and recommendations
|
* - MOSAIC (GPU)
|
||||||
================================================================================
|
- Mosaic is a library of kernel-building abstractions for JAX's Pallas system
|
||||||
|
|
||||||
* The `nanoGPT in JAX <https://rocm.blogs.amd.com/artificial-intelligence/nanoGPT-JAX/README.html>`_
|
|
||||||
blog explores the implementation and training of a Generative Pre-trained
|
|
||||||
Transformer (GPT) model in JAX, inspired by Andrej Karpathy’s PyTorch-based
|
|
||||||
nanoGPT. By comparing how essential GPT components—such as self-attention
|
|
||||||
mechanisms and optimizers—are realized in PyTorch and JAX, also highlight
|
|
||||||
JAX’s unique features.
|
|
||||||
|
|
||||||
* The `Optimize GPT Training: Enabling Mixed Precision Training in JAX using
|
|
||||||
ROCm on AMD GPUs <https://rocm.blogs.amd.com/artificial-intelligence/jax-mixed-precision/README.html>`_
|
|
||||||
blog post provides a comprehensive guide on enhancing the training efficiency
|
|
||||||
of GPT models by implementing mixed precision techniques in JAX, specifically
|
|
||||||
tailored for AMD GPUs utilizing the ROCm platform.
|
|
||||||
|
|
||||||
* The `Supercharging JAX with Triton Kernels on AMD GPUs <https://rocm.blogs.amd.com/artificial-intelligence/jax-triton/README.html>`_
|
|
||||||
blog demonstrates how to develop a custom fused dropout-activation kernel for
|
|
||||||
matrices using Triton, integrate it with JAX, and benchmark its performance
|
|
||||||
using ROCm.
|
|
||||||
|
|
||||||
* The `Distributed fine-tuning with JAX on AMD GPUs <https://rocm.blogs.amd.com/artificial-intelligence/distributed-sft-jax/README.html>`_
|
|
||||||
outlines the process of fine-tuning a Bidirectional Encoder Representations
|
|
||||||
from Transformers (BERT)-based large language model (LLM) using JAX for a text
|
|
||||||
classification task. The blog post discuss techniques for parallelizing the
|
|
||||||
fine-tuning across multiple AMD GPUs and assess the model's performance on a
|
|
||||||
holdout dataset. During the fine-tuning, a BERT-base-cased transformer model
|
|
||||||
and the General Language Understanding Evaluation (GLUE) benchmark dataset was
|
|
||||||
used on a multi-GPU setup.
|
|
||||||
|
|
||||||
* The `MI300X workload optimization guide <https://rocm.docs.amd.com/en/latest/how-to/tuning-guides/mi300x/workload.html>`_
|
|
||||||
provides detailed guidance on optimizing workloads for the AMD Instinct MI300X
|
|
||||||
accelerator using ROCm. The page is aimed at helping users achieve optimal
|
|
||||||
performance for deep learning and other high-performance computing tasks on
|
|
||||||
the MI300X GPU.
|
|
||||||
|
|
||||||
For more use cases and recommendations, see `ROCm JAX blog posts <https://rocm.blogs.amd.com/blog/tag/jax.html>`_.
|
|
||||||
|
|||||||
@@ -21,31 +21,68 @@ release cycles for PyTorch on ROCm:
|
|||||||
|
|
||||||
- ROCm PyTorch release:
|
- ROCm PyTorch release:
|
||||||
|
|
||||||
- Provides the latest version of ROCm but doesn't immediately support the latest stable PyTorch
|
- Provides the latest version of ROCm but might not necessarily support the
|
||||||
version.
|
latest stable PyTorch version.
|
||||||
|
|
||||||
- Offers :ref:`Docker images <pytorch-docker-compat>` with ROCm and PyTorch
|
- Offers :ref:`Docker images <pytorch-docker-compat>` with ROCm and PyTorch
|
||||||
pre-installed.
|
preinstalled.
|
||||||
|
|
||||||
- ROCm PyTorch repository: `<https://github.com/ROCm/pytorch>`_
|
- ROCm PyTorch repository: `<https://github.com/ROCm/pytorch>`_
|
||||||
|
|
||||||
- See the :doc:`ROCm PyTorch installation guide <rocm-install-on-linux:install/3rd-party/pytorch-install>` to get started.
|
- See the :doc:`ROCm PyTorch installation guide <rocm-install-on-linux:install/3rd-party/pytorch-install>`
|
||||||
|
to get started.
|
||||||
|
|
||||||
- Official PyTorch release:
|
- Official PyTorch release:
|
||||||
|
|
||||||
- Provides the latest stable version of PyTorch but doesn't immediately support the latest ROCm version.
|
- Provides the latest stable version of PyTorch but might not necessarily
|
||||||
|
support the latest ROCm version.
|
||||||
|
|
||||||
- Official PyTorch repository: `<https://github.com/pytorch/pytorch>`_
|
- Official PyTorch repository: `<https://github.com/pytorch/pytorch>`_
|
||||||
|
|
||||||
- See the `Nightly and latest stable version installation guide <https://pytorch.org/get-started/locally/>`_
|
- See the `Nightly and latest stable version installation guide <https://pytorch.org/get-started/locally/>`_
|
||||||
or `Previous versions <https://pytorch.org/get-started/previous-versions/>`_ to get started.
|
or `Previous versions <https://pytorch.org/get-started/previous-versions/>`_
|
||||||
|
to get started.
|
||||||
|
|
||||||
The upstream PyTorch includes an automatic HIPification solution that automatically generates HIP
|
PyTorch includes tooling that generates HIP source code from the CUDA backend.
|
||||||
source code from the CUDA backend. This approach allows PyTorch to support ROCm without requiring
|
This approach allows PyTorch to support ROCm without requiring manual code
|
||||||
manual code modifications.
|
modifications. For more information, see :doc:`HIPIFY <hipify:index>`.
|
||||||
|
|
||||||
Development of ROCm is aligned with the stable release of PyTorch while upstream PyTorch testing uses
|
ROCm development is aligned with the stable release of PyTorch, while upstream
|
||||||
the stable release of ROCm to maintain consistency.
|
PyTorch testing uses the stable release of ROCm to maintain consistency.
|
||||||
|
|
||||||
|
.. _pytorch-recommendations:
|
||||||
|
|
||||||
|
Use cases and recommendations
|
||||||
|
================================================================================
|
||||||
|
|
||||||
|
* :doc:`Using ROCm for AI: training a model </how-to/rocm-for-ai/training/benchmark-docker/pytorch-training>`
|
||||||
|
guides how to leverage the ROCm platform for training AI models. It covers the
|
||||||
|
steps, tools, and best practices for optimizing training workflows on AMD GPUs
|
||||||
|
using PyTorch features.
|
||||||
|
|
||||||
|
* :doc:`Single-GPU fine-tuning and inference </how-to/rocm-for-ai/fine-tuning/single-gpu-fine-tuning-and-inference>`
|
||||||
|
describes and demonstrates how to use the ROCm platform for the fine-tuning
|
||||||
|
and inference of machine learning models, particularly large language models
|
||||||
|
(LLMs), on systems with a single GPU. This topic provides a detailed guide for
|
||||||
|
setting up, optimizing, and executing fine-tuning and inference workflows in
|
||||||
|
such environments.
|
||||||
|
|
||||||
|
* :doc:`Multi-GPU fine-tuning and inference optimization </how-to/rocm-for-ai/fine-tuning/multi-gpu-fine-tuning-and-inference>`
|
||||||
|
describes and demonstrates the fine-tuning and inference of machine learning
|
||||||
|
models on systems with multiple GPUs.
|
||||||
|
|
||||||
|
* The :doc:`Instinct MI300X workload optimization guide </how-to/rocm-for-ai/inference-optimization/workload>`
|
||||||
|
provides detailed guidance on optimizing workloads for the AMD Instinct MI300X
|
||||||
|
accelerator using ROCm. This guide helps users achieve optimal performance for
|
||||||
|
deep learning and other high-performance computing tasks on the MI300X
|
||||||
|
accelerator.
|
||||||
|
|
||||||
|
* The :doc:`Inception with PyTorch documentation </conceptual/ai-pytorch-inception>`
|
||||||
|
describes how PyTorch integrates with ROCm for AI workloads It outlines the
|
||||||
|
use of PyTorch on the ROCm platform and focuses on efficiently leveraging AMD
|
||||||
|
GPU hardware for training and inference tasks in AI applications.
|
||||||
|
|
||||||
|
For more use cases and recommendations, see `ROCm PyTorch blog posts <https://rocm.blogs.amd.com/blog/tag/pytorch.html>`_.
|
||||||
|
|
||||||
.. _pytorch-docker-compat:
|
.. _pytorch-docker-compat:
|
||||||
|
|
||||||
@@ -56,10 +93,10 @@ Docker image compatibility
|
|||||||
|
|
||||||
<i class="fab fa-docker"></i>
|
<i class="fab fa-docker"></i>
|
||||||
|
|
||||||
AMD validates and publishes ready-made `PyTorch images <https://hub.docker.com/r/rocm/pytorch>`_
|
AMD validates and publishes `PyTorch images <https://hub.docker.com/r/rocm/pytorch>`_
|
||||||
with ROCm backends on Docker Hub. The following Docker image tags and
|
with ROCm backends on Docker Hub. The following Docker image tags and associated
|
||||||
associated inventories are validated for `ROCm 6.3.3 <https://repo.radeon.com/rocm/apt/6.3.3/>`_.
|
inventories were tested on `ROCm 6.4.0 <https://repo.radeon.com/rocm/apt/6.4/>`_.
|
||||||
Click the |docker-icon| icon to view the image on Docker Hub.
|
Click |docker-icon| to view the image on Docker Hub.
|
||||||
|
|
||||||
.. list-table:: PyTorch Docker image components
|
.. list-table:: PyTorch Docker image components
|
||||||
:header-rows: 1
|
:header-rows: 1
|
||||||
@@ -79,9 +116,84 @@ Click the |docker-icon| icon to view the image on Docker Hub.
|
|||||||
|
|
||||||
* - .. raw:: html
|
* - .. raw:: html
|
||||||
|
|
||||||
<a href="https://hub.docker.com/layers/rocm/pytorch/rocm6.3.3_ubuntu24.04_py3.12_pytorch_release_2.4.0/images/sha256-6c798857b2c9526b44ba535710b93a1737546acea79b53a93c646195c272f1d5"><i class="fab fa-docker fa-lg"></i></a>
|
<a href="https://hub.docker.com/layers/rocm/pytorch/rocm6.4_ubuntu24.04_py3.12_pytorch_release_2.6.0/images/sha256-ab1d350b818b90123cfda31363019d11c0d41a8f12a19e3cb2cb40cf0261137d"><i class="fab fa-docker fa-lg"></i></a>
|
||||||
|
|
||||||
- `2.4.0 <https://github.com/ROCm/pytorch/tree/release/2.4>`_
|
- `2.6.0 <https://github.com/ROCm/pytorch/tree/release/2.6>`_
|
||||||
|
- 24.04
|
||||||
|
- `3.12.9 <https://www.python.org/downloads/release/python-3129/>`_
|
||||||
|
- `1.6.0 <https://github.com/ROCm/apex/tree/release/1.6.0>`_
|
||||||
|
- `0.21.0 <https://github.com/pytorch/vision/tree/v0.21.0>`_
|
||||||
|
- `2.13.0 <https://github.com/tensorflow/tensorboard/tree/2.13.0>`_
|
||||||
|
- `master <https://bitbucket.org/icl/magma/src/master/>`_
|
||||||
|
- `1.10.0 <https://github.com/openucx/ucx/tree/v1.10.0>`_
|
||||||
|
- `4.0.3 <https://github.com/open-mpi/ompi/tree/v4.0.3>`_
|
||||||
|
- `5.3-1.0.5.0 <https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz>`_
|
||||||
|
|
||||||
|
* - .. raw:: html
|
||||||
|
|
||||||
|
<a href="https://hub.docker.com/layers/rocm/pytorch/rocm6.4_ubuntu22.04_py3.10_pytorch_release_2.6.0/images/sha256-130536fdfceb374626a7bcb8d00b9d796ddfc3115677d51229e5b852d96b5ef4"><i class="fab fa-docker fa-lg"></i></a>
|
||||||
|
|
||||||
|
- `2.6.0 <https://github.com/ROCm/pytorch/tree/release/2.6>`_
|
||||||
|
- 22.04
|
||||||
|
- `3.10.16 <https://www.python.org/downloads/release/python-31016/>`_
|
||||||
|
- `1.6.0 <https://github.com/ROCm/apex/tree/release/1.6.0>`_
|
||||||
|
- `0.21.0 <https://github.com/pytorch/vision/tree/v0.21.0>`_
|
||||||
|
- `2.13.0 <https://github.com/tensorflow/tensorboard/tree/2.13.0>`_
|
||||||
|
- `master <https://bitbucket.org/icl/magma/src/master/>`_
|
||||||
|
- `1.10.0 <https://github.com/openucx/ucx/tree/v1.10.0>`_
|
||||||
|
- `4.0.7 <https://github.com/open-mpi/ompi/tree/v4.0.7>`_
|
||||||
|
- `5.3-1.0.5.0 <https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz>`_
|
||||||
|
|
||||||
|
* - .. raw:: html
|
||||||
|
|
||||||
|
<a href="https://hub.docker.com/layers/rocm/pytorch/rocm6.4_ubuntu24.04_py3.12_pytorch_release_2.5.1/images/sha256-20a2e24b4738dc1f1a44a04f23827918b56c99f7e697e6fccb90e9c4fae8ca9b"><i class="fab fa-docker fa-lg"></i></a>
|
||||||
|
|
||||||
|
- `2.5.1 <https://github.com/ROCm/pytorch/tree/release/2.5>`_
|
||||||
|
- 24.04
|
||||||
|
- `3.12.9 <https://www.python.org/downloads/release/python-3129/>`_
|
||||||
|
- `1.5.0 <https://github.com/ROCm/apex/tree/release/1.5.0>`_
|
||||||
|
- `0.20.1 <https://github.com/pytorch/vision/tree/v0.20.1>`_
|
||||||
|
- `2.13.0 <https://github.com/tensorflow/tensorboard/tree/2.13.0>`_
|
||||||
|
- `master <https://bitbucket.org/icl/magma/src/master/>`_
|
||||||
|
- `1.10.0 <https://github.com/openucx/ucx/tree/v1.10.0>`_
|
||||||
|
- `4.0.7 <https://github.com/open-mpi/ompi/tree/v4.0.7>`_
|
||||||
|
- `5.3-1.0.5.0 <https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz>`_
|
||||||
|
|
||||||
|
* - .. raw:: html
|
||||||
|
|
||||||
|
<a href="https://hub.docker.com/layers/rocm/pytorch/rocm6.4_ubuntu22.04_py3.11_pytorch_release_2.5.1/images/sha256-f09cb8ca39cc39222fb554060711f5c19130f7b4047aaf41fad4ba3ec470ca03"><i class="fab fa-docker fa-lg"></i></a>
|
||||||
|
|
||||||
|
- `2.5.1 <https://github.com/ROCm/pytorch/tree/release/2.5>`_
|
||||||
|
- 22.04
|
||||||
|
- `3.11.9 <https://www.python.org/downloads/release/python-3119/>`_
|
||||||
|
- `1.5.0 <https://github.com/ROCm/apex/tree/release/1.5.0>`_
|
||||||
|
- `0.20.1 <https://github.com/pytorch/vision/tree/v0.20.1>`_
|
||||||
|
- `2.13.0 <https://github.com/tensorflow/tensorboard/tree/2.13.0>`_
|
||||||
|
- `master <https://bitbucket.org/icl/magma/src/master/>`_
|
||||||
|
- `1.14.1 <https://github.com/openucx/ucx/tree/v1.14.1>`_
|
||||||
|
- `4.1.5 <https://github.com/open-mpi/ompi/tree/v4.1.5>`_
|
||||||
|
- `5.3-1.0.5.0 <https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz>`_
|
||||||
|
|
||||||
|
* - .. raw:: html
|
||||||
|
|
||||||
|
<a href="https://hub.docker.com/layers/rocm/pytorch/rocm6.4_ubuntu22.04_py3.10_pytorch_release_2.5.1/images/sha256-a91c100d1fe608dae3eb7f60a751630363d4027ac3d077d428e92945204c338e"><i class="fab fa-docker fa-lg"></i></a>
|
||||||
|
|
||||||
|
- `2.5.1 <https://github.com/ROCm/pytorch/tree/release/2.5>`_
|
||||||
|
- 22.04
|
||||||
|
- `3.10.16 <https://www.python.org/downloads/release/python-31016/>`_
|
||||||
|
- `1.5.0 <https://github.com/ROCm/apex/tree/release/1.5.0>`_
|
||||||
|
- `0.20.1 <https://github.com/pytorch/vision/tree/v0.20.1>`_
|
||||||
|
- `2.13.0 <https://github.com/tensorflow/tensorboard/tree/2.13.0>`_
|
||||||
|
- `master <https://bitbucket.org/icl/magma/src/master/>`_
|
||||||
|
- `1.14.1 <https://github.com/openucx/ucx/tree/v1.14.1>`_
|
||||||
|
- `4.1.5 <https://github.com/open-mpi/ompi/tree/v4.1.5>`_
|
||||||
|
- `5.3-1.0.5.0 <https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz>`_
|
||||||
|
|
||||||
|
* - .. raw:: html
|
||||||
|
|
||||||
|
<a href="https://hub.docker.com/layers/rocm/pytorch/rocm6.4_ubuntu24.04_py3.12_pytorch_release_2.4.1/images/sha256-66a89ce6485bb887af74bb9bd76bb613ab9834a6b1374649ea7ae379883454a4"><i class="fab fa-docker fa-lg"></i></a>
|
||||||
|
|
||||||
|
- `2.4.1 <https://github.com/ROCm/pytorch/tree/release/2.4>`_
|
||||||
- 24.04
|
- 24.04
|
||||||
- `3.12.9 <https://www.python.org/downloads/release/python-3129/>`_
|
- `3.12.9 <https://www.python.org/downloads/release/python-3129/>`_
|
||||||
- `1.4.0 <https://github.com/ROCm/apex/tree/release/1.4.0>`_
|
- `1.4.0 <https://github.com/ROCm/apex/tree/release/1.4.0>`_
|
||||||
@@ -94,116 +206,55 @@ Click the |docker-icon| icon to view the image on Docker Hub.
|
|||||||
|
|
||||||
* - .. raw:: html
|
* - .. raw:: html
|
||||||
|
|
||||||
<a href="https://hub.docker.com/layers/rocm/pytorch/rocm6.3.3_ubuntu22.04_py3.10_pytorch_release_2.4.0/images/sha256-a09b21248133876fc8912a5ff4e6ee2c8d62b14120313e426b3dadda5702713d"><i class="fab fa-docker fa-lg"></i></a>
|
<a href="https://hub.docker.com/layers/rocm/pytorch/rocm6.4_ubuntu22.04_py3.10_pytorch_release_2.4.1/images/sha256-c716cf167e6e49893f11de03606ed37044153aca089e74ca615065c06877f86b"><i class="fab fa-docker fa-lg"></i></a>
|
||||||
|
|
||||||
- `2.4.0 <https://github.com/ROCm/pytorch/tree/release/2.4>`_
|
- `2.4.1 <https://github.com/ROCm/pytorch/tree/release/2.4>`_
|
||||||
- 22.04
|
- 22.04
|
||||||
- `3.10.16 <https://www.python.org/downloads/release/python-31016/>`_
|
- `3.10.16 <https://www.python.org/downloads/release/python-31016/>`_
|
||||||
- `1.4.0 <https://github.com/ROCm/apex/tree/release/1.4.0>`_
|
- `1.4.0 <https://github.com/ROCm/apex/tree/release/1.4.0>`_
|
||||||
- `0.19.0 <https://github.com/pytorch/vision/tree/v0.19.0>`_
|
- `0.19.0 <https://github.com/pytorch/vision/tree/v0.19.0>`_
|
||||||
- `2.13.0 <https://github.com/tensorflow/tensorboard/tree/2.13.0>`_
|
- `2.13.0 <https://github.com/tensorflow/tensorboard/tree/2.13.0>`_
|
||||||
- `master <https://bitbucket.org/icl/magma/src/master/>`_
|
- `master <https://bitbucket.org/icl/magma/src/master/>`_
|
||||||
- `1.10.0 <https://github.com/openucx/ucx/tree/v1.10.0>`_
|
- `1.14.1 <https://github.com/openucx/ucx/tree/v1.14.1>`_
|
||||||
- `4.0.7 <https://github.com/open-mpi/ompi/tree/v4.0.7>`_
|
- `4.1.5 <https://github.com/open-mpi/ompi/tree/v4.1.5>`_
|
||||||
- `5.3-1.0.5.0 <https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz>`_
|
- `5.3-1.0.5.0 <https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz>`_
|
||||||
|
|
||||||
* - .. raw:: html
|
* - .. raw:: html
|
||||||
|
|
||||||
<a href="https://hub.docker.com/layers/rocm/pytorch/rocm6.3.3_ubuntu22.04_py3.9_pytorch_release_2.4.0/images/sha256-963187534467f0f9da77996762fc1d112a6faa5372277c348a505533e7876ec8"><i class="fab fa-docker fa-lg"></i></a>
|
<a href="https://hub.docker.com/layers/rocm/pytorch/rocm6.4_ubuntu24.04_py3.12_pytorch_release_2.3.0/images/sha256-0434cbc9b07b2c26e39480d7447f676f9057a1054dcff00e0050c25a6eddbd3c"><i class="fab fa-docker fa-lg"></i></a>
|
||||||
|
|
||||||
- `2.4.0 <https://github.com/ROCm/pytorch/tree/release/2.4>`_
|
- `2.3.0 <https://github.com/ROCm/pytorch/tree/release/2.3>`_
|
||||||
- 22.04
|
- 24.04
|
||||||
- `3.9.21 <https://www.python.org/downloads/release/python-3921/>`_
|
- `3.12.9 <https://www.python.org/downloads/release/python-3129/>`_
|
||||||
- `1.4.0 <https://github.com/ROCm/apex/tree/release/1.4.0>`_
|
- `1.3.0 <https://github.com/ROCm/apex/tree/release/1.3.0>`_
|
||||||
- `0.19.0 <https://github.com/pytorch/vision/tree/v0.19.0>`_
|
- `0.18.0 <https://github.com/pytorch/vision/tree/v0.18.0>`_
|
||||||
- `2.13.0 <https://github.com/tensorflow/tensorboard/tree/2.13.0>`_
|
- `2.13.0 <https://github.com/tensorflow/tensorboard/tree/2.13>`_
|
||||||
- `master <https://bitbucket.org/icl/magma/src/master/>`_
|
- `master <https://bitbucket.org/icl/magma/src/master/>`_
|
||||||
- `1.10.0 <https://github.com/openucx/ucx/tree/v1.10.0>`_
|
- `1.10.0 <https://github.com/openucx/ucx/tree/v1.10.0>`_
|
||||||
- `4.0.7 <https://github.com/open-mpi/ompi/tree/v4.0.7>`_
|
- `4.0.3 <https://github.com/open-mpi/ompi/tree/v4.0.3>`_
|
||||||
- `5.3-1.0.5.0 <https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz>`_
|
- `5.3-1.0.5.0 <https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz>`_
|
||||||
|
|
||||||
* - .. raw:: html
|
* - .. raw:: html
|
||||||
|
|
||||||
<a href="https://hub.docker.com/layers/rocm/pytorch/rocm6.3.3_ubuntu22.04_py3.10_pytorch_release_2.3.0/images/sha256-952f2621bd2bf3078bef19061e05b209105a82a7908e7e6cdf85014938a4d93a"><i class="fab fa-docker fa-lg"></i></a>
|
<a href="https://hub.docker.com/layers/rocm/pytorch/rocm6.4_ubuntu22.04_py3.10_pytorch_release_2.3.0/images/sha256-688b1c0073092615fb98778d78b16191e506097ee116a2d3d2628b264d5d367b"><i class="fab fa-docker fa-lg"></i></a>
|
||||||
|
|
||||||
- `2.3.0 <https://github.com/ROCm/pytorch/tree/release/2.3>`_
|
- `2.3.0 <https://github.com/ROCm/pytorch/tree/release/2.3>`_
|
||||||
- 22.04
|
- 22.04
|
||||||
- `3.10.16 <https://www.python.org/downloads/release/python-31016/>`_
|
- `3.10.16 <https://www.python.org/downloads/release/python-31016/>`_
|
||||||
- `1.3.0 <https://github.com/ROCm/apex/tree/release/1.3.0>`_
|
- `1.3.0 <https://github.com/ROCm/apex/tree/release/1.3.0>`_
|
||||||
- `0.18.0 <https://github.com/pytorch/vision/tree/v0.18.0>`_
|
- `0.18.0 <https://github.com/pytorch/vision/tree/v0.18.0>`_
|
||||||
- `2.13.0 <https://github.com/tensorflow/tensorboard/tree/2.13.0>`_
|
- `2.13.0 <https://github.com/tensorflow/tensorboard/tree/2.13>`_
|
||||||
- `master <https://bitbucket.org/icl/magma/src/master/>`_
|
|
||||||
- `1.14.1 <https://github.com/openucx/ucx/tree/v1.14.1>`_
|
|
||||||
- `4.1.5 <https://github.com/open-mpi/ompi/tree/v4.1.5>`_
|
|
||||||
- `5.3-1.0.5.0 <https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz>`_
|
|
||||||
|
|
||||||
* - .. raw:: html
|
|
||||||
|
|
||||||
<a href="https://hub.docker.com/layers/rocm/pytorch/rocm6.3.3_ubuntu22.04_py3.10_pytorch_release_2.2.1/images/sha256-a2fe20e170feb9e05da3e5728bb98e40d08567e137be8e6ba797962ed2852608"><i class="fab fa-docker fa-lg"></i></a>
|
|
||||||
|
|
||||||
- `2.2.1 <https://github.com/ROCm/pytorch/tree/release/2.2>`_
|
|
||||||
- 22.04
|
|
||||||
- `3.10 <https://www.python.org/downloads/release/python-31016/>`_
|
|
||||||
- `1.2.0 <https://github.com/ROCm/apex/tree/release/1.2.0>`_
|
|
||||||
- `0.17.1 <https://github.com/pytorch/vision/tree/v0.17.1>`_
|
|
||||||
- `2.13.0 <https://github.com/tensorflow/tensorboard/tree/2.13.0>`_
|
|
||||||
- `master <https://bitbucket.org/icl/magma/src/master/>`_
|
|
||||||
- `1.14.1 <https://github.com/openucx/ucx/tree/v1.14.1>`_
|
|
||||||
- `4.1.5 <https://github.com/open-mpi/ompi/tree/v4.1.5>`_
|
|
||||||
- `5.3-1.0.5.0 <https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz>`_
|
|
||||||
|
|
||||||
* - .. raw:: html
|
|
||||||
|
|
||||||
<a href="https://hub.docker.com/layers/rocm/pytorch/rocm6.3.3_ubuntu20.04_py3.9_pytorch_release_2.2.1/images/sha256-7f231937c897cca5f89e360be33c70a2017d60f62d1fbe81292be48c15fe345b"><i class="fab fa-docker fa-lg"></i></a>
|
|
||||||
|
|
||||||
- `2.2.1 <https://github.com/ROCm/pytorch/tree/release/2.2>`_
|
|
||||||
- 20.04
|
|
||||||
- `3.9.21 <https://www.python.org/downloads/release/python-3921/>`_
|
|
||||||
- `1.2.0 <https://github.com/ROCm/apex/tree/release/1.2.0>`_
|
|
||||||
- `0.17.1 <https://github.com/pytorch/vision/tree/v0.17.1>`_
|
|
||||||
- `2.13.0 <https://github.com/tensorflow/tensorboard/tree/2.13.0>`_
|
|
||||||
- `master <https://bitbucket.org/icl/magma/src/master/>`_
|
- `master <https://bitbucket.org/icl/magma/src/master/>`_
|
||||||
- `1.10.0 <https://github.com/openucx/ucx/tree/v1.10.0>`_
|
- `1.10.0 <https://github.com/openucx/ucx/tree/v1.10.0>`_
|
||||||
- `4.0.3 <https://github.com/open-mpi/ompi/tree/v4.0.3>`_
|
- `4.0.3 <https://github.com/open-mpi/ompi/tree/v4.0.3>`_
|
||||||
- `5.3-1.0.5.0 <https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz>`_
|
- `5.3-1.0.5.0 <https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz>`_
|
||||||
|
|
||||||
* - .. raw:: html
|
Key ROCm libraries for PyTorch
|
||||||
|
|
||||||
<a href="https://hub.docker.com/layers/rocm/pytorch/rocm6.3.3_ubuntu22.04_py3.9_pytorch_release_1.13.1/images/sha256-616a47758004f91951e2da6c1fe291f903de65a7b2318d4b18359b48fe3032f4"><i class="fab fa-docker fa-lg"></i></a>
|
|
||||||
|
|
||||||
- `1.13.1 <https://github.com/ROCm/pytorch/tree/release/1.13>`_
|
|
||||||
- 22.04
|
|
||||||
- `3.9.21 <https://www.python.org/downloads/release/python-3921/>`_
|
|
||||||
- `1.0.0 <https://github.com/ROCm/apex/tree/release/1.0.0>`_
|
|
||||||
- `0.14.0 <https://github.com/pytorch/vision/tree/v0.14.0>`_
|
|
||||||
- `2.19.0 <https://github.com/tensorflow/tensorboard/tree/2.19>`_
|
|
||||||
- `master <https://bitbucket.org/icl/magma/src/master/>`_
|
|
||||||
- `1.14.1 <https://github.com/openucx/ucx/tree/v1.14.1>`_
|
|
||||||
- `4.1.5 <https://github.com/open-mpi/ompi/tree/v4.1.5>`_
|
|
||||||
- `5.3-1.0.5.0 <https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz>`_
|
|
||||||
|
|
||||||
* - .. raw:: html
|
|
||||||
|
|
||||||
<a href="https://hub.docker.com/layers/rocm/pytorch/rocm6.3.3_ubuntu20.04_py3.9_pytorch_release_1.13.1/images/sha256-a2cfb365aea58b84595e241ffdb0d5ef3e6566e98c10b5499f4aa29983a74ea2"><i class="fab fa-docker fa-lg"></i></a>
|
|
||||||
|
|
||||||
- `1.13.1 <https://github.com/ROCm/pytorch/tree/release/1.13>`_
|
|
||||||
- 20.04
|
|
||||||
- `3.9.21 <https://www.python.org/downloads/release/python-3921/>`_
|
|
||||||
- `1.0.0 <https://github.com/ROCm/apex/tree/release/1.0.0>`_
|
|
||||||
- `0.14.0 <https://github.com/pytorch/vision/tree/v0.14.0>`_
|
|
||||||
- `2.18.0 <https://github.com/tensorflow/tensorboard/tree/2.18>`_
|
|
||||||
- `master <https://bitbucket.org/icl/magma/src/master/>`_
|
|
||||||
- `1.10.0 <https://github.com/openucx/ucx/tree/v1.10.0>`_
|
|
||||||
- `4.0.3 <https://github.com/open-mpi/ompi/tree/v4.0.3>`_
|
|
||||||
- `5.3-1.0.5.0 <https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz>`_
|
|
||||||
|
|
||||||
Critical ROCm libraries for PyTorch
|
|
||||||
================================================================================
|
================================================================================
|
||||||
|
|
||||||
The functionality of PyTorch with ROCm is determined by its underlying library
|
PyTorch functionality on ROCm is determined by its underlying library
|
||||||
dependencies. These critical ROCm components affect the capabilities,
|
dependencies. These ROCm components affect the capabilities, performance, and
|
||||||
performance, and feature set available to developers. The versions described
|
feature set available to developers.
|
||||||
are available in ROCm :version:`rocm_version`.
|
|
||||||
|
|
||||||
.. list-table::
|
.. list-table::
|
||||||
:header-rows: 1
|
:header-rows: 1
|
||||||
@@ -223,24 +274,23 @@ are available in ROCm :version:`rocm_version`.
|
|||||||
- :version-ref:`hipBLAS rocm_version`
|
- :version-ref:`hipBLAS rocm_version`
|
||||||
- Provides GPU-accelerated Basic Linear Algebra Subprograms (BLAS) for
|
- Provides GPU-accelerated Basic Linear Algebra Subprograms (BLAS) for
|
||||||
matrix and vector operations.
|
matrix and vector operations.
|
||||||
- Supports operations like matrix multiplication, matrix-vector products,
|
- Supports operations such as matrix multiplication, matrix-vector
|
||||||
and tensor contractions. Utilized in both dense and batched linear
|
products, and tensor contractions. Utilized in both dense and batched
|
||||||
algebra operations.
|
linear algebra operations.
|
||||||
* - `hipBLASLt <https://github.com/ROCm/hipBLASLt>`_
|
* - `hipBLASLt <https://github.com/ROCm/hipBLASLt>`_
|
||||||
- :version-ref:`hipBLASLt rocm_version`
|
- :version-ref:`hipBLASLt rocm_version`
|
||||||
- hipBLASLt is an extension of the hipBLAS library, providing additional
|
- hipBLASLt is an extension of the hipBLAS library, providing additional
|
||||||
features like epilogues fused into the matrix multiplication kernel or
|
features like epilogues fused into the matrix multiplication kernel or
|
||||||
use of integer tensor cores.
|
use of integer tensor cores.
|
||||||
- It accelerates operations like ``torch.matmul``, ``torch.mm``, and the
|
- Accelerates operations such as ``torch.matmul``, ``torch.mm``, and the
|
||||||
matrix multiplications used in convolutional and linear layers.
|
matrix multiplications used in convolutional and linear layers.
|
||||||
* - `hipCUB <https://github.com/ROCm/hipCUB>`_
|
* - `hipCUB <https://github.com/ROCm/hipCUB>`_
|
||||||
- :version-ref:`hipCUB rocm_version`
|
- :version-ref:`hipCUB rocm_version`
|
||||||
- Provides a C++ template library for parallel algorithms for reduction,
|
- Provides a C++ template library for parallel algorithms for reduction,
|
||||||
scan, sort and select.
|
scan, sort and select.
|
||||||
- Supports operations like ``torch.sum``, ``torch.cumsum``, ``torch.sort``
|
- Supports operations such as ``torch.sum``, ``torch.cumsum``,
|
||||||
and ``torch.topk``. Operations on sparse tensors or tensors with
|
``torch.sort`` irregular shapes often involve scanning, sorting, and
|
||||||
irregular shapes often involve scanning, sorting, and filtering, which
|
filtering, which hipCUB handles efficiently.
|
||||||
hipCUB handles efficiently.
|
|
||||||
* - `hipFFT <https://github.com/ROCm/hipFFT>`_
|
* - `hipFFT <https://github.com/ROCm/hipFFT>`_
|
||||||
- :version-ref:`hipFFT rocm_version`
|
- :version-ref:`hipFFT rocm_version`
|
||||||
- Provides GPU-accelerated Fast Fourier Transform (FFT) operations.
|
- Provides GPU-accelerated Fast Fourier Transform (FFT) operations.
|
||||||
@@ -248,8 +298,8 @@ are available in ROCm :version:`rocm_version`.
|
|||||||
* - `hipRAND <https://github.com/ROCm/hipRAND>`_
|
* - `hipRAND <https://github.com/ROCm/hipRAND>`_
|
||||||
- :version-ref:`hipRAND rocm_version`
|
- :version-ref:`hipRAND rocm_version`
|
||||||
- Provides fast random number generation for GPUs.
|
- Provides fast random number generation for GPUs.
|
||||||
- The ``torch.rand``, ``torch.randn`` and stochastic layers like
|
- The ``torch.rand``, ``torch.randn``, and stochastic layers like
|
||||||
``torch.nn.Dropout``.
|
``torch.nn.Dropout`` rely on hipRAND.
|
||||||
* - `hipSOLVER <https://github.com/ROCm/hipSOLVER>`_
|
* - `hipSOLVER <https://github.com/ROCm/hipSOLVER>`_
|
||||||
- :version-ref:`hipSOLVER rocm_version`
|
- :version-ref:`hipSOLVER rocm_version`
|
||||||
- Provides GPU-accelerated solvers for linear systems, eigenvalues, and
|
- Provides GPU-accelerated solvers for linear systems, eigenvalues, and
|
||||||
@@ -320,7 +370,7 @@ are available in ROCm :version:`rocm_version`.
|
|||||||
- :version-ref:`RPP rocm_version`
|
- :version-ref:`RPP rocm_version`
|
||||||
- Speeds up data augmentation, transformation, and other preprocessing steps.
|
- Speeds up data augmentation, transformation, and other preprocessing steps.
|
||||||
- Easy to integrate into PyTorch's ``torch.utils.data`` and
|
- Easy to integrate into PyTorch's ``torch.utils.data`` and
|
||||||
``torchvision`` data load workloads.
|
``torchvision`` data load workloads to speed up data processing.
|
||||||
* - `rocThrust <https://github.com/ROCm/rocThrust>`_
|
* - `rocThrust <https://github.com/ROCm/rocThrust>`_
|
||||||
- :version-ref:`rocThrust rocm_version`
|
- :version-ref:`rocThrust rocm_version`
|
||||||
- Provides a C++ template library for parallel algorithms like sorting,
|
- Provides a C++ template library for parallel algorithms like sorting,
|
||||||
@@ -337,11 +387,11 @@ are available in ROCm :version:`rocm_version`.
|
|||||||
involve matrix products, such as ``torch.matmul``, ``torch.bmm``, and
|
involve matrix products, such as ``torch.matmul``, ``torch.bmm``, and
|
||||||
more.
|
more.
|
||||||
|
|
||||||
Supported and unsupported features
|
Supported features
|
||||||
================================================================================
|
================================================================================
|
||||||
|
|
||||||
The following section maps GPU-accelerated PyTorch features to their supported
|
This section maps GPU-accelerated PyTorch features to their supported ROCm and
|
||||||
ROCm and PyTorch versions.
|
PyTorch versions.
|
||||||
|
|
||||||
torch
|
torch
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
@@ -349,23 +399,24 @@ torch
|
|||||||
`torch <https://pytorch.org/docs/stable/index.html>`_ is the central module of
|
`torch <https://pytorch.org/docs/stable/index.html>`_ is the central module of
|
||||||
PyTorch, providing data structures for multi-dimensional tensors and
|
PyTorch, providing data structures for multi-dimensional tensors and
|
||||||
implementing mathematical operations on them. It also includes utilities for
|
implementing mathematical operations on them. It also includes utilities for
|
||||||
efficient serialization of tensors and arbitrary data types, along with various
|
efficient serialization of tensors and arbitrary data types and other tools.
|
||||||
other tools.
|
|
||||||
|
|
||||||
Tensor data types
|
Tensor data types
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
The data type of a tensor is specified using the ``dtype`` attribute or argument, and PyTorch supports a wide range of data types for different use cases.
|
The tensor data type is specified using the ``dtype`` attribute or argument.
|
||||||
|
PyTorch supports many data types for different use cases.
|
||||||
|
|
||||||
The following table lists `torch.Tensor <https://pytorch.org/docs/stable/tensors.html>`_'s single data types:
|
The following table lists `torch.Tensor <https://pytorch.org/docs/stable/tensors.html>`_
|
||||||
|
single data types:
|
||||||
|
|
||||||
.. list-table::
|
.. list-table::
|
||||||
:header-rows: 1
|
:header-rows: 1
|
||||||
|
|
||||||
* - Data type
|
* - Data type
|
||||||
- Description
|
- Description
|
||||||
- Since PyTorch
|
- As of PyTorch
|
||||||
- Since ROCm
|
- As of ROCm
|
||||||
* - ``torch.float8_e4m3fn``
|
* - ``torch.float8_e4m3fn``
|
||||||
- 8-bit floating point, e4m3
|
- 8-bit floating point, e4m3
|
||||||
- 2.3
|
- 2.3
|
||||||
@@ -457,11 +508,11 @@ The following table lists `torch.Tensor <https://pytorch.org/docs/stable/tensors
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
Unsigned types aside from ``uint8`` are currently only have limited support in
|
Unsigned types except ``uint8`` have limited support in eager mode. They
|
||||||
eager mode (they primarily exist to assist usage with ``torch.compile``).
|
primarily exist to assist usage with ``torch.compile``.
|
||||||
|
|
||||||
The :doc:`ROCm precision support page <rocm:reference/precision-support>`
|
See :doc:`ROCm precision support <rocm:reference/precision-support>` for the
|
||||||
collected the native HW support of different data types.
|
native hardware support of data types.
|
||||||
|
|
||||||
torch.cuda
|
torch.cuda
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
@@ -476,8 +527,8 @@ leveraging ROCm and CUDA as the underlying frameworks.
|
|||||||
|
|
||||||
* - Feature
|
* - Feature
|
||||||
- Description
|
- Description
|
||||||
- Since PyTorch
|
- As of PyTorch
|
||||||
- Since ROCm
|
- As of ROCm
|
||||||
* - Device management
|
* - Device management
|
||||||
- Utilities for managing and interacting with GPUs.
|
- Utilities for managing and interacting with GPUs.
|
||||||
- 0.4.0
|
- 0.4.0
|
||||||
@@ -551,8 +602,8 @@ PyTorch interacts with the ROCm or CUDA environment.
|
|||||||
|
|
||||||
* - Feature
|
* - Feature
|
||||||
- Description
|
- Description
|
||||||
- Since PyTorch
|
- As of PyTorch
|
||||||
- Since ROCm
|
- As of ROCm
|
||||||
* - ``cufft_plan_cache``
|
* - ``cufft_plan_cache``
|
||||||
- Manages caching of GPU FFT plans to optimize repeated FFT computations.
|
- Manages caching of GPU FFT plans to optimize repeated FFT computations.
|
||||||
- 1.7.0
|
- 1.7.0
|
||||||
@@ -600,8 +651,8 @@ Supported ``torch`` options include:
|
|||||||
|
|
||||||
* - Option
|
* - Option
|
||||||
- Description
|
- Description
|
||||||
- Since PyTorch
|
- As of PyTorch
|
||||||
- Since ROCm
|
- As of ROCm
|
||||||
* - ``allow_tf32``
|
* - ``allow_tf32``
|
||||||
- TensorFloat-32 tensor cores may be used in cuDNN convolutions on NVIDIA
|
- TensorFloat-32 tensor cores may be used in cuDNN convolutions on NVIDIA
|
||||||
Ampere or newer GPUs.
|
Ampere or newer GPUs.
|
||||||
@@ -616,28 +667,28 @@ Supported ``torch`` options include:
|
|||||||
Automatic mixed precision: torch.amp
|
Automatic mixed precision: torch.amp
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
PyTorch that automates the process of using both 16-bit (half-precision,
|
PyTorch automates the process of using both 16-bit (half-precision, float16) and
|
||||||
float16) and 32-bit (single-precision, float32) floating-point types in model
|
32-bit (single-precision, float32) floating-point types in model training and
|
||||||
training and inference.
|
inference.
|
||||||
|
|
||||||
.. list-table::
|
.. list-table::
|
||||||
:header-rows: 1
|
:header-rows: 1
|
||||||
|
|
||||||
* - Feature
|
* - Feature
|
||||||
- Description
|
- Description
|
||||||
- Since PyTorch
|
- As of PyTorch
|
||||||
- Since ROCm
|
- As of ROCm
|
||||||
* - Autocasting
|
* - Autocasting
|
||||||
- Instances of autocast serve as context managers or decorators that allow
|
- Autocast instances serve as context managers or decorators that allow
|
||||||
regions of your script to run in mixed precision.
|
regions of your script to run in mixed precision.
|
||||||
- 1.9
|
- 1.9
|
||||||
- 2.5
|
- 2.5
|
||||||
* - Gradient scaling
|
* - Gradient scaling
|
||||||
- To prevent underflow, “gradient scaling” multiplies the network’s
|
- To prevent underflow, “gradient scaling” multiplies the network’s
|
||||||
loss(es) by a scale factor and invokes a backward pass on the scaled
|
loss by a scale factor and invokes a backward pass on the scaled
|
||||||
loss(es). Gradients flowing backward through the network are then
|
loss. The same factor then scales gradients flowing backward through
|
||||||
scaled by the same factor. In other words, gradient values have a
|
the network. In other words, gradient values have a larger magnitude so
|
||||||
larger magnitude, so they don’t flush to zero.
|
that they don’t flush to zero.
|
||||||
- 1.9
|
- 1.9
|
||||||
- 2.5
|
- 2.5
|
||||||
* - CUDA op-specific behavior
|
* - CUDA op-specific behavior
|
||||||
@@ -651,7 +702,7 @@ training and inference.
|
|||||||
Distributed library features
|
Distributed library features
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
The PyTorch distributed library includes a collective of parallelism modules, a
|
PyTorch distributed library includes a collective of parallelism modules, a
|
||||||
communications layer, and infrastructure for launching and debugging large
|
communications layer, and infrastructure for launching and debugging large
|
||||||
training jobs. See :ref:`rocm-for-ai-pytorch-distributed` for more information.
|
training jobs. See :ref:`rocm-for-ai-pytorch-distributed` for more information.
|
||||||
|
|
||||||
@@ -665,13 +716,13 @@ of computational resources and scalability for large-scale tasks.
|
|||||||
|
|
||||||
* - Feature
|
* - Feature
|
||||||
- Description
|
- Description
|
||||||
- Since PyTorch
|
- As of PyTorch
|
||||||
- Since ROCm
|
- As of ROCm
|
||||||
* - TensorPipe
|
* - TensorPipe
|
||||||
- A point-to-point communication library integrated into
|
- A point-to-point communication library integrated into
|
||||||
PyTorch for distributed training. It is designed to handle tensor data
|
PyTorch for distributed training. It handles tensor data transfers
|
||||||
transfers efficiently between different processes or devices, including
|
efficiently between different processes or devices, including those on
|
||||||
those on separate machines.
|
separate machines.
|
||||||
- 1.8
|
- 1.8
|
||||||
- 5.4
|
- 5.4
|
||||||
* - Gloo
|
* - Gloo
|
||||||
@@ -690,8 +741,8 @@ torch.compiler
|
|||||||
|
|
||||||
* - Feature
|
* - Feature
|
||||||
- Description
|
- Description
|
||||||
- Since PyTorch
|
- As of PyTorch
|
||||||
- Since ROCm
|
- As of ROCm
|
||||||
* - ``torch.compiler`` (AOT Autograd)
|
* - ``torch.compiler`` (AOT Autograd)
|
||||||
- Autograd captures not only the user-level code, but also backpropagation,
|
- Autograd captures not only the user-level code, but also backpropagation,
|
||||||
which results in capturing the backwards pass “ahead-of-time”. This
|
which results in capturing the backwards pass “ahead-of-time”. This
|
||||||
@@ -714,8 +765,8 @@ The `torchaudio <https://pytorch.org/audio/stable/index.html>`_ library provides
|
|||||||
utilities for processing audio data in PyTorch, such as audio loading,
|
utilities for processing audio data in PyTorch, such as audio loading,
|
||||||
transformations, and feature extraction.
|
transformations, and feature extraction.
|
||||||
|
|
||||||
To ensure GPU-acceleration with ``torchaudio.transforms``, you need to move audio
|
To ensure GPU-acceleration with ``torchaudio.transforms``, you need to
|
||||||
data (waveform tensor) explicitly to GPU using ``.to('cuda')``.
|
explicitly move audio data (waveform tensor) to GPU using ``.to('cuda')``.
|
||||||
|
|
||||||
The following ``torchaudio`` features are GPU-accelerated.
|
The following ``torchaudio`` features are GPU-accelerated.
|
||||||
|
|
||||||
@@ -724,10 +775,10 @@ The following ``torchaudio`` features are GPU-accelerated.
|
|||||||
|
|
||||||
* - Feature
|
* - Feature
|
||||||
- Description
|
- Description
|
||||||
- Since torchaudio version
|
- As of torchaudio version
|
||||||
- Since ROCm
|
- As of ROCm
|
||||||
* - ``torchaudio.transforms.Spectrogram``
|
* - ``torchaudio.transforms.Spectrogram``
|
||||||
- Generates spectrogram of an input waveform using STFT.
|
- Generate a spectrogram of an input waveform using STFT.
|
||||||
- 0.6.0
|
- 0.6.0
|
||||||
- 4.5
|
- 4.5
|
||||||
* - ``torchaudio.transforms.MelSpectrogram``
|
* - ``torchaudio.transforms.MelSpectrogram``
|
||||||
@@ -747,7 +798,7 @@ torchvision
|
|||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
The `torchvision <https://pytorch.org/vision/stable/index.html>`_ library
|
The `torchvision <https://pytorch.org/vision/stable/index.html>`_ library
|
||||||
provide datasets, model architectures, and common image transformations for
|
provides datasets, model architectures, and common image transformations for
|
||||||
computer vision.
|
computer vision.
|
||||||
|
|
||||||
The following ``torchvision`` features are GPU-accelerated.
|
The following ``torchvision`` features are GPU-accelerated.
|
||||||
@@ -757,8 +808,8 @@ The following ``torchvision`` features are GPU-accelerated.
|
|||||||
|
|
||||||
* - Feature
|
* - Feature
|
||||||
- Description
|
- Description
|
||||||
- Since torchvision version
|
- As of torchvision version
|
||||||
- Since ROCm
|
- As of ROCm
|
||||||
* - ``torchvision.transforms.functional``
|
* - ``torchvision.transforms.functional``
|
||||||
- Provides GPU-compatible transformations for image preprocessing like
|
- Provides GPU-compatible transformations for image preprocessing like
|
||||||
resize, normalize, rotate and crop.
|
resize, normalize, rotate and crop.
|
||||||
@@ -804,18 +855,19 @@ torchtune
|
|||||||
The `torchtune <https://pytorch.org/torchtune/stable/index.html>`_ library for
|
The `torchtune <https://pytorch.org/torchtune/stable/index.html>`_ library for
|
||||||
authoring, fine-tuning and experimenting with LLMs.
|
authoring, fine-tuning and experimenting with LLMs.
|
||||||
|
|
||||||
* Usage: It works out-of-the-box, enabling developers to fine-tune ROCm PyTorch solutions.
|
* Usage: Enabling developers to fine-tune ROCm PyTorch solutions.
|
||||||
|
|
||||||
* Only official release exists.
|
* Only official release exists.
|
||||||
|
|
||||||
torchserve
|
torchserve
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
The `torchserve <https://pytorch.org/torchserve/>`_ is a PyTorch domain library
|
The `torchserve <https://pytorch.org/serve/>`_ is a PyTorch domain library
|
||||||
for common sparsity and parallelism primitives needed for large-scale recommender
|
for common sparsity and parallelism primitives needed for large-scale recommender
|
||||||
systems.
|
systems.
|
||||||
|
|
||||||
* torchtext does not implement its own kernels. ROCm support is enabled by linking against ROCm libraries.
|
* torchtext does not implement its own kernels. ROCm support is enabled by
|
||||||
|
linking against ROCm libraries.
|
||||||
|
|
||||||
* Only official release exists.
|
* Only official release exists.
|
||||||
|
|
||||||
@@ -826,14 +878,16 @@ The `torchrec <https://pytorch.org/torchrec/>`_ is a PyTorch domain library for
|
|||||||
common sparsity and parallelism primitives needed for large-scale recommender
|
common sparsity and parallelism primitives needed for large-scale recommender
|
||||||
systems.
|
systems.
|
||||||
|
|
||||||
* torchrec does not implement its own kernels. ROCm support is enabled by linking against ROCm libraries.
|
* torchrec does not implement its own kernels. ROCm support is enabled by
|
||||||
|
linking against ROCm libraries.
|
||||||
|
|
||||||
* Only official release exists.
|
* Only official release exists.
|
||||||
|
|
||||||
Unsupported PyTorch features
|
Unsupported PyTorch features
|
||||||
----------------------------
|
================================================================================
|
||||||
|
|
||||||
The following are GPU-accelerated PyTorch features not currently supported by ROCm.
|
The following GPU-accelerated PyTorch features are not supported by ROCm for
|
||||||
|
the listed supported PyTorch versions.
|
||||||
|
|
||||||
.. list-table::
|
.. list-table::
|
||||||
:widths: 30, 60, 10
|
:widths: 30, 60, 10
|
||||||
@@ -841,7 +895,7 @@ The following are GPU-accelerated PyTorch features not currently supported by RO
|
|||||||
|
|
||||||
* - Feature
|
* - Feature
|
||||||
- Description
|
- Description
|
||||||
- Since PyTorch
|
- As of PyTorch
|
||||||
* - APEX batch norm
|
* - APEX batch norm
|
||||||
- Use APEX batch norm instead of PyTorch batch norm.
|
- Use APEX batch norm instead of PyTorch batch norm.
|
||||||
- 1.6.0
|
- 1.6.0
|
||||||
@@ -897,31 +951,3 @@ The following are GPU-accelerated PyTorch features not currently supported by RO
|
|||||||
utilized effectively through custom CUDA extensions or advanced
|
utilized effectively through custom CUDA extensions or advanced
|
||||||
workflows.
|
workflows.
|
||||||
- Not a core feature
|
- Not a core feature
|
||||||
|
|
||||||
Use cases and recommendations
|
|
||||||
================================================================================
|
|
||||||
|
|
||||||
* :doc:`Using ROCm for AI: training a model </how-to/rocm-for-ai/training/train-a-model>` provides
|
|
||||||
guidance on how to leverage the ROCm platform for training AI models. It covers the steps, tools, and best practices
|
|
||||||
for optimizing training workflows on AMD GPUs using PyTorch features.
|
|
||||||
|
|
||||||
* :doc:`Single-GPU fine-tuning and inference </how-to/rocm-for-ai/fine-tuning/single-gpu-fine-tuning-and-inference>`
|
|
||||||
describes and demonstrates how to use the ROCm platform for the fine-tuning and inference of
|
|
||||||
machine learning models, particularly large language models (LLMs), on systems with a single AMD
|
|
||||||
Instinct MI300X accelerator. This page provides a detailed guide for setting up, optimizing, and
|
|
||||||
executing fine-tuning and inference workflows in such environments.
|
|
||||||
|
|
||||||
* :doc:`Multi-GPU fine-tuning and inference optimization </how-to/rocm-for-ai/fine-tuning/multi-gpu-fine-tuning-and-inference>`
|
|
||||||
describes and demonstrates the fine-tuning and inference of machine learning models on systems
|
|
||||||
with multi MI300X accelerators.
|
|
||||||
|
|
||||||
* The :doc:`Instinct MI300X workload optimization guide </how-to/rocm-for-ai/inference-optimization/workload>` provides detailed
|
|
||||||
guidance on optimizing workloads for the AMD Instinct MI300X accelerator using ROCm. This guide is aimed at helping
|
|
||||||
users achieve optimal performance for deep learning and other high-performance computing tasks on the MI300X
|
|
||||||
accelerator.
|
|
||||||
|
|
||||||
* The :doc:`Inception with PyTorch documentation </conceptual/ai-pytorch-inception>`
|
|
||||||
describes how PyTorch integrates with ROCm for AI workloads It outlines the use of PyTorch on the ROCm platform and
|
|
||||||
focuses on how to efficiently leverage AMD GPU hardware for training and inference tasks in AI applications.
|
|
||||||
|
|
||||||
For more use cases and recommendations, see `ROCm PyTorch blog posts <https://rocm.blogs.amd.com/blog/tag/pytorch.html>`_.
|
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ Docker image compatibility
|
|||||||
AMD validates and publishes ready-made `TensorFlow images
|
AMD validates and publishes ready-made `TensorFlow images
|
||||||
<https://hub.docker.com/r/rocm/tensorflow>`_ with ROCm backends on
|
<https://hub.docker.com/r/rocm/tensorflow>`_ with ROCm backends on
|
||||||
Docker Hub. The following Docker image tags and associated inventories are
|
Docker Hub. The following Docker image tags and associated inventories are
|
||||||
validated for `ROCm 6.3.3 <https://repo.radeon.com/rocm/apt/6.3.3/>`_. Click
|
validated for `ROCm 6.4.0 <https://repo.radeon.com/rocm/apt/6.4/>`_. Click
|
||||||
the |docker-icon| icon to view the image on Docker Hub.
|
the |docker-icon| icon to view the image on Docker Hub.
|
||||||
|
|
||||||
.. list-table:: TensorFlow Docker image components
|
.. list-table:: TensorFlow Docker image components
|
||||||
@@ -64,54 +64,91 @@ the |docker-icon| icon to view the image on Docker Hub.
|
|||||||
|
|
||||||
* - Docker image
|
* - Docker image
|
||||||
- TensorFlow
|
- TensorFlow
|
||||||
|
- Ubuntu
|
||||||
- Dev
|
- Dev
|
||||||
- Python
|
- Python
|
||||||
- TensorBoard
|
- TensorBoard
|
||||||
|
|
||||||
* - .. raw:: html
|
* - .. raw:: html
|
||||||
|
|
||||||
<a href="https://hub.docker.com/layers/rocm/tensorflow/rocm6.3.3-py3.12-tf2.17-dev/images/sha256-fd2653f436880366cc874aa24264ca9dabd892d76ccb63fb807debba459bcaaf"><i class="fab fa-docker fa-lg"></i> rocm/tensorflow</a>
|
<a href="https://hub.docker.com/layers/rocm/tensorflow/rocm6.4-py3.12-tf2.18-dev/images/sha256-fa9cf5fa6c6079a7118727531ccd0056c6e3224a42c3d6e78a49e7781daafff4"><i class="fab fa-docker fa-lg"></i> rocm/tensorflow</a>
|
||||||
|
|
||||||
- `tensorflow-rocm 2.17.0 <https://repo.radeon.com/rocm/manylinux/rocm-rel-6.3/tensorflow_rocm-2.17.0-cp312-cp312-manylinux_2_28_x86_64.whl>`__
|
- `tensorflow-rocm 2.18.1 <https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4/tensorflow_rocm-2.18.1-cp312-cp312-manylinux_2_28_x86_64.whl>`__
|
||||||
- dev
|
- dev
|
||||||
|
- 24.04
|
||||||
|
- `Python 3.12.4 <https://www.python.org/downloads/release/python-3124/>`_
|
||||||
|
- `TensorBoard 2.18.0 <https://github.com/tensorflow/tensorboard/tree/2.18.0>`_
|
||||||
|
|
||||||
|
* - .. raw:: html
|
||||||
|
|
||||||
|
<a href="https://hub.docker.com/layers/rocm/tensorflow/rocm6.4-py3.12-tf2.18-runtime/images/sha256-14addca4b92a47c806b83ebaeed593fc6672cd99f0017ed8dad759fe72ed0309"><i class="fab fa-docker fa-lg"></i> rocm/tensorflow</a>
|
||||||
|
|
||||||
|
- `tensorflow-rocm 2.18.1 <https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4/tensorflow_rocm-2.18.1-cp312-cp312-manylinux_2_28_x86_64.whl>`__
|
||||||
|
- runtime
|
||||||
|
- 24.04
|
||||||
|
- `Python 3.12.4 <https://www.python.org/downloads/release/python-3124/>`_
|
||||||
|
- `TensorBoard 2.18.0 <https://github.com/tensorflow/tensorboard/tree/2.18.0>`_
|
||||||
|
|
||||||
|
* - .. raw:: html
|
||||||
|
|
||||||
|
<a href="https://hub.docker.com/layers/rocm/tensorflow/rocm6.4-py3.10-tf2.18-dev/images/sha256-f5e151060df04ff5fb59f5604b49cd371931bbe75b06aec9fe7781397c4be0ce"><i class="fab fa-docker fa-lg"></i> rocm/tensorflow</a>
|
||||||
|
|
||||||
|
- `tensorflow-rocm 2.18.1 <https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4/tensorflow_rocm-2.18.1-cp310-cp310-manylinux_2_28_x86_64.whl>`__
|
||||||
|
- dev
|
||||||
|
- 22.04
|
||||||
|
- `Python 3.10.16 <https://www.python.org/downloads/release/python-31016/>`_
|
||||||
|
- `TensorBoard 2.18.0 <https://github.com/tensorflow/tensorboard/tree/2.18.0>`_
|
||||||
|
|
||||||
|
* - .. raw:: html
|
||||||
|
|
||||||
|
<a href="https://hub.docker.com/layers/rocm/tensorflow/rocm6.4-py3.10-tf2.18-runtime/images/sha256-5cd4c03fdb1036570c0d4929da60a65c4466998dc80f1dc8a5a0b173eae017fb"><i class="fab fa-docker fa-lg"></i> rocm/tensorflow</a>
|
||||||
|
|
||||||
|
- `tensorflow-rocm 2.18.1 <https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4/tensorflow_rocm-2.18.1-cp310-cp310-manylinux_2_28_x86_64.whl>`__
|
||||||
|
- runtime
|
||||||
|
- 22.04
|
||||||
|
- `Python 3.10.16 <https://www.python.org/downloads/release/python-31016/>`_
|
||||||
|
- `TensorBoard 2.18.0 <https://github.com/tensorflow/tensorboard/tree/2.18.0>`_
|
||||||
|
|
||||||
|
* - .. raw:: html
|
||||||
|
|
||||||
|
<a href="https://hub.docker.com/layers/rocm/tensorflow/rocm6.4-py3.12-tf2.17-dev/images/sha256-b3add80e374a2db2d1088d746e740afa89d439aca02cacba959ad298f5cd2b3f"><i class="fab fa-docker fa-lg"></i> rocm/tensorflow</a>
|
||||||
|
|
||||||
|
- `tensorflow-rocm 2.17.1 <https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4/tensorflow_rocm-2.17.1-cp312-cp312-manylinux_2_28_x86_64.whl>`__
|
||||||
|
- dev
|
||||||
|
- 24.04
|
||||||
- `Python 3.12.4 <https://www.python.org/downloads/release/python-3124/>`_
|
- `Python 3.12.4 <https://www.python.org/downloads/release/python-3124/>`_
|
||||||
- `TensorBoard 2.17.1 <https://github.com/tensorflow/tensorboard/tree/2.17.1>`_
|
- `TensorBoard 2.17.1 <https://github.com/tensorflow/tensorboard/tree/2.17.1>`_
|
||||||
|
|
||||||
* - .. raw:: html
|
* - .. raw:: html
|
||||||
|
|
||||||
<a href="https://hub.docker.com/layers/rocm/tensorflow/rocm6.3.3-py3.10-tf2.17-dev/images/sha256-8a5eb7443798935dd269575e2abae847b702e1dfb06766ab84f081a6314d8b95"><i class="fab fa-docker fa-lg"></i> rocm/tensorflow</a>
|
<a href="https://hub.docker.com/layers/rocm/tensorflow/rocm6.4-py3.12-tf2.17-runtime/images/sha256-3a244f026c32177eff7958ffbad390de85b438b2b48b455cc39f15d70fa1270d"><i class="fab fa-docker fa-lg"></i> rocm/tensorflow</a>
|
||||||
|
|
||||||
- `tensorflow-rocm 2.17.0 <https://repo.radeon.com/rocm/manylinux/rocm-rel-6.3/tensorflow_rocm-2.17.0-cp310-cp310-manylinux_2_28_x86_64.whl>`__
|
- `tensorflow-rocm 2.18.1 <https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4/tensorflow_rocm-2.17.1-cp312-cp312-manylinux_2_28_x86_64.whl>`__
|
||||||
|
- runtime
|
||||||
|
- 24.04
|
||||||
|
- `Python 3.12.4 <https://www.python.org/downloads/release/python-3124/>`_
|
||||||
|
- `TensorBoard 2.17.1 <https://github.com/tensorflow/tensorboard/tree/2.17.1>`_
|
||||||
|
|
||||||
|
* - .. raw:: html
|
||||||
|
|
||||||
|
<a href="https://hub.docker.com/layers/rocm/tensorflow/rocm6.4-py3.10-tf2.17-dev/images/sha256-e0cecdfacb59169335049983cdab6da578c209bb9f4d08aad97e184ae59171a6"><i class="fab fa-docker fa-lg"></i> rocm/tensorflow</a>
|
||||||
|
|
||||||
|
- `tensorflow-rocm 2.17.1 <https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4/tensorflow_rocm-2.17.1-cp310-cp310-manylinux_2_28_x86_64.whl>`__
|
||||||
- dev
|
- dev
|
||||||
|
- 22.04
|
||||||
- `Python 3.10.16 <https://www.python.org/downloads/release/python-31016/>`_
|
- `Python 3.10.16 <https://www.python.org/downloads/release/python-31016/>`_
|
||||||
- `TensorBoard 2.17.1 <https://github.com/tensorflow/tensorboard/tree/2.17.1>`_
|
- `TensorBoard 2.17.1 <https://github.com/tensorflow/tensorboard/tree/2.17.1>`_
|
||||||
|
|
||||||
* - .. raw:: html
|
* - .. raw:: html
|
||||||
|
|
||||||
<a href="https://hub.docker.com/layers/rocm/tensorflow/rocm6.3.3-py3.12-tf2.16-dev/images/sha256-8fc939b10cdd6d2b11407474880d4c8ab2b52ab6e2d1743c921fc2adbfd0422f"><i class="fab fa-docker fa-lg"></i> rocm/tensorflow</a>
|
<a href="https://hub.docker.com/layers/rocm/tensorflow/rocm6.4-py3.10-tf2.17-runtime/images/sha256-6f43de12f7eb202791b698ac51d28b72098de90034dbcd48486629b0125f7707"><i class="fab fa-docker fa-lg"></i> rocm/tensorflow</a>
|
||||||
|
|
||||||
- `tensorflow-rocm 2.16.2 <https://repo.radeon.com/rocm/manylinux/rocm-rel-6.3/tensorflow_rocm-2.16.2-cp312-cp312-manylinux_2_28_x86_64.whl>`__
|
- `tensorflow-rocm 2.17.1 <https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4/tensorflow_rocm-2.17.1-cp310-cp310-manylinux_2_28_x86_64.whl>`__
|
||||||
- dev
|
- runtime
|
||||||
- `Python 3.12.4 <https://www.python.org/downloads/release/python-3124/>`_
|
- 22.04
|
||||||
- `TensorBoard 2.16.2 <https://github.com/tensorflow/tensorboard/tree/2.16.2>`_
|
|
||||||
|
|
||||||
* - .. raw:: html
|
|
||||||
|
|
||||||
<a href="https://hub.docker.com/layers/rocm/tensorflow/rocm6.3.3-py3.10-tf2.16-dev/images/sha256-a4cc6ab23d59fdf5459ceac1f0a603e6c16ae7f885d30e42c0c2b3ac60c2ad10"><i class="fab fa-docker fa-lg"></i> rocm/tensorflow</a>
|
|
||||||
|
|
||||||
- `tensorflow-rocm 2.16.2 <https://repo.radeon.com/rocm/manylinux/rocm-rel-6.3/tensorflow_rocm-2.16.2-cp310-cp310-manylinux_2_28_x86_64.whl>`__
|
|
||||||
- dev
|
|
||||||
- `Python 3.10.16 <https://www.python.org/downloads/release/python-31016/>`_
|
- `Python 3.10.16 <https://www.python.org/downloads/release/python-31016/>`_
|
||||||
- `TensorBoard 2.16.2 <https://github.com/tensorflow/tensorboard/tree/2.16.2>`_
|
- `TensorBoard 2.17.1 <https://github.com/tensorflow/tensorboard/tree/2.17.1>`_
|
||||||
|
|
||||||
* - .. raw:: html
|
|
||||||
|
|
||||||
<a href="https://hub.docker.com/layers/rocm/tensorflow/rocm6.3.3-py3.10-tf2.15-dev/images/sha256-60887c488421184adcb60b9ed4f72a8bd7bdb64d238e50943ca7cbde38e4aa48"><i class="fab fa-docker fa-lg"></i> rocm/tensorflow</a>
|
|
||||||
|
|
||||||
- `tensorflow-rocm 2.15.1 <https://repo.radeon.com/rocm/manylinux/rocm-rel-6.3/tensorflow_rocm-2.15.1-cp310-cp310-manylinux_2_28_x86_64.whl>`_
|
|
||||||
- dev
|
|
||||||
- `Python 3.10.16 <https://www.python.org/downloads/release/python-31016/>`_
|
|
||||||
- `TensorBoard 2.15.2 <https://github.com/tensorflow/tensorboard/tree/2.15.2>`_
|
|
||||||
|
|
||||||
Critical ROCm libraries for TensorFlow
|
Critical ROCm libraries for TensorFlow
|
||||||
===============================================================================
|
===============================================================================
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ architecture.
|
|||||||
:::{grid-item-card}
|
:::{grid-item-card}
|
||||||
**RDNA**
|
**RDNA**
|
||||||
|
|
||||||
|
* [AMD RDNA4 ISA](https://www.amd.com/content/dam/amd/en/documents/radeon-tech-docs/instruction-set-architectures/rdna4-instruction-set-architecture.pdf)
|
||||||
* [AMD RDNA3 ISA](https://www.amd.com/system/files/TechDocs/rdna3-shader-instruction-set-architecture-feb-2023_0.pdf)
|
* [AMD RDNA3 ISA](https://www.amd.com/system/files/TechDocs/rdna3-shader-instruction-set-architecture-feb-2023_0.pdf)
|
||||||
* [AMD RDNA2 ISA](https://www.amd.com/system/files/TechDocs/rdna2-shader-instruction-set-architecture.pdf)
|
* [AMD RDNA2 ISA](https://www.amd.com/system/files/TechDocs/rdna2-shader-instruction-set-architecture.pdf)
|
||||||
* [AMD RDNA ISA](https://www.amd.com/system/files/TechDocs/rdna-shader-instruction-set-architecture.pdf)
|
* [AMD RDNA ISA](https://www.amd.com/system/files/TechDocs/rdna-shader-instruction-set-architecture.pdf)
|
||||||
|
|||||||
@@ -1,63 +0,0 @@
|
|||||||
.. meta::
|
|
||||||
:description: Input-Output Memory Management Unit (IOMMU)
|
|
||||||
:keywords: IOMMU, DMA, PCIe, xGMI, AMD, ROCm
|
|
||||||
|
|
||||||
****************************************************************
|
|
||||||
Input-Output Memory Management Unit (IOMMU)
|
|
||||||
****************************************************************
|
|
||||||
|
|
||||||
The I/O Memory Management Unit (IOMMU) provides memory remapping services for I/O devices. It adds support for address translation and system memory access protection on direct memory access (DMA) transfers from peripheral devices.
|
|
||||||
|
|
||||||
The IOMMU's memory remapping services:
|
|
||||||
|
|
||||||
* provide private I/O space for devices used in a guest virtual machine.
|
|
||||||
* prevent unauthorized DMA requests to system memory and to memory-mapped I/O (MMIO).
|
|
||||||
* help in debugging memory access issues.
|
|
||||||
* facilitate peer-to-peer DMA.
|
|
||||||
|
|
||||||
The IOMMU also provides interrupt remapping, which is used by devices that support multiple interrupts and for interrupt delivery on hardware platforms with a large number of cores.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
AMD Instinct accelerators are connected via XGMI links and don't use PCI/PCIe for peer-to-peer DMA. Because PCI/PCIe is not used for peer-to-peer DMA, there are no device physical addressing limitations or platform root port limitations. However, because non-GPU devices such as RDMA NICs use PCIe for peer-to-peer DMA, there might still be physical addressing and platform root port limitations when these non-GPU devices interact with other devices, including GPUs.
|
|
||||||
|
|
||||||
Linux supports IOMMU in both virtualized environments and bare metal.
|
|
||||||
|
|
||||||
The IOMMU is enabled by default but can be disabled or put into passthrough mode through the Linux kernel command line:
|
|
||||||
|
|
||||||
.. list-table::
|
|
||||||
:widths: 15 15 70
|
|
||||||
:header-rows: 1
|
|
||||||
|
|
||||||
* - IOMMU Mode
|
|
||||||
- Kernel command
|
|
||||||
- Description
|
|
||||||
* - Enabled
|
|
||||||
- Default setting
|
|
||||||
- Recommended for AMD Radeon GPUs that need peer-to-peer DMA.
|
|
||||||
|
|
||||||
The IOMMU is enabled in remapping mode. Each device gets its own I/O virtual address space. All devices on Linux register their DMA addressing capabilities, and the kernel will ensure that any address space mapped for DMA is mapped within the device's DMA addressing limits. Only address space explicitly mapped by the devices will be mapped into virtual address space. Attempts to access an unmapped page will generate an IOMMU page fault.
|
|
||||||
* - Passthrough
|
|
||||||
- ``iommu=pt``
|
|
||||||
- Recommended for AMD Instinct Accelerators and for AMD Radeon GPUs that don't need peer-to-peer DMA.
|
|
||||||
|
|
||||||
Interrupt remapping is enabled but I/O remapping is disabled. The entire platform shares a common platform address space for system memory and MMIO spaces, ensuring compatibility with drivers from external vendors, while still supporting CPUs with a large number of cores.
|
|
||||||
* - Disabled
|
|
||||||
- ``iommu=off``
|
|
||||||
- Not recommended.
|
|
||||||
|
|
||||||
The IOMMU is disabled and the entire platform shares a common platform address space for system memory and MMIO spaces.
|
|
||||||
|
|
||||||
This mode should only be used with older Linux distributions with kernels that are not configured to support peer-to-peer DMA with an IOMMU. In these cases, the IOMMU needs to be disabled to use peer-to-peer DMA.
|
|
||||||
|
|
||||||
The IOMMU also provides virtualized access to the MMIO portions of the platform address space for peer-to-peer DMA.
|
|
||||||
|
|
||||||
Because peer-to-peer DMA is not officially part of the PCI/PCIe specification, the behavior of peer-to-peer DMA varies between hardware platforms.
|
|
||||||
|
|
||||||
AMD CPUs earlier than AMD Zen only supported peer-to-peer DMA for writes. On CPUs from AMD Zen and later, peer-to-peer DMA is fully supported.
|
|
||||||
|
|
||||||
To use peer-to-peer DMA on Linux, enable the following options in your Linux kernel configuration:
|
|
||||||
|
|
||||||
* ``CONFIG_PCI_P2PDMA``
|
|
||||||
* ``CONFIG_DMABUF_MOVE_NOTIFY``
|
|
||||||
* ``CONFIG_HSA_AMD_P2P``
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
.. meta::
|
|
||||||
:description: Learn what causes oversubscription.
|
|
||||||
:keywords: warning, log, gpu, performance penalty, help
|
|
||||||
|
|
||||||
*******************************************************************
|
|
||||||
Oversubscription of hardware resources in AMD Instinct accelerators
|
|
||||||
*******************************************************************
|
|
||||||
|
|
||||||
When an AMD Instinct™ MI series accelerator enters an oversubscribed state, the ``amdgpu`` driver outputs the following
|
|
||||||
message.
|
|
||||||
|
|
||||||
``amdgpu: Runlist is getting oversubscribed. Expect reduced ROCm performance.``
|
|
||||||
|
|
||||||
Oversubscription occurs when application demands exceed the available hardware resources. In an oversubscribed
|
|
||||||
state, the hardware scheduler tries to manage resource usage in a round-robin fashion. However,
|
|
||||||
this can result in reduced performance, as resources might be occupied by applications or queues not actively
|
|
||||||
submitting work. The granularity of hardware resources occupied by an inactive queue can be in the order of
|
|
||||||
milliseconds, during which the accelerator or GPU is effectively blocked and unable to process work submitted by other
|
|
||||||
queues.
|
|
||||||
|
|
||||||
What triggers oversubscription?
|
|
||||||
===============================
|
|
||||||
|
|
||||||
The system enters an oversubscribed state when one of the following conditions is met:
|
|
||||||
|
|
||||||
* **Hardware queue limit exceeded**: The number of user-mode compute queues requested by applications exceeds the
|
|
||||||
hardware limit of 24 queues for current Instinct accelerators.
|
|
||||||
|
|
||||||
* **Virtual memory context slots exceeded**: The number of user processes exceeds the number of available virtual memory
|
|
||||||
context slots, which is 11 for current Instinct accelerators.
|
|
||||||
|
|
||||||
* **Multiple processes using cooperative workgroups**: More than one process attempts to use the cooperative workgroup
|
|
||||||
feature, leading to resource contention.
|
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user