mirror of
https://github.com/ROCm/ROCm.git
synced 2026-02-12 07:25:22 -05:00
Compare commits
499 Commits
cpattigi-p
...
docs/7.11.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0785293530 | ||
|
|
e3e924cf00 | ||
|
|
60ebec8c07 | ||
|
|
5ac64b9f6b | ||
|
|
ffa6360979 | ||
|
|
b22c24b949 | ||
|
|
2563bd2a22 | ||
|
|
a04bb5b714 | ||
|
|
4c1f7d402f | ||
|
|
e88e961519 | ||
|
|
5f6018027b | ||
|
|
2e614775ab | ||
|
|
c92c9d2b57 | ||
|
|
1a2e4f1cc0 | ||
|
|
e76255db98 | ||
|
|
cdbcad6930 | ||
|
|
dc19d266b4 | ||
|
|
8584fa3b25 | ||
|
|
163d46ca5c | ||
|
|
56f93e72de | ||
|
|
f004891485 | ||
|
|
3c61d4fb05 | ||
|
|
39783dcee0 | ||
|
|
c965b7e98e | ||
|
|
70acbcb27a | ||
|
|
b0fc5959da | ||
|
|
70fc9d8fb8 | ||
|
|
a32210fa7e | ||
|
|
78258e0f85 | ||
|
|
c79d9f74ef | ||
|
|
fb1b78c6f0 | ||
|
|
3a70d75f5e | ||
|
|
61e1f088a1 | ||
|
|
1f6e5c5e04 | ||
|
|
e8a0769842 | ||
|
|
6f9579d052 | ||
|
|
245d53a021 | ||
|
|
35dbbb22bc | ||
|
|
03dc8cee00 | ||
|
|
323e5fd27a | ||
|
|
b11fd7b492 | ||
|
|
5e2efa05a6 | ||
|
|
29a90f0271 | ||
|
|
c06242bb89 | ||
|
|
68e8453ca5 | ||
|
|
503b8bcc86 | ||
|
|
e3d97d339a | ||
|
|
978c58d196 | ||
|
|
a366048b64 | ||
|
|
4c3e33c291 | ||
|
|
89758e67d8 | ||
|
|
5d0f201b4d | ||
|
|
e3677d89a6 | ||
|
|
f20edab8fc | ||
|
|
6f84d50011 | ||
|
|
57dd082f28 | ||
|
|
eeea0d2180 | ||
|
|
93c6d17922 | ||
|
|
f91c2b9b4a | ||
|
|
5e6b66ca39 | ||
|
|
6b8b359d03 | ||
|
|
38e659e5f0 | ||
|
|
0894547f5a | ||
|
|
aca31170c4 | ||
|
|
d21ec9eea5 | ||
|
|
189c269350 | ||
|
|
774cb7a1b3 | ||
|
|
024cb4db76 | ||
|
|
945fb286f7 | ||
|
|
ee93101541 | ||
|
|
e31841312b | ||
|
|
41b5298659 | ||
|
|
58790154b2 | ||
|
|
6f7f73ac0b | ||
|
|
b2e3bc8565 | ||
|
|
52979e2fdb | ||
|
|
0ea5216ace | ||
|
|
2e1b4dd5ee | ||
|
|
5c7b993c0c | ||
|
|
2d79b3c4bd | ||
|
|
fd59b5fbac | ||
|
|
0a643f4686 | ||
|
|
d9e5744f7a | ||
|
|
ccb849ec02 | ||
|
|
42d4867964 | ||
|
|
375359a5dd | ||
|
|
e92745f1ff | ||
|
|
0fa72358d3 | ||
|
|
6fec268a4e | ||
|
|
ff14cd1ff5 | ||
|
|
8f65688653 | ||
|
|
33d1493adb | ||
|
|
4b6c7776a2 | ||
|
|
af811daa1b | ||
|
|
d6c045e482 | ||
|
|
78b24cad39 | ||
|
|
753a94c0bb | ||
|
|
6ecad57c62 | ||
|
|
977554809a | ||
|
|
7b00f4493b | ||
|
|
95c439a272 | ||
|
|
94e04fbdc0 | ||
|
|
7ab59de8af | ||
|
|
175c817563 | ||
|
|
25516d312e | ||
|
|
30c345629a | ||
|
|
210dc94bbb | ||
|
|
a54023ccb8 | ||
|
|
17e3362dc7 | ||
|
|
0f9c0d884d | ||
|
|
c890de4b16 | ||
|
|
4ea77ab515 | ||
|
|
c0512612f4 | ||
|
|
1c81ac3747 | ||
|
|
4bafa42e52 | ||
|
|
493801e670 | ||
|
|
1a5152b7b3 | ||
|
|
874c881012 | ||
|
|
bdcaeea74c | ||
|
|
b02669acf7 | ||
|
|
844f10b2b1 | ||
|
|
d6c14920b4 | ||
|
|
4affe10a7c | ||
|
|
81341ef435 | ||
|
|
abacd328f9 | ||
|
|
80b2fb6e26 | ||
|
|
b53e8decfc | ||
|
|
5fcc2eafde | ||
|
|
2eb0d77bc6 | ||
|
|
d84b41908f | ||
|
|
986f8284d1 | ||
|
|
d92d9268dc | ||
|
|
1629d3f0ea | ||
|
|
6cf6b34b2e | ||
|
|
c35a0a121a | ||
|
|
412e383654 | ||
|
|
39f6fc187d | ||
|
|
05b480fb28 | ||
|
|
4fa44d90db | ||
|
|
c9ef13d823 | ||
|
|
f02172050b | ||
|
|
154dbe297a | ||
|
|
993a0a4fd4 | ||
|
|
c03662f410 | ||
|
|
442d7e4750 | ||
|
|
a09a8f517e | ||
|
|
0bbaab645d | ||
|
|
4b80405e2e | ||
|
|
d92e5b6c12 | ||
|
|
91fce2e134 | ||
|
|
27d53cf082 | ||
|
|
bc084246be | ||
|
|
9827ba7ff2 | ||
|
|
bafda50153 | ||
|
|
cae65c6c43 | ||
|
|
6a66167486 | ||
|
|
0f3543d6e8 | ||
|
|
678691c3d7 | ||
|
|
5cb3debed9 | ||
|
|
dd5d710727 | ||
|
|
eca1ecde92 | ||
|
|
ed1e414710 | ||
|
|
20c90fc406 | ||
|
|
6e39614b22 | ||
|
|
f7873ac74e | ||
|
|
a86fba556b | ||
|
|
7603fed080 | ||
|
|
9932cd4ac2 | ||
|
|
e8d104124f | ||
|
|
26f708da87 | ||
|
|
5a5e4dbb6e | ||
|
|
1c3dae75e1 | ||
|
|
bab853a0d3 | ||
|
|
5c7ccb3c26 | ||
|
|
f216b371a0 | ||
|
|
37faf170b1 | ||
|
|
8c40d14d7e | ||
|
|
d5101532f7 | ||
|
|
ef4e7ca1fe | ||
|
|
be68246824 | ||
|
|
1626ee4d8b | ||
|
|
f80044c7db | ||
|
|
412f6f2b0e | ||
|
|
bee7c1223f | ||
|
|
8af34e2026 | ||
|
|
0475650f00 | ||
|
|
cb73e9145a | ||
|
|
7316031fe6 | ||
|
|
76cb264f34 | ||
|
|
9c36e44a91 | ||
|
|
1037f8845a | ||
|
|
c2e31f2d2b | ||
|
|
882f71302a | ||
|
|
3d2f10ce0c | ||
|
|
81f5314368 | ||
|
|
60e3a8107c | ||
|
|
b800801427 | ||
|
|
5637deb81e | ||
|
|
df1ae524b2 | ||
|
|
06fd378036 | ||
|
|
cbd4e8f0ba | ||
|
|
b07ae4ba6c | ||
|
|
2fe270beb3 | ||
|
|
1660ac335a | ||
|
|
b357ba993b | ||
|
|
29f4d65da5 | ||
|
|
2de5a33aec | ||
|
|
e805e98701 | ||
|
|
a2785d2b5a | ||
|
|
8882410560 | ||
|
|
0af430d1cb | ||
|
|
33bc3c5e2b | ||
|
|
e1a1a4e712 | ||
|
|
355feae2e2 | ||
|
|
b3c566f6b9 | ||
|
|
9a3fc8c773 | ||
|
|
17be0ce7aa | ||
|
|
c9c41a34c2 | ||
|
|
e71b8212f9 | ||
|
|
8c1df97e34 | ||
|
|
957005f596 | ||
|
|
2383edc1fe | ||
|
|
c4b4abe354 | ||
|
|
9b2b1d3a66 | ||
|
|
8617b653f8 | ||
|
|
26ddf7e6ac | ||
|
|
91f21d890f | ||
|
|
a6fbf60594 | ||
|
|
61f09e2ab9 | ||
|
|
0d790615ef | ||
|
|
7098bdc03b | ||
|
|
8eee155585 | ||
|
|
10f6086819 | ||
|
|
964a7cd0b5 | ||
|
|
d3fe7439cf | ||
|
|
56f566c1dc | ||
|
|
e3227d14e6 | ||
|
|
88f1493b68 | ||
|
|
3ca9cb1fcc | ||
|
|
aebf1b4480 | ||
|
|
0840c14b6d | ||
|
|
daa0184d2e | ||
|
|
3b5019e03f | ||
|
|
68f505e375 | ||
|
|
05a66f75fe | ||
|
|
3c37ae88f0 | ||
|
|
985786e98d | ||
|
|
f25e27acf0 | ||
|
|
519364179c | ||
|
|
db43d18c37 | ||
|
|
4f53183696 | ||
|
|
94476f34ca | ||
|
|
4bc1bf00c6 | ||
|
|
76fd6b2290 | ||
|
|
e5345a9cca | ||
|
|
c2080a90c7 | ||
|
|
2f40189575 | ||
|
|
9e1a82d327 | ||
|
|
3aab9e1bc5 | ||
|
|
2b0ce5e5c2 | ||
|
|
f1be2d291a | ||
|
|
07cb61f969 | ||
|
|
c486c39b50 | ||
|
|
e68d9e9ce2 | ||
|
|
bff5c4a955 | ||
|
|
b0abc43c46 | ||
|
|
ceabccad83 | ||
|
|
2628812fc4 | ||
|
|
df3ea80290 | ||
|
|
b6647dfb22 | ||
|
|
08dad2dc41 | ||
|
|
c34fddb26a | ||
|
|
b4c5980a96 | ||
|
|
52ce201401 | ||
|
|
505233473d | ||
|
|
4f4f4556a5 | ||
|
|
4f8426376b | ||
|
|
d476d09aff | ||
|
|
04beef8773 | ||
|
|
95d1752874 | ||
|
|
eabf72c2db | ||
|
|
53bd9b5da4 | ||
|
|
0665e73e2d | ||
|
|
264d353071 | ||
|
|
d58e2b16db | ||
|
|
010a191938 | ||
|
|
977e9c2295 | ||
|
|
eac9772fff | ||
|
|
151a4bd7bc | ||
|
|
9d28684161 | ||
|
|
a7edb17538 | ||
|
|
9ea9b33d14 | ||
|
|
59afdef1fb | ||
|
|
ea8ff1b17d | ||
|
|
808a7709aa | ||
|
|
8cc17e307c | ||
|
|
7fd6146b16 | ||
|
|
e839054e56 | ||
|
|
1d42f7cc62 | ||
|
|
78c4a4c12a | ||
|
|
c587d75701 | ||
|
|
a88151f505 | ||
|
|
98029db4ee | ||
|
|
ff7d9eb17a | ||
|
|
2ec8757ffa | ||
|
|
28c3384433 | ||
|
|
91c26c502d | ||
|
|
0ae99ea21e | ||
|
|
60571680b5 | ||
|
|
65ebbaa117 | ||
|
|
e24bd407c1 | ||
|
|
19156cf2c6 | ||
|
|
0d5f17a58b | ||
|
|
6b93d7a75a | ||
|
|
acdb5c90a6 | ||
|
|
073ac54e47 | ||
|
|
3dfc0cdbf1 | ||
|
|
d0377dd947 | ||
|
|
35ec186cd9 | ||
|
|
da340c3d05 | ||
|
|
1d127d987b | ||
|
|
00b0d9430e | ||
|
|
14acec6000 | ||
|
|
71bc63d2d8 | ||
|
|
7b087769a2 | ||
|
|
08d0840b69 | ||
|
|
c154b7e0a3 | ||
|
|
ae734e7846 | ||
|
|
9f5cd4500c | ||
|
|
51e7d9550f | ||
|
|
55d0a88ec5 | ||
|
|
67f988f58b | ||
|
|
7ee22790ce | ||
|
|
ec05312de7 | ||
|
|
39e7ccd3c5 | ||
|
|
c4135ab541 | ||
|
|
dd56fd4d3a | ||
|
|
80f7dc79b9 | ||
|
|
231aa0bfc6 | ||
|
|
8655fb369a | ||
|
|
306b39ea5e | ||
|
|
9e055d92ce | ||
|
|
85b13c0513 | ||
|
|
dba913095a | ||
|
|
81b9d50c2c | ||
|
|
e9bb2fca36 | ||
|
|
16e96caf80 | ||
|
|
7e0efaa6b0 | ||
|
|
af4f291005 | ||
|
|
b9218832bc | ||
|
|
3f2c1d65eb | ||
|
|
ee4287fdd7 | ||
|
|
d63db0be41 | ||
|
|
6a37323fe7 | ||
|
|
b6b7b32e6d | ||
|
|
7c11126938 | ||
|
|
ac0b72497e | ||
|
|
68bc7f83da | ||
|
|
5bbe8ecdcc | ||
|
|
6bc408d051 | ||
|
|
20762b9a96 | ||
|
|
fa5395a1a6 | ||
|
|
254d863b91 | ||
|
|
03bf20e614 | ||
|
|
af48464844 | ||
|
|
5b724a3780 | ||
|
|
ffd5575cd9 | ||
|
|
cfb7bd1883 | ||
|
|
ae7b791b22 | ||
|
|
3573239728 | ||
|
|
ec566f9623 | ||
|
|
30a862c4b9 | ||
|
|
3d3cfae976 | ||
|
|
14f5316ade | ||
|
|
00d814ccbf | ||
|
|
948a6a469b | ||
|
|
698d7f1d58 | ||
|
|
9ab5dcfa59 | ||
|
|
8ba712bff3 | ||
|
|
e91e712888 | ||
|
|
8f1b075a79 | ||
|
|
f0cc7c573d | ||
|
|
b271c9af9d | ||
|
|
885ab8438a | ||
|
|
3837fe8440 | ||
|
|
98530811b4 | ||
|
|
266387d816 | ||
|
|
2e93925311 | ||
|
|
9786a75390 | ||
|
|
88c2a2877b | ||
|
|
85e0580b28 | ||
|
|
b61d6a021e | ||
|
|
fb30dafa29 | ||
|
|
b2012cb0b9 | ||
|
|
45cf2b9a80 | ||
|
|
bee363995b | ||
|
|
95543cae2a | ||
|
|
3a031fad3a | ||
|
|
46f6c4ff9a | ||
|
|
f632f2879f | ||
|
|
1cf3eef9da | ||
|
|
cc5bc5a882 | ||
|
|
2c9c3d0ba1 | ||
|
|
14249f24d8 | ||
|
|
0e8045cca7 | ||
|
|
541fe92947 | ||
|
|
628d5f8a19 | ||
|
|
984a91f008 | ||
|
|
ae2cc6ab38 | ||
|
|
15ee605d18 | ||
|
|
ae54add299 | ||
|
|
2269e9d25d | ||
|
|
1b0b9f5a67 | ||
|
|
49548ada2e | ||
|
|
aa5ddfb483 | ||
|
|
34bffcb8ac | ||
|
|
efc302ca83 | ||
|
|
33c2a9fa89 | ||
|
|
aa6f40e2e0 | ||
|
|
977c74fe71 | ||
|
|
2bbcfc8f92 | ||
|
|
5bcf3b0847 | ||
|
|
7e7e15a201 | ||
|
|
50718c9dc0 | ||
|
|
b437a625b3 | ||
|
|
09460f7332 | ||
|
|
0d3b19b3cc | ||
|
|
703e253db5 | ||
|
|
ec9b9cad17 | ||
|
|
20ff132b9b | ||
|
|
3c71bb25e8 | ||
|
|
16f707d6c4 | ||
|
|
b431415ade | ||
|
|
f9bd22626b | ||
|
|
f4f096b44e | ||
|
|
2a7554c0b9 | ||
|
|
505698ed3f | ||
|
|
548d31f990 | ||
|
|
b48abafd9b | ||
|
|
32f79a966b | ||
|
|
393df3e05c | ||
|
|
fcea6ded85 | ||
|
|
f2f7e36503 | ||
|
|
aa3cdcb3c3 | ||
|
|
e8bb027c20 | ||
|
|
e2e67f57e7 | ||
|
|
544186aef8 | ||
|
|
be2bc2142b | ||
|
|
22524eeaa5 | ||
|
|
d471b04cd5 | ||
|
|
1c7cff8a47 | ||
|
|
84c664074f | ||
|
|
08b39b61b1 | ||
|
|
7c6083d840 | ||
|
|
94099b1398 | ||
|
|
3b3fc4894b | ||
|
|
8aba1d2318 | ||
|
|
e9e75cfc46 | ||
|
|
58b3ad0509 | ||
|
|
523d8520f3 | ||
|
|
d0c8ba0805 | ||
|
|
73de8a3e46 | ||
|
|
1fc312f90f | ||
|
|
fde2647ccd | ||
|
|
798c8debb5 | ||
|
|
393ba600c2 | ||
|
|
c64c545b52 | ||
|
|
76ee1d720f | ||
|
|
5adc040367 | ||
|
|
061da8f306 | ||
|
|
e26767bca6 | ||
|
|
7b6f1800d4 | ||
|
|
a6221937f2 | ||
|
|
ac2df2961d | ||
|
|
dc0d89ff4f | ||
|
|
9812d8f745 | ||
|
|
9b102061f4 | ||
|
|
f20e8dec8b | ||
|
|
10e9157f39 | ||
|
|
a2ce6021cb | ||
|
|
2196fc9a2f | ||
|
|
4342239006 | ||
|
|
925689f89e | ||
|
|
151b9bb6d4 | ||
|
|
76549f97b9 | ||
|
|
91a541f8b9 | ||
|
|
34f8d57ece | ||
|
|
55f95adc7c | ||
|
|
535ca32590 | ||
|
|
e05b1702d8 | ||
|
|
4179042cf7 | ||
|
|
ae2de81b79 | ||
|
|
aa29e156a8 | ||
|
|
666996ee2d | ||
|
|
51cb6461b5 | ||
|
|
86efb8c0c7 | ||
|
|
5d594feeac | ||
|
|
4a05e26a0e | ||
|
|
c699aaf915 |
@@ -1,42 +0,0 @@
|
|||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
|
|
||||||
resources:
|
|
||||||
repositories:
|
|
||||||
- repository: aomp_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/aomp
|
|
||||||
ref: amd-mainline
|
|
||||||
- repository: aomp-extras_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/aomp-extras
|
|
||||||
ref: amd-mainline
|
|
||||||
- repository: flang_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/flang
|
|
||||||
ref: amd-mainline
|
|
||||||
- repository: llvm-project_repo
|
|
||||||
type: github
|
|
||||||
endpoint: ROCm
|
|
||||||
name: ROCm/llvm-project
|
|
||||||
ref: amd-mainline
|
|
||||||
pipelines:
|
|
||||||
- pipeline: rocr-runtime_pipeline
|
|
||||||
source: \ROCR-Runtime
|
|
||||||
trigger:
|
|
||||||
branches:
|
|
||||||
include:
|
|
||||||
- amd-mainline
|
|
||||||
# this job will only be triggered after successful build sequence of llvm-project and ROCR-Runtime
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
pr: none
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: ${{ variables.CI_COMPONENT_PATH }}/aomp.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: aomp_repo
|
|
||||||
@@ -1,10 +1,29 @@
|
|||||||
parameters:
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: AMDMIGraphX
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
# - name: sparseCheckoutDir
|
||||||
|
# type: string
|
||||||
|
# default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -93,7 +112,11 @@ parameters:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: AMDMIGraphX_build_${{ job.target }}
|
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_ubuntu2204_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -121,6 +144,8 @@ jobs:
|
|||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
@@ -146,12 +171,12 @@ jobs:
|
|||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- job: AMDMIGraphX_test_${{ job.target }}
|
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
||||||
dependsOn: AMDMIGraphX_build_${{ job.target }}
|
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
||||||
condition:
|
condition:
|
||||||
and(succeeded(),
|
and(succeeded(),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
)
|
)
|
||||||
variables:
|
variables:
|
||||||
@@ -183,6 +208,8 @@ jobs:
|
|||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
- task: CMake@1
|
- task: CMake@1
|
||||||
displayName: MIGraphXTest CMake Flags
|
displayName: MIGraphXTest CMake Flags
|
||||||
inputs:
|
inputs:
|
||||||
@@ -199,7 +226,7 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: AMDMIGraphX
|
componentName: ${{ parameters.componentName }}
|
||||||
testExecutable: make
|
testExecutable: make
|
||||||
testParameters: -j$(nproc) check
|
testParameters: -j$(nproc) check
|
||||||
testPublishResults: false
|
testPublishResults: false
|
||||||
|
|||||||
@@ -1,10 +1,29 @@
|
|||||||
parameters:
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: hip_clr_combined
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -35,93 +54,24 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- llvm-project
|
- llvm-project
|
||||||
|
- ROCR-Runtime
|
||||||
# hip and clr are tightly-coupled
|
|
||||||
# run this same template for both repos
|
|
||||||
# any changes for clr should just trigger HIP pipeline
|
|
||||||
# similarly for hipother repo, for Nvidia backend
|
|
||||||
|
|
||||||
- name: jobMatrix
|
- name: jobMatrix
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
buildJobs:
|
buildJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
- { os: ubuntu2204, packageManager: apt, platform: amd }
|
||||||
- { os: almalinux8, packageManager: dnf }
|
- { os: ubuntu2204, packageManager: apt, platform: nvidia }
|
||||||
|
- { os: almalinux8, packageManager: dnf, platform: amd }
|
||||||
|
- { os: almalinux8, packageManager: dnf, platform: nvidia }
|
||||||
|
|
||||||
# HIP with AMD backend
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: hip_clr_combined_amd_${{ job.os }}
|
- job: ${{ parameters.componentName }}_${{ job.os }}_${{ job.platform }}
|
||||||
pool:
|
${{ if parameters.buildDependsOn }}:
|
||||||
vmImage: 'ubuntu-22.04'
|
dependsOn:
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
container:
|
- ${{ build }}_${{ job.os }}
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
|
||||||
endpoint: ContainerService3
|
|
||||||
variables:
|
|
||||||
- group: common
|
|
||||||
- template: /.azuredevops/variables-global.yml
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
steps:
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
|
||||||
parameters:
|
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
pipModules: ${{ parameters.pipModules }}
|
|
||||||
packageManager: ${{ job.packageManager }}
|
|
||||||
# checkout triggering repo (either HIP or clr)
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
||||||
# if this is triggered by HIP repo, matching repo is clr
|
|
||||||
# if this is triggered by clr repo, matching repo is HIP
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: matching_repo
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: hipother_repo
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependenciesAMD }}
|
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
|
||||||
os: ${{ job.os }}
|
|
||||||
# compile clr
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
||||||
parameters:
|
|
||||||
componentName: clr
|
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/clr/build'
|
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/clr'
|
|
||||||
os: ${{ job.os }}
|
|
||||||
useAmdclang: false
|
|
||||||
extraBuildFlags: >-
|
|
||||||
-DHIP_COMMON_DIR=$(Build.SourcesDirectory)/HIP
|
|
||||||
-DHIP_PLATFORM=amd
|
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-DHIPCC_BIN_DIR=$(Agent.BuildDirectory)/rocm/bin
|
|
||||||
-DCLR_BUILD_HIP=ON
|
|
||||||
-DCLR_BUILD_OCL=ON
|
|
||||||
-GNinja
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
||||||
parameters:
|
|
||||||
artifactName: amd
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
||||||
parameters:
|
|
||||||
artifactName: amd
|
|
||||||
os: ${{ job.os }}
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# pipModules: ${{ parameters.pipModules }}
|
|
||||||
# environment: amd
|
|
||||||
|
|
||||||
# HIP with Nvidia backend
|
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
|
||||||
- job: hip_clr_combined_nvidia_${{ job.os }}
|
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'ubuntu-22.04'
|
vmImage: 'ubuntu-22.04'
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
@@ -140,49 +90,45 @@ jobs:
|
|||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
packageManager: ${{ job.packageManager }}
|
packageManager: ${{ job.packageManager }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
# checkout triggering repo (either HIP or clr)
|
# full checkout of rocm-systems superrepo, we need clr, hip, and hipother
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
# if this is triggered by HIP repo, matching repo is clr
|
# sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
# if this is triggered by clr repo, matching repo is HIP
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: matching_repo
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
||||||
parameters:
|
|
||||||
checkoutRepo: hipother_repo
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependenciesNvidia }}
|
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- script: 'ls -1R $(Agent.BuildDirectory)/rocm'
|
${{ if eq(job.platform, 'amd') }}:
|
||||||
displayName: 'Artifact listing'
|
dependencyList: ${{ parameters.rocmDependenciesAMD }}
|
||||||
# compile clr
|
${{ elseif eq(job.platform, 'nvidia') }}:
|
||||||
|
dependencyList: ${{ parameters.rocmDependenciesNvidia }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: clr
|
componentName: clr
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/clr/build'
|
cmakeBuildDir: $(Agent.BuildDirectory)/s/projects/clr/build
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/clr'
|
cmakeSourceDir: $(Agent.BuildDirectory)/s/projects/clr
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
useAmdclang: false
|
useAmdclang: false
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DHIP_COMMON_DIR=$(Build.SourcesDirectory)/HIP
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DHIP_PLATFORM=nvidia
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DHIPCC_BIN_DIR=$(Agent.BuildDirectory)/rocm/bin
|
-DHIPCC_BIN_DIR=$(Agent.BuildDirectory)/rocm/bin
|
||||||
|
-DHIP_COMMON_DIR=$(Agent.BuildDirectory)/s/projects/hip
|
||||||
|
-DHIPNV_DIR=$(Agent.BuildDirectory)/s/projects/hipother/hipnv
|
||||||
|
-DHIP_PLATFORM=${{ job.platform }}
|
||||||
-DCLR_BUILD_HIP=ON
|
-DCLR_BUILD_HIP=ON
|
||||||
-DCLR_BUILD_OCL=OFF
|
-DCLR_BUILD_OCL=ON
|
||||||
-DHIPNV_DIR=$(Build.SourcesDirectory)/hipother/hipnv
|
|
||||||
-GNinja
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
parameters:
|
||||||
|
artifactName: ${{ job.platform }}
|
||||||
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
artifactName: nvidia
|
artifactName: ${{ job.platform }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
||||||
# parameters:
|
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
|
||||||
# pipModules: ${{ parameters.pipModules }}
|
|
||||||
# environment: nvidia
|
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ jobs:
|
|||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
packageManager: ${{ job.packageManager }}
|
packageManager: ${{ job.packageManager }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Add lit to PATH
|
displayName: Add lit to PATH
|
||||||
inputs:
|
inputs:
|
||||||
|
|||||||
@@ -1,10 +1,29 @@
|
|||||||
parameters:
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: MIOpen
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -74,16 +93,37 @@ parameters:
|
|||||||
target: gfx942
|
target: gfx942
|
||||||
- gfx90a:
|
- gfx90a:
|
||||||
target: gfx90a
|
target: gfx90a
|
||||||
|
- name: downstreamComponentMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- MIVisionX:
|
||||||
|
name: MIVisionX
|
||||||
|
checkoutRepo: mivisionx_repo
|
||||||
|
sparseCheckoutDir: ''
|
||||||
|
skipUnifiedBuild: 'false'
|
||||||
|
buildDependsOn:
|
||||||
|
- MIOpen_build
|
||||||
|
- AMDMIGraphX:
|
||||||
|
name: AMDMIGraphX
|
||||||
|
checkoutRepo: amdmigraphx_repo
|
||||||
|
sparseCheckoutDir: ''
|
||||||
|
skipUnifiedBuild: 'false'
|
||||||
|
buildDependsOn:
|
||||||
|
- MIOpen_build
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: MIOpen_build_${{ job.target }}
|
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_ubuntu2204_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
- name: ROCM_PATH
|
- name: ROCM_PATH
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
pool: ${{ variables.HIGH_BUILD_POOL }}
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
@@ -91,10 +131,12 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/miopen-get-ck-build.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/miopen-get-ck-build.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
@@ -104,11 +146,14 @@ jobs:
|
|||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Build and install other dependencies
|
displayName: Build and install other dependencies
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
workingDirectory: $(Agent.BuildDirectory)/s
|
||||||
script: |
|
script: |
|
||||||
sed -i '/composable_kernel/d' requirements.txt
|
sed -i '/composable_kernel/d' requirements.txt
|
||||||
mkdir -p $(Agent.BuildDirectory)/miopen-deps
|
mkdir -p $(Agent.BuildDirectory)/miopen-deps
|
||||||
@@ -130,8 +175,10 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
@@ -143,9 +190,9 @@ jobs:
|
|||||||
- miopen-deps
|
- miopen-deps
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- job: MIOpen_test_${{ job.target }}
|
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
||||||
timeoutInMinutes: 180
|
timeoutInMinutes: 180
|
||||||
dependsOn: MIOpen_build_${{ job.target }}
|
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
||||||
condition:
|
condition:
|
||||||
and(succeeded(),
|
and(succeeded(),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
@@ -165,10 +212,12 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/miopen-get-ck-build.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/miopen-get-ck-build.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -178,11 +227,14 @@ jobs:
|
|||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Build and install other dependencies
|
displayName: Build and install other dependencies
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
workingDirectory: $(Agent.BuildDirectory)/s
|
||||||
script: |
|
script: |
|
||||||
sed -i '/composable_kernel/d' requirements.txt
|
sed -i '/composable_kernel/d' requirements.txt
|
||||||
mkdir -p $(Agent.BuildDirectory)/miopen-deps
|
mkdir -p $(Agent.BuildDirectory)/miopen-deps
|
||||||
@@ -193,7 +245,7 @@ jobs:
|
|||||||
displayName: 'MIOpen Test CMake Flags'
|
displayName: 'MIOpen Test CMake Flags'
|
||||||
inputs:
|
inputs:
|
||||||
cmakeArgs: >-
|
cmakeArgs: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Build.SourcesDirectory)/bin;$(Agent.BuildDirectory)/miopen-deps
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/s/bin;$(Agent.BuildDirectory)/miopen-deps
|
||||||
-DCMAKE_INSTALL_PREFIX=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_INSTALL_PREFIX=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
@@ -203,19 +255,19 @@ jobs:
|
|||||||
-DBUILD_DEV=OFF
|
-DBUILD_DEV=OFF
|
||||||
-DMIOPEN_USE_MLIR=ON
|
-DMIOPEN_USE_MLIR=ON
|
||||||
-DMIOPEN_GPU_SYNC=OFF
|
-DMIOPEN_GPU_SYNC=OFF
|
||||||
..
|
$(Agent.BuildDirectory)/s
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'MIOpen Test Build'
|
displayName: 'MIOpen Test Build'
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
|
workingDirectory: build
|
||||||
script: |
|
script: |
|
||||||
cmake --build . --target tests -- -j$(nproc)
|
cmake --build . --target tests -- -j$(nproc)
|
||||||
workingDirectory: $(Build.SourcesDirectory)/build
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: MIOpen
|
componentName: ${{ parameters.componentName }}
|
||||||
testParameters: '--output-on-failure --force-new-ctest-process --output-junit test_output.xml --exclude-regex "test_rnn_seq_api|GPU_Conv2dTuningAsm_FP32"'
|
testParameters: '--output-on-failure --force-new-ctest-process --output-junit test_output.xml --exclude-regex "test_rnn_seq_api|GPU_Conv2dTuningAsm_FP32|GPU_Conv2dTuningAsmBwdWrw_FP32"'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
@@ -224,3 +276,15 @@ jobs:
|
|||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
extraCopyDirectories:
|
extraCopyDirectories:
|
||||||
- miopen-deps
|
- miopen-deps
|
||||||
|
|
||||||
|
# - ${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
# - ${{ each component in parameters.downstreamComponentMatrix }}:
|
||||||
|
# - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
||||||
|
# - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
||||||
|
# parameters:
|
||||||
|
# checkoutRepo: ${{ component.checkoutRepo }}
|
||||||
|
# # sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
||||||
|
# buildDependsOn: ${{ component.buildDependsOn }}
|
||||||
|
# downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
||||||
|
# triggerDownstreamJobs: true
|
||||||
|
# unifiedBuild: ${{ parameters.unifiedBuild }}
|
||||||
|
|||||||
@@ -1,10 +1,29 @@
|
|||||||
parameters:
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: MIVisionX
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
# - name: sparseCheckoutDir
|
||||||
|
# type: string
|
||||||
|
# default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -60,6 +79,7 @@ parameters:
|
|||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
|
- aomp
|
||||||
- clr
|
- clr
|
||||||
- half
|
- half
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
@@ -88,7 +108,11 @@ parameters:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: MIVisionX_build_${{ job.target }}
|
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_ubuntu2204_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -110,6 +134,8 @@ jobs:
|
|||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
@@ -131,12 +157,12 @@ jobs:
|
|||||||
# gpuTarget: ${{ job.target }}
|
# gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- job: MIVisionX_test_${{ job.target }}
|
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
||||||
dependsOn: MIVisionX_build_${{ job.target }}
|
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
||||||
condition:
|
condition:
|
||||||
and(succeeded(),
|
and(succeeded(),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
)
|
)
|
||||||
variables:
|
variables:
|
||||||
@@ -161,6 +187,8 @@ jobs:
|
|||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Build MIVisionX tests
|
displayName: Build MIVisionX tests
|
||||||
inputs:
|
inputs:
|
||||||
@@ -174,7 +202,7 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: MIVisionX
|
componentName: ${{ parameters.componentName }}
|
||||||
testDir: 'mivisionx-tests'
|
testDir: 'mivisionx-tests'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
|||||||
@@ -1,10 +1,29 @@
|
|||||||
parameters:
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: ROCR-Runtime
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -28,8 +47,8 @@ parameters:
|
|||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
|
- amdsmi
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocm_smi_lib
|
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
|
|
||||||
- name: jobMatrix
|
- name: jobMatrix
|
||||||
@@ -45,6 +64,10 @@ parameters:
|
|||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ROCR_Runtime_build_${{ job.os }}
|
- job: ROCR_Runtime_build_${{ job.os }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'ubuntu-22.04'
|
vmImage: 'ubuntu-22.04'
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
@@ -65,14 +88,18 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
useAmdclang: false
|
useAmdclang: false
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
@@ -82,109 +109,112 @@ jobs:
|
|||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
# parameters:
|
# parameters:
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
||||||
- job: ROCR_Runtime_test_${{ job.os }}_${{ job.target }}
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
dependsOn: ROCR_Runtime_build_${{ job.os }}
|
- job: ROCR_Runtime_test_${{ job.os }}_${{ job.target }}
|
||||||
condition:
|
dependsOn: ROCR_Runtime_build_${{ job.os }}
|
||||||
and(succeeded(),
|
condition:
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
and(succeeded(),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
||||||
)
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
variables:
|
)
|
||||||
- group: common
|
variables:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- group: common
|
||||||
pool: ${{ job.target }}_test_pool
|
- template: /.azuredevops/variables-global.yml
|
||||||
workspace:
|
pool: ${{ job.target }}_test_pool
|
||||||
clean: all
|
workspace:
|
||||||
steps:
|
clean: all
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
steps:
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
packageManager: ${{ job.packageManager }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- task: Bash@3
|
packageManager: ${{ job.packageManager }}
|
||||||
displayName: Install libhwloc5
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
inputs:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
targetType: 'inline'
|
parameters:
|
||||||
script: |
|
os: ${{ job.os }}
|
||||||
wget http://ftp.us.debian.org/debian/pool/main/h/hwloc/libhwloc5_1.11.12-3_amd64.deb
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
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/dependencies-rocm.yml
|
||||||
sudo apt install -y --allow-downgrades ./libhwloc5_1.11.12-3_amd64.deb ./libhwloc-dev_1.11.12-3_amd64.deb
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
parameters:
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
gpuTarget: ${{ job.target }}
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
parameters:
|
||||||
parameters:
|
runRocminfo: false
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- task: Bash@3
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
displayName: Build kfdtest
|
||||||
parameters:
|
inputs:
|
||||||
runRocminfo: false
|
targetType: 'inline'
|
||||||
- task: Bash@3
|
workingDirectory: $(Agent.BuildDirectory)/s/libhsakmt/tests/kfdtest
|
||||||
displayName: Build kfdtest
|
script: |
|
||||||
inputs:
|
if [ -e /opt/rh/gcc-toolset-14/enable ]; then
|
||||||
targetType: 'inline'
|
source /opt/rh/gcc-toolset-14/enable
|
||||||
workingDirectory: $(Build.SourcesDirectory)/libhsakmt/tests/kfdtest
|
fi
|
||||||
script: |
|
mkdir build && cd build
|
||||||
if [ -e /opt/rh/gcc-toolset-14/enable ]; then
|
cmake -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm ..
|
||||||
source /opt/rh/gcc-toolset-14/enable
|
make
|
||||||
fi
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
mkdir build && cd build
|
parameters:
|
||||||
cmake -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm ..
|
componentName: kfdtest
|
||||||
make
|
testExecutable: BIN_DIR=$(Agent.BuildDirectory)/s/libhsakmt/tests/kfdtest/build ./run_kfdtest.sh
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
testParameters: '-p core --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
parameters:
|
testDir: $(Agent.BuildDirectory)/s/libhsakmt/tests/kfdtest/scripts
|
||||||
componentName: kfdtest
|
os: ${{ job.os }}
|
||||||
testExecutable: BIN_DIR=$(Build.SourcesDirectory)/libhsakmt/tests/kfdtest/build ./run_kfdtest.sh
|
- task: Bash@3
|
||||||
testParameters: '-p core --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
displayName: Build rocrtst
|
||||||
testDir: $(Build.SourcesDirectory)/libhsakmt/tests/kfdtest/scripts
|
inputs:
|
||||||
os: ${{ job.os }}
|
targetType: 'inline'
|
||||||
- task: Bash@3
|
workingDirectory: $(Agent.BuildDirectory)/s/rocrtst/suites/test_common
|
||||||
displayName: Build rocrtst
|
script: |
|
||||||
inputs:
|
echo $(Agent.BuildDirectory)/s/rocrtst/thirdparty/lib | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
||||||
targetType: 'inline'
|
sudo cat /etc/ld.so.conf.d/rocm-ci.conf
|
||||||
workingDirectory: $(Build.SourcesDirectory)/rocrtst/suites/test_common
|
sudo ldconfig -v
|
||||||
script: |
|
ldconfig -p
|
||||||
if [ -e /opt/rh/gcc-toolset-14/enable ]; then
|
if [ -e /opt/rh/gcc-toolset-14/enable ]; then
|
||||||
source /opt/rh/gcc-toolset-14/enable
|
source /opt/rh/gcc-toolset-14/enable
|
||||||
fi
|
fi
|
||||||
BASE_CLANG_DIR=$(Agent.BuildDirectory)/rocm/llvm/lib/clang
|
BASE_CLANG_DIR=$(Agent.BuildDirectory)/rocm/llvm/lib/clang
|
||||||
export NEWEST_CLANG_VER=$(ls -1 $BASE_CLANG_DIR | sort -V | tail -n 1)
|
export NEWEST_CLANG_VER=$(ls -1 $BASE_CLANG_DIR | sort -V | tail -n 1)
|
||||||
mkdir build && cd build
|
mkdir build && cd build
|
||||||
cmake .. \
|
cmake .. \
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm \
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm \
|
||||||
-DTARGET_DEVICES=${{ job.target }} \
|
-DTARGET_DEVICES=${{ job.target }} \
|
||||||
-DROCM_DIR=$(Agent.BuildDirectory)/rocm \
|
-DROCM_DIR=$(Agent.BuildDirectory)/rocm \
|
||||||
-DLLVM_DIR=$(Agent.BuildDirectory)/rocm/llvm/bin \
|
-DLLVM_DIR=$(Agent.BuildDirectory)/rocm/llvm/bin \
|
||||||
-DOPENCL_INC_DIR=$BASE_CLANG_DIR/$NEWEST_CLANG_VER/include
|
-DOPENCL_INC_DIR=$BASE_CLANG_DIR/$NEWEST_CLANG_VER/include
|
||||||
make
|
make
|
||||||
make rocrtst_kernels
|
make rocrtst_kernels
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: rocrtst
|
componentName: rocrtst
|
||||||
testExecutable: ./rocrtst64
|
testExecutable: ./rocrtst64
|
||||||
testParameters: '--gtest_filter="-rocrtstNeg.Memory_Negative_Tests:rocrtstFunc.Memory_Max_Mem" --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
testParameters: '--gtest_filter="-rocrtstNeg.Memory_Negative_Tests:rocrtstFunc.Memory_Max_Mem" --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
testDir: $(Build.SourcesDirectory)/rocrtst/suites/test_common/build/${{ job.target }}
|
testDir: $(Agent.BuildDirectory)/s//rocrtst/suites/test_common/build/${{ job.target }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
environment: test
|
environment: test
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
# docker image will be missing libhwloc5
|
# docker image will be missing libhwloc5
|
||||||
|
|||||||
@@ -86,8 +86,7 @@ jobs:
|
|||||||
value: $(Agent.BuildDirectory)/rocm
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
- name: HIP_INC_DIR
|
- name: HIP_INC_DIR
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
pool:
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -33,8 +33,9 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- libmsgpack-dev
|
- libboost-filesystem-dev
|
||||||
- libboost-program-options-dev
|
- libboost-program-options-dev
|
||||||
|
- libmsgpack-dev
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -170,6 +171,7 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- task: DownloadPipelineArtifact@2
|
- task: DownloadPipelineArtifact@2
|
||||||
displayName: 'Download Pipeline Wheel Files'
|
displayName: 'Download Pipeline Wheel Files'
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
inputs:
|
inputs:
|
||||||
itemPattern: '**/*${{ job.os }}*.whl'
|
itemPattern: '**/*${{ job.os }}*.whl'
|
||||||
targetPath: $(Agent.BuildDirectory)
|
targetPath: $(Agent.BuildDirectory)
|
||||||
|
|||||||
174
.azuredevops/components/aqlprofile.yml
Normal file
174
.azuredevops/components/aqlprofile.yml
Normal file
@@ -0,0 +1,174 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: aqlprofile
|
||||||
|
- name: checkoutRepo
|
||||||
|
type: string
|
||||||
|
default: 'self'
|
||||||
|
- name: checkoutRef
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: aptPackages
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- cmake
|
||||||
|
- git
|
||||||
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- clr
|
||||||
|
- llvm-project
|
||||||
|
- ROCR-Runtime
|
||||||
|
- name: rocmTestDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- clr
|
||||||
|
- llvm-project
|
||||||
|
- ROCR-Runtime
|
||||||
|
- rocprofiler-register
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
buildJobs:
|
||||||
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
|
testJobs:
|
||||||
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
||||||
|
parameters:
|
||||||
|
dependencyList:
|
||||||
|
- gtest
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
consolidateBuildAndInstall: true
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
||||||
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/aqlprofile/cmake_modules
|
||||||
|
-DAQLPROFILE_BUILD_TESTS=ON
|
||||||
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
- ${{ if eq(job.os, 'ubuntu2204') }}:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
|
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
||||||
|
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- checkout: none
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
packageManager: ${{ job.packageManager }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
preTargetFilter: ${{ parameters.componentName }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
testDir: $(Agent.BuildDirectory)/rocm/share/hsa-amd-aqlprofile/
|
||||||
|
testExecutable: ./run_tests.sh
|
||||||
|
testParameters: ''
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
@@ -107,6 +107,7 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
# if this artifact name is changed, please also update $ARTIFACT_URL inside miopen-get-ck-build.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -1,36 +1,44 @@
|
|||||||
parameters:
|
parameters:
|
||||||
- name: checkoutRepo
|
- name: jobMatrix
|
||||||
type: string
|
type: object
|
||||||
default: 'self'
|
default:
|
||||||
- name: checkoutRef
|
copyJobs:
|
||||||
type: string
|
- { os: ubuntu2204, backend: amd }
|
||||||
default: ''
|
- { os: almalinux8, backend: amd }
|
||||||
|
- { os: ubuntu2204, backend: nvidia }
|
||||||
|
- { os: almalinux8, backend: nvidia }
|
||||||
|
|
||||||
# hip and clr are tightly-coupled
|
# hip and clr are tightly-coupled
|
||||||
# run this same template for both repos
|
# run this same template for both repos
|
||||||
# any changes for clr should just trigger HIP pipeline
|
# any changes for clr should just trigger HIP pipeline
|
||||||
jobs:
|
jobs:
|
||||||
- job: hip_clr_combined
|
- ${{ each job in parameters.jobMatrix.copyJobs }}:
|
||||||
variables:
|
- job: hip_clr_combined_${{ job.os }}_${{ job.backend }}
|
||||||
- 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:
|
||||||
steps:
|
clean: all
|
||||||
# checkout nothing, just copy artifacts from triggering HIP job
|
steps:
|
||||||
# and then publish for this clr job or for this hipother job to maintain latest
|
# checkout nothing, just copy artifacts from triggering HIP job
|
||||||
- checkout: none
|
# and then publish for this clr job or for this hipother job to maintain latest
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-download.yml
|
- checkout: none
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-download.yml
|
||||||
componentName: HIP
|
parameters:
|
||||||
pipelineId: $(HIP_PIPELINE_ID)
|
componentName: HIP
|
||||||
- task: Bash@3
|
pipelineId: $(HIP_PIPELINE_ID)
|
||||||
displayName: Copy HIP artifacts
|
fileFilter: ${{ job.os }}*${{ job.backend }}
|
||||||
inputs:
|
- task: Bash@3
|
||||||
targetType: inline
|
displayName: Copy HIP artifacts
|
||||||
script: cp -a $(Agent.BuildDirectory)/rocm/* $(Build.BinariesDirectory)/
|
inputs:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
targetType: inline
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
script: cp -a $(Agent.BuildDirectory)/rocm/* $(Build.BinariesDirectory)/
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
inputs:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
|||||||
@@ -1,10 +1,29 @@
|
|||||||
parameters:
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: hip-tests
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -60,6 +79,10 @@ parameters:
|
|||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: hip_tests_build_${{ job.target }}
|
- job: hip_tests_build_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -76,15 +99,18 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
# compile hip-tests
|
# compile hip-tests
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: hip-tests
|
componentName: ${{ parameters.componentName }}
|
||||||
cmakeSourceDir: '../catch'
|
cmakeSourceDir: '../catch'
|
||||||
customBuildTarget: build_tests
|
customBuildTarget: build_tests
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
@@ -96,9 +122,12 @@ jobs:
|
|||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
@@ -108,52 +137,56 @@ jobs:
|
|||||||
extraEnvVars:
|
extraEnvVars:
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
||||||
- job: hip_tests_test_${{ job.target }}
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
timeoutInMinutes: 240
|
- job: hip_tests_test_${{ job.target }}
|
||||||
dependsOn: hip_tests_build_${{ job.target }}
|
timeoutInMinutes: 240
|
||||||
condition:
|
dependsOn: hip_tests_build_${{ job.target }}
|
||||||
and(succeeded(),
|
condition:
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
and(succeeded(),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
||||||
)
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
variables:
|
)
|
||||||
- group: common
|
variables:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- group: common
|
||||||
pool: ${{ job.target }}_test_pool
|
- template: /.azuredevops/variables-global.yml
|
||||||
workspace:
|
pool: ${{ job.target }}_test_pool
|
||||||
clean: all
|
workspace:
|
||||||
steps:
|
clean: all
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
steps:
|
||||||
parameters:
|
- checkout: none
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- task: Bash@3
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
displayName: Symlink rocm_agent_enumerator
|
gpuTarget: ${{ job.target }}
|
||||||
inputs:
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
targetType: inline
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
script: |
|
- task: Bash@3
|
||||||
# Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral
|
displayName: Symlink rocm_agent_enumerator
|
||||||
sudo mkdir -p /opt/rocm/bin
|
inputs:
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rocm_agent_enumerator /opt/rocm/bin/rocm_agent_enumerator
|
targetType: inline
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
script: |
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
# Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral
|
||||||
parameters:
|
sudo mkdir -p /opt/rocm/bin
|
||||||
componentName: hip_tests
|
sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rocm_agent_enumerator /opt/rocm/bin/rocm_agent_enumerator
|
||||||
testDir: $(Agent.BuildDirectory)/rocm/share/hip
|
- 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: ${{ parameters.componentName }}
|
||||||
environment: test
|
testDir: $(Agent.BuildDirectory)/rocm/share/hip
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
optSymLink: true
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
optSymLink: true
|
||||||
|
|||||||
@@ -51,15 +51,15 @@ parameters:
|
|||||||
buildJobs:
|
buildJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
- { os: ubuntu2204, packageManager: apt }
|
||||||
- { os: almalinux8, packageManager: dnf }
|
- { os: almalinux8, packageManager: dnf }
|
||||||
# - name: downstreamComponentMatrix
|
- name: downstreamComponentMatrix
|
||||||
# type: object
|
type: object
|
||||||
# default:
|
default:
|
||||||
# - hipBLASLt:
|
- hipBLASLt:
|
||||||
# name: hipBLASLt
|
name: hipBLASLt
|
||||||
# sparseCheckoutDir: projects/hipblaslt
|
sparseCheckoutDir: projects/hipblaslt
|
||||||
# skipUnifiedBuild: 'false'
|
skipUnifiedBuild: 'false'
|
||||||
# buildDependsOn:
|
buildDependsOn:
|
||||||
# - hipBLAS_common_build
|
- hipBLAS_common_build
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
@@ -122,14 +122,14 @@ jobs:
|
|||||||
# extraEnvVars:
|
# extraEnvVars:
|
||||||
# - ROCM_PATH:::/home/user/workspace/rocm
|
# - ROCM_PATH:::/home/user/workspace/rocm
|
||||||
|
|
||||||
# - ${{ if parameters.triggerDownstreamJobs }}:
|
- ${{ if parameters.triggerDownstreamJobs }}:
|
||||||
# - ${{ each component in parameters.downstreamComponentMatrix }}:
|
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
||||||
# - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
||||||
# - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
||||||
# parameters:
|
parameters:
|
||||||
# checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
# sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
||||||
# buildDependsOn: ${{ component.buildDependsOn }}
|
buildDependsOn: ${{ component.buildDependsOn }}
|
||||||
# downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
||||||
# triggerDownstreamJobs: true
|
triggerDownstreamJobs: true
|
||||||
# unifiedBuild: ${{ parameters.unifiedBuild }}
|
unifiedBuild: ${{ parameters.unifiedBuild }}
|
||||||
|
|||||||
@@ -1,10 +1,29 @@
|
|||||||
parameters:
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: hipBLAS
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -69,10 +88,30 @@ parameters:
|
|||||||
target: gfx942
|
target: gfx942
|
||||||
- gfx90a:
|
- gfx90a:
|
||||||
target: gfx90a
|
target: gfx90a
|
||||||
|
# MIOpen depends on both rocRAND and hipBLAS
|
||||||
|
# for a unified build, hipBLAS will be the one to call MIOpen
|
||||||
|
- name: downstreamComponentMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- MIOpen:
|
||||||
|
name: MIOpen
|
||||||
|
sparseCheckoutDir: projects/miopen
|
||||||
|
skipUnifiedBuild: 'false'
|
||||||
|
buildDependsOn:
|
||||||
|
- hipBLAS_build
|
||||||
|
unifiedBuild:
|
||||||
|
downstreamAggregateNames: hipBLAS+rocRAND
|
||||||
|
buildDependsOn:
|
||||||
|
- hipBLAS_build
|
||||||
|
- rocRAND_build
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: hipBLAS_build_${{ job.target }}
|
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_ubuntu2204_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -88,6 +127,7 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aocl.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aocl.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -95,6 +135,8 @@ jobs:
|
|||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
@@ -109,9 +151,12 @@ jobs:
|
|||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
@@ -121,46 +166,67 @@ jobs:
|
|||||||
installAOCL: true
|
installAOCL: true
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
||||||
- job: hipBLAS_test_${{ job.target }}
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
dependsOn: hipBLAS_build_${{ job.target }}
|
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
||||||
condition:
|
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
||||||
and(succeeded(),
|
condition:
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
and(succeeded(),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
||||||
)
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
variables:
|
)
|
||||||
- group: common
|
variables:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- group: common
|
||||||
pool: ${{ job.target }}_test_pool
|
- template: /.azuredevops/variables-global.yml
|
||||||
workspace:
|
pool: ${{ job.target }}_test_pool
|
||||||
clean: all
|
workspace:
|
||||||
steps:
|
clean: all
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
steps:
|
||||||
parameters:
|
- checkout: none
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
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/preamble.yml
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
preTargetFilter: ${{ parameters.componentName }}
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
componentName: hipBLAS
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
testExecutable: $(Agent.BuildDirectory)/rocm/bin/hipblas-test
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
testParameters: '--yaml hipblas_smoke.yaml --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
parameters:
|
||||||
parameters:
|
componentName: ${{ parameters.componentName }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
testExecutable: $(Agent.BuildDirectory)/rocm/bin/hipblas-test
|
||||||
pipModules: ${{ parameters.pipModules }}
|
testParameters: '--yaml hipblas_smoke.yaml --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
environment: test
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
|
- ${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
||||||
|
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
||||||
|
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
||||||
|
triggerDownstreamJobs: true
|
||||||
|
unifiedBuild: ${{ parameters.unifiedBuild }}
|
||||||
|
${{ if parameters.unifiedBuild }}:
|
||||||
|
buildDependsOn: ${{ component.unifiedBuild.buildDependsOn }}
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ component.unifiedBuild.downstreamAggregateNames }}
|
||||||
|
${{ else }}:
|
||||||
|
buildDependsOn: ${{ component.buildDependsOn }}
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
||||||
|
|||||||
@@ -35,9 +35,13 @@ parameters:
|
|||||||
- ccache
|
- ccache
|
||||||
- gfortran
|
- gfortran
|
||||||
- git
|
- git
|
||||||
|
- libboost-filesystem-dev
|
||||||
|
- libboost-program-options-dev
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
|
- liblapack-dev
|
||||||
- libmsgpack-dev
|
- libmsgpack-dev
|
||||||
- libnuma-dev
|
- libnuma-dev
|
||||||
|
- libopenblas-dev
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- python3-venv
|
- python3-venv
|
||||||
@@ -46,6 +50,12 @@ parameters:
|
|||||||
default:
|
default:
|
||||||
- joblib
|
- joblib
|
||||||
- "packaging>=22.0"
|
- "packaging>=22.0"
|
||||||
|
- pyyaml
|
||||||
|
- msgpack
|
||||||
|
- simplejson
|
||||||
|
- ujson
|
||||||
|
- orjson
|
||||||
|
- yappi
|
||||||
- --upgrade
|
- --upgrade
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
@@ -67,6 +77,7 @@ parameters:
|
|||||||
- clr
|
- clr
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- llvm-project
|
- llvm-project
|
||||||
|
- rocm-cmake
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocm_smi_lib
|
- rocm_smi_lib
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
@@ -77,28 +88,28 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
buildJobs:
|
buildJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- { pool: rocm-ci_ultra_build_pool, os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
- { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
- { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
||||||
# - { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
- { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
#- { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
||||||
# - { os: almalinux8, packageManager: dnf, target: gfx942 }
|
- { pool: rocm-ci_ultra_build_pool, os: almalinux8, packageManager: dnf, target: gfx942 }
|
||||||
# - { os: almalinux8, packageManager: dnf, target: gfx90a }
|
- { pool: rocm-ci_medium_build_pool, os: almalinux8, packageManager: dnf, target: gfx90a }
|
||||||
# - { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
- { pool: rocm-ci_medium_build_pool, os: almalinux8, packageManager: dnf, target: gfx1201 }
|
||||||
# - { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
- { pool: rocm-ci_medium_build_pool, os: almalinux8, packageManager: dnf, target: gfx1100 }
|
||||||
# - { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
#- { pool: rocm-ci_medium_build_pool, os: almalinux8, packageManager: dnf, target: gfx1030 }
|
||||||
testJobs:
|
testJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
# - name: downstreamComponentMatrix
|
- name: downstreamComponentMatrix
|
||||||
# type: object
|
type: object
|
||||||
# default:
|
default:
|
||||||
# - rocBLAS:
|
- rocBLAS:
|
||||||
# name: rocBLAS
|
name: rocBLAS
|
||||||
# sparseCheckoutDir: projects/rocblas
|
sparseCheckoutDir: projects/rocblas
|
||||||
# skipUnifiedBuild: 'false'
|
skipUnifiedBuild: 'false'
|
||||||
# buildDependsOn:
|
buildDependsOn:
|
||||||
# - hipBLASLt_build
|
- hipBLASLt_build
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
@@ -121,7 +132,7 @@ jobs:
|
|||||||
value: $(Agent.BuildDirectory)/rocm
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
- name: DAY_STRING
|
- name: DAY_STRING
|
||||||
value: $[format('{0:ddMMyyyy}', pipeline.startTime)]
|
value: $[format('{0:ddMMyyyy}', pipeline.startTime)]
|
||||||
pool: ${{ variables.ULTRA_BUILD_POOL }}
|
pool: ${{ job.pool }}
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
container:
|
container:
|
||||||
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
||||||
@@ -134,12 +145,16 @@ jobs:
|
|||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
packageManager: ${{ job.packageManager }}
|
packageManager: ${{ job.packageManager }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
||||||
|
parameters:
|
||||||
|
dependencyList:
|
||||||
|
- gtest
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
@@ -156,19 +171,16 @@ jobs:
|
|||||||
script: |
|
script: |
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
||||||
# hipBLASLt has a script for gtest and lapack
|
|
||||||
# https://github.com/ROCm/hipBLASLt/blob/develop/deps/CMakeLists.txt
|
|
||||||
# $(Agent.BuildDirectory)/deps is a temporary folder for the build process
|
|
||||||
# $(Agent.BuildDirectory)/s/deps is part of the hipBLASLt repo
|
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Build and install external dependencies
|
displayName: Build and install LAPACK
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
mkdir -p $(Agent.BuildDirectory)/deps
|
mkdir -p $(Agent.BuildDirectory)/temp-deps
|
||||||
cd $(Agent.BuildDirectory)/deps
|
cd $(Agent.BuildDirectory)/temp-deps
|
||||||
cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON $(Agent.BuildDirectory)/s/deps
|
# position-independent LAPACK is required for almalinux8 builds
|
||||||
make
|
cmake -DBUILD_GTEST=OFF -DBUILD_LAPACK=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON $(Agent.BuildDirectory)/sparse/projects/hipblaslt/deps
|
||||||
|
make -j
|
||||||
sudo make install
|
sudo make install
|
||||||
- script: |
|
- script: |
|
||||||
mkdir -p $(CCACHE_DIR)
|
mkdir -p $(CCACHE_DIR)
|
||||||
@@ -186,15 +198,21 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
|
cmakeSourceDir: $(Agent.BuildDirectory)/sparse/projects/hipblaslt
|
||||||
|
cmakeBuildDir: $(Agent.BuildDirectory)/sparse/projects/hipblaslt/build
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
||||||
-DCMAKE_INCLUDE_PATH=$(Agent.BuildDirectory)/rocm/llvm/include
|
-DCMAKE_INCLUDE_PATH=$(Agent.BuildDirectory)/rocm/llvm/include
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
|
-DHIPBLASLT_ENABLE_ROCROLLER=ON
|
||||||
|
-DHIPBLASLT_ENABLE_FETCH=ON
|
||||||
|
-DHIPBLASLT_ENABLE_BLIS=OFF
|
||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -244,6 +262,7 @@ jobs:
|
|||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
|
- checkout: none
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
@@ -280,14 +299,14 @@ jobs:
|
|||||||
environment: test
|
environment: test
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
# - ${{ if parameters.triggerDownstreamJobs }}:
|
- ${{ if parameters.triggerDownstreamJobs }}:
|
||||||
# - ${{ each component in parameters.downstreamComponentMatrix }}:
|
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
||||||
# - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
||||||
# - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
||||||
# parameters:
|
parameters:
|
||||||
# checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
# sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
||||||
# buildDependsOn: ${{ component.buildDependsOn }}
|
buildDependsOn: ${{ component.buildDependsOn }}
|
||||||
# downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
||||||
# triggerDownstreamJobs: true
|
triggerDownstreamJobs: true
|
||||||
# unifiedBuild: ${{ parameters.unifiedBuild }}
|
unifiedBuild: ${{ parameters.unifiedBuild }}
|
||||||
|
|||||||
@@ -61,12 +61,12 @@ parameters:
|
|||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
||||||
# - { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx942 }
|
- { os: almalinux8, packageManager: dnf, target: gfx942 }
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx90a }
|
- { os: almalinux8, packageManager: dnf, target: gfx90a }
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
- { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
||||||
# - { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
- { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
- { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
||||||
testJobs:
|
testJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
|
|||||||
@@ -80,11 +80,11 @@ parameters:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.target }}
|
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
${{ if parameters.buildDependsOn }}:
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
- ${{ build }}_${{ job.target }} # todo: add OS
|
- ${{ build }}_ubuntu2204_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -141,12 +141,12 @@ jobs:
|
|||||||
# gpuTarget: ${{ job.target }}
|
# gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.target }}
|
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.target }}
|
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
||||||
condition:
|
condition:
|
||||||
and(succeeded(),
|
and(succeeded(),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
)
|
)
|
||||||
variables:
|
variables:
|
||||||
@@ -156,6 +156,7 @@ jobs:
|
|||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
|
- checkout: none
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
|||||||
@@ -72,15 +72,15 @@ parameters:
|
|||||||
testJobs:
|
testJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
# - name: downstreamComponentMatrix
|
- name: downstreamComponentMatrix
|
||||||
# type: object
|
type: object
|
||||||
# default:
|
default:
|
||||||
# - rocFFT:
|
- rocFFT:
|
||||||
# name: rocFFT
|
name: rocFFT
|
||||||
# sparseCheckoutDir: projects/rocfft
|
sparseCheckoutDir: projects/rocfft
|
||||||
# skipUnifiedBuild: 'false'
|
skipUnifiedBuild: 'false'
|
||||||
# buildDependsOn:
|
buildDependsOn:
|
||||||
# - hipRAND_build
|
- hipRAND_build
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
@@ -206,14 +206,14 @@ jobs:
|
|||||||
environment: test
|
environment: test
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
# - ${{ if parameters.triggerDownstreamJobs }}:
|
- ${{ if parameters.triggerDownstreamJobs }}:
|
||||||
# - ${{ each component in parameters.downstreamComponentMatrix }}:
|
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
||||||
# - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
||||||
# - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
||||||
# parameters:
|
parameters:
|
||||||
# checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
# sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
||||||
# buildDependsOn: ${{ component.buildDependsOn }}
|
buildDependsOn: ${{ component.buildDependsOn }}
|
||||||
# downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
||||||
# triggerDownstreamJobs: true
|
triggerDownstreamJobs: true
|
||||||
# unifiedBuild: ${{ parameters.unifiedBuild }}
|
unifiedBuild: ${{ parameters.unifiedBuild }}
|
||||||
|
|||||||
@@ -1,10 +1,29 @@
|
|||||||
parameters:
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: hipSOLVER
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -66,12 +85,15 @@ parameters:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: hipSOLVER_build_${{ job.target }}
|
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_ubuntu2204_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool:
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
@@ -82,18 +104,21 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
# build external gtest and lapack
|
# build external gtest and lapack
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: external
|
componentName: external
|
||||||
cmakeBuildDir: '$(Build.SourcesDirectory)/deps/build'
|
cmakeBuildDir: '$(Agent.BuildDirectory)/s/deps/build'
|
||||||
cmakeSourceDir: '$(Build.SourcesDirectory)/deps'
|
cmakeSourceDir: '$(Agent.BuildDirectory)/s/deps'
|
||||||
installDir: '$(Pipeline.Workspace)/deps-install'
|
installDir: '$(Pipeline.Workspace)/deps-install'
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DBUILD_BOOST=OFF
|
-DBUILD_BOOST=OFF
|
||||||
@@ -112,8 +137,10 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
@@ -123,44 +150,49 @@ jobs:
|
|||||||
# extraCopyDirectories:
|
# extraCopyDirectories:
|
||||||
# - deps-install
|
# - deps-install
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
||||||
- job: hipSOLVER_test_${{ job.target }}
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
dependsOn: hipSOLVER_build_${{ job.target }}
|
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
||||||
condition:
|
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
||||||
and(succeeded(),
|
condition:
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
and(succeeded(),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
||||||
)
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
variables:
|
)
|
||||||
- group: common
|
variables:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- group: common
|
||||||
pool: ${{ job.target }}_test_pool
|
- template: /.azuredevops/variables-global.yml
|
||||||
workspace:
|
pool: ${{ job.target }}_test_pool
|
||||||
clean: all
|
workspace:
|
||||||
steps:
|
clean: all
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
steps:
|
||||||
parameters:
|
- checkout: none
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
preTargetFilter: ${{ parameters.componentName }}
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
componentName: hipSOLVER
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
testExecutable: './hipsolver-test'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
testParameters: '--gtest_filter="*checkin*" --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
parameters:
|
||||||
parameters:
|
componentName: ${{ parameters.componentName }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
environment: test
|
testExecutable: './hipsolver-test'
|
||||||
gpuTarget: ${{ job.target }}
|
testParameters: '--gtest_filter="*checkin*" --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -1,10 +1,29 @@
|
|||||||
parameters:
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: hipSPARSE
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -14,13 +33,11 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- ninja-build
|
|
||||||
- libboost-program-options-dev
|
|
||||||
- googletest
|
|
||||||
- libfftw3-dev
|
|
||||||
- git
|
|
||||||
- gfortran
|
- gfortran
|
||||||
- libgtest-dev
|
- git
|
||||||
|
- libboost-program-options-dev
|
||||||
|
- libfftw3-dev
|
||||||
|
- ninja-build
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
@@ -49,19 +66,31 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
buildJobs:
|
buildJobs:
|
||||||
- gfx942:
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
target: gfx942
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
- gfx90a:
|
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
||||||
target: gfx90a
|
#- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
||||||
|
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
||||||
testJobs:
|
testJobs:
|
||||||
- gfx942:
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
target: gfx942
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
- gfx90a:
|
- name: downstreamComponentMatrix
|
||||||
target: gfx90a
|
type: object
|
||||||
|
default:
|
||||||
|
- hipSPARSELt:
|
||||||
|
name: hipSPARSELt
|
||||||
|
sparseCheckoutDir: projects/hipsparselt
|
||||||
|
skipUnifiedBuild: 'false'
|
||||||
|
buildDependsOn:
|
||||||
|
- hipSPARSE_build
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: hipSPARSE_build_${{ job.target }}
|
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -73,42 +102,57 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
packageManager: ${{ job.packageManager }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
||||||
|
parameters:
|
||||||
|
dependencyList:
|
||||||
|
- gtest
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
os: ${{ job.os }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/share/rocm/cmake/
|
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
-DBUILD_CLIENTS_SAMPLES=OFF
|
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
artifactName: hipSPARSE
|
componentName: ${{ parameters.componentName }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
artifactName: hipSPARSE
|
componentName: ${{ parameters.componentName }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
os: ${{ job.os }}
|
||||||
publish: false
|
publish: false
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
||||||
parameters:
|
parameters:
|
||||||
sourceDir: $(Build.SourcesDirectory)/build/clients
|
sourceDir: $(Agent.BuildDirectory)/s/build/clients
|
||||||
contentsString: matrices/**
|
contentsString: matrices/**
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
artifactName: testMatrices
|
artifactName: testMatrices
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
# parameters:
|
# parameters:
|
||||||
@@ -116,44 +160,65 @@ jobs:
|
|||||||
# environment: test
|
# environment: test
|
||||||
# gpuTarget: ${{ job.target }}
|
# gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
||||||
- job: hipSPARSE_test_${{ job.target }}
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
dependsOn: hipSPARSE_build_${{ job.target }}
|
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
||||||
condition:
|
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
||||||
and(succeeded(),
|
condition:
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
and(succeeded(),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
||||||
)
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
variables:
|
)
|
||||||
- group: common
|
variables:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- group: common
|
||||||
pool: ${{ job.target }}_test_pool
|
- template: /.azuredevops/variables-global.yml
|
||||||
workspace:
|
pool: ${{ job.target }}_test_pool
|
||||||
clean: all
|
workspace:
|
||||||
steps:
|
clean: all
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
steps:
|
||||||
parameters:
|
- checkout: none
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
packageManager: ${{ job.packageManager }}
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
parameters:
|
||||||
parameters:
|
preTargetFilter: ${{ parameters.componentName }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
gpuTarget: ${{ job.target }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
os: ${{ job.os }}
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
componentName: hipSPARSE
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
gpuTarget: ${{ job.target }}
|
||||||
testExecutable: './hipsparse-test'
|
os: ${{ job.os }}
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
environment: test
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
componentName: ${{ parameters.componentName }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
|
testExecutable: './hipsparse-test'
|
||||||
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
|
- ${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
||||||
|
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
||||||
|
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
||||||
|
buildDependsOn: ${{ component.buildDependsOn }}
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
||||||
|
triggerDownstreamJobs: true
|
||||||
|
unifiedBuild: ${{ parameters.unifiedBuild }}
|
||||||
|
|||||||
@@ -1,10 +1,29 @@
|
|||||||
parameters:
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: hipSPARSELt
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -21,10 +40,12 @@ parameters:
|
|||||||
- gfortran
|
- gfortran
|
||||||
- libgfortran5
|
- libgfortran5
|
||||||
- libopenblas-dev
|
- libopenblas-dev
|
||||||
|
- liblapack-dev
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- joblib
|
- joblib
|
||||||
|
- msgpack
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -33,6 +54,7 @@ parameters:
|
|||||||
- hipSPARSE
|
- hipSPARSE
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
|
- rocm-cmake
|
||||||
- rocm_smi_lib
|
- rocm_smi_lib
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
@@ -46,6 +68,7 @@ parameters:
|
|||||||
- llvm-project
|
- llvm-project
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- hipBLASLt
|
- hipBLASLt
|
||||||
|
- rocm-cmake
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
@@ -56,15 +79,17 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
buildJobs:
|
buildJobs:
|
||||||
- gfx942:
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
target: gfx942
|
|
||||||
testJobs:
|
testJobs:
|
||||||
- gfx942:
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
target: gfx942
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: hipSPARSELt_build_${{ job.target }}
|
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -86,25 +111,37 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
packageManager: ${{ job.packageManager }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
# ignore sparse checkout for monorepo case, we want access to hipblaslt directory
|
||||||
|
# sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
os: ${{ job.os }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
|
# NOTE: content between `---` is for transition support between old/new build systems
|
||||||
|
# and should be removed once transition is complete.
|
||||||
|
# -----------------------------
|
||||||
# Build and install gtest and lapack
|
# Build and install gtest and lapack
|
||||||
# $(Pipeline.Workspace)/deps is a temporary folder for the build process
|
# $(Pipeline.Workspace)/deps is a temporary folder for the build process
|
||||||
# $(Pipeline.Workspace)/s/deps is part of the hipSPARSELt repo
|
# $(Pipeline.Workspace)/s/deps is part of the hipSPARSELt repo
|
||||||
- script: mkdir $(Pipeline.Workspace)/deps
|
- script: mkdir -p $(Pipeline.Workspace)/deps
|
||||||
displayName: Create temp folder for external dependencies
|
displayName: Create temp folder for external dependencies
|
||||||
# hipSPARSELt already has a CMake script for external deps, so we can just run that
|
# hipSPARSELt already has a CMake script for external deps, so we can just run that
|
||||||
# https://github.com/ROCm/hipSPARSELt/blob/develop/deps/CMakeLists.txt
|
# https://github.com/ROCm/hipSPARSELt/blob/develop/deps/CMakeLists.txt
|
||||||
- script: cmake $(Pipeline.Workspace)/s/deps
|
- ${{ if ne(parameters.sparseCheckoutDir, '') }}:
|
||||||
|
script: cmake $(Pipeline.Workspace)/s/projects/hipsparselt/deps
|
||||||
|
${{ else }}:
|
||||||
|
script: cmake $(Pipeline.Workspace)/s/deps
|
||||||
displayName: Configure hipSPARSELt external dependencies
|
displayName: Configure hipSPARSELt external dependencies
|
||||||
workingDirectory: $(Pipeline.Workspace)/deps
|
workingDirectory: $(Pipeline.Workspace)/deps
|
||||||
- script: make
|
- script: make
|
||||||
@@ -113,81 +150,115 @@ jobs:
|
|||||||
- script: sudo make install
|
- script: sudo make install
|
||||||
displayName: Install hipSPARSELt external dependencies
|
displayName: Install hipSPARSELt external dependencies
|
||||||
workingDirectory: $(Pipeline.Workspace)/deps
|
workingDirectory: $(Pipeline.Workspace)/deps
|
||||||
|
# -----------------------------
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
# NOTE: the following options are old build only
|
||||||
|
# and can be removed after full transition to new build
|
||||||
|
# -DAMDGPU_TARGETS=${{ job.target }}
|
||||||
|
# -DCMAKE_Fortran_COMPILER=f95
|
||||||
|
# -DTensile_LOGIC=
|
||||||
|
# -DTensile_CPU_THREADS=
|
||||||
|
# -DTensile_LIBRARY_FORMAT=msgpack
|
||||||
|
# -DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
|
# -DBUILD_CLIENTS_TESTS=ON
|
||||||
|
# -DBUILD_USE_LOCAL_TENSILE=OFF
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
-DCMAKE_Fortran_COMPILER=f95
|
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm"
|
||||||
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
|
-DCMAKE_Fortran_COMPILER=f95
|
||||||
-DTensile_LOGIC=
|
-DTensile_LOGIC=
|
||||||
-DTensile_CPU_THREADS=
|
-DTensile_CPU_THREADS=
|
||||||
-DTensile_LIBRARY_FORMAT=msgpack
|
-DTensile_LIBRARY_FORMAT=msgpack
|
||||||
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm"
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
|
-DBUILD_USE_LOCAL_TENSILE=OFF
|
||||||
|
-DHIPSPARSELT_ENABLE_FETCH=ON
|
||||||
-GNinja
|
-GNinja
|
||||||
|
${{ if ne(parameters.sparseCheckoutDir, '') }}:
|
||||||
|
cmakeSourceDir: $(Build.SourcesDirectory)/projects/hipsparselt
|
||||||
|
cmakeBuildDir: $(Build.SourcesDirectory)/projects/hipsparselt
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- ${{ if eq(job.os, 'ubuntu2204') }}:
|
||||||
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 }}
|
||||||
extraCopyDirectories:
|
gpuTarget: ${{ job.target }}
|
||||||
- deps
|
extraCopyDirectories:
|
||||||
extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin
|
- deps
|
||||||
extraEnvVars:
|
extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
extraEnvVars:
|
||||||
- TENSILE_ROCM_ASSEMBLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
- CMAKE_CXX_COMPILER:::/home/user/workspace/rocm/llvm/bin/hipcc
|
- 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
|
- CMAKE_CXX_COMPILER:::/home/user/workspace/rocm/llvm/bin/hipcc
|
||||||
installLatestCMake: true
|
- TENSILE_ROCM_OFFLOAD_BUNDLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang-offload-bundler
|
||||||
|
installLatestCMake: true
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
||||||
- job: hipSPARSELt_test_${{ job.target }}
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
dependsOn: hipSPARSELt_build_${{ job.target }}
|
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
||||||
condition:
|
timeoutInMinutes: 120
|
||||||
and(succeeded(),
|
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
condition:
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
and(succeeded(),
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
||||||
variables:
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
- group: common
|
)
|
||||||
- template: /.azuredevops/variables-global.yml
|
variables:
|
||||||
pool: ${{ job.target }}_test_pool
|
- group: common
|
||||||
workspace:
|
- template: /.azuredevops/variables-global.yml
|
||||||
clean: all
|
pool: ${{ job.target }}_test_pool
|
||||||
steps:
|
workspace:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
clean: all
|
||||||
parameters:
|
steps:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- checkout: none
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
parameters:
|
||||||
parameters:
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
gpuTarget: ${{ job.target }}
|
packageManager: ${{ job.packageManager }}
|
||||||
- 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.rocmTestDependencies }}
|
preTargetFilter: ${{ parameters.componentName }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: hipSPARSELt
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
testExecutable: './hipsparselt-test'
|
gpuTarget: ${{ job.target }}
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes --gtest_filter=*pre_checkin*'
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
parameters:
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
environment: test
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
componentName: ${{ parameters.componentName }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
|
testExecutable: './hipsparselt-test'
|
||||||
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes --gtest_filter=*pre_checkin*'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ jobs:
|
|||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/llvm
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/llvm
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DHIPTENSOR_BUILD_TESTS=ON
|
-DHIPTENSOR_BUILD_TESTS=ON
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ parameters:
|
|||||||
default:
|
default:
|
||||||
buildJobs:
|
buildJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt }
|
- { os: ubuntu2204, packageManager: apt }
|
||||||
- { os: ubuntu2404, packageManager: apt }
|
# - { os: ubuntu2404, packageManager: apt }
|
||||||
- { os: almalinux8, packageManager: dnf }
|
- { os: almalinux8, packageManager: dnf }
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@@ -67,7 +67,6 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
skipLlvmSymlink: true
|
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
|||||||
251
.azuredevops/components/origami.yml
Normal file
251
.azuredevops/components/origami.yml
Normal file
@@ -0,0 +1,251 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: origami
|
||||||
|
- name: checkoutRepo
|
||||||
|
type: string
|
||||||
|
default: 'self'
|
||||||
|
- name: checkoutRef
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: aptPackages
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- cmake
|
||||||
|
- git
|
||||||
|
- ninja-build
|
||||||
|
- wget
|
||||||
|
- python3
|
||||||
|
- python3-dev
|
||||||
|
- python3-pip
|
||||||
|
- libgtest-dev
|
||||||
|
- libboost-filesystem-dev
|
||||||
|
- libboost-program-options-dev
|
||||||
|
- name: pipModules
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- nanobind>=2.0.0
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- clr
|
||||||
|
- llvm-project
|
||||||
|
- rocm-cmake
|
||||||
|
- rocminfo
|
||||||
|
- ROCR-Runtime
|
||||||
|
- rocprofiler-register
|
||||||
|
- name: rocmTestDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- clr
|
||||||
|
- llvm-project
|
||||||
|
- rocm-cmake
|
||||||
|
- rocminfo
|
||||||
|
- ROCR-Runtime
|
||||||
|
- rocprofiler-register
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
buildJobs:
|
||||||
|
- { os: ubuntu2204, packageManager: apt }
|
||||||
|
- { os: almalinux8, packageManager: dnf }
|
||||||
|
testJobs:
|
||||||
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
|
- name: downstreamComponentMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- hipBLASLt:
|
||||||
|
name: hipBLASLt
|
||||||
|
sparseCheckoutDir: projects/hipblaslt
|
||||||
|
skipUnifiedBuild: 'false'
|
||||||
|
buildDependsOn:
|
||||||
|
- origami_build
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: origami_build_${{ job.os }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: ROCM_PATH
|
||||||
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
|
pool:
|
||||||
|
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
||||||
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
|
container:
|
||||||
|
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
||||||
|
endpoint: ContainerService3
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
packageManager: ${{ job.packageManager }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
||||||
|
parameters:
|
||||||
|
dependencyList:
|
||||||
|
- gtest
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
||||||
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
-DORIGAMI_BUILD_SHARED_LIBS=ON
|
||||||
|
-DORIGAMI_ENABLE_PYTHON=ON
|
||||||
|
-DORIGAMI_BUILD_TESTING=ON
|
||||||
|
-GNinja
|
||||||
|
- ${{ if ne(job.os, 'almalinux8') }}:
|
||||||
|
- task: PublishPipelineArtifact@1
|
||||||
|
displayName: 'Publish Build Directory Artifact'
|
||||||
|
inputs:
|
||||||
|
targetPath: '$(Agent.BuildDirectory)/s/build'
|
||||||
|
artifact: '${{ parameters.componentName }}_${{ job.os }}_build_dir'
|
||||||
|
publishLocation: 'pipeline'
|
||||||
|
- task: PublishPipelineArtifact@1
|
||||||
|
displayName: 'Publish Python Source Artifact'
|
||||||
|
inputs:
|
||||||
|
targetPath: '$(Agent.BuildDirectory)/s/python'
|
||||||
|
artifact: '${{ parameters.componentName }}_${{ job.os }}_python_src'
|
||||||
|
publishLocation: 'pipeline'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
|
||||||
|
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
||||||
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
|
- job: origami_test_${{ job.os }}_${{ job.target }}
|
||||||
|
timeoutInMinutes: 120
|
||||||
|
dependsOn: origami_build_${{ job.os }}
|
||||||
|
condition:
|
||||||
|
and(succeeded(),
|
||||||
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
||||||
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
|
)
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool: ${{ job.target }}_test_pool
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
packageManager: ${{ job.packageManager }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
|
parameters:
|
||||||
|
preTargetFilter: ${{ parameters.componentName }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
- task: DownloadPipelineArtifact@2
|
||||||
|
displayName: 'Download Build Directory Artifact'
|
||||||
|
inputs:
|
||||||
|
artifact: '${{ parameters.componentName }}_${{ job.os }}_build_dir'
|
||||||
|
path: '$(Agent.BuildDirectory)/s/build'
|
||||||
|
- task: DownloadPipelineArtifact@2
|
||||||
|
displayName: 'Download Python Source Artifact'
|
||||||
|
inputs:
|
||||||
|
artifact: '${{ parameters.componentName }}_${{ job.os }}_python_src'
|
||||||
|
path: '$(Agent.BuildDirectory)/s/python'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
|
testExecutable: './origami-tests'
|
||||||
|
testParameters: '--yaml origami-tests.yaml --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
export PYTHONPATH=$(Agent.BuildDirectory)/s/build/python:$PYTHONPATH
|
||||||
|
|
||||||
|
echo "--- Running origami_test.py ---"
|
||||||
|
python3 $(Agent.BuildDirectory)/s/python/origami_test.py
|
||||||
|
|
||||||
|
echo "--- Running origami_grid_test.py ---"
|
||||||
|
python3 $(Agent.BuildDirectory)/s/python/origami_grid_test.py
|
||||||
|
displayName: 'Run Python Binding Tests'
|
||||||
|
condition: succeeded()
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
|
- ${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
||||||
|
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
||||||
|
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
||||||
|
buildDependsOn: ${{ component.buildDependsOn }}
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
||||||
|
triggerDownstreamJobs: true
|
||||||
|
unifiedBuild: ${{ parameters.unifiedBuild }}
|
||||||
@@ -76,14 +76,14 @@ jobs:
|
|||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
- name: HIP_ROCCLR_HOME
|
- name: HIP_ROCCLR_HOME
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
pool: ${{ variables.HIGH_BUILD_POOL }}
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
|||||||
@@ -1,10 +1,29 @@
|
|||||||
parameters:
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rdc
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -33,6 +52,7 @@ parameters:
|
|||||||
- clr
|
- clr
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- hipBLASLt
|
- hipBLASLt
|
||||||
|
- hipRAND
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
@@ -43,6 +63,7 @@ parameters:
|
|||||||
- rocprofiler
|
- rocprofiler
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- rocprofiler-sdk
|
- rocprofiler-sdk
|
||||||
|
- rocRAND
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
@@ -74,7 +95,11 @@ parameters:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: rdc_build_${{ job.target }}
|
- job: ${{ parameters.componentName }}_build_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -85,16 +110,22 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
||||||
|
parameters:
|
||||||
|
cmakeVersion: '3.25.0'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
# Build grpc
|
# Build grpc
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'git clone grpc'
|
displayName: 'git clone grpc'
|
||||||
@@ -104,6 +135,7 @@ jobs:
|
|||||||
workingDirectory: $(Build.SourcesDirectory)
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
cmakeBuildDir: $(Build.SourcesDirectory)/grpc/build
|
cmakeBuildDir: $(Build.SourcesDirectory)/grpc/build
|
||||||
cmakeSourceDir: $(Build.SourcesDirectory)/grpc
|
cmakeSourceDir: $(Build.SourcesDirectory)/grpc
|
||||||
installDir: $(Build.SourcesDirectory)/bin
|
installDir: $(Build.SourcesDirectory)/bin
|
||||||
@@ -117,6 +149,7 @@ jobs:
|
|||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DGRPC_ROOT="$(Build.SourcesDirectory)/bin"
|
-DGRPC_ROOT="$(Build.SourcesDirectory)/bin"
|
||||||
@@ -126,9 +159,12 @@ jobs:
|
|||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
@@ -136,60 +172,64 @@ jobs:
|
|||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
||||||
- job: rdc_test_${{ job.target }}
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
dependsOn: rdc_build_${{ job.target }}
|
- job: ${{ parameters.componentName }}_test_${{ job.target }}
|
||||||
condition:
|
dependsOn: ${{ parameters.componentName }}_build_${{ job.target }}
|
||||||
and(succeeded(),
|
condition:
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
and(succeeded(),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
||||||
)
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
variables:
|
)
|
||||||
- group: common
|
variables:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- group: common
|
||||||
- name: ROCM_PATH
|
- template: /.azuredevops/variables-global.yml
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
- name: ROCM_PATH
|
||||||
- name: ROCM_DIR
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
- name: ROCM_DIR
|
||||||
pool: ${{ job.target }}_test_pool
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
workspace:
|
pool: ${{ job.target }}_test_pool
|
||||||
clean: all
|
workspace:
|
||||||
steps:
|
clean: all
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
steps:
|
||||||
parameters:
|
- checkout: none
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- task: Bash@3
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
displayName: Setup test environment
|
gpuTarget: ${{ job.target }}
|
||||||
inputs:
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
targetType: inline
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
script: |
|
- task: Bash@3
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rdcd /usr/sbin/rdcd
|
displayName: Setup test environment
|
||||||
echo $(Agent.BuildDirectory)/rocm/lib/rdc/grpc/lib | sudo tee /etc/ld.so.conf.d/grpc.conf
|
inputs:
|
||||||
sudo ldconfig -v
|
targetType: inline
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
script: |
|
||||||
- task: Bash@3
|
sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rdcd /usr/sbin/rdcd
|
||||||
displayName: Test rdc
|
echo $(Agent.BuildDirectory)/rocm/lib/rdc/grpc/lib | sudo tee /etc/ld.so.conf.d/grpc.conf
|
||||||
inputs:
|
sudo ldconfig -v
|
||||||
targetType: inline
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
script: >-
|
- task: Bash@3
|
||||||
$(Agent.BuildDirectory)/rocm/share/rdc/rdctst_tests/rdctst
|
displayName: Test rdc
|
||||||
--batch_mode
|
inputs:
|
||||||
--start_rdcd
|
targetType: inline
|
||||||
--unauth_comm
|
script: >-
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
$(Agent.BuildDirectory)/rocm/share/rdc/rdctst_tests/rdctst
|
||||||
parameters:
|
--batch_mode
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
--start_rdcd
|
||||||
environment: test
|
--unauth_comm
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
extraPaths: /home/user/workspace/rocm/bin
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
extraPaths: /home/user/workspace/rocm/bin
|
||||||
|
|||||||
@@ -86,8 +86,7 @@ jobs:
|
|||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool:
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -73,8 +73,7 @@ jobs:
|
|||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
- name: HIP_ROCCLR_HOME
|
- name: HIP_ROCCLR_HOME
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
pool:
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
vmImage: ${{ variables.BASE_BUILD_POOL }}
|
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -33,17 +33,15 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- ninja-build
|
|
||||||
- python3-venv
|
|
||||||
- git
|
- git
|
||||||
- libmsgpack-dev
|
|
||||||
- gfortran
|
- gfortran
|
||||||
- libopenblas-dev
|
|
||||||
- googletest
|
|
||||||
- libgtest-dev
|
|
||||||
- wget
|
|
||||||
- python3-pip
|
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
|
- libmsgpack-dev
|
||||||
|
- libopenblas-dev
|
||||||
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
|
- python3-venv
|
||||||
|
- wget
|
||||||
- name: pipModules
|
- name: pipModules
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -52,18 +50,17 @@ parameters:
|
|||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- rocm-cmake
|
|
||||||
- llvm-project
|
|
||||||
- ROCR-Runtime
|
|
||||||
- clr
|
|
||||||
- rocminfo
|
|
||||||
- rocprofiler-register
|
|
||||||
- rocm_smi_lib
|
|
||||||
- rocm-core
|
|
||||||
- aomp
|
- aomp
|
||||||
- aomp-extras
|
- clr
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- hipBLASLt
|
- hipBLASLt
|
||||||
|
- llvm-project
|
||||||
|
- rocm-cmake
|
||||||
|
- rocm-core
|
||||||
|
- rocm_smi_lib
|
||||||
|
- rocminfo
|
||||||
|
- rocprofiler-register
|
||||||
|
- ROCR-Runtime
|
||||||
- roctracer
|
- roctracer
|
||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
@@ -73,6 +70,7 @@ parameters:
|
|||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- hipBLASLt
|
- hipBLASLt
|
||||||
- llvm-project
|
- llvm-project
|
||||||
|
- rocm-cmake
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
- rocm_smi_lib
|
- rocm_smi_lib
|
||||||
@@ -86,32 +84,45 @@ parameters:
|
|||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
||||||
# - { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
#- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
||||||
# - { os: almalinux8, packageManager: dnf, target: gfx942 }
|
- { os: almalinux8, packageManager: dnf, target: gfx942 }
|
||||||
# - { os: almalinux8, packageManager: dnf, target: gfx90a }
|
- { os: almalinux8, packageManager: dnf, target: gfx90a }
|
||||||
# - { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
- { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
||||||
# - { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
- { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
||||||
# - { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
#- { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
||||||
testJobs:
|
testJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
# - name: downstreamComponentMatrix
|
- name: downstreamComponentMatrix
|
||||||
# type: object
|
type: object
|
||||||
# default:
|
default:
|
||||||
# # rocSOLVER depends on both rocBLAS and rocPRIM
|
- rocSPARSE:
|
||||||
# # for a unified build, rocBLAS will be the one to call rocSOLVER
|
name: rocSPARSE
|
||||||
# - rocSOLVER:
|
sparseCheckoutDir: projects/rocsparse
|
||||||
# name: rocSOLVER
|
skipUnifiedBuild: 'false'
|
||||||
# sparseCheckoutDir: projects/rocsolver
|
buildDependsOn:
|
||||||
# skipUnifiedBuild: 'false'
|
- rocBLAS_build
|
||||||
# buildDependsOn:
|
# rocSOLVER depends on both rocBLAS and rocPRIM
|
||||||
# - rocBLAS_build
|
# for a unified build, rocBLAS will be the one to call rocSOLVER
|
||||||
# unifiedBuild:
|
# - rocSOLVER:
|
||||||
# downstreamAggregateNames: rocBLAS+rocPRIM
|
# name: rocSOLVER
|
||||||
# buildDependsOn:
|
# sparseCheckoutDir: projects/rocsolver
|
||||||
# - rocBLAS_build
|
# skipUnifiedBuild: 'false'
|
||||||
# - rocPRIM_build
|
# buildDependsOn:
|
||||||
|
# - rocBLAS_build
|
||||||
|
# unifiedBuild:
|
||||||
|
# downstreamAggregateNames: rocBLAS+rocPRIM
|
||||||
|
# buildDependsOn:
|
||||||
|
# - rocBLAS_build
|
||||||
|
# - rocPRIM_build
|
||||||
|
# temporary rocblas->hipblas downstream path while the SOLVERs are disabled
|
||||||
|
- hipBLAS:
|
||||||
|
name: hipBLAS
|
||||||
|
sparseCheckoutDir: projects/hipblas
|
||||||
|
skipUnifiedBuild: 'false'
|
||||||
|
buildDependsOn:
|
||||||
|
- rocBLAS_build
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
@@ -144,13 +155,19 @@ jobs:
|
|||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
packageManager: ${{ job.packageManager }}
|
packageManager: ${{ job.packageManager }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aocl.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aocl.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
||||||
|
parameters:
|
||||||
|
dependencyList:
|
||||||
|
- gtest
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
@@ -163,22 +180,15 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
|
cmakeSourceDir: $(Agent.BuildDirectory)/sparse/projects/rocblas
|
||||||
|
cmakeBuildDir: $(Agent.BuildDirectory)/sparse/projects/rocblas/build
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_TOOLCHAIN_FILE=toolchain-linux.cmake
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm
|
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang++
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang++
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
-DTensile_CODE_OBJECT_VERSION=default
|
|
||||||
-DTensile_LOGIC=asm_full
|
|
||||||
-DTensile_SEPARATE_ARCHITECTURES=ON
|
|
||||||
-DTensile_LAZY_LIBRARY_LOADING=ON
|
|
||||||
-DTensile_LIBRARY_FORMAT=msgpack
|
|
||||||
-DBUILD_CLIENTS_TESTS=ON
|
-DBUILD_CLIENTS_TESTS=ON
|
||||||
-DBUILD_CLIENTS_BENCHMARKS=OFF
|
|
||||||
-DBUILD_CLIENTS_SAMPLES=OFF
|
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
|
||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -208,6 +218,7 @@ jobs:
|
|||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
||||||
|
timeoutInMinutes: 120
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
||||||
condition:
|
condition:
|
||||||
and(succeeded(),
|
and(succeeded(),
|
||||||
@@ -222,6 +233,7 @@ jobs:
|
|||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
|
- checkout: none
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
@@ -258,18 +270,18 @@ jobs:
|
|||||||
environment: test
|
environment: test
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
# - ${{ if parameters.triggerDownstreamJobs }}:
|
- ${{ if parameters.triggerDownstreamJobs }}:
|
||||||
# - ${{ each component in parameters.downstreamComponentMatrix }}:
|
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
||||||
# - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
||||||
# - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
||||||
# parameters:
|
parameters:
|
||||||
# checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
# sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
||||||
# triggerDownstreamJobs: true
|
triggerDownstreamJobs: true
|
||||||
# unifiedBuild: ${{ parameters.unifiedBuild }}
|
unifiedBuild: ${{ parameters.unifiedBuild }}
|
||||||
# ${{ if parameters.unifiedBuild }}:
|
${{ if parameters.unifiedBuild }}:
|
||||||
# buildDependsOn: ${{ component.unifiedBuild.buildDependsOn }}
|
buildDependsOn: ${{ component.unifiedBuild.buildDependsOn }}
|
||||||
# downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ component.unifiedBuild.downstreamAggregateNames }}
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ component.unifiedBuild.downstreamAggregateNames }}
|
||||||
# ${{ else }}:
|
${{ else }}:
|
||||||
# buildDependsOn: ${{ component.buildDependsOn }}
|
buildDependsOn: ${{ component.buildDependsOn }}
|
||||||
# downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
||||||
|
|||||||
@@ -8,6 +8,25 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
- name: rocPyDecodeRepo
|
||||||
|
type: string
|
||||||
|
default: rocpydecode_repo
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -56,10 +75,23 @@ parameters:
|
|||||||
testJobs:
|
testJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
|
- name: downstreamComponentMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- rocPyDecode:
|
||||||
|
name: rocPyDecode
|
||||||
|
sparseCheckoutDir: ''
|
||||||
|
skipUnifiedBuild: 'false'
|
||||||
|
buildDependsOn:
|
||||||
|
- rocDecode_build
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}
|
- job: ${{ parameters.componentName }}_build_${{ job.os }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -83,12 +115,15 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
@@ -169,3 +204,15 @@ jobs:
|
|||||||
registerROCmPackages: true
|
registerROCmPackages: true
|
||||||
environment: test
|
environment: test
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
|
- ${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
||||||
|
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
||||||
|
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.rocPyDecodeRepo }}
|
||||||
|
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
||||||
|
buildDependsOn: ${{ component.buildDependsOn }}
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
||||||
|
triggerDownstreamJobs: true
|
||||||
|
unifiedBuild: ${{ parameters.unifiedBuild }}
|
||||||
|
|||||||
@@ -78,19 +78,19 @@ parameters:
|
|||||||
target: gfx942
|
target: gfx942
|
||||||
- gfx90a:
|
- gfx90a:
|
||||||
target: gfx90a
|
target: gfx90a
|
||||||
# - name: downstreamComponentMatrix
|
- name: downstreamComponentMatrix
|
||||||
# type: object
|
type: object
|
||||||
# default:
|
default:
|
||||||
# - hipFFT:
|
- hipFFT:
|
||||||
# name: hipFFT
|
name: hipFFT
|
||||||
# sparseCheckoutDir: projects/hipfft
|
sparseCheckoutDir: projects/hipfft
|
||||||
# skipUnifiedBuild: 'false'
|
skipUnifiedBuild: 'false'
|
||||||
# buildDependsOn:
|
buildDependsOn:
|
||||||
# - rocFFT_build
|
- rocFFT_build
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.target }}
|
- job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
||||||
${{ if parameters.buildDependsOn }}:
|
${{ if parameters.buildDependsOn }}:
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- ${{ each build in parameters.buildDependsOn }}:
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
@@ -151,12 +151,12 @@ jobs:
|
|||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.target }}
|
- job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }}
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.target }}
|
dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }}
|
||||||
condition:
|
condition:
|
||||||
and(succeeded(),
|
and(succeeded(),
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
)
|
)
|
||||||
variables:
|
variables:
|
||||||
@@ -166,6 +166,7 @@ jobs:
|
|||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
|
- checkout: none
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
@@ -195,14 +196,14 @@ jobs:
|
|||||||
environment: test
|
environment: test
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
# - ${{ if parameters.triggerDownstreamJobs }}:
|
- ${{ if parameters.triggerDownstreamJobs }}:
|
||||||
# - ${{ each component in parameters.downstreamComponentMatrix }}:
|
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
||||||
# - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
||||||
# - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
||||||
# parameters:
|
parameters:
|
||||||
# checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
# sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
||||||
# buildDependsOn: ${{ component.buildDependsOn }}
|
buildDependsOn: ${{ component.buildDependsOn }}
|
||||||
# downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
||||||
# triggerDownstreamJobs: true
|
triggerDownstreamJobs: true
|
||||||
# unifiedBuild: ${{ parameters.unifiedBuild }}
|
unifiedBuild: ${{ parameters.unifiedBuild }}
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ parameters:
|
|||||||
- numpy
|
- numpy
|
||||||
- tomli
|
- tomli
|
||||||
- scipy
|
- scipy
|
||||||
|
- pybind11
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -60,12 +60,12 @@ parameters:
|
|||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
||||||
# - { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx942 }
|
- { os: almalinux8, packageManager: dnf, target: gfx942 }
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx90a }
|
- { os: almalinux8, packageManager: dnf, target: gfx90a }
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
- { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
||||||
# - { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
- { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
- { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
||||||
testJobs:
|
testJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942, shard: 1, shardCount: 3 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx942, shard: 1, shardCount: 3 }
|
||||||
@@ -91,12 +91,12 @@ parameters:
|
|||||||
- rocPRIM_build
|
- rocPRIM_build
|
||||||
# rocSOLVER depends on both rocBLAS and rocPRIM
|
# rocSOLVER depends on both rocBLAS and rocPRIM
|
||||||
# for a unified build, rocBLAS will be the one to call rocSOLVER
|
# for a unified build, rocBLAS will be the one to call rocSOLVER
|
||||||
# - rocSOLVER:
|
# - rocSOLVER:
|
||||||
# name: rocSOLVER
|
# name: rocSOLVER
|
||||||
# sparseCheckoutDir: projects/rocsolver
|
# sparseCheckoutDir: projects/rocsolver
|
||||||
# skipUnifiedBuild: 'true'
|
# skipUnifiedBuild: 'true'
|
||||||
# buildDependsOn:
|
# buildDependsOn:
|
||||||
# - rocPRIM_build
|
# - rocPRIM_build
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
@@ -170,7 +170,7 @@ jobs:
|
|||||||
|
|
||||||
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}_${{ job.shard }}
|
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}_shard_${{ job.shard }}
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
||||||
condition:
|
condition:
|
||||||
and(succeeded(),
|
and(succeeded(),
|
||||||
|
|||||||
@@ -5,6 +5,22 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -36,6 +52,7 @@ parameters:
|
|||||||
- clr
|
- clr
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocDecode
|
- rocDecode
|
||||||
|
- rocJPEG
|
||||||
- rocm-cmake
|
- rocm-cmake
|
||||||
- rocm-core
|
- rocm-core
|
||||||
- rocminfo
|
- rocminfo
|
||||||
@@ -46,19 +63,19 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
buildJobs:
|
buildJobs:
|
||||||
- gfx942:
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
target: gfx942
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
testJobs:
|
testJobs:
|
||||||
- gfx942:
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
target: gfx942
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
- gfx90a:
|
|
||||||
target: gfx90a
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: rocPyDecode_build_${{ job.target }}
|
- job: rocPyDecode_build_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -73,16 +90,20 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
packageManager: ${{ job.packageManager }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'Save Python Package Paths'
|
displayName: 'Save Python Package Paths'
|
||||||
inputs:
|
inputs:
|
||||||
@@ -189,12 +210,13 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- task: DownloadPipelineArtifact@2
|
- task: DownloadPipelineArtifact@2
|
||||||
displayName: 'Download Pipeline Wheel Files'
|
displayName: 'Download Pipeline Wheel Files'
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
inputs:
|
inputs:
|
||||||
itemPattern: '**/*.whl'
|
itemPattern: '**/*.whl'
|
||||||
targetPath: $(Agent.BuildDirectory)
|
targetPath: $(Agent.BuildDirectory)
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -221,25 +243,17 @@ jobs:
|
|||||||
- task: CMake@1
|
- task: CMake@1
|
||||||
displayName: 'rocPyDecode Test CMake Flags'
|
displayName: 'rocPyDecode Test CMake Flags'
|
||||||
inputs:
|
inputs:
|
||||||
|
workingDirectory: $(Agent.BuildDirectory)/rocm/share/rocpydecode/tests
|
||||||
cmakeArgs: >-
|
cmakeArgs: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(PYTHON_USER_SITE)/pybind11;$(PYTHON_DIST_PACKAGES)/pybind11;$(PYBIND11_PATH)
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(PYTHON_USER_SITE)/pybind11;$(PYTHON_DIST_PACKAGES)/pybind11;$(PYBIND11_PATH)
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
..
|
.
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: rocPyDecode
|
componentName: rocPyDecode
|
||||||
testDir: $(Build.SourcesDirectory)/build
|
testDir: $(Agent.BuildDirectory)/rocm/share/rocpydecode/tests
|
||||||
# sudo required for pip install but screws up permissions for next pipeline run
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Clean up test environment
|
|
||||||
condition: always()
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
pip uninstall -y rocPyDecode
|
|
||||||
pip uninstall -y hip-python
|
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
|||||||
@@ -79,6 +79,12 @@ parameters:
|
|||||||
skipUnifiedBuild: 'false'
|
skipUnifiedBuild: 'false'
|
||||||
buildDependsOn:
|
buildDependsOn:
|
||||||
- rocRAND_build
|
- rocRAND_build
|
||||||
|
- MIOpen:
|
||||||
|
name: MIOpen
|
||||||
|
sparseCheckoutDir: projects/miopen
|
||||||
|
skipUnifiedBuild: 'true'
|
||||||
|
buildDependsOn:
|
||||||
|
- rocRAND_build
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
|||||||
@@ -33,13 +33,11 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
- ninja-build
|
|
||||||
- libsuitesparse-dev
|
|
||||||
- gfortran
|
- gfortran
|
||||||
- libfmt-dev
|
|
||||||
- git
|
- git
|
||||||
- googletest
|
- libfmt-dev
|
||||||
- libgtest-dev
|
- libsuitesparse-dev
|
||||||
|
- ninja-build
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
@@ -75,16 +73,38 @@ parameters:
|
|||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
||||||
# - { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
#- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
||||||
# - { os: almalinux8, packageManager: dnf, target: gfx942 }
|
- { os: almalinux8, packageManager: dnf, target: gfx942 }
|
||||||
# - { os: almalinux8, packageManager: dnf, target: gfx90a }
|
- { os: almalinux8, packageManager: dnf, target: gfx90a }
|
||||||
# - { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
- { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
||||||
# - { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
- { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
||||||
# - { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
#- { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
||||||
testJobs:
|
testJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
|
- name: downstreamComponentMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- hipBLAS:
|
||||||
|
name: hipBLAS
|
||||||
|
sparseCheckoutDir: projects/hipblas
|
||||||
|
skipUnifiedBuild: 'false'
|
||||||
|
buildDependsOn:
|
||||||
|
- rocSOLVER_build
|
||||||
|
# hipSOLVER depends on both rocSOLVER and rocSPARSE
|
||||||
|
# for a unified build, rocSOLVER will be the one to call hipSOLVER
|
||||||
|
# - hipSOLVER:
|
||||||
|
# name: hipSOLVER
|
||||||
|
# sparseCheckoutDir: projects/hipsolver
|
||||||
|
# skipUnifiedBuild: 'false'
|
||||||
|
# buildDependsOn:
|
||||||
|
# - rocSOLVER_build
|
||||||
|
# unifiedBuild:
|
||||||
|
# downstreamAggregateNames: rocSOLVER+rocSPARSE
|
||||||
|
# buildDependsOn:
|
||||||
|
# - rocSOLVER_build
|
||||||
|
# - rocSPARSE_build
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
@@ -119,6 +139,10 @@ jobs:
|
|||||||
targetType: inline
|
targetType: inline
|
||||||
script: git clone --depth 1 --branch v3.9.1 https://github.com/Reference-LAPACK/lapack
|
script: git clone --depth 1 --branch v3.9.1 https://github.com/Reference-LAPACK/lapack
|
||||||
workingDirectory: '$(Build.SourcesDirectory)'
|
workingDirectory: '$(Build.SourcesDirectory)'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
||||||
|
parameters:
|
||||||
|
dependencyList:
|
||||||
|
- gtest
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
@@ -134,6 +158,7 @@ jobs:
|
|||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||||
-DCMAKE_Fortran_FLAGS=-fno-optimize-sibling-calls
|
-DCMAKE_Fortran_FLAGS=-fno-optimize-sibling-calls
|
||||||
-DBUILD_TESTING=OFF
|
-DBUILD_TESTING=OFF
|
||||||
-DCBLAS=ON
|
-DCBLAS=ON
|
||||||
@@ -146,7 +171,7 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Pipeline.Workspace)/deps-install
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Pipeline.Workspace)/deps-install;$(Agent.BuildDirectory)/vendor
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
@@ -191,6 +216,7 @@ jobs:
|
|||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
|
- checkout: none
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
@@ -224,3 +250,19 @@ jobs:
|
|||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
environment: test
|
environment: test
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
|
- ${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
||||||
|
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
||||||
|
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
||||||
|
triggerDownstreamJobs: true
|
||||||
|
unifiedBuild: ${{ parameters.unifiedBuild }}
|
||||||
|
${{ if parameters.unifiedBuild }}:
|
||||||
|
buildDependsOn: ${{ component.unifiedBuild.buildDependsOn }}
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ component.unifiedBuild.downstreamAggregateNames }}
|
||||||
|
${{ else }}:
|
||||||
|
buildDependsOn: ${{ component.buildDependsOn }}
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
||||||
|
|||||||
@@ -1,10 +1,29 @@
|
|||||||
parameters:
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rocSPARSE
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -13,27 +32,25 @@ parameters:
|
|||||||
- name: aptPackages
|
- name: aptPackages
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- python3-pip
|
|
||||||
- cmake
|
- cmake
|
||||||
- ninja-build
|
|
||||||
- libboost-program-options-dev
|
|
||||||
- googletest
|
|
||||||
- libfftw3-dev
|
|
||||||
- git
|
|
||||||
- gfortran
|
- gfortran
|
||||||
- libgtest-dev
|
- git
|
||||||
|
- libboost-program-options-dev
|
||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
|
- libfftw3-dev
|
||||||
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- rocm-cmake
|
|
||||||
- llvm-project
|
|
||||||
- ROCR-Runtime
|
|
||||||
- clr
|
- clr
|
||||||
|
- llvm-project
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
|
- rocm-cmake
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocPRIM
|
- rocPRIM
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
|
- ROCR-Runtime
|
||||||
- roctracer
|
- roctracer
|
||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
@@ -52,19 +69,39 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
buildJobs:
|
buildJobs:
|
||||||
- gfx942:
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
target: gfx942
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
- gfx90a:
|
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
||||||
target: gfx90a
|
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
||||||
|
#- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
||||||
testJobs:
|
testJobs:
|
||||||
- gfx942:
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
target: gfx942
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
- gfx90a:
|
- name: downstreamComponentMatrix
|
||||||
target: gfx90a
|
type: object
|
||||||
|
default:
|
||||||
|
- hipSPARSE:
|
||||||
|
name: hipSPARSE
|
||||||
|
sparseCheckoutDir: projects/hipsparse
|
||||||
|
skipUnifiedBuild: 'false'
|
||||||
|
buildDependsOn:
|
||||||
|
- rocSPARSE_build
|
||||||
|
# hipSOLVER depends on both rocSOLVER and rocSPARSE
|
||||||
|
# for a unified build, rocSOLVER will be the one to call hipSOLVER
|
||||||
|
# - hipSOLVER:
|
||||||
|
# name: hipSOLVER
|
||||||
|
# sparseCheckoutDir: projects/hipsolver
|
||||||
|
# skipUnifiedBuild: 'true'
|
||||||
|
# buildDependsOn:
|
||||||
|
# - rocSPARSE_build
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: rocSPARSE_build_${{ job.target }}
|
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -77,22 +114,32 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
packageManager: ${{ job.packageManager }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
||||||
|
parameters:
|
||||||
|
dependencyList:
|
||||||
|
- gtest
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
os: ${{ job.os }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang++
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
-DAMDGPU_TARGETS=${{ job.target }}
|
-DAMDGPU_TARGETS=${{ job.target }}
|
||||||
@@ -103,68 +150,94 @@ jobs:
|
|||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
artifactName: rocSPARSE
|
componentName: ${{ parameters.componentName }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
artifactName: rocSPARSE
|
componentName: ${{ parameters.componentName }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
os: ${{ job.os }}
|
||||||
publish: false
|
publish: false
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml
|
||||||
parameters:
|
parameters:
|
||||||
sourceDir: $(Build.SourcesDirectory)/build/clients
|
sourceDir: $(Agent.BuildDirectory)/s/build/clients
|
||||||
contentsString: matrices/**
|
contentsString: matrices/**
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
artifactName: testMatrices
|
artifactName: testMatrices
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- ${{ if eq(job.os, 'ubuntu2204') }}:
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
extraEnvVars:
|
gpuTarget: ${{ job.target }}
|
||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
extraEnvVars:
|
||||||
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
||||||
- job: rocSPARSE_test_${{ job.target }}
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
timeoutInMinutes: 90
|
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
||||||
dependsOn: rocSPARSE_build_${{ job.target }}
|
timeoutInMinutes: 120
|
||||||
condition:
|
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
||||||
and(succeeded(),
|
condition:
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
and(succeeded(),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
||||||
)
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
variables:
|
)
|
||||||
- group: common
|
variables:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- group: common
|
||||||
pool: ${{ job.target }}_test_pool
|
- template: /.azuredevops/variables-global.yml
|
||||||
workspace:
|
pool: ${{ job.target }}_test_pool
|
||||||
clean: all
|
workspace:
|
||||||
steps:
|
clean: all
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
steps:
|
||||||
parameters:
|
- checkout: none
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
parameters:
|
packageManager: ${{ job.packageManager }}
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
parameters:
|
||||||
parameters:
|
preTargetFilter: ${{ parameters.componentName }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
gpuTarget: ${{ job.target }}
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
os: ${{ job.os }}
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
parameters:
|
||||||
parameters:
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
componentName: rocSPARSE
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
gpuTarget: ${{ job.target }}
|
||||||
testExecutable: './rocsparse-test'
|
os: ${{ job.os }}
|
||||||
testParameters: '--gtest_filter="*quick*" --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
environment: test
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
componentName: ${{ parameters.componentName }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
|
testExecutable: './rocsparse-test'
|
||||||
|
testParameters: '--gtest_filter="*quick*" --gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
|
- ${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
||||||
|
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
||||||
|
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ component.sparseCheckoutDir }}
|
||||||
|
buildDependsOn: ${{ component.buildDependsOn }}
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
||||||
|
triggerDownstreamJobs: true
|
||||||
|
unifiedBuild: ${{ parameters.unifiedBuild }}
|
||||||
|
|||||||
@@ -64,12 +64,12 @@ parameters:
|
|||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
||||||
# - { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx942 }
|
- { os: almalinux8, packageManager: dnf, target: gfx942 }
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx90a }
|
- { os: almalinux8, packageManager: dnf, target: gfx90a }
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
- { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
||||||
# - { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
- { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
||||||
- { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
- { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
||||||
testJobs:
|
testJobs:
|
||||||
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ jobs:
|
|||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
pool: ${{ variables.HIGH_BUILD_POOL }}
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -1,10 +1,29 @@
|
|||||||
parameters:
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rocm-core
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -27,6 +46,10 @@ parameters:
|
|||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: rocm_core_${{ job.os }}
|
- job: rocm_core_${{ job.os }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}
|
||||||
pool:
|
pool:
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
${{ if eq(job.os, 'ubuntu2404') }}:
|
||||||
vmImage: 'ubuntu-24.04'
|
vmImage: 'ubuntu-24.04'
|
||||||
@@ -50,8 +73,10 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
useAmdclang: false
|
useAmdclang: false
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
@@ -65,9 +90,12 @@ jobs:
|
|||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
|||||||
@@ -14,9 +14,11 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
|
- libdw-dev
|
||||||
- libglfw3-dev
|
- libglfw3-dev
|
||||||
- libmsgpack-dev
|
- libmsgpack-dev
|
||||||
- libtbb-dev
|
- libtbb-dev
|
||||||
|
- libva-amdgpu-dev
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
@@ -33,16 +35,21 @@ parameters:
|
|||||||
- hipRAND
|
- hipRAND
|
||||||
- hipSOLVER
|
- hipSOLVER
|
||||||
- hipSPARSE
|
- hipSPARSE
|
||||||
|
- hipTensor
|
||||||
- llvm-project
|
- llvm-project
|
||||||
|
- MIOpen
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
- rocFFT
|
- rocFFT
|
||||||
|
- rocJPEG
|
||||||
- rocPRIM
|
- rocPRIM
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
|
- rocprofiler-sdk
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocRAND
|
- rocRAND
|
||||||
- rocSOLVER
|
- rocSOLVER
|
||||||
- rocSPARSE
|
- rocSPARSE
|
||||||
- rocThrust
|
- rocThrust
|
||||||
|
- rocWMMA
|
||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -57,18 +64,22 @@ parameters:
|
|||||||
- hipRAND
|
- hipRAND
|
||||||
- hipSOLVER
|
- hipSOLVER
|
||||||
- hipSPARSE
|
- hipSPARSE
|
||||||
|
- hipTensor
|
||||||
- llvm-project
|
- llvm-project
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
- rocFFT
|
- rocFFT
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocPRIM
|
- rocPRIM
|
||||||
|
- rocJPEG
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
|
- rocprofiler-sdk
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocRAND
|
- rocRAND
|
||||||
- rocSOLVER
|
- rocSOLVER
|
||||||
- rocSPARSE
|
- rocSPARSE
|
||||||
- rocThrust
|
- rocThrust
|
||||||
- roctracer
|
- roctracer
|
||||||
|
- rocWMMA
|
||||||
|
|
||||||
- name: jobMatrix
|
- name: jobMatrix
|
||||||
type: object
|
type: object
|
||||||
@@ -97,6 +108,10 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
registerROCmPackages: true
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
||||||
|
parameters:
|
||||||
|
cmakeVersion: '3.25.0'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -158,6 +173,10 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
registerROCmPackages: true
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
||||||
|
parameters:
|
||||||
|
cmakeVersion: '3.25.0'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -184,7 +203,7 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
componentName: rocm-examples
|
componentName: rocm-examples
|
||||||
testDir: $(Build.SourcesDirectory)/build
|
testDir: $(Build.SourcesDirectory)/build
|
||||||
testParameters: '--output-on-failure --force-new-ctest-process --output-junit test_output.xml --exclude-regex "rocfft_callback"'
|
testParameters: '--output-on-failure --force-new-ctest-process --output-junit test_output.xml'
|
||||||
- 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 }}
|
||||||
|
|||||||
181
.azuredevops/components/rocm-libraries.yml
Normal file
181
.azuredevops/components/rocm-libraries.yml
Normal file
@@ -0,0 +1,181 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rocm_libraries
|
||||||
|
- name: checkoutRepo
|
||||||
|
type: string
|
||||||
|
default: 'self'
|
||||||
|
- name: checkoutRef
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: aptPackages
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- ccache
|
||||||
|
- gfortran
|
||||||
|
- git
|
||||||
|
- libdrm-dev
|
||||||
|
- liblapack-dev
|
||||||
|
- libmsgpack-dev
|
||||||
|
- libnuma-dev
|
||||||
|
- libopenblas-dev
|
||||||
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
|
- python3-venv
|
||||||
|
- name: pipModules
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- joblib
|
||||||
|
- "packaging>=22.0"
|
||||||
|
- pytest
|
||||||
|
- pytest-cmake
|
||||||
|
- --upgrade
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- aomp
|
||||||
|
- clr
|
||||||
|
- llvm-project
|
||||||
|
- rocminfo
|
||||||
|
- rocm-cmake
|
||||||
|
- rocm_smi_lib
|
||||||
|
- rocprofiler-register
|
||||||
|
- ROCR-Runtime
|
||||||
|
- roctracer
|
||||||
|
- name: rocmTestDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- aomp
|
||||||
|
- clr
|
||||||
|
- llvm-project
|
||||||
|
- rocminfo
|
||||||
|
- rocm_smi_lib
|
||||||
|
- rocprofiler-register
|
||||||
|
- ROCR-Runtime
|
||||||
|
- roctracer
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
buildJobs:
|
||||||
|
- { pool: rocm-ci_ultra_build_pool, os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
||||||
|
timeoutInMinutes: 300
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: DAY_STRING
|
||||||
|
value: $[format('{0:ddMMyyyy}', pipeline.startTime)]
|
||||||
|
pool: ${{ job.pool }}
|
||||||
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
|
container:
|
||||||
|
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
||||||
|
endpoint: ContainerService3
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
packageManager: ${{ job.packageManager }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
||||||
|
parameters:
|
||||||
|
dependencyList:
|
||||||
|
- gtest
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
|
- script: |
|
||||||
|
mkdir -p $(CCACHE_DIR)
|
||||||
|
echo "##vso[task.prependpath]/usr/lib/ccache"
|
||||||
|
displayName: Update path for ccache
|
||||||
|
- task: Cache@2
|
||||||
|
displayName: Ccache caching
|
||||||
|
inputs:
|
||||||
|
key: rocm-libraries | ${{ job.os }} | ${{ job.target }} | $(DAY_STRING) | $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
path: $(CCACHE_DIR)
|
||||||
|
restoreKeys: |
|
||||||
|
rocm-libraries | ${{ job.os }} | ${{ job.target }} | $(DAY_STRING)
|
||||||
|
rocm-libraries | ${{ job.os }} | ${{ job.target }}
|
||||||
|
rocm-libraries | ${{ job.os }}
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Add paths for CMake and Python site-packages binaries
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
USER_BASE=$(python3 -m site --user-base)
|
||||||
|
echo "##vso[task.prependpath]$USER_BASE/bin"
|
||||||
|
echo "##vso[task.setvariable variable=PytestCmakePath]$USER_BASE/share/Pytest/cmake"
|
||||||
|
displayName: Set cmake configure paths
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-D CMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor;$(PytestCmakePath)
|
||||||
|
-D CMAKE_INCLUDE_PATH=$(Agent.BuildDirectory)/rocm/llvm/include
|
||||||
|
-D CMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
-D CMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
|
-D CMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||||
|
-D CMAKE_C_COMPILER_LAUNCHER=ccache
|
||||||
|
-G Ninja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
- ${{ if eq(job.os, 'ubuntu2204') }}:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin
|
||||||
|
installLatestCMake: true
|
||||||
|
extraCopyDirectories:
|
||||||
|
- deps
|
||||||
@@ -1,10 +1,29 @@
|
|||||||
parameters:
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rocm_smi_lib
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -32,6 +51,10 @@ parameters:
|
|||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: rocm_smi_lib_build_${{ job.os }}
|
- job: rocm_smi_lib_build_${{ job.os }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}
|
||||||
pool:
|
pool:
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
${{ if eq(job.os, 'ubuntu2404') }}:
|
||||||
vmImage: 'ubuntu-24.04'
|
vmImage: 'ubuntu-24.04'
|
||||||
@@ -55,8 +78,10 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
useAmdclang: false
|
useAmdclang: false
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
@@ -65,51 +90,56 @@ jobs:
|
|||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
# parameters:
|
# parameters:
|
||||||
# aptPackages: ${{ parameters.aptPackages }}
|
# aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
||||||
- job: rocm_smi_lib_test_${{ job.os }}_${{ job.target }}
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
dependsOn: rocm_smi_lib_build_${{ job.os }}
|
- job: rocm_smi_lib_test_${{ job.os }}_${{ job.target }}
|
||||||
condition:
|
dependsOn: rocm_smi_lib_build_${{ job.os }}
|
||||||
and(succeeded(),
|
condition:
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
and(succeeded(),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
||||||
)
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
variables:
|
)
|
||||||
- group: common
|
variables:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- group: common
|
||||||
pool: ${{ job.target }}_test_pool
|
- template: /.azuredevops/variables-global.yml
|
||||||
workspace:
|
pool: ${{ job.target }}_test_pool
|
||||||
clean: all
|
workspace:
|
||||||
steps:
|
clean: all
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
steps:
|
||||||
parameters:
|
- checkout: none
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
packageManager: ${{ job.packageManager }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
packageManager: ${{ job.packageManager }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
os: ${{ job.os }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
parameters:
|
||||||
parameters:
|
os: ${{ job.os }}
|
||||||
runRocminfo: false
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
parameters:
|
||||||
parameters:
|
runRocminfo: false
|
||||||
componentName: rocm_smi_lib
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
parameters:
|
||||||
testExecutable: 'sudo ./rocm/share/rocm_smi/rsmitst_tests/rsmitst'
|
componentName: ${{ parameters.componentName }}
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
testDir: '$(Agent.BuildDirectory)'
|
||||||
os: ${{ job.os }}
|
testExecutable: 'sudo ./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:
|
os: ${{ job.os }}
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
environment: test
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
@@ -1,10 +1,29 @@
|
|||||||
parameters:
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rocminfo
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -40,7 +59,11 @@ parameters:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: rocminfo_build_${{ job.os }}
|
- job: ${{ parameters.componentName }}_build_${{ job.os }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'ubuntu-22.04'
|
vmImage: 'ubuntu-22.04'
|
||||||
${{ if eq(job.os, 'almalinux8') }}:
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
@@ -62,15 +85,18 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
skipLlvmSymlink: true
|
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
useAmdclang: false
|
useAmdclang: false
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
@@ -79,65 +105,71 @@ jobs:
|
|||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
||||||
- job: rocminfo_test_${{ job.target }}
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
dependsOn: rocminfo_build_${{ job.os }}
|
- job: rocminfo_test_${{ job.target }}
|
||||||
condition:
|
dependsOn: rocminfo_build_${{ job.os }}
|
||||||
and(succeeded(),
|
condition:
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
and(succeeded(),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
||||||
)
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
variables:
|
)
|
||||||
- group: common
|
variables:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- group: common
|
||||||
pool: ${{ job.target }}_test_pool
|
- template: /.azuredevops/variables-global.yml
|
||||||
workspace:
|
pool: ${{ job.target }}_test_pool
|
||||||
clean: all
|
workspace:
|
||||||
steps:
|
clean: all
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
steps:
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
packageManager: ${{ job.packageManager }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
registerROCmPackages: true
|
packageManager: ${{ job.packageManager }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
registerROCmPackages: true
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
os: ${{ job.os }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
parameters:
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
gpuTarget: ${{ job.target }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
os: ${{ job.os }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
os: ${{ job.os }}
|
||||||
parameters:
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
runRocminfo: false
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: rocminfo
|
runRocminfo: false
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
testExecutable: './rocm/bin/rocminfo'
|
parameters:
|
||||||
testParameters: ''
|
componentName: ${{ parameters.componentName }}
|
||||||
testPublishResults: false
|
testDir: '$(Agent.BuildDirectory)'
|
||||||
os: ${{ job.os }}
|
testExecutable: './rocm/bin/rocminfo'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
testParameters: ''
|
||||||
parameters:
|
testPublishResults: false
|
||||||
componentName: rocm_agent_enumerator
|
os: ${{ job.os }}
|
||||||
testDir: '$(Agent.BuildDirectory)'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
testExecutable: './rocm/bin/rocm_agent_enumerator'
|
parameters:
|
||||||
testParameters: ''
|
componentName: rocm_agent_enumerator
|
||||||
testPublishResults: false
|
testDir: '$(Agent.BuildDirectory)'
|
||||||
os: ${{ job.os }}
|
testExecutable: './rocm/bin/rocm_agent_enumerator'
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
testParameters: ''
|
||||||
parameters:
|
testPublishResults: false
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
os: ${{ job.os }}
|
||||||
registerROCmPackages: true
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
environment: test
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
registerROCmPackages: true
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -1,10 +1,29 @@
|
|||||||
parameters:
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rocprofiler-compute
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -36,6 +55,7 @@ parameters:
|
|||||||
- pymongo
|
- pymongo
|
||||||
- pyyaml
|
- pyyaml
|
||||||
- setuptools
|
- setuptools
|
||||||
|
- sqlalchemy
|
||||||
- tabulate
|
- tabulate
|
||||||
- textual
|
- textual
|
||||||
- textual_plotext
|
- textual_plotext
|
||||||
@@ -65,43 +85,23 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
buildJobs:
|
buildJobs:
|
||||||
- gfx942-staging:
|
- gfx942:
|
||||||
name: gfx942_staging
|
|
||||||
target: gfx942
|
target: gfx942
|
||||||
dependencySource: staging
|
- gfx90a:
|
||||||
- gfx942-mainline:
|
|
||||||
name: gfx942_mainline
|
|
||||||
target: gfx942
|
|
||||||
dependencySource: mainline
|
|
||||||
- gfx90a-staging:
|
|
||||||
name: gfx90a_staging
|
|
||||||
target: gfx90a
|
target: gfx90a
|
||||||
dependencySource: staging
|
|
||||||
- gfx90a-mainline:
|
|
||||||
name: gfx90a_mainline
|
|
||||||
target: gfx90a
|
|
||||||
dependencySource: mainline
|
|
||||||
testJobs:
|
testJobs:
|
||||||
- gfx942-staging:
|
- gfx942:
|
||||||
name: gfx942_staging
|
|
||||||
target: gfx942
|
target: gfx942
|
||||||
dependencySource: staging
|
- gfx90a:
|
||||||
- gfx942-mainline:
|
|
||||||
name: gfx942_mainline
|
|
||||||
target: gfx942
|
|
||||||
dependencySource: mainline
|
|
||||||
- gfx90a-staging:
|
|
||||||
name: gfx90a_staging
|
|
||||||
target: gfx90a
|
target: gfx90a
|
||||||
dependencySource: staging
|
|
||||||
- gfx90a-mainline:
|
|
||||||
name: gfx90a_mainline
|
|
||||||
target: gfx90a
|
|
||||||
dependencySource: mainline
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: rocprofiler_compute_build_${{ job.name }}
|
- job: rocprofiler_compute_build_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -118,17 +118,19 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
artifactName: ${{ job.dependencySource }}
|
componentName: ${{ parameters.componentName }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
artifactName: ${{ job.dependencySource }}
|
componentName: ${{ parameters.componentName }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
@@ -137,80 +139,83 @@ jobs:
|
|||||||
# pipModules: ${{ parameters.pipModules }}
|
# pipModules: ${{ parameters.pipModules }}
|
||||||
# gpuTarget: ${{ job.target }}
|
# gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
||||||
- job: rocprofiler_compute_test_${{ job.name }}
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
timeoutInMinutes: 120
|
- job: rocprofiler_compute_test_${{ job.target }}
|
||||||
dependsOn: rocprofiler_compute_build_${{ job.name }}
|
timeoutInMinutes: 120
|
||||||
condition:
|
dependsOn: rocprofiler_compute_build_${{ job.target }}
|
||||||
and(succeeded(),
|
condition:
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
and(succeeded(),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
||||||
)
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
variables:
|
)
|
||||||
- group: common
|
variables:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- group: common
|
||||||
- name: PYTHON_VERSION
|
- template: /.azuredevops/variables-global.yml
|
||||||
value: 3.10
|
- name: PYTHON_VERSION
|
||||||
pool: ${{ job.target }}_test_pool
|
value: 3.10
|
||||||
workspace:
|
pool: ${{ job.target }}_test_pool
|
||||||
clean: all
|
workspace:
|
||||||
steps:
|
clean: all
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
steps:
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
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/local-artifact-download.yml
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
parameters:
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
postTargetFilter: ${{ job.dependencySource }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
preTargetFilter: ${{ parameters.componentName }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
gpuTarget: ${{ job.target }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
parameters:
|
||||||
dependencySource: ${{ job.dependencySource }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
gpuTarget: ${{ job.target }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
- task: Bash@3
|
gpuTarget: ${{ job.target }}
|
||||||
displayName: Add en_US.UTF-8 locale
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
inputs:
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
targetType: inline
|
- task: Bash@3
|
||||||
script: |
|
displayName: Add en_US.UTF-8 locale
|
||||||
sudo locale-gen en_US.UTF-8
|
inputs:
|
||||||
sudo update-locale
|
targetType: inline
|
||||||
locale -a
|
script: |
|
||||||
- task: Bash@3
|
sudo locale-gen en_US.UTF-8
|
||||||
displayName: Add ROCm binaries to PATH
|
sudo update-locale
|
||||||
inputs:
|
locale -a
|
||||||
targetType: inline
|
- task: Bash@3
|
||||||
script: |
|
displayName: Add ROCm binaries to PATH
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
inputs:
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
targetType: inline
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
script: |
|
||||||
parameters:
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
||||||
extraBuildFlags: >-
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
||||||
-DCMAKE_HIP_ARCHITECTURES=${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
parameters:
|
||||||
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_HIP_ARCHITECTURES=${{ job.target }}
|
||||||
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip
|
||||||
-DENABLE_TESTS=ON
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DINSTALL_TESTS=ON
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-GNinja
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
-DENABLE_TESTS=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
-DINSTALL_TESTS=ON
|
||||||
parameters:
|
-GNinja
|
||||||
componentName: rocprofiler-compute
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
testDir: $(Build.BinariesDirectory)/libexec/rocprofiler-compute
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
testExecutable: ROCM_PATH=$(Agent.BuildDirectory)/rocm ctest
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
componentName: ${{ parameters.componentName }}
|
||||||
parameters:
|
testDir: $(Build.BinariesDirectory)/libexec/rocprofiler-compute
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
testExecutable: ROCM_PATH=$(Agent.BuildDirectory)/rocm ctest
|
||||||
pipModules: ${{ parameters.pipModules }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
environment: test
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -1,10 +1,29 @@
|
|||||||
parameters:
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rocprofiler-register
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -27,6 +46,10 @@ parameters:
|
|||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: rocprofiler_register_${{ job.os }}
|
- job: rocprofiler_register_${{ job.os }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}
|
||||||
pool:
|
pool:
|
||||||
${{ if eq(job.os, 'ubuntu2404') }}:
|
${{ if eq(job.os, 'ubuntu2404') }}:
|
||||||
vmImage: 'ubuntu-24.04'
|
vmImage: 'ubuntu-24.04'
|
||||||
@@ -50,9 +73,10 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: rocprofiler-register
|
componentName: ${{ parameters.componentName }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
useAmdclang: false
|
useAmdclang: false
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
@@ -62,12 +86,16 @@ jobs:
|
|||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: rocprofiler-register
|
componentName: ${{ parameters.componentName }}
|
||||||
|
testDir: $(Agent.BuildDirectory)/s/build
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
|||||||
@@ -1,10 +1,29 @@
|
|||||||
parameters:
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rocprofiler-sdk
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -73,6 +92,10 @@ parameters:
|
|||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: rocprofiler_sdk_build_${{ job.target }}
|
- job: rocprofiler_sdk_build_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -89,6 +112,7 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -96,6 +120,8 @@ jobs:
|
|||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Add Python site-packages binaries to path
|
displayName: Add Python site-packages binaries to path
|
||||||
inputs:
|
inputs:
|
||||||
@@ -105,6 +131,7 @@ jobs:
|
|||||||
echo "##vso[task.prependpath]$USER_BASE/bin"
|
echo "##vso[task.prependpath]$USER_BASE/bin"
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DROCPROFILER_BUILD_TESTS=ON
|
-DROCPROFILER_BUILD_TESTS=ON
|
||||||
@@ -114,9 +141,12 @@ jobs:
|
|||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
# - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
@@ -126,62 +156,68 @@ jobs:
|
|||||||
# gpuTarget: ${{ job.target }}
|
# gpuTarget: ${{ job.target }}
|
||||||
# registerROCmPackages: true
|
# registerROCmPackages: true
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
||||||
- job: rocprofiler_sdk_test_${{ job.target }}
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
dependsOn: rocprofiler_sdk_build_${{ job.target }}
|
- job: rocprofiler_sdk_test_${{ job.target }}
|
||||||
condition:
|
dependsOn: rocprofiler_sdk_build_${{ job.target }}
|
||||||
and(succeeded(),
|
condition:
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
and(succeeded(),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
||||||
)
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
variables:
|
)
|
||||||
- group: common
|
variables:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- group: common
|
||||||
pool: ${{ job.target }}_test_pool
|
- template: /.azuredevops/variables-global.yml
|
||||||
workspace:
|
pool: ${{ job.target }}_test_pool
|
||||||
clean: all
|
workspace:
|
||||||
steps:
|
clean: all
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
steps:
|
||||||
parameters:
|
- 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
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
- task: Bash@3
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
displayName: Add Python and ROCm binaries to path
|
gpuTarget: ${{ job.target }}
|
||||||
inputs:
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
targetType: inline
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
script: |
|
- task: Bash@3
|
||||||
USER_BASE=$(python3 -m site --user-base)
|
displayName: Add Python and ROCm binaries to path
|
||||||
echo "##vso[task.prependpath]$USER_BASE/bin"
|
inputs:
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/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
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
||||||
-DROCPROFILER_BUILD_TESTS=ON
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
-DROCPROFILER_BUILD_SAMPLES=ON
|
parameters:
|
||||||
-DROCPROFILER_BUILD_RELEASE=ON
|
componentName: ${{ parameters.componentName }}
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
extraBuildFlags: >-
|
||||||
-GNinja
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH}}/steps/gpu-diagnostics.yml
|
-DROCPROFILER_BUILD_TESTS=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
-DROCPROFILER_BUILD_SAMPLES=ON
|
||||||
parameters:
|
-DROCPROFILER_BUILD_RELEASE=ON
|
||||||
componentName: rocprofiler-sdk
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
-GNinja
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH}}/steps/gpu-diagnostics.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
pipModules: ${{ parameters.pipModules }}
|
parameters:
|
||||||
environment: test
|
componentName: ${{ parameters.componentName }}
|
||||||
gpuTarget: ${{ job.target }}
|
testDir: $(Agent.BuildDirectory)/s/build
|
||||||
registerROCmPackages: true
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
registerROCmPackages: true
|
||||||
|
|||||||
@@ -6,6 +6,25 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rocprofiler-systems
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -37,6 +56,7 @@ parameters:
|
|||||||
- libpfm4-dev
|
- libpfm4-dev
|
||||||
- libtool
|
- libtool
|
||||||
- libopenmpi-dev
|
- libopenmpi-dev
|
||||||
|
- libsqlite3-dev
|
||||||
- m4
|
- m4
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- openmpi-bin
|
- openmpi-bin
|
||||||
@@ -86,6 +106,10 @@ parameters:
|
|||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: rocprofiler_systems_build_${{ job.target }}
|
- job: rocprofiler_systems_build_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -104,6 +128,7 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -135,12 +160,16 @@ jobs:
|
|||||||
-DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/include/rocjpeg
|
-DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/include/rocjpeg
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
-GNinja
|
-GNinja
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -150,85 +179,93 @@ jobs:
|
|||||||
registerROCmPackages: true
|
registerROCmPackages: true
|
||||||
extraPaths: /home/user/workspace/rocm/bin:/home/user/workspace/rocm/llvm/bin
|
extraPaths: /home/user/workspace/rocm/bin:/home/user/workspace/rocm/llvm/bin
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
||||||
- job: rocprofiler_systems_test_${{ job.target }}
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
dependsOn: rocprofiler_systems_build_${{ job.target }}
|
- job: rocprofiler_systems_test_${{ job.target }}
|
||||||
condition:
|
dependsOn: rocprofiler_systems_build_${{ job.target }}
|
||||||
and(succeeded(),
|
condition:
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
and(succeeded(),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
||||||
)
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
timeoutInMinutes: 180
|
)
|
||||||
variables:
|
timeoutInMinutes: 180
|
||||||
- group: common
|
variables:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- group: common
|
||||||
- name: ROCM_PATH
|
- template: /.azuredevops/variables-global.yml
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
- name: ROCM_PATH
|
||||||
pool:
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
name: ${{ job.target }}_test_pool
|
pool:
|
||||||
workspace:
|
name: ${{ job.target }}_test_pool
|
||||||
clean: all
|
workspace:
|
||||||
steps:
|
clean: all
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
steps:
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
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.target }}
|
||||||
displayName: Add ROCm binaries to PATH
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
inputs:
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
targetType: inline
|
- task: Bash@3
|
||||||
script: |
|
displayName: Add ROCm binaries to PATH
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
inputs:
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
targetType: inline
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
script: |
|
||||||
parameters:
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
||||||
# build flags reference: https://rocm.docs.amd.com/projects/omnitrace/en/latest/install/install.html
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
||||||
extraBuildFlags: >-
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
-DROCPROFSYS_BUILD_TESTING=ON
|
parameters:
|
||||||
-DROCPROFSYS_BUILD_DYNINST=ON
|
cmakeSourceDir: $(Agent.BuildDirectory)/s/projects/rocprofiler-systems
|
||||||
-DROCPROFSYS_BUILD_LIBUNWIND=ON
|
# build flags reference: https://rocm.docs.amd.com/projects/omnitrace/en/latest/install/install.html
|
||||||
-DROCPROFSYS_DISABLE_EXAMPLES="openmp-target"
|
extraBuildFlags: >-
|
||||||
-DDYNINST_BUILD_TBB=ON
|
-DCMAKE_INSTALL_PREFIX=$(Agent.BuildDirectory)/rocprofiler-systems
|
||||||
-DDYNINST_BUILD_ELFUTILS=ON
|
-DROCPROFSYS_USE_PYTHON=ON
|
||||||
-DDYNINST_BUILD_LIBIBERTY=ON
|
-DROCPROFSYS_BUILD_TESTING=ON
|
||||||
-DDYNINST_BUILD_BOOST=ON
|
-DROCPROFSYS_BUILD_DYNINST=ON
|
||||||
-DROCPROFSYS_USE_PAPI=ON
|
-DROCPROFSYS_BUILD_LIBUNWIND=ON
|
||||||
-DROCPROFSYS_USE_MPI=ON
|
-DROCPROFSYS_DISABLE_EXAMPLES="openmp-target"
|
||||||
-DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/include/rocjpeg
|
-DDYNINST_BUILD_TBB=ON
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
-DDYNINST_BUILD_ELFUTILS=ON
|
||||||
-GNinja
|
-DDYNINST_BUILD_LIBIBERTY=ON
|
||||||
- task: Bash@3
|
-DDYNINST_BUILD_BOOST=ON
|
||||||
displayName: Set up rocprofiler-systems env
|
-DROCPROFSYS_USE_PAPI=ON
|
||||||
inputs:
|
-DROCPROFSYS_USE_MPI=ON
|
||||||
targetType: inline
|
-DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/include/rocjpeg
|
||||||
script: source share/rocprofiler-systems/setup-env.sh
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
workingDirectory: build
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- task: Bash@3
|
||||||
parameters:
|
displayName: Set up rocprofiler-systems env
|
||||||
componentName: rocprofiler-systems
|
inputs:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
targetType: inline
|
||||||
parameters:
|
script: source $(Agent.BuildDirectory)/rocprofiler-systems/share/rocprofiler-systems/setup-env.sh
|
||||||
gpuTarget: ${{ job.target }}
|
workingDirectory: $(Agent.BuildDirectory)/rocprofiler-systems/share/rocprofiler-systems
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
parameters:
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
componentName: ${{ parameters.componentName }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
testDir: $(Agent.BuildDirectory)/s/build/tests/
|
||||||
parameters:
|
testParameters: '--output-on-failure'
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
pipModules: ${{ parameters.pipModules }}
|
parameters:
|
||||||
environment: test
|
gpuTarget: ${{ job.target }}
|
||||||
registerROCmPackages: true
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
extraPaths: /home/user/workspace/rocm/bin:/home/user/workspace/rocm/llvm/bin
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
registerROCmPackages: true
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
extraPaths: /home/user/workspace/rocm/bin:/home/user/workspace/rocm/llvm/bin
|
||||||
|
|||||||
@@ -8,6 +8,22 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -70,6 +86,10 @@ parameters:
|
|||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -94,6 +114,7 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
||||||
parameters:
|
parameters:
|
||||||
dependencyList:
|
dependencyList:
|
||||||
@@ -108,6 +129,8 @@ jobs:
|
|||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
@@ -115,6 +138,7 @@ jobs:
|
|||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_MODULE_PATH=$(Build.SourcesDirectory)/cmake_modules;$(Agent.BuildDirectory)/rocm/lib/cmake;$(Agent.BuildDirectory)/rocm/lib/cmake/hip;$(Agent.BuildDirectory)/rocm/lib64/cmake;$(Agent.BuildDirectory)/rocm/lib64/cmake/hip
|
-DCMAKE_MODULE_PATH=$(Build.SourcesDirectory)/cmake_modules;$(Agent.BuildDirectory)/rocm/lib/cmake;$(Agent.BuildDirectory)/rocm/lib/cmake/hip;$(Agent.BuildDirectory)/rocm/lib64/cmake;$(Agent.BuildDirectory)/rocm/lib64/cmake/hip
|
||||||
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor"
|
-DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor"
|
||||||
|
-DROCM_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||||
-DENABLE_LDCONFIG=OFF
|
-DENABLE_LDCONFIG=OFF
|
||||||
-DUSE_PROF_API=1
|
-DUSE_PROF_API=1
|
||||||
@@ -122,10 +146,13 @@ jobs:
|
|||||||
multithreadFlag: -- -j32
|
multithreadFlag: -- -j32
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
@@ -139,63 +166,68 @@ jobs:
|
|||||||
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
- ROCM_PATH:::/home/user/workspace/rocm
|
- ROCM_PATH:::/home/user/workspace/rocm
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
||||||
condition:
|
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
||||||
and(succeeded(),
|
condition:
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
and(succeeded(),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
||||||
)
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
variables:
|
)
|
||||||
- group: common
|
variables:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- group: common
|
||||||
- name: ROCM_PATH
|
- template: /.azuredevops/variables-global.yml
|
||||||
value: $(Agent.BuildDirectory)/rocm
|
- name: ROCM_PATH
|
||||||
- name: LD_LIBRARY_PATH
|
value: $(Agent.BuildDirectory)/rocm
|
||||||
value: $(Agent.BuildDirectory)/rocm/lib/rocprofiler:$(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1/test:$(Agent.BuildDirectory)/rocm/share/rocprofiler/tests
|
- name: LD_LIBRARY_PATH
|
||||||
pool: ${{ job.target }}_test_pool
|
value: $(Agent.BuildDirectory)/rocm/lib/rocprofiler:$(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1/test:$(Agent.BuildDirectory)/rocm/share/rocprofiler/tests
|
||||||
workspace:
|
pool: ${{ job.target }}_test_pool
|
||||||
clean: all
|
workspace:
|
||||||
steps:
|
clean: all
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
steps:
|
||||||
parameters:
|
- checkout: none
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
packageManager: ${{ job.packageManager }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
packageManager: ${{ job.packageManager }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
preTargetFilter: ${{ parameters.componentName }}
|
||||||
parameters:
|
gpuTarget: ${{ job.target }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
os: ${{ job.os }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
os: ${{ job.os }}
|
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:
|
os: ${{ job.os }}
|
||||||
componentName: rocprofilerV1
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
testDir: $(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
testExecutable: ./run.sh
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
testParameters: ''
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
testPublishResults: false
|
parameters:
|
||||||
os: ${{ job.os }}
|
componentName: rocprofilerV1
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
testDir: $(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1
|
||||||
parameters:
|
testExecutable: ./run.sh
|
||||||
componentName: rocprofilerV2
|
testParameters: ''
|
||||||
testDir: $(Agent.BuildDirectory)/rocm
|
testPublishResults: false
|
||||||
testExecutable: share/rocprofiler/tests/runUnitTests
|
os: ${{ job.os }}
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
os: ${{ job.os }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
componentName: rocprofilerV2
|
||||||
parameters:
|
testDir: $(Agent.BuildDirectory)/rocm
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
testExecutable: share/rocprofiler/tests/runUnitTests
|
||||||
pipModules: ${{ parameters.pipModules }}
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
environment: test
|
os: ${{ job.os }}
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|||||||
@@ -8,6 +8,22 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -65,6 +81,10 @@ parameters:
|
|||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -87,6 +107,7 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
@@ -94,6 +115,8 @@ jobs:
|
|||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
# the linker flags will not affect ubuntu2204 builds as the paths do not exist
|
# the linker flags will not affect ubuntu2204 builds as the paths do not exist
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -109,10 +132,13 @@ jobs:
|
|||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
@@ -123,53 +149,57 @@ jobs:
|
|||||||
# gpuTarget: ${{ job.target }}
|
# gpuTarget: ${{ job.target }}
|
||||||
# registerROCmPackages: true
|
# registerROCmPackages: true
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
||||||
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
||||||
condition:
|
dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
||||||
and(succeeded(),
|
condition:
|
||||||
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
and(succeeded(),
|
||||||
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])),
|
eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'),
|
||||||
eq(${{ parameters.aggregatePipeline }}, False)
|
not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')),
|
||||||
)
|
eq(${{ parameters.aggregatePipeline }}, False)
|
||||||
variables:
|
)
|
||||||
- group: common
|
variables:
|
||||||
- template: /.azuredevops/variables-global.yml
|
- group: common
|
||||||
pool: ${{ job.target }}_test_pool
|
- template: /.azuredevops/variables-global.yml
|
||||||
workspace:
|
pool: ${{ job.target }}_test_pool
|
||||||
clean: all
|
workspace:
|
||||||
steps:
|
clean: all
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
steps:
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
pipModules: ${{ parameters.pipModules }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
packageManager: ${{ job.packageManager }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
registerROCmPackages: true
|
packageManager: ${{ job.packageManager }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
registerROCmPackages: true
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
os: ${{ job.os }}
|
preTargetFilter: ${{ parameters.componentName }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
os: ${{ job.os }}
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
parameters:
|
||||||
gpuTarget: ${{ job.target }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
os: ${{ job.os }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
os: ${{ job.os }}
|
||||||
parameters:
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
componentName: roctracer
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
testExecutable: $(Agent.BuildDirectory)/rocm/share/roctracer/run_tests.sh
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml
|
||||||
testParameters: ''
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
testDir: $(Agent.BuildDirectory)
|
parameters:
|
||||||
testPublishResults: false
|
componentName: ${{ parameters.componentName }}
|
||||||
os: ${{ job.os }}
|
testExecutable: $(Agent.BuildDirectory)/rocm/share/roctracer/run_tests.sh
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
testParameters: ''
|
||||||
parameters:
|
testDir: $(Agent.BuildDirectory)
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
testPublishResults: false
|
||||||
pipModules: ${{ parameters.pipModules }}
|
os: ${{ job.os }}
|
||||||
environment: test
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
registerROCmPackages: true
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
registerROCmPackages: true
|
||||||
|
|||||||
@@ -40,7 +40,6 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
dependencySource: staging
|
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Add ROCm binaries to PATH
|
displayName: Add ROCm binaries to PATH
|
||||||
inputs:
|
inputs:
|
||||||
|
|||||||
63
.azuredevops/dependencies/catch2.yml
Normal file
63
.azuredevops/dependencies/catch2.yml
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
parameters:
|
||||||
|
- name: checkoutRepo
|
||||||
|
type: string
|
||||||
|
default: 'self'
|
||||||
|
- name: checkoutRef
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: catch2Version
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: aptPackages
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- cmake
|
||||||
|
- git
|
||||||
|
- ninja-build
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
buildJobs:
|
||||||
|
- { os: ubuntu2204, packageManager: apt}
|
||||||
|
- { os: almalinux8, packageManager: dnf}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: catch2_${{ job.os }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool:
|
||||||
|
vmImage: 'ubuntu-22.04'
|
||||||
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
|
container:
|
||||||
|
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
||||||
|
endpoint: ContainerService3
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- checkout: none
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
packageManager: ${{ job.packageManager }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Clone catch2 ${{ parameters.catch2Version }}
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: git clone https://github.com/catchorg/Catch2.git -b ${{ parameters.catch2Version }}
|
||||||
|
workingDirectory: $(Agent.BuildDirectory)
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
cmakeBuildDir: $(Agent.BuildDirectory)/Catch2/build
|
||||||
|
cmakeSourceDir: $(Agent.BuildDirectory)/Catch2
|
||||||
|
useAmdclang: false
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
67
.azuredevops/dependencies/fmtlib.yml
Normal file
67
.azuredevops/dependencies/fmtlib.yml
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
parameters:
|
||||||
|
- name: checkoutRepo
|
||||||
|
type: string
|
||||||
|
default: 'self'
|
||||||
|
- name: checkoutRef
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: fmtlibVersion
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: aptPackages
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- cmake
|
||||||
|
- git
|
||||||
|
- ninja-build
|
||||||
|
- libfmt-dev
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
buildJobs:
|
||||||
|
- { os: ubuntu2204, packageManager: apt}
|
||||||
|
- { os: almalinux8, packageManager: dnf}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: fmtlib_${{ job.os }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool:
|
||||||
|
vmImage: 'ubuntu-22.04'
|
||||||
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
|
container:
|
||||||
|
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
||||||
|
endpoint: ContainerService3
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- checkout: none
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
packageManager: ${{ job.packageManager }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Clone fmtlib ${{ parameters.fmtlibVersion }}
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: git clone https://github.com/fmtlib/fmt.git -b ${{ parameters.fmtlibVersion }}
|
||||||
|
workingDirectory: $(Agent.BuildDirectory)
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
cmakeBuildDir: $(Agent.BuildDirectory)/fmt/build
|
||||||
|
cmakeSourceDir: $(Agent.BuildDirectory)/fmt
|
||||||
|
useAmdclang: false
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DFMT_SYSTEM_HEADERS=ON
|
||||||
|
-DFMT_INSTALL=ON
|
||||||
|
-DFMT_TEST=OFF
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
64
.azuredevops/dependencies/libdivide.yml
Normal file
64
.azuredevops/dependencies/libdivide.yml
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
parameters:
|
||||||
|
- name: checkoutRepo
|
||||||
|
type: string
|
||||||
|
default: 'self'
|
||||||
|
- name: checkoutRef
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: libdivideVersion
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: aptPackages
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- cmake
|
||||||
|
- git
|
||||||
|
- ninja-build
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
buildJobs:
|
||||||
|
- { os: ubuntu2204, packageManager: apt}
|
||||||
|
- { os: almalinux8, packageManager: dnf}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: libdivide_${{ job.os }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool:
|
||||||
|
vmImage: 'ubuntu-22.04'
|
||||||
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
|
container:
|
||||||
|
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
||||||
|
endpoint: ContainerService3
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- checkout: none
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
packageManager: ${{ job.packageManager }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Clone libdivide ${{ parameters.libdivideVersion }}
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: git clone https://github.com/ridiculousfish/libdivide.git -b ${{ parameters.libdivideVersion }}
|
||||||
|
workingDirectory: $(Agent.BuildDirectory)
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
cmakeBuildDir: $(Agent.BuildDirectory)/libdivide/build
|
||||||
|
cmakeSourceDir: $(Agent.BuildDirectory)/libdivide
|
||||||
|
useAmdclang: false
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DLIBDIVIDE_BUILD_TESTS=OFF
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
71
.azuredevops/dependencies/spdlog.yml
Normal file
71
.azuredevops/dependencies/spdlog.yml
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
parameters:
|
||||||
|
- name: checkoutRepo
|
||||||
|
type: string
|
||||||
|
default: 'self'
|
||||||
|
- name: checkoutRef
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: spdlogVersion
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: aptPackages
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- cmake
|
||||||
|
- git
|
||||||
|
- ninja-build
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
buildJobs:
|
||||||
|
- { os: ubuntu2204, packageManager: apt}
|
||||||
|
- { os: almalinux8, packageManager: dnf}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: spdlog_${{ job.os }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool:
|
||||||
|
vmImage: 'ubuntu-22.04'
|
||||||
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
|
container:
|
||||||
|
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
||||||
|
endpoint: ContainerService3
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- checkout: none
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
packageManager: ${{ job.packageManager }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
||||||
|
parameters:
|
||||||
|
dependencyList:
|
||||||
|
- fmtlib
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Clone spdlog ${{ parameters.spdlogVersion }}
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: git clone https://github.com/gabime/spdlog.git -b ${{ parameters.spdlogVersion }}
|
||||||
|
workingDirectory: $(Agent.BuildDirectory)
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
cmakeBuildDir: $(Agent.BuildDirectory)/spdlog/build
|
||||||
|
cmakeSourceDir: $(Agent.BuildDirectory)/spdlog
|
||||||
|
useAmdclang: false
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/vendor
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DSPDLOG_USE_STD_FORMAT=OFF
|
||||||
|
-DSPDLOG_FMT_EXTERNAL_HO=ON
|
||||||
|
-DSPDLOG_INSTALL=ON
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
@@ -219,7 +219,6 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
dependencySource: staging
|
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
setupHIPLibrarySymlinks: true
|
setupHIPLibrarySymlinks: true
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
@@ -398,6 +397,7 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- task: DownloadPipelineArtifact@2
|
- task: DownloadPipelineArtifact@2
|
||||||
displayName: 'Download Pipeline Wheel Files'
|
displayName: 'Download Pipeline Wheel Files'
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
inputs:
|
inputs:
|
||||||
itemPattern: '**/*.whl'
|
itemPattern: '**/*.whl'
|
||||||
targetPath: $(Agent.BuildDirectory)
|
targetPath: $(Agent.BuildDirectory)
|
||||||
@@ -406,8 +406,6 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
dependencyList: ${{ parameters.rocmTestDependencies }}
|
dependencyList: ${{ parameters.rocmTestDependencies }}
|
||||||
gpuTarget: $(JOB_GPU_TARGET)
|
gpuTarget: $(JOB_GPU_TARGET)
|
||||||
dependencySource: staging
|
|
||||||
skipLlvmSymlink: true
|
|
||||||
# get sources to run test scripts
|
# get sources to run test scripts
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: git clone upstream pytorch
|
displayName: git clone upstream pytorch
|
||||||
|
|||||||
@@ -3,12 +3,21 @@ parameters:
|
|||||||
- name: jobList
|
- name: jobList
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- gfx942-staging:
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
target: gfx942
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
source: staging
|
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
||||||
- gfx90a-staging:
|
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
||||||
target: gfx90a
|
- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
||||||
source: staging
|
- { os: ubuntu2404, packageManager: apt, target: gfx942 }
|
||||||
|
- { os: ubuntu2404, packageManager: apt, target: gfx90a }
|
||||||
|
- { os: ubuntu2404, packageManager: apt, target: gfx1201 }
|
||||||
|
- { os: ubuntu2404, packageManager: apt, target: gfx1100 }
|
||||||
|
- { os: ubuntu2404, packageManager: apt, target: gfx1030 }
|
||||||
|
- { os: almalinux8, packageManager: dnf, target: gfx942 }
|
||||||
|
- { os: almalinux8, packageManager: dnf, target: gfx90a }
|
||||||
|
- { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
||||||
|
- { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
||||||
|
- { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -16,9 +25,9 @@ parameters:
|
|||||||
- amdsmi
|
- amdsmi
|
||||||
- aomp-extras
|
- aomp-extras
|
||||||
- aomp
|
- aomp
|
||||||
|
- clr
|
||||||
- composable_kernel
|
- composable_kernel
|
||||||
- half
|
- half
|
||||||
- HIP
|
|
||||||
- hip-tests
|
- hip-tests
|
||||||
- hipBLAS
|
- hipBLAS
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
@@ -83,7 +92,8 @@ schedules:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobList }}:
|
- ${{ each job in parameters.jobList }}:
|
||||||
- job: rocm_nightly_${{ job.target }}_${{ job.source }}
|
- job: nightly_${{ job.os }}_${{ job.target }}
|
||||||
|
timeoutInMinutes: 120
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
@@ -106,11 +116,9 @@ jobs:
|
|||||||
displayName: System disk space before ROCm
|
displayName: System disk space before ROCm
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
dependencySource: ${{ job.source }}
|
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
os: ${{ job.os }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
skipLibraryLinking: true
|
|
||||||
skipLlvmSymlink: true
|
|
||||||
- script: df -h
|
- script: df -h
|
||||||
displayName: System disk space after ROCm
|
displayName: System disk space after ROCm
|
||||||
- script: du -sh $(Agent.BuildDirectory)/rocm
|
- script: du -sh $(Agent.BuildDirectory)/rocm
|
||||||
@@ -123,7 +131,7 @@ jobs:
|
|||||||
includeRootFolder: false
|
includeRootFolder: false
|
||||||
archiveType: tar
|
archiveType: tar
|
||||||
tarCompression: gz
|
tarCompression: gz
|
||||||
archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.DefinitionName)_$(Build.BuildNumber)_ubuntu2204_${{ job.target }}.tar.gz
|
archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.DefinitionName)_$(Build.BuildNumber)_${{ job.os }}_${{ job.target }}.tar.gz
|
||||||
- script: du -sh $(Build.ArtifactStagingDirectory)
|
- script: du -sh $(Build.ArtifactStagingDirectory)
|
||||||
displayName: Compressed ROCm size
|
displayName: Compressed ROCm size
|
||||||
- task: PublishPipelineArtifact@1
|
- task: PublishPipelineArtifact@1
|
||||||
@@ -136,5 +144,96 @@ jobs:
|
|||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: echo "$(Build.DefinitionName)_$(Build.BuildNumber)_ubuntu2204_${{ job.target }}.tar.gz" >> pipelineArtifacts.txt
|
script: echo "$(Build.DefinitionName)_$(Build.BuildNumber)_${{ job.os }}_${{ job.target }}.tar.gz" >> pipelineArtifacts.txt
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
- ${{ if eq(job.packageManager, 'apt') }}:
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Create Dockerfile
|
||||||
|
inputs:
|
||||||
|
workingDirectory: $(Agent.BuildDirectory)
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
cat <<'EOF' > Dockerfile
|
||||||
|
${{ iif(eq(job.os, 'ubuntu2204'), 'FROM ubuntu:22.04', '') }}
|
||||||
|
${{ iif(eq(job.os, 'ubuntu2404'), 'FROM ubuntu:24.04', '') }}
|
||||||
|
|
||||||
|
WORKDIR /root
|
||||||
|
RUN mkdir rocm
|
||||||
|
|
||||||
|
RUN apt update \
|
||||||
|
&& apt upgrade -y \
|
||||||
|
&& apt install -y cmake curl git gcc g++ gpg lsb-release lsof ninja-build pkg-config python3 python3-pip wget zip libdrm-dev libelf-dev libgtest-dev libhsakmt-dev libhwloc-dev libnuma-dev libstdc++-12-dev libtbb-dev jq \
|
||||||
|
&& apt clean all
|
||||||
|
|
||||||
|
RUN PACKAGE_NAME=$(curl -s https://repo.radeon.com/rocm/apt/latest/pool/main/h/hsa-amd-aqlprofile/ | grep -oP "href=\"\K[^\"]*$(lsb_release -rs)[^\"]*\.deb") \
|
||||||
|
&& wget -nv --retry-connrefused https://repo.radeon.com/rocm/apt/latest/pool/main/h/hsa-amd-aqlprofile/$PACKAGE_NAME \
|
||||||
|
&& mkdir hsa-amd-aqlprofile \
|
||||||
|
&& dpkg-deb -R $PACKAGE_NAME hsa-amd-aqlprofile \
|
||||||
|
&& cp -R hsa-amd-aqlprofile/opt/rocm-*/* rocm
|
||||||
|
|
||||||
|
RUN ARTIFACT_URL="https://dev.azure.com/ROCm-CI/ROCm-CI/_apis/build/builds/$(Build.BuildId)/artifacts?artifactName=nightly${{ job.os }}${{ job.target }}&api-version=7.1" \
|
||||||
|
&& DOWNLOAD_URL=$(curl -s $ARTIFACT_URL | jq ".resource.downloadUrl" | tr -d '"') \
|
||||||
|
&& wget -nv --retry-connrefused $DOWNLOAD_URL -O nightly.zip \
|
||||||
|
&& unzip nightly.zip \
|
||||||
|
&& tar -xf nightly${{ job.os }}${{ job.target }}/rocm-nightly*${{ job.os }}*${{ job.target }}*.tar.gz -C rocm
|
||||||
|
|
||||||
|
RUN echo /root/rocm/lib | tee /etc/ld.so.conf.d/rocm-ci.conf
|
||||||
|
RUN echo /root/rocm/llvm/lib | tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
||||||
|
RUN echo /root/rocm/lib64 | tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
||||||
|
RUN echo /root/rocm/llvm/lib64 | tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
||||||
|
RUN ldconfig -v
|
||||||
|
ENV PATH="$PATH:/root/rocm/bin"
|
||||||
|
ENTRYPOINT ["/bin/bash"]
|
||||||
|
EOF
|
||||||
|
cat Dockerfile
|
||||||
|
- ${{ elseif eq(job.packageManager, 'dnf') }}:
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Create Dockerfile
|
||||||
|
inputs:
|
||||||
|
workingDirectory: $(Agent.BuildDirectory)
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
cat <<'EOF' > Dockerfile
|
||||||
|
${{ iif(eq(job.os, 'almalinux8'), 'FROM almalinux:8', '') }}
|
||||||
|
|
||||||
|
WORKDIR /root
|
||||||
|
RUN mkdir rocm
|
||||||
|
|
||||||
|
RUN dnf install -y cmake curl git gcc gcc-c++ gnupg2 redhat-lsb-core lsof pkgconf python3 python3-pip wget zip libdrm-devel elfutils-libelf-devel numactl-devel libstdc++-devel tbb-devel jq \
|
||||||
|
&& dnf clean all
|
||||||
|
|
||||||
|
RUN PACKAGE_NAME=$(curl -s https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/ | grep -oP "hsa-amd-aqlprofile-[^\"]+\.rpm" | head -n1) \
|
||||||
|
&& wget -nv --retry-connrefused https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/$PACKAGE_NAME \
|
||||||
|
&& mkdir hsa-amd-aqlprofile \
|
||||||
|
&& dnf -y install rpm-build cpio \
|
||||||
|
&& rpm2cpio $PACKAGE_NAME | (cd hsa-amd-aqlprofile && cpio -idmv) \
|
||||||
|
&& cp -R hsa-amd-aqlprofile/opt/rocm-*/* rocm
|
||||||
|
|
||||||
|
RUN ARTIFACT_URL="https://dev.azure.com/ROCm-CI/ROCm-CI/_apis/build/builds/$(Build.BuildId)/artifacts?artifactName=nightly${{ job.os }}${{ job.target }}&api-version=7.1" \
|
||||||
|
&& DOWNLOAD_URL=$(curl -s $ARTIFACT_URL | jq ".resource.downloadUrl" | tr -d '"') \
|
||||||
|
&& wget -nv --retry-connrefused $DOWNLOAD_URL -O nightly.zip \
|
||||||
|
&& UNZIP_DISABLE_ZIPBOMB_DETECTION=TRUE unzip nightly.zip \
|
||||||
|
&& tar -xf nightly${{ job.os }}${{ job.target }}/rocm-nightly*${{ job.os }}*${{ job.target }}*.tar.gz -C rocm
|
||||||
|
|
||||||
|
RUN echo /root/rocm/lib | tee /etc/ld.so.conf.d/rocm-ci.conf
|
||||||
|
RUN echo /root/rocm/llvm/lib | tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
||||||
|
RUN echo /root/rocm/lib64 | tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
||||||
|
RUN echo /root/rocm/llvm/lib64 | tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
||||||
|
RUN ldconfig -v
|
||||||
|
ENV PATH="$PATH:/root/rocm/bin"
|
||||||
|
ENTRYPOINT ["/bin/bash"]
|
||||||
|
EOF
|
||||||
|
cat Dockerfile
|
||||||
|
- task: Docker@2
|
||||||
|
displayName: Build and upload Docker image
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
|
inputs:
|
||||||
|
containerRegistry: ContainerService3
|
||||||
|
repository: 'nightly-${{ job.os }}-${{ job.target }}'
|
||||||
|
Dockerfile: '$(Agent.BuildDirectory)/Dockerfile'
|
||||||
|
buildContext: '$(Agent.BuildDirectory)'
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: '!! Docker Run Command !!'
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: echo "docker run -it --network=host --device=/dev/kfd --device=/dev/dri --security-opt seccomp=unconfined rocmexternalcicd.azurecr.io/nightly-${{ job.os }}-${{ job.target }}:$(Build.BuildId)" | tr '[:upper:]' '[:lower:]'
|
||||||
|
|||||||
23
.azuredevops/tag-builds/catch2.yml
Normal file
23
.azuredevops/tag-builds/catch2.yml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
- name: catch2Version
|
||||||
|
type: string
|
||||||
|
default: "v3.7.0"
|
||||||
|
|
||||||
|
resources:
|
||||||
|
repositories:
|
||||||
|
- repository: pipelines_repo
|
||||||
|
type: github
|
||||||
|
endpoint: ROCm
|
||||||
|
name: ROCm/ROCm
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: ${{ variables.CI_DEPENDENCIES_PATH }}/catch2.yml
|
||||||
|
parameters:
|
||||||
|
catch2Version: ${{ parameters.catch2Version }}
|
||||||
@@ -28,12 +28,22 @@ resources:
|
|||||||
endpoint: ROCm
|
endpoint: ROCm
|
||||||
name: ROCm/hipother
|
name: ROCm/hipother
|
||||||
ref: ${{ parameters.checkoutRef }}
|
ref: ${{ parameters.checkoutRef }}
|
||||||
|
pipelines:
|
||||||
|
- pipeline: hip_pipeline
|
||||||
|
source: \experimental\HIP
|
||||||
|
trigger: true
|
||||||
|
- pipeline: hipother_pipeline
|
||||||
|
source: \experimental\hipother
|
||||||
|
trigger: true
|
||||||
|
|
||||||
trigger: none
|
trigger: none
|
||||||
pr: none
|
pr: none
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- template: ${{ variables.CI_COMPONENT_PATH }}/HIP.yml
|
- ${{ if eq(variables['Build.Reason'], 'ResourceTrigger') }}:
|
||||||
parameters:
|
- template: ${{ variables.CI_COMPONENT_PATH }}/copyHIP.yml@pipelines_repo
|
||||||
checkoutRepo: release_repo
|
- ${{ if ne(variables['Build.Reason'], 'ResourceTrigger') }}:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_COMPONENT_PATH }}/HIP.yml@pipelines_repo
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: release_repo
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
|||||||
23
.azuredevops/tag-builds/fmtlib.yml
Normal file
23
.azuredevops/tag-builds/fmtlib.yml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
- name: fmtlibVersion
|
||||||
|
type: string
|
||||||
|
default: "11.1.3"
|
||||||
|
|
||||||
|
resources:
|
||||||
|
repositories:
|
||||||
|
- repository: pipelines_repo
|
||||||
|
type: github
|
||||||
|
endpoint: ROCm
|
||||||
|
name: ROCm/ROCm
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: ${{ variables.CI_DEPENDENCIES_PATH }}/fmtlib.yml
|
||||||
|
parameters:
|
||||||
|
fmtlibVersion: ${{ parameters.fmtlibVersion }}
|
||||||
23
.azuredevops/tag-builds/libdivide.yml
Normal file
23
.azuredevops/tag-builds/libdivide.yml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
- name: libdivideVersion
|
||||||
|
type: string
|
||||||
|
default: master
|
||||||
|
|
||||||
|
resources:
|
||||||
|
repositories:
|
||||||
|
- repository: pipelines_repo
|
||||||
|
type: github
|
||||||
|
endpoint: ROCm
|
||||||
|
name: ROCm/ROCm
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: ${{ variables.CI_DEPENDENCIES_PATH }}/libdivide.yml
|
||||||
|
parameters:
|
||||||
|
libdivideVersion: ${{ parameters.libdivideVersion }}
|
||||||
23
.azuredevops/tag-builds/spdlog.yml
Normal file
23
.azuredevops/tag-builds/spdlog.yml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
- name: spdlogVersion
|
||||||
|
type: string
|
||||||
|
default: "v1.15.1"
|
||||||
|
|
||||||
|
resources:
|
||||||
|
repositories:
|
||||||
|
- repository: pipelines_repo
|
||||||
|
type: github
|
||||||
|
endpoint: ROCm
|
||||||
|
name: ROCm/ROCm
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: ${{ variables.CI_DEPENDENCIES_PATH }}/spdlog.yml
|
||||||
|
parameters:
|
||||||
|
spdlogVersion: ${{ parameters.spdlogVersion }}
|
||||||
@@ -12,6 +12,9 @@ parameters:
|
|||||||
- name: fileFilter
|
- name: fileFilter
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
- name: extractAndDeleteFiles
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -21,35 +24,37 @@ parameters:
|
|||||||
steps:
|
steps:
|
||||||
- task: DownloadPipelineArtifact@2
|
- task: DownloadPipelineArtifact@2
|
||||||
displayName: Download ${{ parameters.componentName }}
|
displayName: Download ${{ parameters.componentName }}
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
inputs:
|
inputs:
|
||||||
|
${{ if eq(parameters.componentName, 'clr') }}:
|
||||||
|
itemPattern: '**/*${{ parameters.componentName }}*${{ parameters.fileFilter }}*amd*' # filter out nvidia clr artifacts
|
||||||
|
${{ else }}:
|
||||||
|
itemPattern: '**/*${{ parameters.componentName }}*${{ parameters.fileFilter }}*'
|
||||||
|
targetPath: '$(Pipeline.Workspace)/d'
|
||||||
|
allowPartiallySucceededBuilds: true
|
||||||
${{ if parameters.aggregatePipeline }}:
|
${{ if parameters.aggregatePipeline }}:
|
||||||
buildType: 'current'
|
buildType: 'current'
|
||||||
itemPattern: '**/${{ parameters.componentName }}*${{ parameters.fileFilter }}*'
|
|
||||||
allowPartiallySucceededBuilds: true
|
|
||||||
targetPath: '$(Pipeline.Workspace)/d'
|
|
||||||
${{ else }}:
|
${{ else }}:
|
||||||
buildType: 'specific'
|
buildType: 'specific'
|
||||||
project: ROCm-CI
|
project: ROCm-CI
|
||||||
specificBuildWithTriggering: true
|
specificBuildWithTriggering: true
|
||||||
allowPartiallySucceededBuilds: true
|
|
||||||
definition: ${{ parameters.pipelineId }}
|
definition: ${{ parameters.pipelineId }}
|
||||||
itemPattern: '**/*${{ parameters.fileFilter }}*'
|
|
||||||
targetPath: '$(Pipeline.Workspace)/d'
|
|
||||||
branchName: refs/heads/${{ parameters.branchName }}
|
branchName: refs/heads/${{ parameters.branchName }}
|
||||||
${{ if eq(parameters.componentName, 'aomp') }}:
|
${{ if eq(parameters.componentName, 'aomp') }}:
|
||||||
buildVersionToDownload: latest # aomp trigger lives in ROCm/ROCm, so cannot use ROCm/aomp branch names
|
buildVersionToDownload: latest # aomp trigger lives in ROCm/ROCm, so cannot use ROCm/aomp branch names
|
||||||
${{ else }}:
|
${{ else }}:
|
||||||
buildVersionToDownload: latestFromBranch
|
buildVersionToDownload: latestFromBranch
|
||||||
- task: ExtractFiles@1
|
- ${{ if eq(parameters.extractAndDeleteFiles, true) }}:
|
||||||
displayName: Extract ${{ parameters.componentName }}
|
- task: ExtractFiles@1
|
||||||
inputs:
|
displayName: Extract ${{ parameters.componentName }}
|
||||||
archiveFilePatterns: '$(Pipeline.Workspace)/d/**/*.tar.gz'
|
inputs:
|
||||||
destinationFolder: '$(Agent.BuildDirectory)/rocm'
|
archiveFilePatterns: '$(Pipeline.Workspace)/d/**/*.tar.gz'
|
||||||
cleanDestinationFolder: false
|
destinationFolder: '$(Agent.BuildDirectory)/rocm'
|
||||||
overwriteExistingFiles: true
|
cleanDestinationFolder: false
|
||||||
- task: DeleteFiles@1
|
overwriteExistingFiles: true
|
||||||
displayName: Cleanup Compressed ${{ parameters.componentName }}
|
- task: DeleteFiles@1
|
||||||
inputs:
|
displayName: Clean up Compressed ${{ parameters.componentName }}
|
||||||
SourceFolder: '$(Pipeline.Workspace)/d'
|
inputs:
|
||||||
Contents: '**/*.tar.gz'
|
SourceFolder: '$(Pipeline.Workspace)/d'
|
||||||
RemoveDotFiles: true
|
Contents: '**/*.tar.gz'
|
||||||
|
RemoveDotFiles: true
|
||||||
|
|||||||
@@ -15,8 +15,8 @@ steps:
|
|||||||
URL_BEGIN="https://artprodcus3.artifacts.visualstudio.com/"
|
URL_BEGIN="https://artprodcus3.artifacts.visualstudio.com/"
|
||||||
URL_MIDDLE="/_apis/artifact/"
|
URL_MIDDLE="/_apis/artifact/"
|
||||||
URL_END="/content?format=file&subPath=%2F"
|
URL_END="/content?format=file&subPath=%2F"
|
||||||
FORMATTED_JOB_NAME=$(echo $(Agent.JobName) | sed 's/ /./g; s/[-_]//g')
|
ARTIFACT_NAME="$(Agent.JobName)_$(System.JobAttempt)"
|
||||||
ARTIFACT_STRING="pipelineartifact://ROCm-CI/projectId/$(DOWNLOAD_PROJECT_ID)/buildId/$(Build.BuildId)/artifactName/${FORMATTED_JOB_NAME}"
|
ARTIFACT_STRING="pipelineartifact://ROCm-CI/projectId/$(DOWNLOAD_PROJECT_ID)/buildId/$(Build.BuildId)/artifactName/${ARTIFACT_NAME}"
|
||||||
ENCODED_STRING=$(echo -n "${ARTIFACT_STRING}" | base64 -w 0)
|
ENCODED_STRING=$(echo -n "${ARTIFACT_STRING}" | base64 -w 0)
|
||||||
PADDING_COUNT=$(echo -n "${ENCODED_STRING}" | awk -F= '{print NF-1}')
|
PADDING_COUNT=$(echo -n "${ENCODED_STRING}" | awk -F= '{print NF-1}')
|
||||||
if [ "$PADDING_COUNT" -gt 0 ]; then
|
if [ "$PADDING_COUNT" -gt 0 ]; then
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ steps:
|
|||||||
includeRootFolder: false
|
includeRootFolder: false
|
||||||
archiveType: 'tar'
|
archiveType: 'tar'
|
||||||
tarCompression: 'gz'
|
tarCompression: 'gz'
|
||||||
archiveFile: '$(Build.ArtifactStagingDirectory)/${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.tar.gz'
|
archiveFile: '$(Build.ArtifactStagingDirectory)/${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}_$(System.JobAttempt).tar.gz'
|
||||||
- task: DeleteFiles@1
|
- task: DeleteFiles@1
|
||||||
displayName: 'Cleanup Staging Area'
|
displayName: 'Cleanup Staging Area'
|
||||||
inputs:
|
inputs:
|
||||||
@@ -38,7 +38,7 @@ steps:
|
|||||||
inputs:
|
inputs:
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: echo "${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.tar.gz" >> pipelineArtifacts.txt
|
script: echo "${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}_$(System.JobAttempt).tar.gz" >> pipelineArtifacts.txt
|
||||||
# then publish it
|
# then publish it
|
||||||
- ${{ if parameters.publish }}:
|
- ${{ if parameters.publish }}:
|
||||||
- task: PublishPipelineArtifact@1
|
- task: PublishPipelineArtifact@1
|
||||||
@@ -46,4 +46,6 @@ steps:
|
|||||||
displayName: '${{ parameters.artifactName }} Publish'
|
displayName: '${{ parameters.artifactName }} Publish'
|
||||||
retryCountOnTaskFailure: 3
|
retryCountOnTaskFailure: 3
|
||||||
inputs:
|
inputs:
|
||||||
|
# if this artifact name is changed, please also update $ARTIFACT_URL inside miopen-get-ck-build.yml
|
||||||
|
artifactName: $(Agent.JobName)_$(System.JobAttempt)
|
||||||
targetPath: '$(Build.ArtifactStagingDirectory)'
|
targetPath: '$(Build.ArtifactStagingDirectory)'
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ steps:
|
|||||||
retryCountOnTaskFailure: 3
|
retryCountOnTaskFailure: 3
|
||||||
fetchFilter: blob:none
|
fetchFilter: blob:none
|
||||||
${{ if ne(parameters.sparseCheckoutDir, '') }}:
|
${{ if ne(parameters.sparseCheckoutDir, '') }}:
|
||||||
sparseCheckoutDirectories: ${{ parameters.sparseCheckoutDir }}
|
sparseCheckoutDirectories: ${{ parameters.sparseCheckoutDir }} shared
|
||||||
path: sparse
|
path: sparse
|
||||||
- ${{ if ne(parameters.sparseCheckoutDir, '') }}:
|
- ${{ if ne(parameters.sparseCheckoutDir, '') }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
|
|||||||
@@ -1,10 +1,15 @@
|
|||||||
parameters:
|
parameters:
|
||||||
|
- name: os
|
||||||
|
type: string
|
||||||
|
default: ubuntu2204
|
||||||
- name: repositoryUrl
|
- name: repositoryUrl
|
||||||
type: string
|
type: string
|
||||||
default: https://download.amd.com/developer/eula/aocl/aocl-4-2
|
default: https://download.amd.com/developer/eula/aocl/aocl-4-2
|
||||||
- name: packageName
|
- name: packageName
|
||||||
type: string
|
type: object
|
||||||
default: aocl-linux-gcc-4.2.0_1_amd64.deb
|
default:
|
||||||
|
ubuntu2204: aocl-linux-gcc-4.2.0_1_amd64.deb
|
||||||
|
almalinux8: aocl-linux-gcc-4.2.0-1.x86_64.rpm
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
@@ -12,16 +17,19 @@ steps:
|
|||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
script: wget -nv ${{ parameters.repositoryUrl }}/${{ parameters.packageName }}
|
script: wget -nv ${{ parameters.repositoryUrl }}/${{ parameters.packageName[parameters.os] }}
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Install AOCL
|
displayName: Install AOCL
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
script: sudo apt install -y ./${{ parameters.packageName }}
|
${{ if eq(parameters.os, 'ubuntu2204') }}:
|
||||||
|
script: sudo apt install -y ./${{ parameters.packageName[parameters.os] }}
|
||||||
|
${{ elseif eq(parameters.os, 'almalinux8') }}:
|
||||||
|
script: sudo dnf install -y ./${{ parameters.packageName[parameters.os] }}
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Clean up AOCL
|
displayName: Clean up AOCL
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
script: rm -f ${{ parameters.packageName }}
|
script: rm -f ${{ parameters.packageName[parameters.os] }}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ steps:
|
|||||||
- ${{ if eq(parameters.registerROCmPackages, true) }}:
|
- ${{ if eq(parameters.registerROCmPackages, true) }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'Register AMDGPU & ROCm repos (apt)'
|
displayName: 'Register AMDGPU & ROCm repos (apt)'
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
@@ -20,7 +21,8 @@ steps:
|
|||||||
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
|
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
|
||||||
sudo apt update
|
sudo apt update
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'sudo apt-get update'
|
displayName: 'APT update and install packages'
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
@@ -28,15 +30,6 @@ steps:
|
|||||||
echo "deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/default.list
|
echo "deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/default.list
|
||||||
echo "deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/default.list
|
echo "deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/default.list
|
||||||
echo "deb http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/default.list
|
echo "deb http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/default.list
|
||||||
sudo DEBIAN_FRONTEND=noninteractive apt-get --yes update
|
sudo DEBIAN_FRONTEND=noninteractive apt-get --yes update && \
|
||||||
- task: Bash@3
|
sudo DEBIAN_FRONTEND=noninteractive apt-get --yes --fix-broken install && \
|
||||||
displayName: 'sudo apt-get fix'
|
sudo DEBIAN_FRONTEND=noninteractive apt-get --yes --fix-missing install ${{ join(' ', parameters.aptPackages) }}
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: sudo DEBIAN_FRONTEND=noninteractive apt-get --yes --fix-broken install
|
|
||||||
- ${{ if gt(length(parameters.aptPackages), 0) }}:
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'sudo apt-get install ...'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: sudo DEBIAN_FRONTEND=noninteractive apt-get --yes --fix-missing install ${{ join(' ', parameters.aptPackages) }}
|
|
||||||
|
|||||||
@@ -5,51 +5,28 @@ parameters:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Get aqlprofile package name
|
displayName: Download and install aqlprofile
|
||||||
inputs:
|
retryCountOnTaskFailure: 3
|
||||||
targetType: inline
|
|
||||||
${{ if eq(parameters.os, 'ubuntu2204') }}:
|
|
||||||
script: |
|
|
||||||
export packageName=$(curl -s https://repo.radeon.com/rocm/apt/$(REPO_RADEON_VERSION)/pool/main/h/hsa-amd-aqlprofile/ | grep -oP "href=\"\K[^\"]*$(lsb_release -rs)[^\"]*\.deb")
|
|
||||||
echo "##vso[task.setvariable variable=packageName;isreadonly=true]$packageName"
|
|
||||||
${{ if eq(parameters.os, 'almalinux8') }}:
|
|
||||||
script: |
|
|
||||||
export packageName=$(curl -s https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/ | grep -oP "hsa-amd-aqlprofile-[^\"]+\.rpm" | head -n1)
|
|
||||||
echo "##vso[task.setvariable variable=packageName;isreadonly=true]$packageName"
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'Download aqlprofile'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
workingDirectory: '$(Pipeline.Workspace)'
|
|
||||||
${{ if eq(parameters.os, 'ubuntu2204') }}:
|
|
||||||
script: wget -nv https://repo.radeon.com/rocm/apt/$(REPO_RADEON_VERSION)/pool/main/h/hsa-amd-aqlprofile/$(packageName)
|
|
||||||
${{ if eq(parameters.os, 'almalinux8') }}:
|
|
||||||
script: wget -nv https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/$(packageName)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'Extract aqlprofile'
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
workingDirectory: '$(Pipeline.Workspace)'
|
|
||||||
${{ if eq(parameters.os, 'ubuntu2204') }}:
|
|
||||||
script: |
|
|
||||||
mkdir hsa-amd-aqlprofile
|
|
||||||
dpkg-deb -R $(packageName) hsa-amd-aqlprofile
|
|
||||||
${{ if eq(parameters.os, 'almalinux8') }}:
|
|
||||||
script: |
|
|
||||||
mkdir hsa-amd-aqlprofile
|
|
||||||
sudo dnf -y install rpm-build cpio
|
|
||||||
rpm2cpio $(packageName) | (cd hsa-amd-aqlprofile && cpio -idmv)
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: 'Copy aqlprofile files'
|
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
|
workingDirectory: $(Agent.BuildDirectory)
|
||||||
script: |
|
script: |
|
||||||
mkdir -p $(Agent.BuildDirectory)/rocm
|
set -e
|
||||||
cp -R hsa-amd-aqlprofile/opt/rocm-*/* $(Agent.BuildDirectory)/rocm
|
if [ "${{ parameters.os }}" = "ubuntu2204" ]; then
|
||||||
workingDirectory: '$(Pipeline.Workspace)'
|
packageName=$(curl -s https://repo.radeon.com/rocm/apt/$(REPO_RADEON_VERSION)/pool/main/h/hsa-amd-aqlprofile/ | grep -oP "href=\"\K[^\"]*$(lsb_release -rs)[^\"]*\.deb") && \
|
||||||
- task: Bash@3
|
wget -nv https://repo.radeon.com/rocm/apt/$(REPO_RADEON_VERSION)/pool/main/h/hsa-amd-aqlprofile/$packageName && \
|
||||||
displayName: 'Clean up aqlprofile'
|
mkdir -p hsa-amd-aqlprofile && \
|
||||||
inputs:
|
dpkg-deb -R $packageName hsa-amd-aqlprofile
|
||||||
targetType: inline
|
elif [ "${{ parameters.os }}" = "almalinux8" ]; then
|
||||||
script: rm -rf hsa-amd-aqlprofile $(packageName)
|
sudo dnf -y install rpm-build cpio && \
|
||||||
workingDirectory: '$(Pipeline.Workspace)'
|
packageName=$(curl -s https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/ | grep -oP "hsa-amd-aqlprofile-[^\"]+\.rpm" | head -n1) && \
|
||||||
|
wget -nv https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/$packageName && \
|
||||||
|
mkdir -p hsa-amd-aqlprofile && \
|
||||||
|
rpm2cpio $packageName | (cd hsa-amd-aqlprofile && cpio -idmv)
|
||||||
|
else
|
||||||
|
echo "Unsupported OS: ${{ parameters.os }}"
|
||||||
|
exit 1
|
||||||
|
fi && \
|
||||||
|
mkdir -p $(Agent.BuildDirectory)/rocm && \
|
||||||
|
cp -R hsa-amd-aqlprofile/opt/rocm-*/* $(Agent.BuildDirectory)/rocm && \
|
||||||
|
rm -rf hsa-amd-aqlprofile $packageName
|
||||||
|
|||||||
@@ -1,10 +1,15 @@
|
|||||||
|
parameters:
|
||||||
|
- name: cmakeVersion
|
||||||
|
type: string
|
||||||
|
default: '3.31.0'
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Install CMake 3.31
|
displayName: Install CMake ${{ parameters.cmakeVersion }}
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
CMAKE_VERSION=3.31.0
|
CMAKE_VERSION=${{ parameters.cmakeVersion }}
|
||||||
CMAKE_ROOT="$(Pipeline.Workspace)/cmake"
|
CMAKE_ROOT="$(Pipeline.Workspace)/cmake"
|
||||||
|
|
||||||
echo "Downloading CMake $CMAKE_VERSION..."
|
echo "Downloading CMake $CMAKE_VERSION..."
|
||||||
@@ -52,12 +52,15 @@ parameters:
|
|||||||
libexpat-dev: expat-devel
|
libexpat-dev: expat-devel
|
||||||
libffi-dev: libffi-devel
|
libffi-dev: libffi-devel
|
||||||
libfftw3-dev: fftw-devel
|
libfftw3-dev: fftw-devel
|
||||||
|
libfmt-dev: fmt-devel
|
||||||
libgmp-dev: gmp-devel
|
libgmp-dev: gmp-devel
|
||||||
|
liblapack-dev: lapack-devel
|
||||||
liblzma-dev: xz-devel
|
liblzma-dev: xz-devel
|
||||||
libmpfr-dev: mpfr-devel
|
libmpfr-dev: mpfr-devel
|
||||||
libmsgpack-dev: msgpack-devel
|
libmsgpack-dev: msgpack-devel
|
||||||
libncurses5-dev: ncurses-devel
|
libncurses5-dev: ncurses-devel
|
||||||
libnuma-dev: numactl-devel
|
libnuma-dev: numactl-devel
|
||||||
|
libopenblas-dev: openblas-devel
|
||||||
libopenmpi-dev: openmpi-devel
|
libopenmpi-dev: openmpi-devel
|
||||||
libpci-dev: libpciaccess-devel
|
libpci-dev: libpciaccess-devel
|
||||||
libssl-dev: openssl-devel
|
libssl-dev: openssl-devel
|
||||||
@@ -86,6 +89,7 @@ steps:
|
|||||||
- ${{ if eq(parameters.registerROCmPackages, true) }}:
|
- ${{ if eq(parameters.registerROCmPackages, true) }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'Register AMDGPU & ROCm repos (dnf)'
|
displayName: 'Register AMDGPU & ROCm repos (dnf)'
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
@@ -106,12 +110,13 @@ steps:
|
|||||||
sudo dnf makecache
|
sudo dnf makecache
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'Install base dnf packages'
|
displayName: 'Install base dnf packages'
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
sudo dnf config-manager --set-enabled powertools
|
|
||||||
# rpm fusion free repo for some dependencies
|
# rpm fusion free repo for some dependencies
|
||||||
sudo dnf -y install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
|
sudo dnf config-manager --set-enabled powertools && \
|
||||||
|
sudo dnf -y install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm && \
|
||||||
sudo dnf -y install ${{ join(' ', parameters.basePackages) }}
|
sudo dnf -y install ${{ join(' ', parameters.basePackages) }}
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'Check gcc environment'
|
displayName: 'Check gcc environment'
|
||||||
@@ -125,6 +130,7 @@ steps:
|
|||||||
g++ -print-file-name=libstdc++.so
|
g++ -print-file-name=libstdc++.so
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'Set python 3.11 as default'
|
displayName: 'Set python 3.11 as default'
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
@@ -139,18 +145,20 @@ steps:
|
|||||||
- ${{ if eq(pkg, 'ninja-build') }}:
|
- ${{ if eq(pkg, 'ninja-build') }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'Install ninja 1.11.1'
|
displayName: 'Install ninja 1.11.1'
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
curl -LO https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-linux.zip
|
sudo dnf -y install unzip && \
|
||||||
sudo dnf -y install unzip
|
curl -LO https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-linux.zip && \
|
||||||
unzip ninja-linux.zip
|
unzip ninja-linux.zip && \
|
||||||
sudo mv ninja /usr/local/bin/ninja
|
sudo mv ninja /usr/local/bin/ninja && \
|
||||||
sudo chmod +x /usr/local/bin/ninja
|
sudo chmod +x /usr/local/bin/ninja && \
|
||||||
echo "##vso[task.prependpath]/usr/local/bin"
|
echo "##vso[task.prependpath]/usr/local/bin"
|
||||||
- ${{ if ne(parameters.aptToDnfMap[pkg], '') }}:
|
- ${{ if ne(parameters.aptToDnfMap[pkg], '') }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'dnf install ${{ parameters.aptToDnfMap[pkg] }}'
|
displayName: 'dnf install ${{ parameters.aptToDnfMap[pkg] }}'
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ steps:
|
|||||||
- ${{ if gt(length(parameters.pipModules), 0) }}:
|
- ${{ if gt(length(parameters.pipModules), 0) }}:
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: 'pip install ...'
|
displayName: 'pip install ...'
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: python3 -m pip install -v --force-reinstall ${{ join(' ', parameters.pipModules) }}
|
script: python3 -m pip install -v --force-reinstall ${{ join(' ', parameters.pipModules) }}
|
||||||
|
|||||||
@@ -3,13 +3,6 @@ parameters:
|
|||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
- name: dependencySource # optional, overrides checkoutRef
|
|
||||||
type: string
|
|
||||||
default: null
|
|
||||||
values:
|
|
||||||
- null # empty strings aren't allowed as values, use null instead
|
|
||||||
- staging
|
|
||||||
- mainline
|
|
||||||
- name: dependencyList
|
- name: dependencyList
|
||||||
type: object
|
type: object
|
||||||
default: []
|
default: []
|
||||||
@@ -19,16 +12,6 @@ parameters:
|
|||||||
- name: gpuTarget
|
- name: gpuTarget
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
# set to true if you're calling this template file multiple files in same pipeline
|
|
||||||
# only leave last call false to optimize sequence
|
|
||||||
- name: skipLibraryLinking
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if llvm-project is not downloaded in a particular call
|
|
||||||
# or if you just don't want the symlink
|
|
||||||
- name: skipLlvmSymlink
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
# set to true if dlopen calls for HIP libraries are causing failures
|
# set to true if dlopen calls for HIP libraries are causing failures
|
||||||
# because they do not follow shared library symlink convention
|
# because they do not follow shared library symlink convention
|
||||||
- name: setupHIPLibrarySymlinks
|
- name: setupHIPLibrarySymlinks
|
||||||
@@ -48,309 +31,248 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
AMDMIGraphX:
|
AMDMIGraphX:
|
||||||
pipelineId: $(AMDMIGRAPHX_PIPELINE_ID)
|
pipelineId: 113
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: master
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
amdsmi:
|
amdsmi:
|
||||||
pipelineId: $(AMDSMI_PIPELINE_ID)
|
pipelineId: 99
|
||||||
stagingBranch: amd-staging
|
developBranch: amd-staging
|
||||||
mainlineBranch: amd-mainline
|
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
aomp-extras:
|
aomp-extras:
|
||||||
pipelineId: $(AOMP_EXTRAS_PIPELINE_ID)
|
pipelineId: 111
|
||||||
stagingBranch: aomp-dev
|
developBranch: aomp-dev
|
||||||
mainlineBranch: aomp-dev
|
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
aomp:
|
aomp:
|
||||||
pipelineId: $(AOMP_PIPELINE_ID)
|
pipelineId: 115
|
||||||
stagingBranch: aomp-dev
|
developBranch: aomp-dev
|
||||||
mainlineBranch: amd-mainline
|
hasGpuTarget: false
|
||||||
|
aqlprofile:
|
||||||
|
pipelineId: 365
|
||||||
|
developBranch: develop
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
clr:
|
clr:
|
||||||
pipelineId: $(CLR_PIPELINE_ID)
|
pipelineId: 335
|
||||||
stagingBranch: amd-staging
|
developBranch: develop
|
||||||
mainlineBranch: amd-mainline
|
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
composable_kernel:
|
composable_kernel:
|
||||||
pipelineId: $(COMPOSABLE_KERNEL_PIPELINE_ID)
|
pipelineId: 86
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: mainline
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
half:
|
half:
|
||||||
pipelineId: $(HALF_PIPELINE_ID)
|
pipelineId: 101
|
||||||
stagingBranch: rocm
|
developBranch: rocm
|
||||||
mainlineBranch: rocm
|
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
HIP:
|
HIP:
|
||||||
pipelineId: $(HIP_PIPELINE_ID)
|
pipelineId: 335
|
||||||
stagingBranch: amd-staging
|
developBranch: develop
|
||||||
mainlineBranch: amd-mainline
|
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
hip-tests:
|
hip-tests:
|
||||||
pipelineId: $(HIP_TESTS_PIPELINE_ID)
|
pipelineId: 362
|
||||||
stagingBranch: amd-staging
|
developBranch: develop
|
||||||
mainlineBranch: amd-mainline
|
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
hipBLAS:
|
hipBLAS:
|
||||||
pipelineId: $(HIPBLAS_PIPELINE_ID)
|
pipelineId: 317
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: mainline
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
hipBLASLt:
|
hipBLASLt:
|
||||||
pipelineId: $(HIPBLASLT_PIPELINE_ID)
|
pipelineId: 301
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: mainline
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
hipBLAS-common:
|
hipBLAS-common:
|
||||||
pipelineId: $(HIPBLAS_COMMON_PIPELINE_ID)
|
pipelineId: 300
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: mainline
|
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
hipCUB:
|
hipCUB:
|
||||||
pipelineId: $(HIPCUB_PIPELINE_ID)
|
pipelineId: 277
|
||||||
stagingBranch: release-staging/rocm-rel-7.0
|
developBranch: develop
|
||||||
mainlineBranch: develop
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
hipFFT:
|
hipFFT:
|
||||||
pipelineId: $(HIPFFT_PIPELINE_ID)
|
pipelineId: 283
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: mainline
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
hipfort:
|
hipfort:
|
||||||
pipelineId: $(HIPFORT_PIPELINE_ID)
|
pipelineId: 102
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: mainline
|
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
HIPIFY:
|
HIPIFY:
|
||||||
pipelineId: $(HIPIFY_PIPELINE_ID)
|
pipelineId: 92
|
||||||
stagingBranch: amd-staging
|
developBranch: amd-staging
|
||||||
mainlineBranch: amd-mainline
|
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
hipRAND:
|
hipRAND:
|
||||||
pipelineId: $(HIPRAND_PIPELINE_ID)
|
pipelineId: 275
|
||||||
stagingBranch: release-staging/rocm-rel-7.0
|
developBranch: develop
|
||||||
mainlineBranch: develop
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
hipSOLVER:
|
hipSOLVER:
|
||||||
pipelineId: $(HIPSOLVER_PIPELINE_ID)
|
pipelineId: 84
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: mainline
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
hipSPARSE:
|
hipSPARSE:
|
||||||
pipelineId: $(HIPSPARSE_PIPELINE_ID)
|
pipelineId: 315
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: mainline
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
hipSPARSELt:
|
hipSPARSELt:
|
||||||
pipelineId: $(HIPSPARSELT_PIPELINE_ID)
|
pipelineId: 309
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: mainline
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
hipTensor:
|
hipTensor:
|
||||||
pipelineId: $(HIPTENSOR_PIPELINE_ID)
|
pipelineId: 105
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: mainline
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
llvm-project:
|
llvm-project:
|
||||||
pipelineId: $(LLVM_PROJECT_PIPELINE_ID)
|
pipelineId: 2
|
||||||
stagingBranch: amd-staging
|
developBranch: amd-staging
|
||||||
mainlineBranch: amd-mainline
|
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
MIOpen:
|
MIOpen:
|
||||||
pipelineId: $(MIOpen_PIPELINE_ID)
|
pipelineId: 320
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: amd-master
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
MIVisionX:
|
MIVisionX:
|
||||||
pipelineId: $(MIVISIONX_PIPELINE_ID)
|
pipelineId: 80
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: master
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
omnitrace: # deprecated
|
origami:
|
||||||
pipelineId: $(OMNITRACE_PIPELINE_ID)
|
pipelineId: 364
|
||||||
stagingBranch: amd-staging
|
developBranch: develop
|
||||||
mainlineBranch: amd-mainline
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rccl:
|
rccl:
|
||||||
pipelineId: $(RCCL_PIPELINE_ID)
|
pipelineId: 107
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: mainline
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rdc:
|
rdc:
|
||||||
pipelineId: $(RDC_PIPELINE_ID)
|
pipelineId: 360
|
||||||
stagingBranch: amd-staging
|
developBranch: develop
|
||||||
mainlineBranch: amd-mainline
|
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocAL:
|
rocAL:
|
||||||
pipelineId: $(ROCAL_PIPELINE_ID)
|
pipelineId: 151
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: mainline
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocALUTION:
|
rocALUTION:
|
||||||
pipelineId: $(ROCALUTION_PIPELINE_ID)
|
pipelineId: 89
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: mainline
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocBLAS:
|
rocBLAS:
|
||||||
pipelineId: $(ROCBLAS_PIPELINE_ID)
|
pipelineId: 302
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: mainline
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
ROCdbgapi:
|
ROCdbgapi:
|
||||||
pipelineId: $(ROCDBGAPI_PIPELINE_ID)
|
pipelineId: 135
|
||||||
stagingBranch: amd-staging
|
developBranch: amd-staging
|
||||||
mainlineBranch: amd-mainline
|
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocDecode:
|
rocDecode:
|
||||||
pipelineId: $(ROCDECODE_PIPELINE_ID)
|
pipelineId: 79
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: mainline
|
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocFFT:
|
rocFFT:
|
||||||
pipelineId: $(ROCFFT_PIPELINE_ID)
|
pipelineId: 282
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: mainline
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
ROCgdb:
|
ROCgdb:
|
||||||
pipelineId: $(ROCGDB_PIPELINE_ID)
|
pipelineId: 134
|
||||||
stagingBranch: amd-staging
|
developBranch: amd-staging
|
||||||
mainlineBranch: amd-mainline-rocgdb-15
|
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocJPEG:
|
rocJPEG:
|
||||||
pipelineId: $(ROCJPEG_PIPELINE_ID)
|
pipelineId: 262
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: mainline
|
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocm-cmake:
|
rocm-cmake:
|
||||||
pipelineId: $(ROCM_CMAKE_PIPELINE_ID)
|
pipelineId: 6
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: mainline
|
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocm-core:
|
rocm-core:
|
||||||
pipelineId: $(ROCM_CORE_PIPELINE_ID)
|
pipelineId: 349
|
||||||
stagingBranch: master
|
developBranch: develop
|
||||||
mainlineBranch: amd-master
|
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocm-examples:
|
rocm-examples:
|
||||||
pipelineId: $(ROCM_EXAMPLES_PIPELINE_ID)
|
pipelineId: 216
|
||||||
stagingBranch: amd-staging
|
developBranch: amd-staging
|
||||||
mainlineBranch: amd-mainline
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocminfo:
|
rocminfo:
|
||||||
pipelineId: $(ROCMINFO_PIPELINE_ID)
|
pipelineId: 356
|
||||||
stagingBranch: amd-staging
|
developBranch: develop
|
||||||
mainlineBranch: amd-mainline
|
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocMLIR:
|
rocMLIR:
|
||||||
pipelineId: $(ROCMLIR_PIPELINE_ID)
|
pipelineId: 229
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: mainline
|
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
ROCmValidationSuite:
|
ROCmValidationSuite:
|
||||||
pipelineId: $(ROCMVALIDATIONSUITE_PIPELINE_ID)
|
pipelineId: 106
|
||||||
stagingBranch: master
|
developBranch: master
|
||||||
mainlineBranch: master
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocm_bandwidth_test:
|
rocm_bandwidth_test:
|
||||||
pipelineId: $(ROCM_BANDWIDTH_TEST_PIPELINE_ID)
|
pipelineId: 88
|
||||||
stagingBranch: master
|
developBranch: master
|
||||||
mainlineBranch: master
|
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocm_smi_lib:
|
rocm_smi_lib:
|
||||||
pipelineId: $(ROCM_SMI_LIB_PIPELINE_ID)
|
pipelineId: 358
|
||||||
stagingBranch: amd-staging
|
developBranch: develop
|
||||||
mainlineBranch: amd-mainline
|
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocPRIM:
|
rocPRIM:
|
||||||
pipelineId: $(ROCPRIM_PIPELINE_ID)
|
pipelineId: 273
|
||||||
stagingBranch: release-staging/rocm-rel-7.0
|
developBranch: develop
|
||||||
mainlineBranch: develop
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocprofiler:
|
rocprofiler:
|
||||||
pipelineId: $(ROCPROFILER_PIPELINE_ID)
|
pipelineId: 329
|
||||||
stagingBranch: amd-staging
|
developBranch: develop
|
||||||
mainlineBranch: amd-master
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocprofiler-compute:
|
rocprofiler-compute:
|
||||||
pipelineId: $(ROCPROFILER_COMPUTE_PIPELINE_ID)
|
pipelineId: 344
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: amd-mainline
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocprofiler-register:
|
rocprofiler-register:
|
||||||
pipelineId: $(ROCPROFILER_REGISTER_PIPELINE_ID)
|
pipelineId: 327
|
||||||
stagingBranch: amd-staging
|
developBranch: develop
|
||||||
mainlineBranch: amd-mainline
|
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocprofiler-sdk:
|
rocprofiler-sdk:
|
||||||
pipelineId: $(ROCPROFILER_SDK_PIPELINE_ID)
|
pipelineId: 347
|
||||||
stagingBranch: amd-staging
|
developBranch: develop
|
||||||
mainlineBranch: amd-mainline
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocprofiler-systems:
|
rocprofiler-systems:
|
||||||
pipelineId: $(ROCPROFILER_SYSTEMS_PIPELINE_ID)
|
pipelineId: 345
|
||||||
stagingBranch: amd-staging
|
developBranch: develop
|
||||||
mainlineBranch: amd-mainline
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocPyDecode:
|
rocPyDecode:
|
||||||
pipelineId: $(ROCPYDECODE_PIPELINE_ID)
|
pipelineId: 239
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: mainline
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
ROCR-Runtime:
|
ROCR-Runtime:
|
||||||
pipelineId: $(ROCR_RUNTIME_PIPELINE_ID)
|
pipelineId: 354
|
||||||
stagingBranch: amd-staging
|
developBranch: develop
|
||||||
mainlineBranch: amd-mainline
|
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocRAND:
|
rocRAND:
|
||||||
pipelineId: $(ROCRAND_PIPELINE_ID)
|
pipelineId: 274
|
||||||
stagingBranch: release-staging/rocm-rel-7.0
|
developBranch: develop
|
||||||
mainlineBranch: develop
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocr_debug_agent:
|
rocr_debug_agent:
|
||||||
pipelineId: $(ROCR_DEBUG_AGENT_PIPELINE_ID)
|
pipelineId: 136
|
||||||
stagingBranch: amd-staging
|
developBranch: amd-staging
|
||||||
mainlineBranch: amd-mainline
|
|
||||||
hasGpuTarget: false
|
hasGpuTarget: false
|
||||||
rocSOLVER:
|
rocSOLVER:
|
||||||
pipelineId: $(ROCSOLVER_PIPELINE_ID)
|
pipelineId: 81
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: mainline
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocSPARSE:
|
rocSPARSE:
|
||||||
pipelineId: $(ROCSPARSE_PIPELINE_ID)
|
pipelineId: 314
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: mainline
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
ROCT-Thunk-Interface: # deprecated
|
|
||||||
pipelineId: $(ROCT_THUNK_INTERFACE_PIPELINE_ID)
|
|
||||||
stagingBranch: master
|
|
||||||
mainlineBranch: master
|
|
||||||
hasGpuTarget: false
|
|
||||||
rocThrust:
|
rocThrust:
|
||||||
pipelineId: $(ROCTHRUST_PIPELINE_ID)
|
pipelineId: 276
|
||||||
stagingBranch: release-staging/rocm-rel-7.0
|
developBranch: develop
|
||||||
mainlineBranch: develop
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
roctracer:
|
roctracer:
|
||||||
pipelineId: $(ROCTRACER_PIPELINE_ID)
|
pipelineId: 331
|
||||||
stagingBranch: amd-staging
|
developBranch: develop
|
||||||
mainlineBranch: amd-mainline
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rocWMMA:
|
rocWMMA:
|
||||||
pipelineId: $(ROCWMMA_PIPELINE_ID)
|
pipelineId: 109
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: mainline
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
rpp:
|
rpp:
|
||||||
pipelineId: $(RPP_PIPELINE_ID)
|
pipelineId: 78
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: mainline
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
TransferBench:
|
TransferBench:
|
||||||
pipelineId: $(TRANSFERBENCH_PIPELINE_ID)
|
pipelineId: 265
|
||||||
stagingBranch: develop
|
developBranch: develop
|
||||||
mainlineBranch: mainline
|
|
||||||
hasGpuTarget: true
|
hasGpuTarget: true
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -366,87 +288,67 @@ steps:
|
|||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ split(dependency, ':')[0] }}
|
componentName: ${{ split(dependency, ':')[0] }}
|
||||||
pipelineId: ${{ parameters.componentVarList[split(dependency, ':')[0]].pipelineId }}
|
pipelineId: ${{ parameters.componentVarList[split(dependency, ':')[0]].pipelineId }}
|
||||||
|
branchName: ${{ parameters.componentVarList[split(dependency, ':')[0]].developBranch }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
${{ if parameters.componentVarList[split(dependency, ':')[0]].hasGpuTarget }}:
|
extractAndDeleteFiles: false
|
||||||
fileFilter: "${{ split(dependency, ':')[1] }}*_${{ parameters.os }}_${{ parameters.gpuTarget }}"
|
|
||||||
# dependencySource = staging
|
|
||||||
${{ if eq(parameters.dependencySource, 'staging')}}:
|
|
||||||
branchName: ${{ parameters.componentVarList[split(dependency, ':')[0]].stagingBranch }}
|
|
||||||
# dependencySource = mainline
|
|
||||||
${{ elseif eq(parameters.dependencySource, 'mainline')}}:
|
|
||||||
branchName: ${{ parameters.componentVarList[split(dependency, ':')[0]].mainlineBranch }}
|
|
||||||
# checkoutRef = staging
|
|
||||||
${{ elseif eq(parameters.checkoutRef, parameters.componentVarList[variables['Build.DefinitionName']].stagingBranch) }}:
|
|
||||||
branchName: ${{ parameters.componentVarList[split(dependency, ':')[0]].stagingBranch }}
|
|
||||||
# checkoutRef = mainline
|
|
||||||
${{ elseif eq(parameters.checkoutRef, parameters.componentVarList[variables['Build.DefinitionName']].mainlineBranch) }}:
|
|
||||||
branchName: ${{ parameters.componentVarList[split(dependency, ':')[0]].mainlineBranch }}
|
|
||||||
# SourceBranchName = staging
|
|
||||||
${{ elseif eq(variables['Build.SourceBranchName'], parameters.componentVarlist[variables['Build.DefinitionName']].stagingBranch) }}:
|
|
||||||
branchName: ${{ parameters.componentVarList[split(dependency, ':')[0]].stagingBranch }}
|
|
||||||
# SourceBranchName = mainline
|
|
||||||
${{ elseif eq(variables['Build.SourceBranchName'], parameters.componentVarlist[variables['Build.DefinitionName']].mainlineBranch) }}:
|
|
||||||
branchName: ${{ parameters.componentVarList[split(dependency, ':')[0]].mainlineBranch }}
|
|
||||||
# default = staging
|
|
||||||
${{ else }}:
|
|
||||||
branchName: ${{ parameters.componentVarList[split(dependency, ':')[0]].stagingBranch }}
|
|
||||||
# no colon (:) found in this item in the list
|
# no colon (:) found in this item in the list
|
||||||
- ${{ elseif containsValue(split(parameters.downstreamAggregateNames, '+'), dependency) }}:
|
- ${{ elseif containsValue(split(parameters.downstreamAggregateNames, '+'), dependency) }}:
|
||||||
- template: local-artifact-download.yml
|
- template: local-artifact-download.yml
|
||||||
parameters:
|
parameters:
|
||||||
${{ if parameters.componentVarList[dependency].hasGpuTarget }}:
|
buildType: current
|
||||||
gpuTarget: ${{ parameters.gpuTarget }}
|
|
||||||
preTargetFilter: ${{ dependency }}
|
preTargetFilter: ${{ dependency }}
|
||||||
os: ${{ parameters.os }}
|
os: ${{ parameters.os }}
|
||||||
buildType: current
|
${{ if parameters.componentVarList[dependency].hasGpuTarget }}:
|
||||||
|
gpuTarget: ${{ parameters.gpuTarget }}
|
||||||
- ${{ else }}:
|
- ${{ else }}:
|
||||||
- template: artifact-download.yml
|
- template: artifact-download.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: ${{ dependency }}
|
componentName: ${{ dependency }}
|
||||||
pipelineId: ${{ parameters.componentVarList[dependency].pipelineId }}
|
pipelineId: ${{ parameters.componentVarList[dependency].pipelineId }}
|
||||||
|
branchName: ${{ parameters.componentVarList[dependency].developBranch }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
extractAndDeleteFiles: false
|
||||||
${{ if parameters.componentVarList[dependency].hasGpuTarget }}:
|
${{ if parameters.componentVarList[dependency].hasGpuTarget }}:
|
||||||
fileFilter: ${{ parameters.os }}_${{ parameters.gpuTarget }}
|
fileFilter: ${{ parameters.os }}_${{ parameters.gpuTarget }}
|
||||||
${{ else }}:
|
${{ else }}:
|
||||||
fileFilter: ${{ parameters.os }}
|
fileFilter: ${{ parameters.os }}
|
||||||
# dependencySource = staging
|
- task: ExtractFiles@1
|
||||||
${{ if eq(parameters.dependencySource, 'staging')}}:
|
displayName: Extract ROCm artifacts
|
||||||
branchName: ${{ parameters.componentVarList[dependency].stagingBranch }}
|
inputs:
|
||||||
# dependencySource = mainline
|
archiveFilePatterns: $(Pipeline.Workspace)/d/**/*.tar.gz
|
||||||
${{ elseif eq(parameters.dependencySource, 'mainline')}}:
|
destinationFolder: $(Agent.BuildDirectory)/rocm
|
||||||
branchName: ${{ parameters.componentVarList[dependency].mainlineBranch }}
|
cleanDestinationFolder: false
|
||||||
# checkoutRef = staging
|
overwriteExistingFiles: true
|
||||||
${{ elseif eq(parameters.checkoutRef, parameters.componentVarList[variables['Build.DefinitionName']].stagingBranch) }}:
|
- task: DeleteFiles@1
|
||||||
branchName: ${{ parameters.componentVarList[dependency].stagingBranch }}
|
displayName: Clean up ROCm artifacts
|
||||||
# checkoutRef = mainline
|
inputs:
|
||||||
${{ elseif eq(parameters.checkoutRef, parameters.componentVarList[variables['Build.DefinitionName']].mainlineBranch) }}:
|
SourceFolder: $(Pipeline.Workspace)/d
|
||||||
branchName: ${{ parameters.componentVarList[dependency].mainlineBranch }}
|
Contents: '**/*.tar.gz'
|
||||||
# SourceBranchName = staging
|
RemoveDotFiles: true
|
||||||
${{ elseif eq(variables['Build.SourceBranchName'], parameters.componentVarlist[variables['Build.DefinitionName']].stagingBranch) }}:
|
- ${{ if containsValue(parameters.dependencyList, 'llvm-project') }}:
|
||||||
branchName: ${{ parameters.componentVarList[dependency].stagingBranch }}
|
|
||||||
# SourceBranchName = mainline
|
|
||||||
${{ elseif eq(variables['Build.SourceBranchName'], parameters.componentVarlist[variables['Build.DefinitionName']].mainlineBranch) }}:
|
|
||||||
branchName: ${{ parameters.componentVarList[dependency].mainlineBranch }}
|
|
||||||
# default = staging
|
|
||||||
${{ else }}:
|
|
||||||
branchName: ${{ parameters.componentVarList[dependency].stagingBranch }}
|
|
||||||
# Set link to redirect llvm folder
|
|
||||||
- ${{ if eq(parameters.skipLlvmSymlink, false) }}:
|
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Symlink from rocm/llvm to rocm/lib/llvm
|
displayName: Symlink from rocm/llvm to rocm/lib/llvm
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
sudo mkdir -p $(Agent.BuildDirectory)/rocm/lib
|
sudo mkdir -p $(Agent.BuildDirectory)/rocm/lib
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm/llvm $(Agent.BuildDirectory)/rocm/lib/llvm
|
sudo ln -sr $(Agent.BuildDirectory)/rocm/llvm $(Agent.BuildDirectory)/rocm/lib/llvm
|
||||||
|
echo "Created symlink from rocm/llvm to rocm/lib/llvm"
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Symlink executables from rocm/llvm/bin to rocm/bin
|
displayName: Symlink executables from rocm/llvm/bin to rocm/bin
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
for file in amdclang amdclang++ amdclang-cl amdclang-cpp amdflang amdlld aompcc mygpu mycpu offload-arch; do
|
for file in amdclang amdclang++ amdclang-cl amdclang-cpp amdflang amdlld aompcc mygpu mycpu offload-arch; do
|
||||||
sudo ln -s $(Agent.BuildDirectory)/rocm/llvm/bin/$file $(Agent.BuildDirectory)/rocm/bin/$file
|
sudo ln -sr $(Agent.BuildDirectory)/rocm/llvm/bin/$file $(Agent.BuildDirectory)/rocm/bin/$file
|
||||||
|
echo "Created symlink from rocm/llvm/bin/$file to rocm/bin/$file"
|
||||||
done
|
done
|
||||||
|
- ${{ if containsValue(parameters.dependencyList, 'rocm-core') }}:
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Print rocm/.info/version
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: cat $(Agent.BuildDirectory)/rocm/.info/version
|
||||||
# dlopen calls within a ctest or pytest sequence runs into issues when shared library symlink convention is not followed
|
# dlopen calls within a ctest or pytest sequence runs into issues when shared library symlink convention is not followed
|
||||||
# the convention is as follows:
|
# the convention is as follows:
|
||||||
# unversioned .so is a symlink to major version .so
|
# unversioned .so is a symlink to major version .so
|
||||||
@@ -483,17 +385,16 @@ steps:
|
|||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: ls -la1R $(Agent.BuildDirectory)/rocm
|
script: ls -la1R $(Agent.BuildDirectory)/rocm
|
||||||
- ${{ if eq(parameters.skipLibraryLinking, false) }}:
|
- task: Bash@3
|
||||||
- task: Bash@3
|
displayName: 'Link ROCm shared libraries'
|
||||||
displayName: 'Link ROCm shared libraries'
|
inputs:
|
||||||
inputs:
|
targetType: inline
|
||||||
targetType: inline
|
# OS ignores if the ROCm lib folder shows up more than once
|
||||||
# OS ignores if the ROCm lib folder shows up more than once
|
script: |
|
||||||
script: |
|
echo $(Agent.BuildDirectory)/rocm/lib | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
||||||
echo $(Agent.BuildDirectory)/rocm/lib | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
echo $(Agent.BuildDirectory)/rocm/llvm/lib | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
||||||
echo $(Agent.BuildDirectory)/rocm/llvm/lib | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
echo $(Agent.BuildDirectory)/rocm/lib64 | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
||||||
echo $(Agent.BuildDirectory)/rocm/lib64 | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
echo $(Agent.BuildDirectory)/rocm/llvm/lib64 | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
||||||
echo $(Agent.BuildDirectory)/rocm/llvm/lib64 | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf
|
sudo cat /etc/ld.so.conf.d/rocm-ci.conf
|
||||||
sudo cat /etc/ld.so.conf.d/rocm-ci.conf
|
sudo ldconfig -v
|
||||||
sudo ldconfig -v
|
ldconfig -p
|
||||||
ldconfig -p
|
|
||||||
|
|||||||
@@ -8,15 +8,20 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
boost: 250
|
boost: 250
|
||||||
|
catch2: 343
|
||||||
|
fmtlib: 341
|
||||||
grpc: 72
|
grpc: 72
|
||||||
gtest: 73
|
gtest: 73
|
||||||
half560: 68
|
half560: 68
|
||||||
lapack: 69
|
lapack: 69
|
||||||
|
libdivide: 342
|
||||||
|
spdlog: 340
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- ${{ each dependency in parameters.dependencyList }}:
|
- ${{ each dependency in parameters.dependencyList }}:
|
||||||
- task: DownloadPipelineArtifact@2
|
- task: DownloadPipelineArtifact@2
|
||||||
displayName: Download ${{ dependency }}
|
displayName: Download ${{ dependency }}
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
inputs:
|
inputs:
|
||||||
project: ROCm-CI
|
project: ROCm-CI
|
||||||
buildType: specific
|
buildType: specific
|
||||||
@@ -28,7 +33,7 @@ steps:
|
|||||||
inputs:
|
inputs:
|
||||||
archiveFilePatterns: '$(Pipeline.Workspace)/d/**/*.tar.gz'
|
archiveFilePatterns: '$(Pipeline.Workspace)/d/**/*.tar.gz'
|
||||||
destinationFolder: $(Agent.BuildDirectory)/vendor
|
destinationFolder: $(Agent.BuildDirectory)/vendor
|
||||||
cleanDestinationFolder: true
|
cleanDestinationFolder: false
|
||||||
overwriteExistingFiles: true
|
overwriteExistingFiles: true
|
||||||
- task: DeleteFiles@1
|
- task: DeleteFiles@1
|
||||||
displayName: Clean up ${{ dependency }}
|
displayName: Clean up ${{ dependency }}
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ parameters:
|
|||||||
steps:
|
steps:
|
||||||
- task: DownloadPipelineArtifact@2
|
- task: DownloadPipelineArtifact@2
|
||||||
displayName: Download ${{ parameters.preTargetFilter}}*${{ parameters.os }}_${{ parameters.gpuTarget}}*${{ parameters.postTargetFilter}}
|
displayName: Download ${{ parameters.preTargetFilter}}*${{ parameters.os }}_${{ parameters.gpuTarget}}*${{ parameters.postTargetFilter}}
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
inputs:
|
inputs:
|
||||||
${{ if eq(parameters.buildType, 'specific') }}:
|
${{ if eq(parameters.buildType, 'specific') }}:
|
||||||
buildType: specific
|
buildType: specific
|
||||||
|
|||||||
@@ -23,13 +23,14 @@ steps:
|
|||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
sudo apt-get install -y jq
|
${{ iif(or(eq(parameters.os, 'ubuntu2204'), eq(parameters.os, 'ubuntu2404')), 'sudo apt-get install -y jq', '') }}
|
||||||
|
|
||||||
# RESOURCES_REPOSITORIES is a runtime variable (not an env var!) that contains quotations and newlines
|
# RESOURCES_REPOSITORIES is a runtime variable (not an env var!) that contains quotations and newlines
|
||||||
# So we need to save it to a file to properly preserve its formatting and contents
|
# So we need to save it to a file to properly preserve its formatting and contents
|
||||||
cat <<EOF > resources.repositories
|
cat <<EOF > resources.repositories
|
||||||
$(RESOURCES_REPOSITORIES)
|
$(RESOURCES_REPOSITORIES)
|
||||||
EOF
|
EOF
|
||||||
|
echo "Value of resources.repositories:"
|
||||||
cat resources.repositories
|
cat resources.repositories
|
||||||
|
|
||||||
IS_TAG_BUILD=$(jq 'has("release_repo")' resources.repositories)
|
IS_TAG_BUILD=$(jq 'has("release_repo")' resources.repositories)
|
||||||
@@ -66,8 +67,6 @@ steps:
|
|||||||
)
|
)
|
||||||
' resources.repositories)
|
' resources.repositories)
|
||||||
|
|
||||||
manifest_json=$(Build.ArtifactStagingDirectory)/manifest_${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.json
|
|
||||||
|
|
||||||
dependencies=()
|
dependencies=()
|
||||||
for manifest_file in $(Pipeline.Workspace)/d/**/manifest_*.json; do
|
for manifest_file in $(Pipeline.Workspace)/d/**/manifest_*.json; do
|
||||||
echo "Processing $manifest_file"
|
echo "Processing $manifest_file"
|
||||||
@@ -78,6 +77,10 @@ steps:
|
|||||||
done
|
done
|
||||||
dependencies_json=$(printf '%s\n' "${dependencies[@]}" | jq -s '.')
|
dependencies_json=$(printf '%s\n' "${dependencies[@]}" | jq -s '.')
|
||||||
|
|
||||||
|
manifest_filename="manifest_${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}"
|
||||||
|
echo "##vso[task.setvariable variable=manifest_filename]$manifest_filename"
|
||||||
|
manifest_json=$(Build.ArtifactStagingDirectory)/$manifest_filename.json
|
||||||
|
|
||||||
jq -n \
|
jq -n \
|
||||||
--argjson current "$current" \
|
--argjson current "$current" \
|
||||||
--argjson dependencies "$dependencies_json" \
|
--argjson dependencies "$dependencies_json" \
|
||||||
@@ -111,8 +114,14 @@ steps:
|
|||||||
')
|
')
|
||||||
dependencies_rows=$(echo $dependencies_rows)
|
dependencies_rows=$(echo $dependencies_rows)
|
||||||
echo "##vso[task.setvariable variable=dependencies_rows;]$dependencies_rows"
|
echo "##vso[task.setvariable variable=dependencies_rows;]$dependencies_rows"
|
||||||
|
- task: Bash@3
|
||||||
cat $manifest_json
|
displayName: Print manifest.json
|
||||||
|
condition: always()
|
||||||
|
continueOnError: true
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
cat $(Build.ArtifactStagingDirectory)/$(manifest_filename).json
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Create manifest.html
|
displayName: Create manifest.html
|
||||||
condition: always()
|
condition: always()
|
||||||
@@ -120,10 +129,10 @@ steps:
|
|||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
manifest_html=$(Build.ArtifactStagingDirectory)/manifest_${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.html
|
manifest_html="$(Build.ArtifactStagingDirectory)/$(manifest_filename).html"
|
||||||
cat <<EOF > $manifest_html
|
cat <<EOF > $manifest_html
|
||||||
<html>
|
<html>
|
||||||
<h1>Manifest</h1>
|
<h1>$(manifest_filename)</h1>
|
||||||
<h2>Current</h2>
|
<h2>Current</h2>
|
||||||
<table border="1">
|
<table border="1">
|
||||||
<tr>
|
<tr>
|
||||||
@@ -163,7 +172,7 @@ steps:
|
|||||||
continueOnError: true
|
continueOnError: true
|
||||||
inputs:
|
inputs:
|
||||||
tabName: Manifest
|
tabName: Manifest
|
||||||
reportDir: $(Build.ArtifactStagingDirectory)/manifest_${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.html
|
reportDir: $(Build.ArtifactStagingDirectory)/$(manifest_filename).html
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Save manifest artifact file name
|
displayName: Save manifest artifact file name
|
||||||
condition: always()
|
condition: always()
|
||||||
@@ -172,5 +181,5 @@ steps:
|
|||||||
workingDirectory: $(Pipeline.Workspace)
|
workingDirectory: $(Pipeline.Workspace)
|
||||||
targetType: inline
|
targetType: inline
|
||||||
script: |
|
script: |
|
||||||
echo "manifest_${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.html" >> pipelineArtifacts.txt
|
echo "$(manifest_filename).html" >> pipelineArtifacts.txt
|
||||||
echo "manifest_${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}.json" >> pipelineArtifacts.txt
|
echo "$(manifest_filename).json" >> pipelineArtifacts.txt
|
||||||
|
|||||||
@@ -7,17 +7,16 @@ steps:
|
|||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
name: downloadCKBuild
|
name: downloadCKBuild
|
||||||
displayName: Download specific CK build
|
displayName: Download specific CK build
|
||||||
continueOnError: true
|
retryCountOnTaskFailure: 3
|
||||||
env:
|
env:
|
||||||
CXX: $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
CXX: $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
CC: $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
CC: $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
targetType: inline
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
workingDirectory: $(Agent.BuildDirectory)/s
|
||||||
script: |
|
script: |
|
||||||
AZ_API="https://dev.azure.com/ROCm-CI/ROCm-CI/_apis"
|
AZ_API="https://dev.azure.com/ROCm-CI/ROCm-CI/_apis"
|
||||||
GH_API="https://api.github.com/repos/ROCm"
|
GH_API="https://api.github.com/repos/ROCm"
|
||||||
ARTIFACT_NAME="composablekernelbuild${{ parameters.gpuTarget }}"
|
|
||||||
EXIT_CODE=0
|
EXIT_CODE=0
|
||||||
|
|
||||||
# Try to find an Azure build for the specific CK commit called out in MIOpen's requirements.txt
|
# Try to find an Azure build for the specific CK commit called out in MIOpen's requirements.txt
|
||||||
@@ -39,8 +38,15 @@ steps:
|
|||||||
echo "Found specific CK build ID: $CK_BUILD_ID"
|
echo "Found specific CK build ID: $CK_BUILD_ID"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AZURE_URL="$AZ_API/build/builds/$CK_BUILD_ID/artifacts?artifactName=$ARTIFACT_NAME&api-version=7.1"
|
AZURE_URL="$AZ_API/build/builds/$CK_BUILD_ID/artifacts?api-version=7.1"
|
||||||
ARTIFACT_URL=$(curl -s $AZURE_URL | jq '.resource.downloadUrl' | tr -d '"')
|
ARTIFACT_URL=$(curl -s $AZURE_URL | \
|
||||||
|
jq --arg gfx "${{ parameters.gpuTarget }}" '
|
||||||
|
.value
|
||||||
|
| map(select(.name | test($gfx)))
|
||||||
|
| max_by(.name | capture("_(?<dropNumber>\\d+)").dropNumber | tonumber)
|
||||||
|
| .resource.downloadUrl
|
||||||
|
' | \
|
||||||
|
tr -d '"')
|
||||||
|
|
||||||
# If using the specific CK commit and it doesn't have any valid artifacts, use latest successful CK build instead
|
# If using the specific CK commit and it doesn't have any valid artifacts, use latest successful CK build instead
|
||||||
if { [[ -z "$ARTIFACT_URL" ]] || [[ "$ARTIFACT_URL" == "null" ]]; } && [[ $EXIT_CODE -eq 0 ]]; then
|
if { [[ -z "$ARTIFACT_URL" ]] || [[ "$ARTIFACT_URL" == "null" ]]; } && [[ $EXIT_CODE -eq 0 ]]; then
|
||||||
@@ -48,17 +54,45 @@ steps:
|
|||||||
LATEST_BUILD_URL="$AZ_API/build/builds?definitions=$(COMPOSABLE_KERNEL_PIPELINE_ID)&statusFilter=completed&resultFilter=succeeded&\$top=1&api-version=7.1"
|
LATEST_BUILD_URL="$AZ_API/build/builds?definitions=$(COMPOSABLE_KERNEL_PIPELINE_ID)&statusFilter=completed&resultFilter=succeeded&\$top=1&api-version=7.1"
|
||||||
CK_BUILD_ID=$(curl -s $LATEST_BUILD_URL | jq '.value[0].id')
|
CK_BUILD_ID=$(curl -s $LATEST_BUILD_URL | jq '.value[0].id')
|
||||||
echo "Found latest CK build ID: $CK_BUILD_ID"
|
echo "Found latest CK build ID: $CK_BUILD_ID"
|
||||||
AZURE_URL="$AZ_API/build/builds/$CK_BUILD_ID/artifacts?artifactName=$ARTIFACT_NAME&api-version=7.1"
|
AZURE_URL="$AZ_API/build/builds/$CK_BUILD_ID/artifacts?api-version=7.1"
|
||||||
ARTIFACT_URL=$(curl -s $AZURE_URL | jq '.resource.downloadUrl' | tr -d '"')
|
ARTIFACT_URL=$(curl -s $AZURE_URL | \
|
||||||
|
jq --arg os "ubuntu2204" --arg gfx "${{ parameters.gpuTarget }}" '
|
||||||
|
.value
|
||||||
|
| map(select(.name | test($os) and test($gfx)))
|
||||||
|
| max_by(.name | capture("_(?<dropNumber>\\d+)").dropNumber | tonumber)
|
||||||
|
| .resource.downloadUrl
|
||||||
|
' | \
|
||||||
|
tr -d '"')
|
||||||
EXIT_CODE=2
|
EXIT_CODE=2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Downloading CK artifact from $ARTIFACT_URL"
|
echo "Downloading CK artifact from $ARTIFACT_URL"
|
||||||
wget --tries=5 --waitretry=10 --retry-connrefused -nv $ARTIFACT_URL -O $(System.ArtifactsDirectory)/ck.zip
|
|
||||||
unzip $(System.ArtifactsDirectory)/ck.zip -d $(System.ArtifactsDirectory)
|
RETRIES=0
|
||||||
mkdir -p $(Agent.BuildDirectory)/rocm
|
MAX_RETRIES=5
|
||||||
tar -zxvf $(System.ArtifactsDirectory)/$ARTIFACT_NAME/*.tar.gz -C $(Agent.BuildDirectory)/rocm
|
SUCCESS=false
|
||||||
rm -r $(System.ArtifactsDirectory)/ck.zip $(System.ArtifactsDirectory)/$ARTIFACT_NAME
|
while [ $RETRIES -lt $MAX_RETRIES ]; do
|
||||||
|
wget -nv $ARTIFACT_URL -O $(System.ArtifactsDirectory)/ck.zip && \
|
||||||
|
unzip $(System.ArtifactsDirectory)/ck.zip -d $(System.ArtifactsDirectory) && \
|
||||||
|
mkdir -p $(Agent.BuildDirectory)/rocm && \
|
||||||
|
tar -zxvf $(System.ArtifactsDirectory)/composable_kernel*/*.tar.gz -C $(Agent.BuildDirectory)/rocm && \
|
||||||
|
rm -r $(System.ArtifactsDirectory)/ck.zip $(System.ArtifactsDirectory)/composable_kernel*
|
||||||
|
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
SUCCESS=true
|
||||||
|
echo "Successfully downloaded CK."
|
||||||
|
break
|
||||||
|
else
|
||||||
|
RETRIES=$((RETRIES + 1))
|
||||||
|
echo "Failed to download CK on attempt $RETRIES/$MAX_RETRIES, retrying..."
|
||||||
|
sleep 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "$SUCCESS" = false ]; then
|
||||||
|
echo "ERROR: failed to download CK after $MAX_RETRIES attempts."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ $EXIT_CODE -ne 0 ]]; then
|
if [[ $EXIT_CODE -ne 0 ]]; then
|
||||||
BUILD_COMMIT=$(curl -s $AZ_API/build/builds/$CK_BUILD_ID | jq '.sourceVersion' | tr -d '"')
|
BUILD_COMMIT=$(curl -s $AZ_API/build/builds/$CK_BUILD_ID | jq '.sourceVersion' | tr -d '"')
|
||||||
@@ -69,4 +103,3 @@ steps:
|
|||||||
fi
|
fi
|
||||||
echo "Instead used latest CK build $CK_BUILD_ID for commit $BUILD_COMMIT"
|
echo "Instead used latest CK build $CK_BUILD_ID for commit $BUILD_COMMIT"
|
||||||
fi
|
fi
|
||||||
exit $EXIT_CODE
|
|
||||||
|
|||||||
@@ -23,145 +23,25 @@ variables:
|
|||||||
value: rocm-ci_high_build_pool
|
value: rocm-ci_high_build_pool
|
||||||
- name: ULTRA_BUILD_POOL
|
- name: ULTRA_BUILD_POOL
|
||||||
value: rocm-ci_ultra_build_pool
|
value: rocm-ci_ultra_build_pool
|
||||||
- name: ON_PREM_BUILD_POOL
|
|
||||||
value: rocm-ci_build_pool
|
|
||||||
- name: LARGE_DISK_BUILD_POOL
|
|
||||||
value: rocm-ci_larger_base_disk_pool
|
|
||||||
- name: GFX942_TEST_POOL
|
- name: GFX942_TEST_POOL
|
||||||
value: gfx942_test_pool
|
value: gfx942_test_pool
|
||||||
- name: GFX90A_TEST_POOL
|
- name: GFX90A_TEST_POOL
|
||||||
value: gfx90a_test_pool
|
value: gfx90a_test_pool
|
||||||
- name: LATEST_RELEASE_VERSION
|
- name: LATEST_RELEASE_VERSION
|
||||||
value: 6.4.1
|
value: 6.4.3
|
||||||
- name: REPO_RADEON_VERSION
|
- name: REPO_RADEON_VERSION
|
||||||
value: 6.4.1
|
value: 6.4.3
|
||||||
- name: NEXT_RELEASE_VERSION
|
- name: NEXT_RELEASE_VERSION
|
||||||
value: 7.0.0
|
value: 7.0.0
|
||||||
- name: LATEST_RELEASE_TAG
|
- name: LATEST_RELEASE_TAG
|
||||||
value: rocm-6.4.1
|
value: rocm-6.4.3
|
||||||
- name: DOCKER_SKIP_GFX
|
- name: DOCKER_SKIP_GFX
|
||||||
value: gfx90a
|
value: gfx90a
|
||||||
- name: AMDMIGRAPHX_PIPELINE_ID
|
|
||||||
value: 113
|
|
||||||
- name: AMDSMI_PIPELINE_ID
|
|
||||||
value: 99
|
|
||||||
- name: AOMP_EXTRAS_PIPELINE_ID
|
|
||||||
value: 111
|
|
||||||
- name: AOMP_PIPELINE_ID
|
|
||||||
value: 115
|
|
||||||
- name: CLR_PIPELINE_ID
|
|
||||||
value: 145
|
|
||||||
- name: COMPOSABLE_KERNEL_PIPELINE_ID
|
- name: COMPOSABLE_KERNEL_PIPELINE_ID
|
||||||
value: 86
|
value: 86
|
||||||
- name: FLANG_LEGACY_PIPELINE_ID
|
|
||||||
value: 77
|
|
||||||
- name: HALF_PIPELINE_ID
|
|
||||||
value: 101
|
|
||||||
- name: HALF560_PIPELINE_ID
|
- name: HALF560_PIPELINE_ID
|
||||||
value: 68
|
value: 68
|
||||||
- name: HALF560_BUILD_ID
|
- name: HALF560_BUILD_ID
|
||||||
value: 621
|
value: 621
|
||||||
- name: HIP_PIPELINE_ID
|
- name: HIP_PIPELINE_ID
|
||||||
value: 93
|
value: 93
|
||||||
- name: HIP_TESTS_PIPELINE_ID
|
|
||||||
value: 233
|
|
||||||
- name: HIPBLAS_COMMON_PIPELINE_ID
|
|
||||||
value: 223
|
|
||||||
- name: HIPBLAS_PIPELINE_ID
|
|
||||||
value: 87
|
|
||||||
- name: HIPBLASLT_PIPELINE_ID
|
|
||||||
value: 112
|
|
||||||
- name: HIPCUB_PIPELINE_ID
|
|
||||||
value: 277
|
|
||||||
- name: HIPFFT_PIPELINE_ID
|
|
||||||
value: 121
|
|
||||||
- name: HIPFORT_PIPELINE_ID
|
|
||||||
value: 102
|
|
||||||
- name: HIPIFY_PIPELINE_ID
|
|
||||||
value: 92
|
|
||||||
- name: HIPRAND_PIPELINE_ID
|
|
||||||
value: 275
|
|
||||||
- name: HIPSOLVER_PIPELINE_ID
|
|
||||||
value: 84
|
|
||||||
- name: HIPSPARSE_PIPELINE_ID
|
|
||||||
value: 83
|
|
||||||
- name: HIPSPARSELT_PIPELINE_ID
|
|
||||||
value: 104
|
|
||||||
- name: HIPTENSOR_PIPELINE_ID
|
|
||||||
value: 105
|
|
||||||
- name: LLVM_PROJECT_PIPELINE_ID
|
|
||||||
value: 2
|
|
||||||
- name: MIOPEN_PIPELINE_ID
|
|
||||||
value: 108
|
|
||||||
- name: MIVISIONX_PIPELINE_ID
|
|
||||||
value: 80
|
|
||||||
- name: RCCL_PIPELINE_ID
|
|
||||||
value: 107
|
|
||||||
- name: RDC_PIPELINE_ID
|
|
||||||
value: 100
|
|
||||||
- name: ROCAL_PIPELINE_ID
|
|
||||||
value: 151
|
|
||||||
- name: ROCALUTION_PIPELINE_ID
|
|
||||||
value: 89
|
|
||||||
- name: ROCBLAS_PIPELINE_ID
|
|
||||||
value: 85
|
|
||||||
- name: ROCDBGAPI_PIPELINE_ID
|
|
||||||
value: 135
|
|
||||||
- name: ROCDECODE_PIPELINE_ID
|
|
||||||
value: 79
|
|
||||||
- name: ROCFFT_PIPELINE_ID
|
|
||||||
value: 120
|
|
||||||
- name: ROCGDB_PIPELINE_ID
|
|
||||||
value: 134
|
|
||||||
- name: ROCJPEG_PIPELINE_ID
|
|
||||||
value: 262
|
|
||||||
- name: ROCM_BANDWIDTH_TEST_PIPELINE_ID
|
|
||||||
value: 88
|
|
||||||
- name: ROCM_CMAKE_PIPELINE_ID
|
|
||||||
value: 6
|
|
||||||
- name: ROCM_CORE_PIPELINE_ID
|
|
||||||
value: 103
|
|
||||||
- name: ROCM_EXAMPLES_PIPELINE_ID
|
|
||||||
value: 216
|
|
||||||
- name: ROCM_SMI_LIB_PIPELINE_ID
|
|
||||||
value: 96
|
|
||||||
- name: ROCMINFO_PIPELINE_ID
|
|
||||||
value: 91
|
|
||||||
- name: ROCMLIR_PIPELINE_ID
|
|
||||||
value: 229
|
|
||||||
- name: ROCMVALIDATIONSUITE_PIPELINE_ID
|
|
||||||
value: 106
|
|
||||||
- name: ROCPRIM_PIPELINE_ID
|
|
||||||
value: 273
|
|
||||||
- name: ROCPROFILER_COMPUTE_PIPELINE_ID
|
|
||||||
value: 257
|
|
||||||
- name: ROCPROFILER_REGISTER_PIPELINE_ID
|
|
||||||
value: 1
|
|
||||||
- name: ROCPROFILER_SDK_PIPELINE_ID
|
|
||||||
value: 246
|
|
||||||
- name: ROCPROFILER_SYSTEMS_PIPELINE_ID
|
|
||||||
value: 255
|
|
||||||
- name: ROCPROFILER_PIPELINE_ID
|
|
||||||
value: 143
|
|
||||||
- name: ROCPYDECODE_PIPELINE_ID
|
|
||||||
value: 239
|
|
||||||
- name: ROCR_DEBUG_AGENT_PIPELINE_ID
|
|
||||||
value: 136
|
|
||||||
- name: ROCR_RUNTIME_PIPELINE_ID
|
|
||||||
value: 10
|
|
||||||
- name: ROCRAND_PIPELINE_ID
|
|
||||||
value: 274
|
|
||||||
- name: ROCSOLVER_PIPELINE_ID
|
|
||||||
value: 81
|
|
||||||
- name: ROCSPARSE_PIPELINE_ID
|
|
||||||
value: 98
|
|
||||||
- name: ROCTHRUST_PIPELINE_ID
|
|
||||||
value: 276
|
|
||||||
- name: ROCTRACER_PIPELINE_ID
|
|
||||||
value: 141
|
|
||||||
- name: ROCWMMA_PIPELINE_ID
|
|
||||||
value: 109
|
|
||||||
- name: RPP_PIPELINE_ID
|
|
||||||
value: 78
|
|
||||||
- name: TRANSFERBENCH_PIPELINE_ID
|
|
||||||
value: 265
|
|
||||||
|
|||||||
6
.gitmodules
vendored
6
.gitmodules
vendored
@@ -1,6 +0,0 @@
|
|||||||
[submodule "composable_kernel"]
|
|
||||||
path = composable_kernel
|
|
||||||
url = https://github.com/ROCm/composable_kernel.git
|
|
||||||
[submodule "amdsmi"]
|
|
||||||
path = amdsmi
|
|
||||||
url = https://github.com/ROCm/amdsmi.git
|
|
||||||
244
.wordlist.txt
244
.wordlist.txt
@@ -3,8 +3,7 @@ ABI
|
|||||||
ACE
|
ACE
|
||||||
ACEs
|
ACEs
|
||||||
ACS
|
ACS
|
||||||
AccVGPR
|
AITER
|
||||||
AccVGPRs
|
|
||||||
ALU
|
ALU
|
||||||
AMD
|
AMD
|
||||||
AMDGPU
|
AMDGPU
|
||||||
@@ -13,35 +12,44 @@ AMDMIGraphX
|
|||||||
AMI
|
AMI
|
||||||
AOCC
|
AOCC
|
||||||
AOMP
|
AOMP
|
||||||
|
AOT
|
||||||
AOTriton
|
AOTriton
|
||||||
APBDIS
|
APBDIS
|
||||||
APIC
|
APIC
|
||||||
APIs
|
APIs
|
||||||
APU
|
APU
|
||||||
APUs
|
APUs
|
||||||
|
ASAN
|
||||||
ASIC
|
ASIC
|
||||||
ASICs
|
ASICs
|
||||||
ASan
|
ASan
|
||||||
ASAN
|
|
||||||
ASm
|
ASm
|
||||||
ATI
|
ATI
|
||||||
atomicRMW
|
AccVGPR
|
||||||
|
AccVGPRs
|
||||||
AddressSanitizer
|
AddressSanitizer
|
||||||
AlexNet
|
AlexNet
|
||||||
|
AllReduce
|
||||||
Andrej
|
Andrej
|
||||||
Arb
|
Arb
|
||||||
Autocast
|
Autocast
|
||||||
BARs
|
BARs
|
||||||
|
BKC
|
||||||
BLAS
|
BLAS
|
||||||
BMC
|
BMC
|
||||||
BabelStream
|
BabelStream
|
||||||
|
BatchNorm
|
||||||
|
Bitwise
|
||||||
Blit
|
Blit
|
||||||
Blockwise
|
Blockwise
|
||||||
Bluefield
|
Bluefield
|
||||||
Bootloader
|
Bootloader
|
||||||
|
BrainFloat
|
||||||
|
Broadcom
|
||||||
CAS
|
CAS
|
||||||
CCD
|
CCD
|
||||||
CDNA
|
CDNA
|
||||||
|
CGUI
|
||||||
CHTML
|
CHTML
|
||||||
CIFAR
|
CIFAR
|
||||||
CLI
|
CLI
|
||||||
@@ -55,8 +63,8 @@ CPF
|
|||||||
CPP
|
CPP
|
||||||
CPU
|
CPU
|
||||||
CPUs
|
CPUs
|
||||||
Cron
|
|
||||||
CSC
|
CSC
|
||||||
|
CSDATA
|
||||||
CSE
|
CSE
|
||||||
CSV
|
CSV
|
||||||
CSn
|
CSn
|
||||||
@@ -65,40 +73,45 @@ CTests
|
|||||||
CU
|
CU
|
||||||
CUDA
|
CUDA
|
||||||
CUs
|
CUs
|
||||||
|
CX
|
||||||
CXX
|
CXX
|
||||||
Cavium
|
Cavium
|
||||||
CentOS
|
CentOS
|
||||||
ChatGPT
|
ChatGPT
|
||||||
CoRR
|
CoRR
|
||||||
Codespaces
|
Codespaces
|
||||||
|
ComfyUI
|
||||||
Commitizen
|
Commitizen
|
||||||
CommonMark
|
CommonMark
|
||||||
Concretized
|
Concretized
|
||||||
Conda
|
Conda
|
||||||
ConnectX
|
ConnectX
|
||||||
|
CountOnes
|
||||||
|
Cron
|
||||||
CuPy
|
CuPy
|
||||||
da
|
|
||||||
Dashboarding
|
|
||||||
DBRX
|
DBRX
|
||||||
DDR
|
DDR
|
||||||
DF
|
DF
|
||||||
DGEMM
|
DGEMM
|
||||||
dGPU
|
DGL
|
||||||
dGPUs
|
DGLGraph
|
||||||
DIMM
|
DIMM
|
||||||
DKMS
|
DKMS
|
||||||
DL
|
DL
|
||||||
DMA
|
DMA
|
||||||
DNN
|
DNN
|
||||||
DNNL
|
DNNL
|
||||||
|
DOMContentLoaded
|
||||||
DPM
|
DPM
|
||||||
DRI
|
DRI
|
||||||
DW
|
DW
|
||||||
DWORD
|
DWORD
|
||||||
|
Dashboarding
|
||||||
Dask
|
Dask
|
||||||
DataFrame
|
DataFrame
|
||||||
DataLoader
|
DataLoader
|
||||||
DataParallel
|
DataParallel
|
||||||
|
Dataloading
|
||||||
Debian
|
Debian
|
||||||
DeepSeek
|
DeepSeek
|
||||||
DeepSpeed
|
DeepSpeed
|
||||||
@@ -106,7 +119,9 @@ Dependabot
|
|||||||
Deprecations
|
Deprecations
|
||||||
DevCap
|
DevCap
|
||||||
DirectX
|
DirectX
|
||||||
|
Disaggregated
|
||||||
Dockerfile
|
Dockerfile
|
||||||
|
Dockerized
|
||||||
Doxygen
|
Doxygen
|
||||||
ELMo
|
ELMo
|
||||||
ENDPGM
|
ENDPGM
|
||||||
@@ -118,6 +133,7 @@ FFT
|
|||||||
FFTs
|
FFTs
|
||||||
FFmpeg
|
FFmpeg
|
||||||
FHS
|
FHS
|
||||||
|
FIFOs
|
||||||
FIXME
|
FIXME
|
||||||
FMA
|
FMA
|
||||||
FP
|
FP
|
||||||
@@ -125,10 +141,14 @@ FX
|
|||||||
Filesystem
|
Filesystem
|
||||||
FindDb
|
FindDb
|
||||||
Flang
|
Flang
|
||||||
|
FlashAttention
|
||||||
|
FlashInfer
|
||||||
|
FlashInfer’s
|
||||||
FluxBenchmark
|
FluxBenchmark
|
||||||
Fortran
|
Fortran
|
||||||
Fuyu
|
Fuyu
|
||||||
GALB
|
GALB
|
||||||
|
GAT
|
||||||
GCC
|
GCC
|
||||||
GCD
|
GCD
|
||||||
GCDs
|
GCDs
|
||||||
@@ -140,27 +160,32 @@ GDS
|
|||||||
GEMM
|
GEMM
|
||||||
GEMMs
|
GEMMs
|
||||||
GFLOPS
|
GFLOPS
|
||||||
GFortran
|
|
||||||
GFXIP
|
GFXIP
|
||||||
Gemma
|
GFortran
|
||||||
GiB
|
GGUF
|
||||||
GIM
|
GIM
|
||||||
GL
|
GL
|
||||||
Glibc
|
|
||||||
GLXT
|
GLXT
|
||||||
Gloo
|
|
||||||
GMI
|
GMI
|
||||||
GPG
|
GPG
|
||||||
|
GPGPU
|
||||||
GPR
|
GPR
|
||||||
GPT
|
GPT
|
||||||
GPU
|
GPU
|
||||||
GPU's
|
GPU's
|
||||||
GPUs
|
GPUs
|
||||||
GRBM
|
GRBM
|
||||||
|
GRE
|
||||||
|
Gemma
|
||||||
GenAI
|
GenAI
|
||||||
GenZ
|
GenZ
|
||||||
|
GiB
|
||||||
GitHub
|
GitHub
|
||||||
Gitpod
|
Gitpod
|
||||||
|
Glibc
|
||||||
|
Gloo
|
||||||
|
GraphSage
|
||||||
|
Graphbolt
|
||||||
HBM
|
HBM
|
||||||
HCA
|
HCA
|
||||||
HGX
|
HGX
|
||||||
@@ -177,20 +202,24 @@ HSA
|
|||||||
HW
|
HW
|
||||||
HWE
|
HWE
|
||||||
HWS
|
HWS
|
||||||
|
HX
|
||||||
Haswell
|
Haswell
|
||||||
Higgs
|
Higgs
|
||||||
Hyperparameters
|
|
||||||
Huggingface
|
Huggingface
|
||||||
|
HunyuanVideo
|
||||||
|
Hyperparameters
|
||||||
|
IB
|
||||||
ICD
|
ICD
|
||||||
|
ICT
|
||||||
ICV
|
ICV
|
||||||
IDE
|
IDE
|
||||||
IDEs
|
IDEs
|
||||||
IFWI
|
IFWI
|
||||||
IMDb
|
IMDb
|
||||||
IncDec
|
|
||||||
IOMMU
|
IOMMU
|
||||||
IOP
|
IOP
|
||||||
IOPM
|
IOPM
|
||||||
|
IOPS
|
||||||
IOV
|
IOV
|
||||||
IRQ
|
IRQ
|
||||||
ISA
|
ISA
|
||||||
@@ -198,6 +227,7 @@ ISV
|
|||||||
ISVs
|
ISVs
|
||||||
ITL
|
ITL
|
||||||
ImageNet
|
ImageNet
|
||||||
|
IncDec
|
||||||
InfiniBand
|
InfiniBand
|
||||||
Inlines
|
Inlines
|
||||||
IntelliSense
|
IntelliSense
|
||||||
@@ -206,8 +236,8 @@ Intersphinx
|
|||||||
Intra
|
Intra
|
||||||
Ioffe
|
Ioffe
|
||||||
JAX's
|
JAX's
|
||||||
Jinja
|
|
||||||
JSON
|
JSON
|
||||||
|
Jinja
|
||||||
Jupyter
|
Jupyter
|
||||||
KFD
|
KFD
|
||||||
KFDTest
|
KFDTest
|
||||||
@@ -215,9 +245,10 @@ KMD
|
|||||||
KV
|
KV
|
||||||
KVM
|
KVM
|
||||||
Karpathy's
|
Karpathy's
|
||||||
KiB
|
|
||||||
Keras
|
Keras
|
||||||
Khronos
|
Khronos
|
||||||
|
KiB
|
||||||
|
Kineto
|
||||||
LAPACK
|
LAPACK
|
||||||
LCLK
|
LCLK
|
||||||
LDS
|
LDS
|
||||||
@@ -225,19 +256,22 @@ LLM
|
|||||||
LLMs
|
LLMs
|
||||||
LLVM
|
LLVM
|
||||||
LM
|
LM
|
||||||
|
LRU
|
||||||
LSAN
|
LSAN
|
||||||
|
LSTMs
|
||||||
LSan
|
LSan
|
||||||
LTS
|
LTS
|
||||||
LanguageCrossEntropy
|
LanguageCrossEntropy
|
||||||
LoRA
|
LoRA
|
||||||
|
LteAll
|
||||||
|
MECO
|
||||||
MEM
|
MEM
|
||||||
MERCHANTABILITY
|
MERCHANTABILITY
|
||||||
MFMA
|
MFMA
|
||||||
MiB
|
|
||||||
MIGraphX
|
MIGraphX
|
||||||
MIOpen
|
MIOpen
|
||||||
MIOpenGEMM
|
|
||||||
MIOpen's
|
MIOpen's
|
||||||
|
MIOpenGEMM
|
||||||
MIVisionX
|
MIVisionX
|
||||||
MLM
|
MLM
|
||||||
MMA
|
MMA
|
||||||
@@ -250,45 +284,57 @@ MPT
|
|||||||
MSVC
|
MSVC
|
||||||
MVAPICH
|
MVAPICH
|
||||||
MVFFR
|
MVFFR
|
||||||
|
MXFP
|
||||||
Makefile
|
Makefile
|
||||||
Makefiles
|
Makefiles
|
||||||
|
ManyLinux
|
||||||
Matplotlib
|
Matplotlib
|
||||||
Matrox
|
Matrox
|
||||||
MaxText
|
MaxText
|
||||||
|
Megablocks
|
||||||
Megatrends
|
Megatrends
|
||||||
Megatron
|
Megatron
|
||||||
Mellanox
|
Mellanox
|
||||||
Mellanox's
|
Mellanox's
|
||||||
Meta's
|
Meta's
|
||||||
|
MiB
|
||||||
Miniconda
|
Miniconda
|
||||||
MirroredStrategy
|
MirroredStrategy
|
||||||
Mixtral
|
Mixtral
|
||||||
|
MoEs
|
||||||
|
Mooncake
|
||||||
MosaicML
|
MosaicML
|
||||||
|
Mpops
|
||||||
Multicore
|
Multicore
|
||||||
Multithreaded
|
Multithreaded
|
||||||
MyEnvironment
|
MyEnvironment
|
||||||
MyST
|
MyST
|
||||||
|
NANOO
|
||||||
NBIO
|
NBIO
|
||||||
NBIOs
|
NBIOs
|
||||||
NCCL
|
NCCL
|
||||||
NCF
|
NCF
|
||||||
|
NCS
|
||||||
NFS
|
NFS
|
||||||
NIC
|
NIC
|
||||||
NICs
|
NICs
|
||||||
NLI
|
NLI
|
||||||
NLP
|
NLP
|
||||||
|
NN
|
||||||
|
NOP
|
||||||
NPKit
|
NPKit
|
||||||
NPS
|
NPS
|
||||||
NSP
|
NSP
|
||||||
NUMA
|
NUMA
|
||||||
NVCC
|
NVCC
|
||||||
NVIDIA
|
NVIDIA
|
||||||
|
NVLink
|
||||||
NVPTX
|
NVPTX
|
||||||
NaN
|
NaN
|
||||||
Nano
|
Nano
|
||||||
Navi
|
Navi
|
||||||
Noncoherently
|
|
||||||
NoReturn
|
NoReturn
|
||||||
|
Noncoherently
|
||||||
NousResearch's
|
NousResearch's
|
||||||
NumPy
|
NumPy
|
||||||
OAM
|
OAM
|
||||||
@@ -313,9 +359,8 @@ OpenMPI
|
|||||||
OpenSSL
|
OpenSSL
|
||||||
OpenVX
|
OpenVX
|
||||||
OpenXLA
|
OpenXLA
|
||||||
|
Optim
|
||||||
Oversubscription
|
Oversubscription
|
||||||
PagedAttention
|
|
||||||
Pallas
|
|
||||||
PCC
|
PCC
|
||||||
PCI
|
PCI
|
||||||
PCIe
|
PCIe
|
||||||
@@ -323,11 +368,14 @@ PEFT
|
|||||||
PEQT
|
PEQT
|
||||||
PIL
|
PIL
|
||||||
PILImage
|
PILImage
|
||||||
|
PLDM
|
||||||
POR
|
POR
|
||||||
PRNG
|
PRNG
|
||||||
PRs
|
PRs
|
||||||
PaLM
|
PaLM
|
||||||
Pageable
|
Pageable
|
||||||
|
PagedAttention
|
||||||
|
Pallas
|
||||||
PeerDirect
|
PeerDirect
|
||||||
PerfDb
|
PerfDb
|
||||||
Perfetto
|
Perfetto
|
||||||
@@ -337,10 +385,11 @@ PowerEdge
|
|||||||
PowerShell
|
PowerShell
|
||||||
Pretrained
|
Pretrained
|
||||||
Pretraining
|
Pretraining
|
||||||
|
Primus
|
||||||
Profiler's
|
Profiler's
|
||||||
PyPi
|
PyPi
|
||||||
Pytest
|
|
||||||
PyTorch
|
PyTorch
|
||||||
|
Pytest
|
||||||
Qcycles
|
Qcycles
|
||||||
Qwen
|
Qwen
|
||||||
RAII
|
RAII
|
||||||
@@ -352,14 +401,15 @@ RDMA
|
|||||||
RDNA
|
RDNA
|
||||||
README
|
README
|
||||||
RHEL
|
RHEL
|
||||||
|
RLHF
|
||||||
RMW
|
RMW
|
||||||
RNN
|
RNN
|
||||||
RNNs
|
RNNs
|
||||||
ROC
|
ROC
|
||||||
ROCProfiler
|
ROCProfiler
|
||||||
ROCT
|
ROCT
|
||||||
ROCTx
|
|
||||||
ROCTracer
|
ROCTracer
|
||||||
|
ROCTx
|
||||||
ROCclr
|
ROCclr
|
||||||
ROCdbgapi
|
ROCdbgapi
|
||||||
ROCgdb
|
ROCgdb
|
||||||
@@ -374,8 +424,10 @@ RPP
|
|||||||
RST
|
RST
|
||||||
RW
|
RW
|
||||||
Radeon
|
Radeon
|
||||||
|
Recomputation
|
||||||
RelWithDebInfo
|
RelWithDebInfo
|
||||||
Req
|
Req
|
||||||
|
ResNet
|
||||||
Rickle
|
Rickle
|
||||||
RoCE
|
RoCE
|
||||||
Runfile
|
Runfile
|
||||||
@@ -384,10 +436,12 @@ SALU
|
|||||||
SBIOS
|
SBIOS
|
||||||
SCA
|
SCA
|
||||||
SDK
|
SDK
|
||||||
|
SDKs
|
||||||
SDMA
|
SDMA
|
||||||
SDPA
|
SDPA
|
||||||
SDRAM
|
SDRAM
|
||||||
SENDMSG
|
SENDMSG
|
||||||
|
SGLang
|
||||||
SGPR
|
SGPR
|
||||||
SGPRs
|
SGPRs
|
||||||
SHA
|
SHA
|
||||||
@@ -400,6 +454,7 @@ SKUs
|
|||||||
SLES
|
SLES
|
||||||
SLURM
|
SLURM
|
||||||
SMEM
|
SMEM
|
||||||
|
SMFMA
|
||||||
SMI
|
SMI
|
||||||
SMT
|
SMT
|
||||||
SPI
|
SPI
|
||||||
@@ -408,10 +463,12 @@ SRAM
|
|||||||
SRAMECC
|
SRAMECC
|
||||||
SVD
|
SVD
|
||||||
SWE
|
SWE
|
||||||
|
ScaledGEMM
|
||||||
SerDes
|
SerDes
|
||||||
ShareGPT
|
ShareGPT
|
||||||
Shlens
|
Shlens
|
||||||
Skylake
|
Skylake
|
||||||
|
Slurm
|
||||||
Softmax
|
Softmax
|
||||||
Spack
|
Spack
|
||||||
SplitK
|
SplitK
|
||||||
@@ -419,32 +476,38 @@ Supermicro
|
|||||||
Szegedy
|
Szegedy
|
||||||
TCA
|
TCA
|
||||||
TCC
|
TCC
|
||||||
|
TCCs
|
||||||
TCI
|
TCI
|
||||||
TCIU
|
TCIU
|
||||||
TCP
|
TCP
|
||||||
TCR
|
TCR
|
||||||
TF
|
TF
|
||||||
TFLOPS
|
TFLOPS
|
||||||
|
THREADGROUPS
|
||||||
TP
|
TP
|
||||||
TPS
|
TPS
|
||||||
TPU
|
TPU
|
||||||
TPUs
|
TPUs
|
||||||
TSME
|
TSME
|
||||||
|
TVM
|
||||||
|
TagRAM
|
||||||
Tagram
|
Tagram
|
||||||
|
Taichi
|
||||||
|
Taichi's
|
||||||
TensileLite
|
TensileLite
|
||||||
TensorBoard
|
TensorBoard
|
||||||
|
TensorFloat
|
||||||
TensorFlow
|
TensorFlow
|
||||||
TensorParallel
|
TensorParallel
|
||||||
|
TensorRT
|
||||||
|
TheRock
|
||||||
ToC
|
ToC
|
||||||
|
TopK
|
||||||
TorchAudio
|
TorchAudio
|
||||||
torchaudio
|
|
||||||
TorchElastic
|
TorchElastic
|
||||||
TorchMIGraphX
|
TorchMIGraphX
|
||||||
torchrec
|
|
||||||
TorchScript
|
TorchScript
|
||||||
TorchServe
|
TorchServe
|
||||||
torchserve
|
|
||||||
torchtext
|
|
||||||
TorchVision
|
TorchVision
|
||||||
TransferBench
|
TransferBench
|
||||||
TrapStatus
|
TrapStatus
|
||||||
@@ -456,12 +519,15 @@ UE
|
|||||||
UIF
|
UIF
|
||||||
UMC
|
UMC
|
||||||
USM
|
USM
|
||||||
|
USM
|
||||||
UTCL
|
UTCL
|
||||||
|
UTCL
|
||||||
|
UTIL
|
||||||
UTIL
|
UTIL
|
||||||
UltraChat
|
UltraChat
|
||||||
Uncached
|
Uncached
|
||||||
Unittests
|
|
||||||
Unhandled
|
Unhandled
|
||||||
|
Unittests
|
||||||
VALU
|
VALU
|
||||||
VBIOS
|
VBIOS
|
||||||
VCN
|
VCN
|
||||||
@@ -475,8 +541,10 @@ VSIX
|
|||||||
VSkipped
|
VSkipped
|
||||||
Vanhoucke
|
Vanhoucke
|
||||||
Vulkan
|
Vulkan
|
||||||
|
WDAG
|
||||||
WGP
|
WGP
|
||||||
WGPs
|
WGPs
|
||||||
|
WR
|
||||||
WX
|
WX
|
||||||
WikiText
|
WikiText
|
||||||
Wojna
|
Wojna
|
||||||
@@ -494,12 +562,14 @@ Xilinx
|
|||||||
Xnack
|
Xnack
|
||||||
Xteam
|
Xteam
|
||||||
YAML
|
YAML
|
||||||
|
YAMLs
|
||||||
YML
|
YML
|
||||||
YModel
|
YModel
|
||||||
ZeRO
|
ZeRO
|
||||||
ZenDNN
|
ZenDNN
|
||||||
accuracies
|
accuracies
|
||||||
activations
|
activations
|
||||||
|
addEventListener
|
||||||
addr
|
addr
|
||||||
ade
|
ade
|
||||||
ai
|
ai
|
||||||
@@ -509,12 +579,15 @@ allocator
|
|||||||
allocators
|
allocators
|
||||||
amdgpu
|
amdgpu
|
||||||
api
|
api
|
||||||
|
aten
|
||||||
atmi
|
atmi
|
||||||
|
atomicRMW
|
||||||
atomics
|
atomics
|
||||||
autogenerated
|
autogenerated
|
||||||
autotune
|
autotune
|
||||||
avx
|
avx
|
||||||
awk
|
awk
|
||||||
|
az
|
||||||
backend
|
backend
|
||||||
backends
|
backends
|
||||||
bb
|
bb
|
||||||
@@ -525,16 +598,16 @@ bilinear
|
|||||||
bitcode
|
bitcode
|
||||||
bitsandbytes
|
bitsandbytes
|
||||||
bitwise
|
bitwise
|
||||||
Bitwise
|
|
||||||
blit
|
blit
|
||||||
bootloader
|
bootloader
|
||||||
boson
|
boson
|
||||||
bosons
|
bosons
|
||||||
br
|
br
|
||||||
BrainFloat
|
btn
|
||||||
buildable
|
buildable
|
||||||
bursty
|
bursty
|
||||||
bzip
|
bzip
|
||||||
|
cTDP
|
||||||
cacheable
|
cacheable
|
||||||
carveout
|
carveout
|
||||||
cd
|
cd
|
||||||
@@ -543,17 +616,22 @@ centric
|
|||||||
changelog
|
changelog
|
||||||
checkpointing
|
checkpointing
|
||||||
chiplet
|
chiplet
|
||||||
|
classList
|
||||||
cmake
|
cmake
|
||||||
cmd
|
cmd
|
||||||
coalescable
|
coalescable
|
||||||
codename
|
codename
|
||||||
collater
|
collater
|
||||||
|
comfyui
|
||||||
comgr
|
comgr
|
||||||
|
compat
|
||||||
completers
|
completers
|
||||||
composable
|
composable
|
||||||
concretization
|
concretization
|
||||||
config
|
config
|
||||||
|
configs
|
||||||
conformant
|
conformant
|
||||||
|
const
|
||||||
constructible
|
constructible
|
||||||
convolutional
|
convolutional
|
||||||
convolves
|
convolves
|
||||||
@@ -561,16 +639,18 @@ copyable
|
|||||||
cpp
|
cpp
|
||||||
csn
|
csn
|
||||||
cuBLAS
|
cuBLAS
|
||||||
cuda
|
|
||||||
cuDNN
|
cuDNN
|
||||||
cudnn
|
|
||||||
cuFFT
|
cuFFT
|
||||||
cuLIB
|
cuLIB
|
||||||
cuRAND
|
cuRAND
|
||||||
cuSOLVER
|
cuSOLVER
|
||||||
cuSPARSE
|
cuSPARSE
|
||||||
|
cuda
|
||||||
|
cudnn
|
||||||
customizations
|
customizations
|
||||||
cTDP
|
dGPU
|
||||||
|
dGPUs
|
||||||
|
da
|
||||||
dataset
|
dataset
|
||||||
datasets
|
datasets
|
||||||
dataspace
|
dataspace
|
||||||
@@ -580,8 +660,9 @@ datatypes
|
|||||||
dbgapi
|
dbgapi
|
||||||
de
|
de
|
||||||
deallocation
|
deallocation
|
||||||
debuggability
|
|
||||||
debian
|
debian
|
||||||
|
debuggability
|
||||||
|
decompositions
|
||||||
deepseek
|
deepseek
|
||||||
denoise
|
denoise
|
||||||
denoised
|
denoised
|
||||||
@@ -594,11 +675,15 @@ detections
|
|||||||
dev
|
dev
|
||||||
devicelibs
|
devicelibs
|
||||||
devsel
|
devsel
|
||||||
|
dgl
|
||||||
dimensionality
|
dimensionality
|
||||||
|
disaggregated
|
||||||
disambiguates
|
disambiguates
|
||||||
distro
|
distro
|
||||||
distros
|
distros
|
||||||
dkms
|
dkms
|
||||||
|
dnf
|
||||||
|
dropless
|
||||||
dtype
|
dtype
|
||||||
eb
|
eb
|
||||||
el
|
el
|
||||||
@@ -611,34 +696,44 @@ endpgm
|
|||||||
enqueue
|
enqueue
|
||||||
env
|
env
|
||||||
epilog
|
epilog
|
||||||
|
etcd
|
||||||
etcetera
|
etcetera
|
||||||
ethernet
|
ethernet
|
||||||
exascale
|
exascale
|
||||||
executables
|
executables
|
||||||
|
fam
|
||||||
|
fam
|
||||||
|
fas
|
||||||
ffmpeg
|
ffmpeg
|
||||||
filesystem
|
filesystem
|
||||||
|
forEach
|
||||||
fortran
|
fortran
|
||||||
fp
|
fp
|
||||||
framebuffer
|
framebuffer
|
||||||
gRPC
|
gRPC
|
||||||
galb
|
galb
|
||||||
|
gb
|
||||||
gcc
|
gcc
|
||||||
gdb
|
gdb
|
||||||
gemm
|
gemm
|
||||||
|
getAttribute
|
||||||
gfortran
|
gfortran
|
||||||
gfx
|
gfx
|
||||||
githooks
|
githooks
|
||||||
github
|
github
|
||||||
globals
|
globals
|
||||||
gnupg
|
gnupg
|
||||||
|
gpu
|
||||||
grayscale
|
grayscale
|
||||||
|
gre
|
||||||
|
gx
|
||||||
gzip
|
gzip
|
||||||
heterogenous
|
heterogenous
|
||||||
hipBLAS
|
hipBLAS
|
||||||
hipBLASLt
|
hipBLASLt
|
||||||
hipBLASLt's
|
hipBLASLt's
|
||||||
hipblaslt
|
|
||||||
hipCUB
|
hipCUB
|
||||||
|
hipDataType
|
||||||
hipFFT
|
hipFFT
|
||||||
hipFORT
|
hipFORT
|
||||||
hipLIB
|
hipLIB
|
||||||
@@ -649,10 +744,12 @@ hipSPARSELt
|
|||||||
hipTensor
|
hipTensor
|
||||||
hipamd
|
hipamd
|
||||||
hipblas
|
hipblas
|
||||||
|
hipblaslt
|
||||||
hipcc
|
hipcc
|
||||||
hipcub
|
hipcub
|
||||||
hipfft
|
hipfft
|
||||||
hipfort
|
hipfort
|
||||||
|
hipification
|
||||||
hipify
|
hipify
|
||||||
hipsolver
|
hipsolver
|
||||||
hipsparse
|
hipsparse
|
||||||
@@ -661,8 +758,10 @@ hostname
|
|||||||
hotspotting
|
hotspotting
|
||||||
hpc
|
hpc
|
||||||
hpp
|
hpp
|
||||||
|
href
|
||||||
hsa
|
hsa
|
||||||
hsakmt
|
hsakmt
|
||||||
|
hx
|
||||||
hyperparameter
|
hyperparameter
|
||||||
hyperparameters
|
hyperparameters
|
||||||
iDRAC
|
iDRAC
|
||||||
@@ -676,13 +775,17 @@ init
|
|||||||
initializer
|
initializer
|
||||||
inlining
|
inlining
|
||||||
installable
|
installable
|
||||||
|
instrSize
|
||||||
interop
|
interop
|
||||||
|
interpolators
|
||||||
interprocedural
|
interprocedural
|
||||||
intra
|
intra
|
||||||
|
intrinsics
|
||||||
invariants
|
invariants
|
||||||
invocating
|
invocating
|
||||||
ipo
|
ipo
|
||||||
jax
|
jax
|
||||||
|
json
|
||||||
kdb
|
kdb
|
||||||
kfd
|
kfd
|
||||||
kv
|
kv
|
||||||
@@ -697,11 +800,16 @@ linearized
|
|||||||
linter
|
linter
|
||||||
linux
|
linux
|
||||||
llvm
|
llvm
|
||||||
|
lm
|
||||||
localscratch
|
localscratch
|
||||||
logits
|
logits
|
||||||
lossy
|
lossy
|
||||||
|
lp
|
||||||
macOS
|
macOS
|
||||||
matchers
|
matchers
|
||||||
|
maxtext
|
||||||
|
megablocks
|
||||||
|
megatron
|
||||||
microarchitecture
|
microarchitecture
|
||||||
migraphx
|
migraphx
|
||||||
migratable
|
migratable
|
||||||
@@ -713,17 +821,16 @@ mjx
|
|||||||
mkdir
|
mkdir
|
||||||
mlirmiopen
|
mlirmiopen
|
||||||
mtypes
|
mtypes
|
||||||
|
mul
|
||||||
mutex
|
mutex
|
||||||
mvffr
|
mvffr
|
||||||
namespace
|
namespace
|
||||||
namespaces
|
namespaces
|
||||||
nanoGPT
|
nanoGPT
|
||||||
NCS
|
|
||||||
NOP
|
|
||||||
NVLink
|
|
||||||
num
|
num
|
||||||
numref
|
numref
|
||||||
ocl
|
ocl
|
||||||
|
ol
|
||||||
opencl
|
opencl
|
||||||
opencv
|
opencv
|
||||||
openmp
|
openmp
|
||||||
@@ -738,9 +845,12 @@ parallelizing
|
|||||||
param
|
param
|
||||||
parameterization
|
parameterization
|
||||||
passthrough
|
passthrough
|
||||||
|
pe
|
||||||
|
perf
|
||||||
perfcounter
|
perfcounter
|
||||||
performant
|
performant
|
||||||
perl
|
perl
|
||||||
|
pkgman
|
||||||
pragma
|
pragma
|
||||||
pre
|
pre
|
||||||
prebuild
|
prebuild
|
||||||
@@ -760,27 +870,35 @@ preprocessing
|
|||||||
preprocessor
|
preprocessor
|
||||||
prequantized
|
prequantized
|
||||||
prerequisites
|
prerequisites
|
||||||
|
pretrain
|
||||||
pretraining
|
pretraining
|
||||||
|
primus
|
||||||
profiler
|
profiler
|
||||||
profilers
|
profilers
|
||||||
protobuf
|
protobuf
|
||||||
pseudorandom
|
pseudorandom
|
||||||
|
px
|
||||||
py
|
py
|
||||||
pytorch
|
pytorch
|
||||||
recommender
|
|
||||||
recommenders
|
|
||||||
quantile
|
quantile
|
||||||
quantizer
|
quantizer
|
||||||
quasirandom
|
quasirandom
|
||||||
|
querySelector
|
||||||
|
querySelectorAll
|
||||||
queueing
|
queueing
|
||||||
|
qwen
|
||||||
radeon
|
radeon
|
||||||
rccl
|
rccl
|
||||||
rdc
|
rdc
|
||||||
rdma
|
rdma
|
||||||
reStructuredText
|
reStructuredText
|
||||||
|
recommender
|
||||||
|
recommenders
|
||||||
|
redhat
|
||||||
redirections
|
redirections
|
||||||
refactorization
|
refactorization
|
||||||
reformats
|
reformats
|
||||||
|
reinforcememt
|
||||||
repo
|
repo
|
||||||
repos
|
repos
|
||||||
representativeness
|
representativeness
|
||||||
@@ -788,6 +906,8 @@ req
|
|||||||
resampling
|
resampling
|
||||||
rescaling
|
rescaling
|
||||||
reusability
|
reusability
|
||||||
|
rhel
|
||||||
|
rl
|
||||||
roadmap
|
roadmap
|
||||||
roc
|
roc
|
||||||
rocAL
|
rocAL
|
||||||
@@ -814,8 +934,8 @@ rocm
|
|||||||
rocminfo
|
rocminfo
|
||||||
rocprim
|
rocprim
|
||||||
rocprof
|
rocprof
|
||||||
rocprofv
|
|
||||||
rocprofiler
|
rocprofiler
|
||||||
|
rocprofv
|
||||||
rocr
|
rocr
|
||||||
rocrand
|
rocrand
|
||||||
rocsolver
|
rocsolver
|
||||||
@@ -825,22 +945,31 @@ roctracer
|
|||||||
rst
|
rst
|
||||||
runtime
|
runtime
|
||||||
runtimes
|
runtimes
|
||||||
|
rx
|
||||||
|
ryzen
|
||||||
sL
|
sL
|
||||||
scalability
|
scalability
|
||||||
scalable
|
scalable
|
||||||
scipy
|
scipy
|
||||||
seealso
|
seealso
|
||||||
|
selectedTag
|
||||||
sendmsg
|
sendmsg
|
||||||
seqs
|
seqs
|
||||||
serializers
|
serializers
|
||||||
|
setAttribute
|
||||||
|
sglang
|
||||||
shader
|
shader
|
||||||
sharding
|
sharding
|
||||||
sigmoid
|
sigmoid
|
||||||
|
simd
|
||||||
|
sles
|
||||||
sm
|
sm
|
||||||
smi
|
smi
|
||||||
softmax
|
softmax
|
||||||
spack
|
spack
|
||||||
|
spmm
|
||||||
src
|
src
|
||||||
|
stanford
|
||||||
stochastically
|
stochastically
|
||||||
strided
|
strided
|
||||||
subcommand
|
subcommand
|
||||||
@@ -848,17 +977,22 @@ subdirectory
|
|||||||
subexpression
|
subexpression
|
||||||
subfolder
|
subfolder
|
||||||
subfolders
|
subfolders
|
||||||
|
submatrix
|
||||||
submodule
|
submodule
|
||||||
submodules
|
submodules
|
||||||
subnet
|
subnet
|
||||||
supercomputing
|
supercomputing
|
||||||
|
suse
|
||||||
symlink
|
symlink
|
||||||
symlinks
|
symlinks
|
||||||
sys
|
sys
|
||||||
tabindex
|
tabindex
|
||||||
|
targetContainer
|
||||||
td
|
td
|
||||||
tensorfloat
|
tensorfloat
|
||||||
|
tf
|
||||||
th
|
th
|
||||||
|
threadgroups
|
||||||
tokenization
|
tokenization
|
||||||
tokenize
|
tokenize
|
||||||
tokenized
|
tokenized
|
||||||
@@ -868,13 +1002,21 @@ toolchain
|
|||||||
toolchains
|
toolchains
|
||||||
toolset
|
toolset
|
||||||
toolsets
|
toolsets
|
||||||
|
torchaudio
|
||||||
|
torchrec
|
||||||
|
torchserve
|
||||||
|
torchtext
|
||||||
|
torchtitan
|
||||||
torchvision
|
torchvision
|
||||||
|
tp
|
||||||
tqdm
|
tqdm
|
||||||
tracebacks
|
tracebacks
|
||||||
txt
|
txt
|
||||||
uarch
|
uarch
|
||||||
uncached
|
ubuntu
|
||||||
|
udev
|
||||||
uncacheable
|
uncacheable
|
||||||
|
uncached
|
||||||
uncorrectable
|
uncorrectable
|
||||||
underoptimized
|
underoptimized
|
||||||
unhandled
|
unhandled
|
||||||
@@ -883,12 +1025,11 @@ unmapped
|
|||||||
unsqueeze
|
unsqueeze
|
||||||
unstacking
|
unstacking
|
||||||
unswitching
|
unswitching
|
||||||
|
untar
|
||||||
untrusted
|
untrusted
|
||||||
untuned
|
untuned
|
||||||
|
unwindowed
|
||||||
upvote
|
upvote
|
||||||
USM
|
|
||||||
UTCL
|
|
||||||
UTIL
|
|
||||||
utils
|
utils
|
||||||
vL
|
vL
|
||||||
variational
|
variational
|
||||||
@@ -899,6 +1040,8 @@ vectorize
|
|||||||
vectorized
|
vectorized
|
||||||
vectorizer
|
vectorizer
|
||||||
vectorizes
|
vectorizes
|
||||||
|
verl
|
||||||
|
verl's
|
||||||
virtualize
|
virtualize
|
||||||
virtualized
|
virtualized
|
||||||
vjxb
|
vjxb
|
||||||
@@ -917,9 +1060,14 @@ writeback
|
|||||||
writebacks
|
writebacks
|
||||||
wrreq
|
wrreq
|
||||||
wzo
|
wzo
|
||||||
xargs
|
xDiT
|
||||||
xGMI
|
xGMI
|
||||||
xPacked
|
xPacked
|
||||||
|
xargs
|
||||||
|
xcc
|
||||||
|
xdit
|
||||||
|
xt
|
||||||
|
xtx
|
||||||
xz
|
xz
|
||||||
yaml
|
yaml
|
||||||
ysvmadyb
|
ysvmadyb
|
||||||
|
|||||||
7348
CHANGELOG.md
7348
CHANGELOG.md
File diff suppressed because it is too large
Load Diff
@@ -23,9 +23,6 @@ source software compilers, debuggers, and libraries. ROCm is fully integrated in
|
|||||||
> A new open source build platform for ROCm is under development at
|
> A new open source build platform for ROCm is under development at
|
||||||
> https://github.com/ROCm/TheRock, featuring a unified CMake build with bundled
|
> https://github.com/ROCm/TheRock, featuring a unified CMake build with bundled
|
||||||
> dependencies, Windows support, and more.
|
> dependencies, Windows support, and more.
|
||||||
>
|
|
||||||
> The instructions below describe the prior process for building from source
|
|
||||||
> which will be replaced once TheRock is mature enough.
|
|
||||||
|
|
||||||
## Getting and Building ROCm from Source
|
## Getting and Building ROCm from Source
|
||||||
|
|
||||||
|
|||||||
2364
RELEASE.md
2364
RELEASE.md
File diff suppressed because it is too large
Load Diff
1
amdsmi
1
amdsmi
Submodule amdsmi deleted from aca110192b
Submodule composable_kernel deleted from a8c5bd9b9a
29
default.xml
29
default.xml
@@ -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.4.1"
|
<default revision="refs/tags/rocm-7.0.2"
|
||||||
remote="rocm-org"
|
remote="rocm-org"
|
||||||
sync-c="true"
|
sync-c="true"
|
||||||
sync-j="4" />
|
sync-j="4" />
|
||||||
@@ -9,6 +9,7 @@
|
|||||||
<project name="ROCK-Kernel-Driver" />
|
<project name="ROCK-Kernel-Driver" />
|
||||||
<project name="ROCR-Runtime" />
|
<project name="ROCR-Runtime" />
|
||||||
<project name="amdsmi" />
|
<project name="amdsmi" />
|
||||||
|
<project name="aqlprofile" />
|
||||||
<project name="rdc" />
|
<project name="rdc" />
|
||||||
<project name="rocm_bandwidth_test" />
|
<project name="rocm_bandwidth_test" />
|
||||||
<project name="rocm_smi_lib" />
|
<project name="rocm_smi_lib" />
|
||||||
@@ -22,7 +23,7 @@
|
|||||||
<project name="rocprofiler-systems" />
|
<project name="rocprofiler-systems" />
|
||||||
<project name="roctracer" />
|
<project name="roctracer" />
|
||||||
<!--HIP Projects-->
|
<!--HIP Projects-->
|
||||||
<project name="HIP" />
|
<project name="hip" />
|
||||||
<project name="hip-tests" />
|
<project name="hip-tests" />
|
||||||
<project name="HIPIFY" />
|
<project name="HIPIFY" />
|
||||||
<project name="clr" />
|
<project name="clr" />
|
||||||
@@ -37,36 +38,24 @@
|
|||||||
<project name="rocr_debug_agent" />
|
<project name="rocr_debug_agent" />
|
||||||
<!-- ROCm Libraries -->
|
<!-- ROCm Libraries -->
|
||||||
<project groups="mathlibs" name="AMDMIGraphX" />
|
<project groups="mathlibs" name="AMDMIGraphX" />
|
||||||
<project groups="mathlibs" name="MIOpen" />
|
|
||||||
<project groups="mathlibs" name="MIVisionX" />
|
<project groups="mathlibs" name="MIVisionX" />
|
||||||
<project groups="mathlibs" name="ROCmValidationSuite" />
|
<project groups="mathlibs" name="ROCmValidationSuite" />
|
||||||
<project groups="mathlibs" name="Tensile" />
|
|
||||||
<project groups="mathlibs" name="composable_kernel" />
|
<project groups="mathlibs" name="composable_kernel" />
|
||||||
<project groups="mathlibs" name="hipBLAS-common" />
|
|
||||||
<project groups="mathlibs" name="hipBLAS" />
|
|
||||||
<project groups="mathlibs" name="hipBLASLt" />
|
|
||||||
<project groups="mathlibs" name="hipCUB" />
|
|
||||||
<project groups="mathlibs" name="hipFFT" />
|
|
||||||
<project groups="mathlibs" name="hipRAND" />
|
|
||||||
<project groups="mathlibs" name="hipSOLVER" />
|
|
||||||
<project groups="mathlibs" name="hipSPARSE" />
|
|
||||||
<project groups="mathlibs" name="hipSPARSELt" />
|
|
||||||
<project groups="mathlibs" name="hipTensor" />
|
<project groups="mathlibs" name="hipTensor" />
|
||||||
<project groups="mathlibs" name="hipfort" />
|
<project groups="mathlibs" name="hipfort" />
|
||||||
<project groups="mathlibs" name="rccl" />
|
<project groups="mathlibs" name="rccl" />
|
||||||
<project groups="mathlibs" name="rocAL" />
|
<project groups="mathlibs" name="rocAL" />
|
||||||
<project groups="mathlibs" name="rocALUTION" />
|
<project groups="mathlibs" name="rocALUTION" />
|
||||||
<project groups="mathlibs" name="rocBLAS" />
|
|
||||||
<project groups="mathlibs" name="rocDecode" />
|
<project groups="mathlibs" name="rocDecode" />
|
||||||
<project groups="mathlibs" name="rocJPEG" />
|
<project groups="mathlibs" name="rocJPEG" />
|
||||||
|
<!-- The following components have been migrated to rocm-libraries:
|
||||||
|
hipBLAS-common hipBLAS hipBLASLt hipCUB
|
||||||
|
hipFFT hipRAND hipSPARSE hipSPARSELt
|
||||||
|
MIOpen rocBLAS rocFFT rocPRIM rocRAND
|
||||||
|
rocSPARSE rocThrust Tensile -->
|
||||||
|
<project groups="mathlibs" name="rocm-libraries" />
|
||||||
<project groups="mathlibs" name="rocPyDecode" />
|
<project groups="mathlibs" name="rocPyDecode" />
|
||||||
<project groups="mathlibs" name="rocFFT" />
|
|
||||||
<project groups="mathlibs" name="rocPRIM" />
|
|
||||||
<project groups="mathlibs" name="rocRAND" />
|
|
||||||
<project groups="mathlibs" name="rocSHMEM" />
|
<project groups="mathlibs" name="rocSHMEM" />
|
||||||
<project groups="mathlibs" name="rocSOLVER" />
|
|
||||||
<project groups="mathlibs" name="rocSPARSE" />
|
|
||||||
<project groups="mathlibs" name="rocThrust" />
|
|
||||||
<project groups="mathlibs" name="rocWMMA" />
|
<project groups="mathlibs" name="rocWMMA" />
|
||||||
<project groups="mathlibs" name="rocm-cmake" />
|
<project groups="mathlibs" name="rocm-cmake" />
|
||||||
<project groups="mathlibs" name="rpp" />
|
<project groups="mathlibs" name="rpp" />
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ additional licenses. Please review individual repositories for more information.
|
|||||||
| [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) |
|
||||||
|
| [AQLprofile](https://github.com/rocm/aqlprofile/) | [MIT](https://github.com/ROCm/aqlprofile/blob/amd-staging/LICENSE.md) |
|
||||||
| [Code Object Manager (Comgr)](https://github.com/ROCm/llvm-project/tree/amd-staging/amd/comgr) | [The University of Illinois/NCSA](https://github.com/ROCm/llvm-project/blob/amd-staging/amd/comgr/LICENSE.txt) |
|
| [Code Object Manager (Comgr)](https://github.com/ROCm/llvm-project/tree/amd-staging/amd/comgr) | [The University of Illinois/NCSA](https://github.com/ROCm/llvm-project/blob/amd-staging/amd/comgr/LICENSE.txt) |
|
||||||
| [Composable Kernel](https://github.com/ROCm/composable_kernel) | [MIT](https://github.com/ROCm/composable_kernel/blob/develop/LICENSE) |
|
| [Composable Kernel](https://github.com/ROCm/composable_kernel) | [MIT](https://github.com/ROCm/composable_kernel/blob/develop/LICENSE) |
|
||||||
| [half](https://github.com/ROCm/half/) | [MIT](https://github.com/ROCm/half/blob/rocm/LICENSE.txt) |
|
| [half](https://github.com/ROCm/half/) | [MIT](https://github.com/ROCm/half/blob/rocm/LICENSE.txt) |
|
||||||
@@ -46,11 +47,10 @@ additional licenses. Please review individual repositories for more information.
|
|||||||
| [hipSPARSE](https://github.com/ROCm/hipSPARSE/) | [MIT](https://github.com/ROCm/hipSPARSE/blob/develop/LICENSE.md) |
|
| [hipSPARSE](https://github.com/ROCm/hipSPARSE/) | [MIT](https://github.com/ROCm/hipSPARSE/blob/develop/LICENSE.md) |
|
||||||
| [hipSPARSELt](https://github.com/ROCm/hipSPARSELt/) | [MIT](https://github.com/ROCm/hipSPARSELt/blob/develop/LICENSE.md) |
|
| [hipSPARSELt](https://github.com/ROCm/hipSPARSELt/) | [MIT](https://github.com/ROCm/hipSPARSELt/blob/develop/LICENSE.md) |
|
||||||
| [hipTensor](https://github.com/ROCm/hipTensor) | [MIT](https://github.com/ROCm/hipTensor/blob/develop/LICENSE) |
|
| [hipTensor](https://github.com/ROCm/hipTensor) | [MIT](https://github.com/ROCm/hipTensor/blob/develop/LICENSE) |
|
||||||
| hsa-amd-aqlprofile | [AMD Software EULA](https://www.amd.com/en/legal/eula/amd-software-eula.html) |
|
|
||||||
| [llvm-project](https://github.com/ROCm/llvm-project/) | [Apache](https://github.com/ROCm/llvm-project/blob/amd-staging/LICENSE.TXT) |
|
| [llvm-project](https://github.com/ROCm/llvm-project/) | [Apache](https://github.com/ROCm/llvm-project/blob/amd-staging/LICENSE.TXT) |
|
||||||
| [llvm-project/flang](https://github.com/ROCm/llvm-project/tree/amd-staging/flang) | [Apache 2.0](https://github.com/ROCm/llvm-project/blob/amd-staging/flang/LICENSE.TXT) |
|
| [llvm-project/flang](https://github.com/ROCm/llvm-project/tree/amd-staging/flang) | [Apache 2.0](https://github.com/ROCm/llvm-project/blob/amd-staging/flang/LICENSE.TXT) |
|
||||||
| [MIGraphX](https://github.com/ROCm/AMDMIGraphX/) | [MIT](https://github.com/ROCm/AMDMIGraphX/blob/develop/LICENSE) |
|
| [MIGraphX](https://github.com/ROCm/AMDMIGraphX/) | [MIT](https://github.com/ROCm/AMDMIGraphX/blob/develop/LICENSE) |
|
||||||
| [MIOpen](https://github.com/ROCm/MIOpen/) | [MIT](https://github.com/ROCm/MIOpen/blob/develop/LICENSE.txt) |
|
| [MIOpen](https://github.com/ROCm/MIOpen/) | [MIT](https://github.com/ROCm/rocm-libraries/blob/develop/projects/miopen/LICENSE.md) |
|
||||||
| [MIVisionX](https://github.com/ROCm/MIVisionX/) | [MIT](https://github.com/ROCm/MIVisionX/blob/develop/LICENSE.txt) |
|
| [MIVisionX](https://github.com/ROCm/MIVisionX/) | [MIT](https://github.com/ROCm/MIVisionX/blob/develop/LICENSE.txt) |
|
||||||
| [rocAL](https://github.com/ROCm/rocAL) | [MIT](https://github.com/ROCm/rocAL/blob/develop/LICENSE.txt) |
|
| [rocAL](https://github.com/ROCm/rocAL) | [MIT](https://github.com/ROCm/rocAL/blob/develop/LICENSE.txt) |
|
||||||
| [rocALUTION](https://github.com/ROCm/rocALUTION/) | [MIT](https://github.com/ROCm/rocALUTION/blob/develop/LICENSE.md) |
|
| [rocALUTION](https://github.com/ROCm/rocALUTION/) | [MIT](https://github.com/ROCm/rocALUTION/blob/develop/LICENSE.md) |
|
||||||
@@ -67,15 +67,15 @@ additional licenses. Please review individual repositories for more information.
|
|||||||
| [ROCm Communication Collectives Library (RCCL)](https://github.com/ROCm/rccl/) | [Custom](https://github.com/ROCm/rccl/blob/develop/LICENSE.txt) |
|
| [ROCm Communication Collectives Library (RCCL)](https://github.com/ROCm/rccl/) | [Custom](https://github.com/ROCm/rccl/blob/develop/LICENSE.txt) |
|
||||||
| [ROCm-Core](https://github.com/ROCm/rocm-core) | [MIT](https://github.com/ROCm/rocm-core/blob/master/copyright) |
|
| [ROCm-Core](https://github.com/ROCm/rocm-core) | [MIT](https://github.com/ROCm/rocm-core/blob/master/copyright) |
|
||||||
| [ROCm Compute Profiler](https://github.com/ROCm/rocprofiler-compute) | [MIT](https://github.com/ROCm/rocprofiler-compute/blob/amd-staging/LICENSE) |
|
| [ROCm Compute Profiler](https://github.com/ROCm/rocprofiler-compute) | [MIT](https://github.com/ROCm/rocprofiler-compute/blob/amd-staging/LICENSE) |
|
||||||
| [ROCm Data Center (RDC)](https://github.com/ROCm/rdc/) | [MIT](https://github.com/ROCm/rdc/blob/amd-staging/LICENSE) |
|
| [ROCm Data Center (RDC)](https://github.com/ROCm/rdc/) | [MIT](https://github.com/ROCm/rdc/blob/amd-staging/LICENSE.md) |
|
||||||
| [ROCm-Device-Libs](https://github.com/ROCm/llvm-project/tree/amd-staging/amd/device-libs) | [The University of Illinois/NCSA](https://github.com/ROCm/llvm-project/blob/amd-staging/amd/device-libs/LICENSE.TXT) |
|
| [ROCm-Device-Libs](https://github.com/ROCm/llvm-project/tree/amd-staging/amd/device-libs) | [The University of Illinois/NCSA](https://github.com/ROCm/llvm-project/blob/amd-staging/amd/device-libs/LICENSE.TXT) |
|
||||||
| [ROCm-OpenCL-Runtime](https://github.com/ROCm/clr/tree/amd-staging/opencl) | [MIT](https://github.com/ROCm/clr/blob/amd-staging/opencl/LICENSE.txt) |
|
| [ROCm-OpenCL-Runtime](https://github.com/ROCm/clr/tree/amd-staging/opencl) | [MIT](https://github.com/ROCm/clr/blob/amd-staging/opencl/LICENSE.txt) |
|
||||||
| [ROCm Performance Primitives (RPP)](https://github.com/ROCm/rpp) | [MIT](https://github.com/ROCm/rpp/blob/develop/LICENSE) |
|
| [ROCm Performance Primitives (RPP)](https://github.com/ROCm/rpp) | [MIT](https://github.com/ROCm/rpp/blob/develop/LICENSE) |
|
||||||
| [ROCm SMI Lib](https://github.com/ROCm/rocm_smi_lib/) | [MIT](https://github.com/ROCm/rocm_smi_lib/blob/amd-staging/License.txt) |
|
| [ROCm SMI Lib](https://github.com/ROCm/rocm_smi_lib/) | [MIT](https://github.com/ROCm/rocm_smi_lib/blob/amd-staging/LICENSE.md) |
|
||||||
| [ROCm Systems Profiler](https://github.com/ROCm/rocprofiler-systems) | [MIT](https://github.com/ROCm/rocprofiler-systems/blob/amd-staging/LICENSE) |
|
| [ROCm Systems Profiler](https://github.com/ROCm/rocprofiler-systems) | [MIT](https://github.com/ROCm/rocprofiler-systems/blob/amd-staging/LICENSE.md) |
|
||||||
| [ROCm Validation Suite](https://github.com/ROCm/ROCmValidationSuite/) | [MIT](https://github.com/ROCm/ROCmValidationSuite/blob/master/LICENSE) |
|
| [ROCm Validation Suite](https://github.com/ROCm/ROCmValidationSuite/) | [MIT](https://github.com/ROCm/ROCmValidationSuite/blob/master/LICENSE) |
|
||||||
| [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.md) |
|
||||||
| [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.txt) |
|
| [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) |
|
||||||
@@ -132,12 +132,10 @@ companies.
|
|||||||
### Package licensing
|
### Package licensing
|
||||||
|
|
||||||
:::{attention}
|
:::{attention}
|
||||||
AQL Profiler and AOCC CPU optimization are both provided in binary form, each
|
ROCprof Trace Decoder and AOCC CPU optimizations are provided in binary form, subject to the license agreement enclosed on [GitHub](https://github.com/ROCm/rocprof-trace-decoder/blob/amd-mainline/LICENSE) for ROCprof Trace Decoder, and [Developer Central](https://www.amd.com/en/developer/aocc.html) for AOCC. By using, installing,
|
||||||
subject to the license agreement enclosed in the directory for the binary available
|
copying or distributing ROCprof Trace Decoder or AOCC CPU Optimizations, you agree to
|
||||||
in `/opt/rocm/share/doc/hsa-amd-aqlprofile/EULA`. By using, installing,
|
|
||||||
copying or distributing AQL Profiler and/or AOCC CPU Optimizations, you agree to
|
|
||||||
the terms and conditions of this license agreement. If you do not agree to the
|
the terms and conditions of this license agreement. If you do not agree to the
|
||||||
terms of this agreement, do not install, copy or use the AQL Profiler and/or the
|
terms of this agreement, do not install, copy or use ROCprof Trace Decoder or the
|
||||||
AOCC CPU Optimizations.
|
AOCC CPU Optimizations.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
|||||||
@@ -1,126 +0,0 @@
|
|||||||
ROCm Version,6.4.1,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.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,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"
|
|
||||||
,"RHEL 9.6, 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.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,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,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
|
|
||||||
,"Oracle Linux 9, 8 [#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]_,,,,,,,,,,,
|
|
||||||
,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:,,,,,,,,,,,,,,,
|
|
||||||
:doc:`Architecture <rocm-install-on-linux:reference/system-requirements>`,CDNA3,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
|
|
||||||
,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA,CDNA
|
|
||||||
,RDNA4,,,,,,,,,,,,,,,
|
|
||||||
,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
|
|
||||||
,.. _gpu-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,,
|
|
||||||
:doc:`GPU / LLVM target <rocm-install-on-linux:reference/system-requirements>`,gfx1201 [#RDNA-OS-past-60]_,,,,,,,,,,,,,,,
|
|
||||||
,gfx1200 [#RDNA-OS-past-60]_,,,,,,,,,,,,,,,
|
|
||||||
,gfx1101 [#RDNA-OS-past-60]_,,,,,,,,,,,,,,,
|
|
||||||
,gfx1100,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
|
|
||||||
,gfx942,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
|
|
||||||
,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908,gfx908
|
|
||||||
,,,,,,,,,,,,,,,,
|
|
||||||
FRAMEWORK SUPPORT,.. _framework-support-compatibility-matrix-past-60:,,,,,,,,,,,,,,,
|
|
||||||
:doc:`PyTorch <../compatibility/ml-compatibility/pytorch-compatibility>`,"2.6, 2.5, 2.4, 2.3","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.18.1, 2.17.1, 2.16.2","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.35,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.2,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:,,,,,,,,,,,,,,,
|
|
||||||
`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.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.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:,,,,,,,,,,,,,,,
|
|
||||||
Thrust,2.5.0,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.5.0,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:,,,,,,,,,,,,,,,
|
|
||||||
:doc:`KMD versions <rocm-install-on-linux:reference/user-kernel-space-compat-matrix>`,"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.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:,,,,,,,,,,,,,,,
|
|
||||||
: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,1.1.0
|
|
||||||
:doc:`MIGraphX <amdmigraphx:index>`,2.12.0,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.4.0,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.2.0,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.2.0,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.10.0,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.8.0,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.3.1,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.10,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:,,,,,,,,,,,,,,,
|
|
||||||
:doc:`RCCL <rccl:index>`,2.22.3,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
|
|
||||||
:doc:`rocSHMEM <rocshmem:index>`,2.0.0,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,1.12.0,1.12.0,1.12.0
|
|
||||||
:doc:`hipBLAS <hipblas:index>`,2.4.0,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:`hipBLASLt <hipblaslt:index>`,0.12.1,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:`hipFFT <hipfft:index>`,1.0.18,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:`hipfort <hipfort:index>`,0.6.0,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:`hipRAND <hiprand:index>`,2.12.0,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:`hipSOLVER <hipsolver:index>`,2.4.0,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:`hipSPARSE <hipsparse:index>`,3.2.0,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:`hipSPARSELt <hipsparselt:index>`,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.1.0,0.1.0,0.1.0,0.1.0
|
|
||||||
:doc:`rocALUTION <rocalution:index>`,3.2.3,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:`rocBLAS <rocblas:index>`,4.4.0,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:`rocFFT <rocfft:index>`,1.0.32,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:`rocRAND <rocrand:index>`,3.3.0,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:`rocSOLVER <rocsolver:index>`,3.28.0,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:`rocSPARSE <rocsparse:index>`,3.4.0,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:`rocWMMA <rocwmma:index>`,1.7.0,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.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.4.0,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:`hipTensor <hiptensor:index>`,1.5.0,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:`rocPRIM <rocprim:index>`,3.4.0,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.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.4.43483,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
|
|
||||||
`rocm-core <https://github.com/ROCm/rocm-core>`_,6.4.1,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]_,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>`,25.4.2,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:`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,0.3.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,1.0.0
|
|
||||||
:doc:`ROCm SMI <rocm_smi_lib:index>`,7.5.0,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.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,1.4.0,1.4.0,1.4.0
|
|
||||||
:doc:`ROCm Compute Profiler <rocprofiler-compute:index>`,3.1.0,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:`ROCm Systems Profiler <rocprofiler-systems:index>`,1.0.1,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 <rocprofiler:index>`,2.0.60401,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:`ROCprofiler-SDK <rocprofiler-sdk:index>`,0.6.0,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.60401,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>`,19.0.0,19.0.0,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:`ROCm CMake <rocmcmakebuildtools:index>`,0.14.0,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:`ROCdbgapi <rocdbgapi:index>`,0.77.2,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
|
|
||||||
:doc:`ROCm Debugger (ROCgdb) <rocgdb:index>`,15.2.0,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
|
|
||||||
`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.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.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,N/A,N/A,0.5.0,0.5.0,0.5.0,0.5.0,0.5.0,0.5.0
|
|
||||||
: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.1.1,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0,1.0.0
|
|
||||||
`Flang <https://github.com/ROCm/flang>`_,19.0.0.25184,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
|
|
||||||
:doc:`llvm-project <llvm-project:index>`,19.0.0.25184,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.25184,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.4.43483,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:`HIP <hip:index>`,6.4.43483,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,2.0.0,2.0.0,2.0.0
|
|
||||||
:doc:`ROCr Runtime <rocr-runtime:index>`,1.15.0,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
|
|
||||||
|
@@ -1,240 +1,115 @@
|
|||||||
.. meta::
|
****************************************
|
||||||
:description: ROCm compatibility matrix
|
ROCm |ROCM_VERSION| compatibility matrix
|
||||||
:keywords: GPU, architecture, hardware, compatibility, system, requirements, components, libraries
|
****************************************
|
||||||
|
|
||||||
**************************************************************************************
|
To plan your ROCm |ROCM_VERSION| installation, use the following selector to
|
||||||
Compatibility matrix
|
view ROCm compatibility and system requirements information for your AMD
|
||||||
**************************************************************************************
|
hardware configuration. For installation instructions, see
|
||||||
|
:doc:`/install/rocm`.
|
||||||
|
|
||||||
Use this matrix to view the ROCm compatibility and system requirements across successive major and minor releases.
|
.. include:: ./includes/selector.rst
|
||||||
|
|
||||||
You can also refer to the :ref:`past versions of ROCm compatibility matrix<past-rocm-compatibility-matrix>`.
|
----
|
||||||
|
|
||||||
Accelerators and GPUs listed in the following table support compute workloads (no display
|
Hardware, software, and firmware requirements
|
||||||
information or graphics). If you’re using ROCm with AMD Radeon or Radeon Pro GPUs for graphics
|
=============================================
|
||||||
workloads, see the `Use ROCm on Radeon GPU documentation
|
|
||||||
<https://rocm.docs.amd.com/projects/radeon/en/latest/docs/compatibility.html>`_ to verify
|
|
||||||
compatibility and system requirements.
|
|
||||||
|
|
||||||
.. |br| raw:: html
|
ROCm depends on a coordinated stack of compatible firmware, driver, and user
|
||||||
|
space components. Maintaining version alignment between these layers ensures
|
||||||
|
expected GPU operation and performance, especially for AMD data center products.
|
||||||
|
Future preview releases will expand hardware and operating system coverage.
|
||||||
|
|
||||||
<br/>
|
ROCm 7.11.0 enables support for primarily compute workloads. Future releases
|
||||||
|
will support mixed workloads (compute and graphics).
|
||||||
|
|
||||||
.. container:: format-big-table
|
.. selected:: os=ubuntu os=rhel os=sles
|
||||||
|
|
||||||
.. csv-table::
|
.. selected:: fam=radeon-pro fam=radeon
|
||||||
:header: "ROCm Version", "6.4.1", "6.4.0", "6.3.0"
|
|
||||||
:stub-columns: 1
|
|
||||||
|
|
||||||
:ref:`Operating systems & kernels <OS-kernel-versions>`,Ubuntu 24.04.2,Ubuntu 24.04.2,Ubuntu 24.04.2
|
If you’re interested in testing AMD Radeon GPUs with preview support for
|
||||||
,Ubuntu 22.04.5,Ubuntu 22.04.5,Ubuntu 22.04.5
|
graphics use cases with AMD ROCm 7.11.0, install Radeon Software for Linux
|
||||||
,"RHEL 9.6, 9.5, 9.4","RHEL 9.5, 9.4","RHEL 9.5, 9.4"
|
version 25.35 from `Linux Drivers for AMD Radeon and Radeon PRO
|
||||||
,RHEL 8.10,RHEL 8.10,RHEL 8.10
|
Graphics <https://www.amd.com/en/support/download/linux-drivers.html>`__.
|
||||||
,SLES 15 SP6,SLES 15 SP6,"SLES 15 SP6, SP5"
|
|
||||||
,"Oracle Linux 9, 8 [#mi300x]_","Oracle Linux 9, 8 [#mi300x]_",Oracle Linux 8.10 [#mi300x]_
|
|
||||||
,Debian 12 [#single-node]_,Debian 12 [#single-node]_,
|
|
||||||
,Azure Linux 3.0 [#mi300x]_,Azure Linux 3.0 [#mi300x]_,
|
|
||||||
,.. _architecture-support-compatibility-matrix:,,
|
|
||||||
:doc:`Architecture <rocm-install-on-linux:reference/system-requirements>`,CDNA3,CDNA3,CDNA3
|
|
||||||
,CDNA2,CDNA2,CDNA2
|
|
||||||
,CDNA,CDNA,CDNA
|
|
||||||
,RDNA4,,
|
|
||||||
,RDNA3,RDNA3,RDNA3
|
|
||||||
,RDNA2,RDNA2,RDNA2
|
|
||||||
,.. _gpu-support-compatibility-matrix:,,
|
|
||||||
:doc:`GPU / LLVM target <rocm-install-on-linux:reference/system-requirements>`,gfx1201 [#RDNA-OS]_,,
|
|
||||||
,gfx1200 [#RDNA-OS]_,,
|
|
||||||
,gfx1101 [#RDNA-OS]_,,
|
|
||||||
,gfx1100,gfx1100,gfx1100
|
|
||||||
,gfx1030,gfx1030,gfx1030
|
|
||||||
,gfx942,gfx942,gfx942
|
|
||||||
,gfx90a,gfx90a,gfx90a
|
|
||||||
,gfx908,gfx908,gfx908
|
|
||||||
,,,
|
|
||||||
FRAMEWORK SUPPORT,.. _framework-support-compatibility-matrix:,,
|
|
||||||
:doc:`PyTorch <../compatibility/ml-compatibility/pytorch-compatibility>`,"2.6, 2.5, 2.4, 2.3","2.6, 2.5, 2.4, 2.3","2.4, 2.3, 2.2, 2.1, 2.0, 1.13"
|
|
||||||
:doc:`TensorFlow <../compatibility/ml-compatibility/tensorflow-compatibility>`,"2.18.1, 2.17.1, 2.16.2","2.18.1, 2.17.1, 2.16.2","2.17.0, 2.16.2, 2.15.1"
|
|
||||||
:doc:`JAX <../compatibility/ml-compatibility/jax-compatibility>`,0.4.35,0.4.35,0.4.31
|
|
||||||
`ONNX Runtime <https://onnxruntime.ai/docs/build/eps.html#amd-migraphx>`_,1.2,1.2,1.17.3
|
|
||||||
,,,
|
|
||||||
THIRD PARTY COMMS,.. _thirdpartycomms-support-compatibility-matrix:,,
|
|
||||||
`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
|
|
||||||
,,,
|
|
||||||
THIRD PARTY ALGORITHM,.. _thirdpartyalgorithm-support-compatibility-matrix:,,
|
|
||||||
Thrust,2.5.0,2.5.0,2.3.2
|
|
||||||
CUB,2.5.0,2.5.0,2.3.2
|
|
||||||
,,,
|
|
||||||
KMD & USER SPACE [#kfd_support]_,.. _kfd-userspace-support-compatibility-matrix:,,
|
|
||||||
:doc:`KMD versions <rocm-install-on-linux:reference/user-kernel-space-compat-matrix>`,"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"
|
|
||||||
,,,
|
|
||||||
ML & COMPUTER VISION,.. _mllibs-support-compatibility-matrix:,,
|
|
||||||
:doc:`Composable Kernel <composable_kernel:index>`,1.1.0,1.1.0,1.1.0
|
|
||||||
:doc:`MIGraphX <amdmigraphx:index>`,2.12.0,2.12.0,2.11.0
|
|
||||||
:doc:`MIOpen <miopen:index>`,3.4.0,3.4.0,3.3.0
|
|
||||||
:doc:`MIVisionX <mivisionx:index>`,3.2.0,3.2.0,3.1.0
|
|
||||||
:doc:`rocAL <rocal:index>`,2.2.0,2.2.0,2.1.0
|
|
||||||
:doc:`rocDecode <rocdecode:index>`,0.10.0,0.10.0,0.8.0
|
|
||||||
:doc:`rocJPEG <rocjpeg:index>`,0.8.0,0.8.0,0.6.0
|
|
||||||
:doc:`rocPyDecode <rocpydecode:index>`,0.3.1,0.3.1,0.2.0
|
|
||||||
:doc:`RPP <rpp:index>`,1.9.10,1.9.10,1.9.1
|
|
||||||
,,,
|
|
||||||
COMMUNICATION,.. _commlibs-support-compatibility-matrix:,,
|
|
||||||
:doc:`RCCL <rccl:index>`,2.22.3,2.22.3,2.21.5
|
|
||||||
:doc:`rocSHMEM <rocshmem:index>`,2.0.0,2.0.0,N/A
|
|
||||||
,,,
|
|
||||||
MATH LIBS,.. _mathlibs-support-compatibility-matrix:,,
|
|
||||||
`half <https://github.com/ROCm/half>`_ ,1.12.0,1.12.0,1.12.0
|
|
||||||
:doc:`hipBLAS <hipblas:index>`,2.4.0,2.4.0,2.3.0
|
|
||||||
:doc:`hipBLASLt <hipblaslt:index>`,0.12.1,0.12.0,0.10.0
|
|
||||||
:doc:`hipFFT <hipfft:index>`,1.0.18,1.0.18,1.0.17
|
|
||||||
:doc:`hipfort <hipfort:index>`,0.6.0,0.6.0,0.5.0
|
|
||||||
:doc:`hipRAND <hiprand:index>`,2.12.0,2.12.0,2.11.0
|
|
||||||
:doc:`hipSOLVER <hipsolver:index>`,2.4.0,2.4.0,2.3.0
|
|
||||||
:doc:`hipSPARSE <hipsparse:index>`,3.2.0,3.2.0,3.1.2
|
|
||||||
:doc:`hipSPARSELt <hipsparselt:index>`,0.2.3,0.2.3,0.2.2
|
|
||||||
:doc:`rocALUTION <rocalution:index>`,3.2.3,3.2.2,3.2.1
|
|
||||||
:doc:`rocBLAS <rocblas:index>`,4.4.0,4.4.0,4.3.0
|
|
||||||
:doc:`rocFFT <rocfft:index>`,1.0.32,1.0.32,1.0.31
|
|
||||||
:doc:`rocRAND <rocrand:index>`,3.3.0,3.3.0,3.2.0
|
|
||||||
:doc:`rocSOLVER <rocsolver:index>`,3.28.0,3.28.0,3.27.0
|
|
||||||
:doc:`rocSPARSE <rocsparse:index>`,3.4.0,3.4.0,3.3.0
|
|
||||||
:doc:`rocWMMA <rocwmma:index>`,1.7.0,1.7.0,1.6.0
|
|
||||||
:doc:`Tensile <tensile:src/index>`,4.43.0,4.43.0,4.42.0
|
|
||||||
,,,
|
|
||||||
PRIMITIVES,.. _primitivelibs-support-compatibility-matrix:,,
|
|
||||||
:doc:`hipCUB <hipcub:index>`,3.4.0,3.4.0,3.3.0
|
|
||||||
:doc:`hipTensor <hiptensor:index>`,1.5.0,1.5.0,1.4.0
|
|
||||||
:doc:`rocPRIM <rocprim:index>`,3.4.0,3.4.0,3.3.0
|
|
||||||
:doc:`rocThrust <rocthrust:index>`,3.3.0,3.3.0,3.3.0
|
|
||||||
,,,
|
|
||||||
SUPPORT LIBS,,,
|
|
||||||
`hipother <https://github.com/ROCm/hipother>`_,6.4.43483,6.4.43482,6.3.42131
|
|
||||||
`rocm-core <https://github.com/ROCm/rocm-core>`_,6.4.1,6.4.0,6.3.0
|
|
||||||
`ROCT-Thunk-Interface <https://github.com/ROCm/ROCT-Thunk-Interface>`_,N/A [#ROCT-rocr]_,N/A [#ROCT-rocr]_,N/A [#ROCT-rocr]_
|
|
||||||
,,,
|
|
||||||
SYSTEM MGMT TOOLS,.. _tools-support-compatibility-matrix:,,
|
|
||||||
:doc:`AMD SMI <amdsmi:index>`,25.4.2,25.3.0,24.7.1
|
|
||||||
: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:`ROCm SMI <rocm_smi_lib:index>`,7.5.0,7.5.0,7.4.0
|
|
||||||
:doc:`ROCm Validation Suite <rocmvalidationsuite:index>`,1.1.0,1.1.0,1.1.0
|
|
||||||
,,,
|
|
||||||
PERFORMANCE TOOLS,,,
|
|
||||||
: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.1.0,3.1.0,3.0.0
|
|
||||||
:doc:`ROCm Systems Profiler <rocprofiler-systems:index>`,1.0.1,1.0.0,0.1.0
|
|
||||||
:doc:`ROCProfiler <rocprofiler:index>`,2.0.60401,2.0.60400,2.0.60300
|
|
||||||
:doc:`ROCprofiler-SDK <rocprofiler-sdk:index>`,0.6.0,0.6.0,0.5.0
|
|
||||||
:doc:`ROCTracer <roctracer:index>`,4.1.60401,4.1.60400,4.1.60300
|
|
||||||
,,,
|
|
||||||
DEVELOPMENT TOOLS,,,
|
|
||||||
:doc:`HIPIFY <hipify:index>`,19.0.0,19.0.0,18.0.0.24455
|
|
||||||
:doc:`ROCm CMake <rocmcmakebuildtools:index>`,0.14.0,0.14.0,0.14.0
|
|
||||||
:doc:`ROCdbgapi <rocdbgapi:index>`,0.77.2,0.77.2,0.77.0
|
|
||||||
:doc:`ROCm Debugger (ROCgdb) <rocgdb:index>`,15.2.0,15.2.0,15.2.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.4,2.0.4,2.0.3
|
|
||||||
,,,
|
|
||||||
COMPILERS,.. _compilers-support-compatibility-matrix:,,
|
|
||||||
`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
|
|
||||||
`Flang <https://github.com/ROCm/flang>`_,19.0.0.25184,19.0.0.25133,18.0.0.24455
|
|
||||||
:doc:`llvm-project <llvm-project:index>`,19.0.0.25184,19.0.0.25133,18.0.0.24491
|
|
||||||
`OpenMP <https://github.com/ROCm/llvm-project/tree/amd-staging/openmp>`_,19.0.0.25184,19.0.0.25133,18.0.0.24491
|
|
||||||
,,,
|
|
||||||
RUNTIMES,.. _runtime-support-compatibility-matrix:,,
|
|
||||||
:doc:`AMD CLR <hip:understand/amd_clr>`,6.4.43483,6.4.43482,6.3.42131
|
|
||||||
:doc:`HIP <hip:index>`,6.4.43483,6.4.43482,6.3.42131
|
|
||||||
`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.15.0,1.15.0,1.14.0
|
|
||||||
|
|
||||||
|
.. selected:: fam=ryzen
|
||||||
|
|
||||||
.. rubric:: Footnotes
|
If you're interested in testing AMD Ryzen APUs with preview support for
|
||||||
|
graphics use cases with AMD ROCm 7.11.0, use the inbox graphics drivers of
|
||||||
|
Ubuntu 24.04.3.
|
||||||
|
|
||||||
.. [#mi300x] Oracle Linux and Azure Linux are supported only on AMD Instinct MI300X.
|
.. include:: ./includes/system-instinct.rst
|
||||||
.. [#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].
|
|
||||||
.. [#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.
|
|
||||||
.. [#RDNA-OS] Radeon AI PRO R9700, Radeon RX 9070 XT (gfx1201), Radeon RX 9060 XT (gfx1200), Radeon PRO W7700 (gfx1101), and Radeon RX 7800 XT (gfx1101) are supported only on Ubuntu 24.04.2, Ubuntu 22.04.5, RHEL 9.6, RHEL 9.5, and RHEL 9.4.
|
|
||||||
|
|
||||||
.. _OS-kernel-versions:
|
.. include:: ./includes/system-radeon-pro.rst
|
||||||
|
|
||||||
Operating systems, kernel and Glibc versions
|
.. include:: ./includes/system-radeon.rst
|
||||||
*********************************************
|
|
||||||
|
|
||||||
Use this lookup table to confirm which operating system and kernel versions are supported with ROCm.
|
.. include:: ./includes/system-ryzen.rst
|
||||||
|
|
||||||
.. csv-table::
|
----
|
||||||
:header: "OS", "Version", "Kernel", "Glibc"
|
|
||||||
:widths: 40, 20, 30, 20
|
|
||||||
:stub-columns: 1
|
|
||||||
|
|
||||||
`Ubuntu <https://ubuntu.com/about/release-cycle#ubuntu-kernel-release-cycle>`_, 24.04.2, "6.8 GA, 6.11 HWE", 2.39
|
.. _rocm-compat-frameworks:
|
||||||
,,
|
|
||||||
`Ubuntu <https://ubuntu.com/about/release-cycle#ubuntu-kernel-release-cycle>`_, 22.04.5, "5.15 GA, 6.8 HWE", 2.35
|
Deep learning frameworks
|
||||||
,,
|
========================
|
||||||
`Red Hat Enterprise Linux (RHEL 9) <https://access.redhat.com/articles/3078#RHEL9>`_, 9.6, 5.14+, 2.34
|
|
||||||
, 9.5, 5.14+, 2.34
|
ROCm |ROCM_VERSION| provides optimized support for popular deep learning
|
||||||
,9.4, 5.14+, 2.34
|
frameworks. The following table lists supported frameworks and their supported
|
||||||
,9.3, 5.14+, 2.34
|
versions.
|
||||||
,,
|
|
||||||
`Red Hat Enterprise Linux (RHEL 8) <https://access.redhat.com/articles/3078#RHEL8>`_, 8.10, 4.18.0+, 2.28
|
.. _rocm-compat-pytorch:
|
||||||
,8.9, 4.18.0, 2.28
|
|
||||||
,,
|
.. matrix::
|
||||||
`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, 2.31
|
.. matrix-head::
|
||||||
,,
|
|
||||||
`Oracle Linux <https://blogs.oracle.com/scoter/post/oracle-linux-and-unbreakable-enterprise-kernel-uek-releases>`_, 9, 5.15.0 (UEK), 2.35
|
.. matrix-row::
|
||||||
,8, 5.15.0 (UEK), 2.28
|
|
||||||
,,
|
.. matrix-cell:: Framework
|
||||||
`Debian <https://www.debian.org/download>`_,12, 6.1, 2.36
|
:header:
|
||||||
,,
|
|
||||||
`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
|
.. matrix-cell:: Supported versions
|
||||||
,,
|
:header:
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: fam=instinct fam=ryzen
|
||||||
|
|
||||||
|
.. matrix-cell:: PyTorch
|
||||||
|
|
||||||
|
.. matrix-cell:: 2.9.1, 2.8.0, 2.7.1
|
||||||
|
:show-when: os=ubuntu os=debian os=rhel os=oracle-linux os=rocky-linux os=sles
|
||||||
|
|
||||||
|
.. matrix-cell:: 2.9.1
|
||||||
|
:show-when: os=windows
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: fam=radeon fam=radeon-pro
|
||||||
|
|
||||||
|
.. matrix-cell:: PyTorch
|
||||||
|
|
||||||
|
.. matrix-cell:: 2.9.1
|
||||||
|
|
||||||
|
For installation instructions, see :ref:`pip-install-pytorch`.
|
||||||
|
|
||||||
|
.. _rocm-compat-python:
|
||||||
|
|
||||||
.. note::
|
.. 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).
|
ROCm |ROCM_VERSION| is compatible with Python versions 3.11, 3.12, and
|
||||||
* 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).
|
3.13.
|
||||||
..
|
|
||||||
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.
|
|
||||||
An easy way to work is to download the historical.CSV file, and update open it in excel. Then when content is ready,
|
|
||||||
delete the columns you don't need, to build the current compatibility matrix to use in above table. Find & replace all
|
|
||||||
instances of "-past-60" to make it ready for above table.
|
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
.. _past-rocm-compatibility-matrix:
|
ROCm Core SDK components
|
||||||
|
========================
|
||||||
|
|
||||||
Past versions of ROCm compatibility matrix
|
The following table lists core components included in the ROCm |ROCM_VERSION|
|
||||||
***************************************************
|
release. Expect future releases in this stream to expand the list of
|
||||||
|
components.
|
||||||
|
|
||||||
Expand for full historical view of:
|
.. include:: ./includes/core-sdk-components-linux.rst
|
||||||
|
|
||||||
.. dropdown:: ROCm 6.0 - Present
|
.. include:: ./includes/core-sdk-components-windows.rst
|
||||||
|
|
||||||
You can `download the entire .csv <../downloads/compatibility-matrix-historical-6.0.csv>`_ for offline reference.
|
----
|
||||||
|
|
||||||
.. csv-table::
|
.. include:: ./includes/virtualization-instinct.rst
|
||||||
:file: compatibility-matrix-historical-6.0.csv
|
|
||||||
:header-rows: 1
|
|
||||||
:stub-columns: 1
|
|
||||||
|
|
||||||
.. rubric:: Footnotes
|
|
||||||
|
|
||||||
.. [#mi300x-past-60] Oracle Linux and Azure Linux are supported only on AMD Instinct MI300X.
|
|
||||||
.. [#single-node-past-60] Debian 12 is supported only on AMD Instinct MI300X for single-node functionality.
|
|
||||||
.. [#mi300_624-past-60] **For ROCm 6.2.4** - 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_622-past-60] **For ROCm 6.2.2** - 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_621-past-60] **For ROCm 6.2.1** - 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-past-60] **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_612-past-60] **For ROCm 6.1.2** - 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 and Oracle Linux.
|
|
||||||
.. [#mi300_611-past-60] **For ROCm 6.1.1** - 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 and Oracle Linux.
|
|
||||||
.. [#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_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] 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.
|
|
||||||
.. [#RDNA-OS-past-60] Radeon AI PRO R9700, Radeon RX 9070 XT (gfx1201), Radeon RX 9060 XT (gfx1200), Radeon PRO W7700 (gfx1101), and Radeon RX 7800 XT (gfx1101) are supported only on Ubuntu 24.04.2, Ubuntu 22.04.5, RHEL 9.6, RHEL 9.5, and RHEL 9.4.
|
|
||||||
|
|||||||
263
docs/compatibility/includes/core-sdk-components-linux.rst
Normal file
263
docs/compatibility/includes/core-sdk-components-linux.rst
Normal file
@@ -0,0 +1,263 @@
|
|||||||
|
.. matrix::
|
||||||
|
:show-when: os=ubuntu os=debian os=rhel os=oracle-linux os=rocky-linux os=sles
|
||||||
|
|
||||||
|
.. matrix-head::
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell:: Component group
|
||||||
|
|
||||||
|
.. matrix-cell:: Component name
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: Math and compute libraries
|
||||||
|
:rowspan: 18
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`Composable Kernel <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/composablekernel>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`hipBLAS <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipblas>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`hipBLASLt <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipblaslt>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`hipCUB <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipcub>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`hipFFT <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipfft>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`hipRAND <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hiprand>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`hipSOLVER <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipsolver>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`hipSPARSE <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipsparse>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`hipSPARSELt <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipsparselt>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`MIOpen <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/miopen>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`rocBLAS <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocblas>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`rocFFT <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocfft>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`rocPRIM <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocprim>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`rocRAND <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocrand>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`rocSOLVER <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocsolver>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`rocSPARSE <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocsparse>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`rocThrust <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocthrust>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`rocWMMA <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocwmma>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: Communication librarires
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`RCCL <https://github.com/ROCm/rccl/tree/release/release/therock-7.11>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: Support libraries
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`ROCm CMake <https://github.com/ROCm/rocm-cmake/tree/release/therock-7.11>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: Runtimes and compilers
|
||||||
|
:rowspan: 5
|
||||||
|
:show-when: fam=instinct fam=radeon-pro fam=radeon
|
||||||
|
|
||||||
|
.. matrix-cell:: Runtimes and compilers
|
||||||
|
:rowspan: 4
|
||||||
|
:show-when: fam=ryzen
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`HIP <https://github.com/ROCm/rocm-systems/tree/release/therock-7.11/projects/hip>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`HIPIFY <https://github.com/ROCm/HIPIFY/tree/release/therock-7.11>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`LLVM <https://github.com/ROCm/llvm-project/tree/release/therock-7.11>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: fam=instinct fam=radeon-pro fam=radeon
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`ROCr Runtime <https://github.com/ROCm/rocm-systems/tree/release/therock-7.11/projects/rocr-runtime>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`SPIRV-LLVM-Translator <https://github.com/ROCm/SPIRV-LLVM-Translator/tree/release/therock-7.11>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: Profiling and debugging tools
|
||||||
|
:rowspan: 6
|
||||||
|
:show-when: fam=instinct
|
||||||
|
|
||||||
|
.. matrix-cell:: Profiling and debugging tools
|
||||||
|
:rowspan: 4
|
||||||
|
:show-when: fam=radeon-pro fam=radeon
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: fam=instinct
|
||||||
|
|
||||||
|
`ROCm Compute Profiler (rocprofiler-compute) <https://github.com/ROCm/rocm-systems/tree/release/therock-7.11/projects/rocprofiler-compute>`__
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: fam=radeon-pro fam=radeon
|
||||||
|
|
||||||
|
`ROCprofiler-SDK <https://github.com/ROCm/rocm-systems/tree/release/therock-7.11/projects/rocprofiler-sdk>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: fam=instinct
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`ROCm Systems Profiler (rocprofiler-systems) <https://github.com/ROCm/rocm-systems/tree/release/therock-7.11/projects/rocprofiler-systems>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: fam=instinct
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`ROCprofiler-SDK <https://github.com/ROCm/rocm-systems/tree/release/therock-7.11/projects/rocprofiler-sdk>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: fam=instinct fam=radeon-pro fam=radeon
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`ROCdbgapi <https://github.com/ROCm/ROCdbgapi/tree/release/therock-7.11>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: fam=instinct fam=radeon-pro fam=radeon
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`ROCm Debugger (ROCgdb) <https://github.com/ROCm/ROCgdb/tree/release/therock-7.11>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: fam=instinct fam=radeon-pro fam=radeon
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`ROCr Debug Agent <https://github.com/ROCm/rocr_debug_agent/tree/release/therock-7.11>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: Control and monitoring tools
|
||||||
|
:rowspan: 2
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: fam=instinct fam=radeon-pro fam=radeon
|
||||||
|
|
||||||
|
`AMD SMI <https://github.com/ROCm/rocm-systems/tree/release/therock-7.11/projects/amdsmi>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`rocminfo <https://github.com/ROCm/rocm-systems/tree/release/therock-7.11/projects/rocminfo>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: System validation tools
|
||||||
|
:rowspan: 2
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`ROCm Bandwidth Test <https://github.com/ROCm/rocm_bandwidth_test>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`TransferBench <https://github.com/ROCm/TransferBench>`__
|
||||||
151
docs/compatibility/includes/core-sdk-components-windows.rst
Normal file
151
docs/compatibility/includes/core-sdk-components-windows.rst
Normal file
@@ -0,0 +1,151 @@
|
|||||||
|
.. matrix::
|
||||||
|
:show-when: os=windows
|
||||||
|
|
||||||
|
.. matrix-head::
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell:: Component group
|
||||||
|
|
||||||
|
.. matrix-cell:: Component name
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: Math and compute libraries
|
||||||
|
:rowspan: 17
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`Composable Kernel <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/composablekernel>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`hipBLAS <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipblas>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`hipBLASLt <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipblaslt>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`hipCUB <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipcub>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`hipFFT <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipfft>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`hipRAND <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocsolver>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`hipSOLVER <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipsolver>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`hipSPARSE <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/hipsparse>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`MIOpen <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/miopen>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`rocBLAS <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocblas>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`rocFFT <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocfft>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`rocPRIM <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocprim>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`rocRAND <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocrand>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`rocSOLVER <https://github.com/ROCm/rocm-libraries/tree/therock-7.9.0/projects/rocsolver>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`rocSPARSE <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocsparse>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`rocThrust <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocthrust>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`rocWMMA <https://github.com/ROCm/rocm-libraries/tree/release/therock-7.11/projects/rocwmma>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: Support libraries
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`ROCm CMake <https://github.com/ROCm/rocm-cmake/tree/release/therock-7.11>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: Runtimes and compilers
|
||||||
|
:rowspan: 3
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`HIP <https://github.com/ROCm/rocm-systems/tree/release/therock-7.11/projects/hip>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`HIPIFY <https://github.com/ROCm/HIPIFY/tree/release/therock-7.11>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`LLVM <https://github.com/ROCm/llvm-project/tree/release/therock-7.11>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: Control and monitoring tools
|
||||||
|
|
||||||
|
.. matrix-cell:: hipinfo
|
||||||
357
docs/compatibility/includes/selector.rst
Normal file
357
docs/compatibility/includes/selector.rst
Normal file
@@ -0,0 +1,357 @@
|
|||||||
|
.. =========================================================== GPU/APU FAMILY ==
|
||||||
|
|
||||||
|
.. selector:: AMD device family
|
||||||
|
:key: fam
|
||||||
|
|
||||||
|
.. selector-option:: Instinct
|
||||||
|
:value: instinct
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: Radeon PRO
|
||||||
|
:value: radeon-pro
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: Radeon
|
||||||
|
:value: radeon
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: Ryzen AI
|
||||||
|
:value: ryzen
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
|
||||||
|
.. ================================================================ GPU / APU ==
|
||||||
|
|
||||||
|
.. selector:: Instinct GPU
|
||||||
|
:key: gpu
|
||||||
|
:show-when: fam=instinct
|
||||||
|
|
||||||
|
.. selector-info:: https://www.amd.com/en/products/accelerators/instinct.html
|
||||||
|
|
||||||
|
.. selector-option:: MI355X
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: MI350X
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: MI325X
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: MI300X
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: MI300A
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: MI250X
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: MI250
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: MI210
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector:: Radeon PRO GPU
|
||||||
|
:key: gpu
|
||||||
|
:show-when: fam=radeon-pro
|
||||||
|
|
||||||
|
.. selector-info:: https://www.amd.com/en/products/graphics/workstations.html
|
||||||
|
|
||||||
|
.. selector-option:: AI PRO R9700
|
||||||
|
:value: ai-r9700
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: AI PRO R9600D
|
||||||
|
:value: ai-r9600d
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: W7900 Dual Slot
|
||||||
|
:value: w7900-dual-slot
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: W7900
|
||||||
|
:value: w7900
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: W7800 48GB
|
||||||
|
:value: w7800-48gb
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: W7800
|
||||||
|
:value: w7800
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: W7700
|
||||||
|
:value: w7700
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: V710
|
||||||
|
:value: v710
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector:: Radeon GPU
|
||||||
|
:key: gpu
|
||||||
|
:show-when: fam=radeon
|
||||||
|
|
||||||
|
.. selector-info:: https://www.amd.com/en/products/graphics/desktops/radeon.html
|
||||||
|
|
||||||
|
.. selector-option:: RX 9070 XT
|
||||||
|
:value: rx-9070-xt
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: RX 9070 GRE
|
||||||
|
:value: rx-9070-gre
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: RX 9070
|
||||||
|
:value: rx-9070
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: RX 9060 XT LP
|
||||||
|
:value: rx-9060-xt-lp
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: RX 9060 XT
|
||||||
|
:value: rx-9060-xt
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: RX 9060
|
||||||
|
:value: rx-9060
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: RX 7900 XTX
|
||||||
|
:value: rx-7900-xtx
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: RX 7900 XT
|
||||||
|
:value: rx-7900-xt
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: RX 7900 GRE
|
||||||
|
:value: rx-7900-gre
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: RX 7800 XT
|
||||||
|
:value: rx-7800-xt
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: RX 7700 XT
|
||||||
|
:value: rx-7700-xt
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: RX 7700
|
||||||
|
:value: rx-7700
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector:: Ryzen AI APU
|
||||||
|
:key: gpu
|
||||||
|
:show-when: fam=ryzen
|
||||||
|
|
||||||
|
.. selector-info:: https://www.amd.com/en/products/processors/workstations/mobile.html
|
||||||
|
|
||||||
|
.. selector-option:: Max+ PRO 395
|
||||||
|
:value: max-pro-395
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: Max PRO 390
|
||||||
|
:value: max-pro-390
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: Max PRO 385
|
||||||
|
:value: max-pro-385
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: Max PRO 380
|
||||||
|
:value: max-pro-380
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: Max+ 395
|
||||||
|
:value: max-395
|
||||||
|
:width: 2
|
||||||
|
|
||||||
|
.. selector-option:: Max 390
|
||||||
|
:value: max-390
|
||||||
|
:width: 2
|
||||||
|
|
||||||
|
.. selector-option:: Max 385
|
||||||
|
:value: max-385
|
||||||
|
:width: 2
|
||||||
|
|
||||||
|
.. selector-option:: 9 HX 375
|
||||||
|
:value: 9-hx-375
|
||||||
|
:width: 2
|
||||||
|
|
||||||
|
.. selector-option:: 9 HX 370
|
||||||
|
:value: 9-hx-370
|
||||||
|
:width: 2
|
||||||
|
|
||||||
|
.. selector-option:: 9 365
|
||||||
|
:value: 9-365
|
||||||
|
:width: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. ========================================================= OPERATING SYSTEM ==
|
||||||
|
|
||||||
|
.. selected:: fam=instinct
|
||||||
|
|
||||||
|
.. selector:: Linux distribution
|
||||||
|
:key: os
|
||||||
|
:show-when: gpu=mi355x gpu=mi350x gpu=mi325x
|
||||||
|
|
||||||
|
.. selector-option:: Ubuntu
|
||||||
|
:value: ubuntu
|
||||||
|
:width: 20%
|
||||||
|
|
||||||
|
.. selector-option:: Debian
|
||||||
|
:value: debian
|
||||||
|
:width: 20%
|
||||||
|
:show-when: gpu=mi355x gpu=mi350x gpu=mi325x
|
||||||
|
|
||||||
|
.. selector-option:: RHEL
|
||||||
|
:value: rhel
|
||||||
|
:width: 20%
|
||||||
|
|
||||||
|
.. selector-option:: Oracle Linux
|
||||||
|
:value: oracle-linux
|
||||||
|
:width: 20%
|
||||||
|
|
||||||
|
.. selector-option:: SLES
|
||||||
|
:value: sles
|
||||||
|
:width: 20%
|
||||||
|
|
||||||
|
.. selector:: Linux distribution
|
||||||
|
:key: os
|
||||||
|
:show-when: gpu=mi300x
|
||||||
|
|
||||||
|
.. selector-option:: Ubuntu
|
||||||
|
:value: ubuntu
|
||||||
|
:width: 4
|
||||||
|
|
||||||
|
.. selector-option:: Debian
|
||||||
|
:value: debian
|
||||||
|
:width: 4
|
||||||
|
|
||||||
|
.. selector-option:: RHEL
|
||||||
|
:value: rhel
|
||||||
|
:width: 4
|
||||||
|
|
||||||
|
.. selector-option:: Oracle Linux
|
||||||
|
:value: oracle-linux
|
||||||
|
:width: 4
|
||||||
|
|
||||||
|
.. selector-option:: Rocky Linux
|
||||||
|
:value: rocky-linux
|
||||||
|
:width: 4
|
||||||
|
|
||||||
|
.. selector-option:: SLES
|
||||||
|
:value: sles
|
||||||
|
:width: 4
|
||||||
|
|
||||||
|
.. selector:: Linux distribution
|
||||||
|
:key: os
|
||||||
|
:show-when: gpu=mi300a
|
||||||
|
|
||||||
|
.. selector-option:: Ubuntu
|
||||||
|
:value: ubuntu
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: RHEL
|
||||||
|
:value: rhel
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: Rocky Linux
|
||||||
|
:value: rocky-linux
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector-option:: SLES
|
||||||
|
:value: sles
|
||||||
|
:width: 3
|
||||||
|
|
||||||
|
.. selector:: Linux distribution
|
||||||
|
:key: os
|
||||||
|
:show-when: gpu=mi250x gpu=mi250 gpu=mi210
|
||||||
|
|
||||||
|
.. selector-option:: Ubuntu
|
||||||
|
:value: ubuntu
|
||||||
|
:width: 4
|
||||||
|
|
||||||
|
.. selector-option:: RHEL
|
||||||
|
:value: rhel
|
||||||
|
:width: 4
|
||||||
|
|
||||||
|
.. selector-option:: SLES
|
||||||
|
:value: sles
|
||||||
|
:width: 4
|
||||||
|
|
||||||
|
.. selected:: fam=radeon-pro
|
||||||
|
|
||||||
|
.. selector:: Operating system
|
||||||
|
:key: os
|
||||||
|
:show-when: gpu=ai-r9700 gpu=w7900-dual-slot gpu=w7900 gpu=w7800-48gb gpu=w7800 gpu=w7700 gpu=w6800
|
||||||
|
|
||||||
|
.. selector-option:: Ubuntu
|
||||||
|
:value: ubuntu
|
||||||
|
:width: 4
|
||||||
|
|
||||||
|
.. selector-option:: RHEL
|
||||||
|
:value: rhel
|
||||||
|
:width: 4
|
||||||
|
|
||||||
|
.. selector-option:: Windows
|
||||||
|
:value: windows
|
||||||
|
:width: 4
|
||||||
|
|
||||||
|
.. selector:: Linux distribution
|
||||||
|
:key: os
|
||||||
|
:show-when: gpu=v710 gpu=ai-r9600d
|
||||||
|
|
||||||
|
.. selector-option:: Ubuntu
|
||||||
|
:value: ubuntu
|
||||||
|
:width: 6
|
||||||
|
|
||||||
|
.. selector-option:: RHEL
|
||||||
|
:value: rhel
|
||||||
|
:width: 6
|
||||||
|
|
||||||
|
.. selected:: fam=radeon
|
||||||
|
|
||||||
|
.. selector:: Linux distribution
|
||||||
|
:key: os
|
||||||
|
:show-when: gpu=rx-9070-xt gpu=rx-9070-gre gpu=rx-9070 gpu=rx-9060-xt-lp gpu=rx-9060-xt gpu=rx-9060
|
||||||
|
|
||||||
|
.. selector-option:: Ubuntu
|
||||||
|
:value: ubuntu
|
||||||
|
:width: 6
|
||||||
|
|
||||||
|
.. selector-option:: RHEL
|
||||||
|
:value: rhel
|
||||||
|
:width: 6
|
||||||
|
|
||||||
|
.. selector:: Operating system
|
||||||
|
:key: os
|
||||||
|
:show-when: gpu=rx-7900-xtx gpu=rx-7900-xt gpu=rx-7900-gre gpu=rx-7800-xt gpu=rx-7700-xt gpu=rx-7700
|
||||||
|
|
||||||
|
.. selector-option:: Ubuntu
|
||||||
|
:value: ubuntu
|
||||||
|
:width: 4
|
||||||
|
|
||||||
|
.. selector-option:: RHEL
|
||||||
|
:value: rhel
|
||||||
|
:width: 4
|
||||||
|
|
||||||
|
.. selector-option:: Windows
|
||||||
|
:value: windows
|
||||||
|
:width: 4
|
||||||
|
|
||||||
|
.. selector:: Operating system
|
||||||
|
:key: os
|
||||||
|
:show-when: fam=ryzen
|
||||||
|
|
||||||
|
.. selector-option:: Ubuntu
|
||||||
|
:value: ubuntu
|
||||||
|
:width: 6
|
||||||
|
|
||||||
|
.. selector-option:: Windows
|
||||||
|
:value: windows
|
||||||
|
:width: 6
|
||||||
209
docs/compatibility/includes/system-instinct.rst
Normal file
209
docs/compatibility/includes/system-instinct.rst
Normal file
@@ -0,0 +1,209 @@
|
|||||||
|
.. matrix::
|
||||||
|
:show-when: fam=instinct
|
||||||
|
|
||||||
|
.. matrix-head::
|
||||||
|
|
||||||
|
.. raw:: html
|
||||||
|
|
||||||
|
<colgroup style="width: 50%;">
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: AMD GPU series
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: gpu=mi355x gpu=mi350x
|
||||||
|
|
||||||
|
`AMD Instinct MI350 Series <https://www.amd.com/en/products/accelerators/instinct/mi350.html>`__
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: gpu=mi325x gpu=mi300x gpu=mi300a
|
||||||
|
|
||||||
|
`AMD Instinct MI300 Series <https://www.amd.com/en/products/accelerators/instinct/mi300.html>`__
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: gpu=mi250x gpu=mi250 gpu=mi210
|
||||||
|
|
||||||
|
`AMD Instinct MI200 Series <https://www.amd.com/en/products/accelerators/instinct/mi200.html>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: Architecture
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell:: CDNA 4
|
||||||
|
:show-when: gpu=mi355x gpu=mi350x
|
||||||
|
|
||||||
|
.. matrix-cell:: CDNA 3
|
||||||
|
:show-when: gpu=mi325x gpu=mi300x gpu=mi300a
|
||||||
|
|
||||||
|
.. matrix-cell:: CDNA 2
|
||||||
|
:show-when: gpu=mi250x gpu=mi250 gpu=mi210
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: LLVM target
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell:: gfx950
|
||||||
|
:show-when: gpu=mi355x gpu=mi350x
|
||||||
|
|
||||||
|
.. matrix-cell:: gfx942
|
||||||
|
:show-when: gpu=mi325x gpu=mi300x gpu=mi300a
|
||||||
|
|
||||||
|
.. matrix-cell:: gfx90a
|
||||||
|
:show-when: gpu=mi250x gpu=mi250 gpu=mi210
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: os=ubuntu
|
||||||
|
|
||||||
|
.. matrix-cell:: Supported Ubuntu versions
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
Ubuntu 24.04.3 (GA kernel: 6.8)
|
||||||
|
|
||||||
|
Ubuntu 22.04.5 (GA kernel: 5.15)
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: os=rhel
|
||||||
|
|
||||||
|
.. matrix-cell:: Supported Red Hat Enterprise Linux versions
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: gpu=mi325x
|
||||||
|
|
||||||
|
RHEL 10.1 (kernel: 6.12.0-124)
|
||||||
|
|
||||||
|
RHEL 10.0 (kernel: 6.12.0-55)
|
||||||
|
|
||||||
|
RHEL 9.7 (kernel: 5.14.0-611)
|
||||||
|
|
||||||
|
RHEL 9.6 (kernel: 5.14.0-570)
|
||||||
|
|
||||||
|
RHEL 9.4 (kernel: 5.14.0-427)
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: gpu=mi355x gpu=mi350x gpu=mi300x gpu=mi300a gpu=mi250x gpu=mi250 gpu=mi210
|
||||||
|
|
||||||
|
RHEL 10.1 (kernel: 6.12.0-124)
|
||||||
|
|
||||||
|
RHEL 10.0 (kernel: 6.12.0-55)
|
||||||
|
|
||||||
|
RHEL 9.7 (kernel: 5.14.0-611)
|
||||||
|
|
||||||
|
RHEL 9.6 (kernel: 5.14.0-570)
|
||||||
|
|
||||||
|
RHEL 9.4 (kernel: 5.14.0-427)
|
||||||
|
|
||||||
|
RHEL 8.10 (kernel: 4.18.0-553)
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: os=debian
|
||||||
|
|
||||||
|
.. matrix-cell:: Supported Debian version
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell:: Debian 13 (kernel: 6.12)
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: os=oracle-linux
|
||||||
|
|
||||||
|
.. matrix-cell:: Supported Oracle Linux versions
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: gpu=mi355x gpu=mi350x gpu=mi325x gpu=mi300a gpu=mi250x gpu=mi250 gpu=mi210
|
||||||
|
|
||||||
|
Oracle Linux 10 (kernel: UEK 8.1)
|
||||||
|
|
||||||
|
Oracle Linux 9 (kernel: UEK 8)
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: gpu=mi300x
|
||||||
|
|
||||||
|
Oracle Linux 10 (kernel: UEK 8.1)
|
||||||
|
|
||||||
|
Oracle Linux 9 (kernel: UEK 8)
|
||||||
|
|
||||||
|
Oracle Linux 8 (kernel: UEK 7)
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: os=rocky-linux
|
||||||
|
|
||||||
|
.. matrix-cell:: Supported Rocky Linux versions
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: gpu=mi300x gpu=mi300a
|
||||||
|
|
||||||
|
Rocky Linux 9 (kernel: 5.14.0-570)
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: os=sles
|
||||||
|
|
||||||
|
.. matrix-cell:: Supported SUSE Linux Enterprise Server versions
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
SLES 16.0 (kernel: 6.12)
|
||||||
|
|
||||||
|
SLES 15.7 (kernel: 6.4.0-150700.51)
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: Supported AMD GPU Driver (amdgpu) versions
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`31.10.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/31.10.0-preview/documentation/release-notes.html>`__
|
||||||
|
|
||||||
|
`30.20.1 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.20.1/documentation/release-notes.html>`__
|
||||||
|
|
||||||
|
`30.20.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.20.0/documentation/release-notes.html>`__
|
||||||
|
|
||||||
|
`30.10.2 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10.2/documentation/release-notes.html>`__
|
||||||
|
|
||||||
|
`30.10.1 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10.1/documentation/release-notes.html>`__
|
||||||
|
|
||||||
|
`30.10.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10/documentation/release-notes.html>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: Supported PLDM bundle (firmware) versions
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: gpu=mi355x gpu=mi350x
|
||||||
|
|
||||||
|
01.25.16.03
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: gpu=mi325x
|
||||||
|
|
||||||
|
01.25.04.02
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: gpu=mi300x
|
||||||
|
|
||||||
|
01.25.03.12
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: gpu=mi300a
|
||||||
|
|
||||||
|
BKC 26.1
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: gpu=mi250x
|
||||||
|
|
||||||
|
IFWI 75 (or later)
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: gpu=mi250 gpu=mi210
|
||||||
|
|
||||||
|
Maintenance update 5 with IFWI 75 (or later)
|
||||||
123
docs/compatibility/includes/system-radeon-pro.rst
Normal file
123
docs/compatibility/includes/system-radeon-pro.rst
Normal file
@@ -0,0 +1,123 @@
|
|||||||
|
.. matrix::
|
||||||
|
:show-when: fam=radeon-pro
|
||||||
|
|
||||||
|
.. matrix-head::
|
||||||
|
|
||||||
|
.. raw:: html
|
||||||
|
|
||||||
|
<colgroup style="width: 50%;">
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: AMD GPU series
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: gpu=ai-r9700 gpu=ai-r9600d
|
||||||
|
|
||||||
|
`AMD Radeon AI PRO R9000 Series <https://www.amd.com/en/products/graphics/workstations/radeon-ai-pro.html#tabs-95fa144b96-item-b95ec9e1ca-tab>`__
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: gpu=w7900-dual-slot gpu=w7900 gpu=w7800-48gb gpu=w7800 gpu=w7700
|
||||||
|
|
||||||
|
`AMD Radeon PRO W7000 Series <https://www.amd.com/en/products/graphics/workstations/radeon-pro.html#tabs-990fdead92-item-20daa37284-tab>`__
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: gpu=w6800
|
||||||
|
|
||||||
|
`AMD Radeon PRO W6000 Series <https://www.amd.com/en/products/graphics/workstations/radeon-pro/w6800.html>`__
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: gpu=v710 gpu=v620
|
||||||
|
|
||||||
|
`AMD Radeon PRO V Series <https://www.amd.com/en/products/accelerators/radeon-pro.html>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: Architecture
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell:: RDNA 4
|
||||||
|
:show-when: gpu=ai-r9700 gpu=ai-r9600d
|
||||||
|
|
||||||
|
.. matrix-cell:: RDNA 3
|
||||||
|
:show-when: gpu=w7900-dual-slot gpu=w7900 gpu=w7800-48gb gpu=w7800 gpu=w7700 gpu=v710 gpu=w6800 gpu=v620
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: LLVM target
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell:: gfx1201
|
||||||
|
:show-when: gpu=ai-r9700 gpu=ai-r9600d
|
||||||
|
|
||||||
|
.. matrix-cell:: gfx1100
|
||||||
|
:show-when: gpu=w7900-dual-slot gpu=w7900 gpu=w7800-48gb gpu=w7800
|
||||||
|
|
||||||
|
.. matrix-cell:: gfx1101
|
||||||
|
:show-when: gpu=w7700 gpu=v710
|
||||||
|
|
||||||
|
.. matrix-cell:: gfx1030
|
||||||
|
:show-when: gpu=w6800 gpu=v620
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: os=ubuntu
|
||||||
|
|
||||||
|
.. matrix-cell:: Supported Ubuntu versions
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
24.04.3 (GA kernel: 6.8)
|
||||||
|
|
||||||
|
22.04.5 (GA kernel: 5.15)
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: os=rhel
|
||||||
|
|
||||||
|
.. matrix-cell:: Supported RHEL versions
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
10.1 (kernel: 6.12.0-124)
|
||||||
|
|
||||||
|
9.7 (kernel: 5.14.0-427)
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: os=windows
|
||||||
|
|
||||||
|
.. matrix-cell:: Supported Windows version
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell:: Windows 11 25H2
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: os=ubuntu os=rhel
|
||||||
|
|
||||||
|
.. matrix-cell:: Supported AMD GPU Driver (amdgpu) versions
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`31.10.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/31.10.0-preview/documentation/release-notes.html>`__
|
||||||
|
|
||||||
|
`30.20.1 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.20.1/documentation/release-notes.html>`__
|
||||||
|
|
||||||
|
`30.20.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.20.0/documentation/release-notes.html>`__
|
||||||
|
|
||||||
|
`30.10.2 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10.2/documentation/release-notes.html>`__
|
||||||
|
|
||||||
|
`30.10.1 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10.1/documentation/release-notes.html>`__
|
||||||
|
|
||||||
|
`30.10.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10/documentation/release-notes.html>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: os=windows
|
||||||
|
|
||||||
|
.. matrix-cell:: Supported Adrenalin Driver version
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`26.1.1 <https://www.amd.com/en/resources/support-articles/release-notes/RN-RAD-WIN-26-1-1.html>`__
|
||||||
113
docs/compatibility/includes/system-radeon.rst
Normal file
113
docs/compatibility/includes/system-radeon.rst
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
.. matrix::
|
||||||
|
:show-when: fam=radeon
|
||||||
|
|
||||||
|
.. matrix-head::
|
||||||
|
|
||||||
|
.. raw:: html
|
||||||
|
|
||||||
|
<colgroup style="width: 50%;">
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: AMD GPU series
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: gpu=rx-9070 gpu=rx-9070-gre gpu=rx-9070-xt gpu=rx-9060 gpu=rx-9060-xt gpu=rx-9060-xt-lp
|
||||||
|
|
||||||
|
`AMD Radeon RX 9000 Series <https://www.amd.com/en/products/graphics/desktops/radeon.html#tabs-ff9c5c3863-item-37fb38a236-tab>`__
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: gpu=rx-7900-xtx gpu=rx-7900-xt gpu=rx-7900-gre gpu=rx-7800-xt gpu=rx-7700-xt gpu=rx-7700
|
||||||
|
|
||||||
|
`AMD Radeon RX 7000 Series <https://www.amd.com/en/products/graphics/desktops/radeon/7000-series.html>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: Architecture
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell:: RDNA 4
|
||||||
|
:show-when: gpu=rx-9070-xt gpu=rx-9070-gre gpu=rx-9070 gpu=rx-9060-xt-lp gpu=rx-9060-xt gpu=rx-9060
|
||||||
|
|
||||||
|
.. matrix-cell:: RDNA 3
|
||||||
|
:show-when: gpu=rx-7900-xtx gpu=rx-7900-xt gpu=rx-7900-gre gpu=rx-7800-xt gpu=rx-7700-xt gpu=rx-7700
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: LLVM target
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell:: gfx1201
|
||||||
|
:show-when: gpu=rx-9070 gpu=rx-9070-gre gpu=rx-9070-xt
|
||||||
|
|
||||||
|
.. matrix-cell:: gfx1200
|
||||||
|
:show-when: gpu=rx-9060 gpu=rx-9060-xt gpu=rx-9060-xt-lp
|
||||||
|
|
||||||
|
.. matrix-cell:: gfx1100
|
||||||
|
:show-when: gpu=rx-7900-xtx gpu=rx-7900-xt gpu=rx-7900-gre
|
||||||
|
|
||||||
|
.. matrix-cell:: gfx1101
|
||||||
|
:show-when: gpu=rx-7800-xt gpu=rx-7700-xt gpu=rx-7700
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: os=ubuntu
|
||||||
|
|
||||||
|
.. matrix-cell:: Supported Ubuntu versions
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
24.04.3 (GA kernel: 6.8)
|
||||||
|
|
||||||
|
22.04.5 (GA kernel: 5.15)
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: os=rhel
|
||||||
|
|
||||||
|
.. matrix-cell:: Supported RHEL versions
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
10.1 (kernel: 6.12.0-124)
|
||||||
|
|
||||||
|
9.7 (kernel: 5.14.0-427)
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: os=windows
|
||||||
|
|
||||||
|
.. matrix-cell:: Supported Windows version
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell:: Windows 11 25H2
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: os=ubuntu os=rhel
|
||||||
|
|
||||||
|
.. matrix-cell:: Supported AMD GPU Driver (amdgpu) versions
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`31.10.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/31.10.0-preview/documentation/release-notes.html>`__
|
||||||
|
|
||||||
|
`30.20.1 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.20.1/documentation/release-notes.html>`__
|
||||||
|
|
||||||
|
`30.20.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.20.0/documentation/release-notes.html>`__
|
||||||
|
|
||||||
|
`30.10.2 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10.2/documentation/release-notes.html>`__
|
||||||
|
|
||||||
|
`30.10.1 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10.1/documentation/release-notes.html>`__
|
||||||
|
|
||||||
|
`30.10.0 <https://instinct.docs.amd.com/projects/amdgpu-docs/en/docs-30.10/documentation/release-notes.html>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: os=windows
|
||||||
|
|
||||||
|
.. matrix-cell:: Supported Adrenalin Driver version
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`26.1.1 <https://www.amd.com/en/resources/support-articles/release-notes/RN-RAD-WIN-26-1-1.html>`__
|
||||||
100
docs/compatibility/includes/system-ryzen.rst
Normal file
100
docs/compatibility/includes/system-ryzen.rst
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
.. matrix::
|
||||||
|
:show-when: fam=ryzen
|
||||||
|
|
||||||
|
.. matrix-head::
|
||||||
|
|
||||||
|
.. raw:: html
|
||||||
|
|
||||||
|
<colgroup style="width: 50%;">
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: AMD APU series
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: gpu=max-pro-395 gpu=max-pro-390 gpu=max-pro-385 gpu=max-pro-380
|
||||||
|
|
||||||
|
`AMD Ryzen AI Max PRO 300 Series <https://www.amd.com/en/products/processors/workstations/mobile.html#tabs-7f0c432fb2-item-5116ab7a74-tab>`__
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: gpu=max-395 gpu=max-390 gpu=max-385
|
||||||
|
|
||||||
|
`AMD Ryzen AI Max 300 Series <https://www.amd.com/en/products/processors/laptop/ryzen.html#tabs-1181ea0b44-item-6ccfea5f65-tab>`__
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
:show-when: gpu=9-hx-375 gpu=9-hx-370 gpu=9-365
|
||||||
|
|
||||||
|
`AMD Ryzen AI 300 Series <https://www.amd.com/en/products/processors/consumer/ryzen-ai.html#tabs-f556098628-item-54e149d850-tab>`__
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: Graphics model (iGPU)
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell:: Radeon 8060S
|
||||||
|
:show-when: gpu=max-pro-395 gpu=max-395
|
||||||
|
|
||||||
|
.. matrix-cell:: Radeon 8050S
|
||||||
|
:show-when: gpu=max-pro-390 gpu=max-pro-385 gpu=max-390 gpu=max-385
|
||||||
|
|
||||||
|
.. matrix-cell:: Radeon 8040S
|
||||||
|
:show-when: gpu=max-pro-380
|
||||||
|
|
||||||
|
.. matrix-cell:: Radeon 890M
|
||||||
|
:show-when: gpu=9-hx-375 gpu=9-hx-370
|
||||||
|
|
||||||
|
.. matrix-cell:: Radeon 880M
|
||||||
|
:show-when: gpu=9-365
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: Architecture
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell:: RDNA 3.5
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
|
||||||
|
.. matrix-cell:: LLVM target
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell:: gfx1151
|
||||||
|
:show-when: gpu=max-pro-395 gpu=max-pro-390 gpu=max-pro-385 gpu=max-pro-380 gpu=max-395 gpu=max-390 gpu=max-385
|
||||||
|
|
||||||
|
.. matrix-cell:: gfx1150
|
||||||
|
:show-when: gpu=9-hx-375 gpu=9-hx-370 gpu=9-365
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: os=ubuntu
|
||||||
|
|
||||||
|
.. matrix-cell:: Supported Ubuntu versions
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell:: 24.04.3 (HWE kernel: 6.14)
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: os=windows
|
||||||
|
|
||||||
|
.. matrix-cell:: Supported Windows version
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell:: Windows 11 25H2
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: os=ubuntu
|
||||||
|
|
||||||
|
.. matrix-cell:: Supported kernel driver version
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell:: Inbox kernel driver in Ubuntu 24.04.3
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: os=windows
|
||||||
|
|
||||||
|
.. matrix-cell:: Supported Adrenalin Driver version
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`26.1.1 <https://www.amd.com/en/resources/support-articles/release-notes/RN-RAD-WIN-26-1-1.html>`__
|
||||||
113
docs/compatibility/includes/virtualization-instinct.rst
Normal file
113
docs/compatibility/includes/virtualization-instinct.rst
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
.. selected:: gpu=mi355x gpu=mi350x gpu=mi325x gpu=mi300x
|
||||||
|
:heading: GPU virtualization support
|
||||||
|
|
||||||
|
.. selected:: gpu=mi355x
|
||||||
|
|
||||||
|
AMD Instinct MI355X GPUs support the following virtualization
|
||||||
|
configurations.
|
||||||
|
Supported SR-IOV configurations require the GPU-IOV Module (GIM) driver
|
||||||
|
8.7.0K -- see the `AMD Instinct Virtualization Driver documentation
|
||||||
|
<https://instinct.docs.amd.com/projects/virt-drv/en/mainline-8.7.0.k/>`__ to
|
||||||
|
get started.
|
||||||
|
|
||||||
|
.. selected:: gpu=mi350x
|
||||||
|
|
||||||
|
AMD Instinct MI350X GPUs support the following virtualization
|
||||||
|
configurations.
|
||||||
|
Supported SR-IOV configurations require the GPU-IOV Module (GIM) driver
|
||||||
|
8.7.0K -- see the `AMD Instinct Virtualization Driver documentation
|
||||||
|
<https://instinct.docs.amd.com/projects/virt-drv/en/mainline-8.7.0.k/>`__ to
|
||||||
|
get started.
|
||||||
|
|
||||||
|
.. selected:: gpu=mi325x
|
||||||
|
|
||||||
|
AMD Instinct MI325X GPUs support the following virtualization
|
||||||
|
configurations.
|
||||||
|
Supported SR-IOV configurations require the GPU-IOV Module (GIM) driver
|
||||||
|
8.7.0K -- see the `AMD Instinct Virtualization Driver documentation
|
||||||
|
<https://instinct.docs.amd.com/projects/virt-drv/en/mainline-8.7.0.k/>`__ to
|
||||||
|
get started.
|
||||||
|
|
||||||
|
.. selected:: gpu=mi300x
|
||||||
|
|
||||||
|
AMD Instinct MI300X GPUs support the following virtualization
|
||||||
|
configurations.
|
||||||
|
Supported SR-IOV configurations require the GPU-IOV Module (GIM) driver
|
||||||
|
8.7.0K -- see the `AMD Instinct Virtualization Driver documentation
|
||||||
|
<https://instinct.docs.amd.com/projects/virt-drv/en/mainline-8.7.0.k/>`__ to
|
||||||
|
get started.
|
||||||
|
|
||||||
|
.. matrix::
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:header:
|
||||||
|
|
||||||
|
.. matrix-cell:: Hypervisor
|
||||||
|
|
||||||
|
.. matrix-cell:: Virtualization technology
|
||||||
|
|
||||||
|
.. matrix-cell:: Virtualization driver
|
||||||
|
|
||||||
|
.. matrix-cell:: Host OS
|
||||||
|
|
||||||
|
.. matrix-cell:: Guest OS
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: gpu=mi355x gpu=mi350x
|
||||||
|
|
||||||
|
.. matrix-cell:: KVM
|
||||||
|
:rowspan: 2
|
||||||
|
|
||||||
|
.. matrix-cell:: Passthrough
|
||||||
|
|
||||||
|
.. matrix-cell:: —
|
||||||
|
|
||||||
|
.. matrix-cell:: Ubuntu 24.04
|
||||||
|
:rowspan: 2
|
||||||
|
|
||||||
|
.. matrix-cell:: Ubuntu 24.04
|
||||||
|
:rowspan: 2
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: gpu=mi325x
|
||||||
|
|
||||||
|
.. matrix-cell:: KVM
|
||||||
|
|
||||||
|
.. matrix-cell:: SR-IOV
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`GIM 8.7.0K <https://github.com/amd/MxGPU-Virtualization/releases/tag/8.7.0.K>`__
|
||||||
|
|
||||||
|
.. matrix-cell:: Ubuntu 22.04
|
||||||
|
|
||||||
|
.. matrix-cell:: Ubuntu 22.04
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: gpu=mi300x
|
||||||
|
|
||||||
|
.. matrix-cell:: KVM
|
||||||
|
:rowspan: 2
|
||||||
|
|
||||||
|
.. matrix-cell:: Passthrough
|
||||||
|
|
||||||
|
.. matrix-cell:: —
|
||||||
|
|
||||||
|
.. matrix-cell:: Ubuntu 22.04
|
||||||
|
:rowspan: 2
|
||||||
|
|
||||||
|
.. matrix-cell:: Ubuntu 22.04
|
||||||
|
:rowspan: 2
|
||||||
|
|
||||||
|
.. matrix-row::
|
||||||
|
:show-when: gpu=mi355x gpu=mi350x gpu=mi300x
|
||||||
|
|
||||||
|
.. matrix-cell:: SR-IOV
|
||||||
|
|
||||||
|
.. matrix-cell::
|
||||||
|
|
||||||
|
`GIM 8.7.0K <https://github.com/amd/MxGPU-Virtualization/releases/tag/8.7.0.K>`__
|
||||||
|
|
||||||
|
See the :ref:`release notes <release-virtualization-support>`
|
||||||
|
for the full list of supported configurations.
|
||||||
|
|
||||||
@@ -1,519 +0,0 @@
|
|||||||
:orphan:
|
|
||||||
|
|
||||||
.. meta::
|
|
||||||
:description: JAX compatibility
|
|
||||||
:keywords: GPU, JAX compatibility
|
|
||||||
|
|
||||||
.. version-set:: rocm_version latest
|
|
||||||
|
|
||||||
*******************************************************************************
|
|
||||||
JAX compatibility
|
|
||||||
*******************************************************************************
|
|
||||||
|
|
||||||
JAX provides a NumPy-like API, which combines automatic differentiation and the
|
|
||||||
Accelerated Linear Algebra (XLA) compiler to achieve high-performance machine
|
|
||||||
learning at scale.
|
|
||||||
|
|
||||||
JAX uses composable transformations of Python and NumPy through just-in-time
|
|
||||||
(JIT) compilation, automatic vectorization, and parallelization. To learn about
|
|
||||||
JAX, including profiling and optimizations, see the official `JAX documentation
|
|
||||||
<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 support:
|
|
||||||
|
|
||||||
- ROCm JAX release:
|
|
||||||
|
|
||||||
- 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>`_
|
|
||||||
|
|
||||||
- See the :doc:`ROCm JAX installation guide <rocm-install-on-linux:install/3rd-party/jax-install>`
|
|
||||||
to get started.
|
|
||||||
|
|
||||||
- Official JAX release:
|
|
||||||
|
|
||||||
- Official JAX repository: `jax-ml/jax <https://github.com/jax-ml/jax>`_
|
|
||||||
|
|
||||||
- See the `AMD GPU (Linux) installation section
|
|
||||||
<https://jax.readthedocs.io/en/latest/installation.html#amd-gpu-linux>`_ in
|
|
||||||
the JAX documentation.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
AMD releases official `ROCm JAX Docker images <https://hub.docker.com/r/rocm/jax>`_
|
|
||||||
quarterly alongside new ROCm releases. These images undergo full AMD testing.
|
|
||||||
`Community ROCm JAX Docker images <https://hub.docker.com/r/rocm/jax-community>`_
|
|
||||||
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:
|
|
||||||
|
|
||||||
Docker image compatibility
|
|
||||||
================================================================================
|
|
||||||
|
|
||||||
.. |docker-icon| raw:: html
|
|
||||||
|
|
||||||
<i class="fab fa-docker"></i>
|
|
||||||
|
|
||||||
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
|
|
||||||
associated inventories represent the latest JAX version from the official Docker Hub and are validated for
|
|
||||||
`ROCm 6.4.1 <https://repo.radeon.com/rocm/apt/6.4.1/>`_. Click the |docker-icon|
|
|
||||||
icon to view the image on Docker Hub.
|
|
||||||
|
|
||||||
.. list-table:: JAX Docker image components
|
|
||||||
:header-rows: 1
|
|
||||||
|
|
||||||
* - Docker image
|
|
||||||
- JAX
|
|
||||||
- Linux
|
|
||||||
- Python
|
|
||||||
|
|
||||||
* - .. raw:: html
|
|
||||||
|
|
||||||
<a href="https://hub.docker.com/layers/rocm/jax/rocm6.4.1-jax0.4.35-py3.12/images/sha256-7a0745a2a2758bdf86397750bac00e9086cbf67d170cfdbb08af73f7c7d18a6a"><i class="fab fa-docker fa-lg"></i> rocm/jax</a>
|
|
||||||
|
|
||||||
- `0.4.35 <https://github.com/ROCm/jax/releases/tag/rocm-jax-v0.4.35>`_
|
|
||||||
- Ubuntu 24.04
|
|
||||||
- `3.12.10 <https://www.python.org/downloads/release/python-31210/>`_
|
|
||||||
|
|
||||||
* - .. raw:: html
|
|
||||||
|
|
||||||
<a href="https://hub.docker.com/layers/rocm/jax/rocm6.4.1-jax0.4.35-py3.10/images/sha256-5f9e8d6e6e69fdc9a1a3f2ba3b1234c3f46c53b7468538c07fd18b00899da54f"><i class="fab fa-docker fa-lg"></i> rocm/jax</a>
|
|
||||||
|
|
||||||
- `0.4.35 <https://github.com/ROCm/jax/releases/tag/rocm-jax-v0.4.35>`_
|
|
||||||
- Ubuntu 22.04
|
|
||||||
- `3.10.17 <https://www.python.org/downloads/release/python-31017/>`_
|
|
||||||
|
|
||||||
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
|
|
||||||
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
|
|
||||||
:header-rows: 1
|
|
||||||
|
|
||||||
* - Docker image
|
|
||||||
- JAX
|
|
||||||
- Linux
|
|
||||||
- Python
|
|
||||||
|
|
||||||
* - .. raw:: html
|
|
||||||
|
|
||||||
<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.5.0 <https://github.com/ROCm/jax/releases/tag/rocm-jax-v0.5.0>`_
|
|
||||||
- Ubuntu 22.04
|
|
||||||
- `3.12.8 <https://www.python.org/downloads/release/python-3128/>`_
|
|
||||||
|
|
||||||
* - .. raw:: html
|
|
||||||
|
|
||||||
<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.5.0 <https://github.com/ROCm/jax/releases/tag/rocm-jax-v0.5.0>`_
|
|
||||||
- Ubuntu 22.04
|
|
||||||
- `3.11.11 <https://www.python.org/downloads/release/python-31111/>`_
|
|
||||||
|
|
||||||
* - .. raw:: html
|
|
||||||
|
|
||||||
<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.5.0 <https://github.com/ROCm/jax/releases/tag/rocm-jax-v0.5.0>`_
|
|
||||||
- Ubuntu 22.04
|
|
||||||
- `3.10.16 <https://www.python.org/downloads/release/python-31016/>`_
|
|
||||||
|
|
||||||
Key ROCm libraries for JAX
|
|
||||||
================================================================================
|
|
||||||
|
|
||||||
JAX functionality on ROCm is determined by its underlying library
|
|
||||||
dependencies. These ROCm components affect the capabilities, performance, and
|
|
||||||
feature set available to developers.
|
|
||||||
|
|
||||||
.. list-table::
|
|
||||||
:header-rows: 1
|
|
||||||
|
|
||||||
* - ROCm library
|
|
||||||
- Version
|
|
||||||
- Purpose
|
|
||||||
- Used in
|
|
||||||
* - `hipBLAS <https://github.com/ROCm/hipBLAS>`_
|
|
||||||
- :version-ref:`hipBLAS rocm_version`
|
|
||||||
- Provides GPU-accelerated Basic Linear Algebra Subprograms (BLAS) for
|
|
||||||
matrix and vector operations.
|
|
||||||
- Matrix multiplication in ``jax.numpy.matmul``, ``jax.lax.dot`` and
|
|
||||||
``jax.lax.dot_general``, operations like ``jax.numpy.dot``, which
|
|
||||||
involve vector and matrix computations and batch matrix multiplications
|
|
||||||
``jax.numpy.einsum`` with matrix-multiplication patterns algebra
|
|
||||||
operations.
|
|
||||||
* - `hipBLASLt <https://github.com/ROCm/hipBLASLt>`_
|
|
||||||
- :version-ref:`hipBLASLt rocm_version`
|
|
||||||
- hipBLASLt is an extension of hipBLAS, providing additional
|
|
||||||
features like epilogues fused into the matrix multiplication kernel or
|
|
||||||
use of integer tensor cores.
|
|
||||||
- Matrix multiplication in ``jax.numpy.matmul`` or ``jax.lax.dot``, and
|
|
||||||
the XLA (Accelerated Linear Algebra) use hipBLASLt for optimized matrix
|
|
||||||
operations, mixed-precision support, and hardware-specific
|
|
||||||
optimizations.
|
|
||||||
* - `hipCUB <https://github.com/ROCm/hipCUB>`_
|
|
||||||
- :version-ref:`hipCUB rocm_version`
|
|
||||||
- Provides a C++ template library for parallel algorithms for reduction,
|
|
||||||
scan, sort and select.
|
|
||||||
- Reduction functions (``jax.numpy.sum``, ``jax.numpy.mean``,
|
|
||||||
``jax.numpy.prod``, ``jax.numpy.max`` and ``jax.numpy.min``), prefix sum
|
|
||||||
(``jax.numpy.cumsum``, ``jax.numpy.cumprod``) and sorting
|
|
||||||
(``jax.numpy.sort``, ``jax.numpy.argsort``).
|
|
||||||
* - `hipFFT <https://github.com/ROCm/hipFFT>`_
|
|
||||||
- :version-ref:`hipFFT rocm_version`
|
|
||||||
- Provides GPU-accelerated Fast Fourier Transform (FFT) operations.
|
|
||||||
- Used in functions like ``jax.numpy.fft``.
|
|
||||||
* - `hipRAND <https://github.com/ROCm/hipRAND>`_
|
|
||||||
- :version-ref:`hipRAND rocm_version`
|
|
||||||
- Provides fast random number generation for GPUs.
|
|
||||||
- The ``jax.random.uniform``, ``jax.random.normal``,
|
|
||||||
``jax.random.randint`` and ``jax.random.split``.
|
|
||||||
* - `hipSOLVER <https://github.com/ROCm/hipSOLVER>`_
|
|
||||||
- :version-ref:`hipSOLVER rocm_version`
|
|
||||||
- Provides GPU-accelerated solvers for linear systems, eigenvalues, and
|
|
||||||
singular value decompositions (SVD).
|
|
||||||
- Solving linear systems (``jax.numpy.linalg.solve``), matrix
|
|
||||||
factorizations, SVD (``jax.numpy.linalg.svd``) and eigenvalue problems
|
|
||||||
(``jax.numpy.linalg.eig``).
|
|
||||||
* - `hipSPARSE <https://github.com/ROCm/hipSPARSE>`_
|
|
||||||
- :version-ref:`hipSPARSE rocm_version`
|
|
||||||
- Accelerates operations on sparse matrices, such as sparse matrix-vector
|
|
||||||
or matrix-matrix products.
|
|
||||||
- Sparse matrix multiplication (``jax.numpy.matmul``), sparse
|
|
||||||
matrix-vector and matrix-matrix products
|
|
||||||
(``jax.experimental.sparse.dot``), sparse linear system solvers and
|
|
||||||
sparse data handling.
|
|
||||||
* - `hipSPARSELt <https://github.com/ROCm/hipSPARSELt>`_
|
|
||||||
- :version-ref:`hipSPARSELt rocm_version`
|
|
||||||
- Accelerates operations on sparse matrices, such as sparse matrix-vector
|
|
||||||
or matrix-matrix products.
|
|
||||||
- Sparse matrix multiplication (``jax.numpy.matmul``), sparse
|
|
||||||
matrix-vector and matrix-matrix products
|
|
||||||
(``jax.experimental.sparse.dot``) and sparse linear system solvers.
|
|
||||||
* - `MIOpen <https://github.com/ROCm/MIOpen>`_
|
|
||||||
- :version-ref:`MIOpen rocm_version`
|
|
||||||
- Optimized for deep learning primitives such as convolutions, pooling,
|
|
||||||
normalization, and activation functions.
|
|
||||||
- Speeds up convolutional neural networks (CNNs), recurrent neural
|
|
||||||
networks (RNNs), and other layers. Used in operations like
|
|
||||||
``jax.nn.conv``, ``jax.nn.relu``, and ``jax.nn.batch_norm``.
|
|
||||||
* - `RCCL <https://github.com/ROCm/rccl>`_
|
|
||||||
- :version-ref:`RCCL rocm_version`
|
|
||||||
- Optimized for multi-GPU communication for operations like all-reduce,
|
|
||||||
broadcast, and scatter.
|
|
||||||
- Distribute computations across multiple GPU with ``pmap`` and
|
|
||||||
``jax.distributed``. XLA automatically uses rccl when executing
|
|
||||||
operations across multiple GPUs on AMD hardware.
|
|
||||||
* - `rocThrust <https://github.com/ROCm/rocThrust>`_
|
|
||||||
- :version-ref:`rocThrust rocm_version`
|
|
||||||
- Provides a C++ template library for parallel algorithms like sorting,
|
|
||||||
reduction, and scanning.
|
|
||||||
- Reduction operations like ``jax.numpy.sum``, ``jax.pmap`` for
|
|
||||||
distributed training, which involves parallel reductions or
|
|
||||||
operations like ``jax.numpy.cumsum`` can use rocThrust.
|
|
||||||
|
|
||||||
Supported features
|
|
||||||
===============================================================================
|
|
||||||
|
|
||||||
The following table maps the public JAX API modules to their supported
|
|
||||||
ROCm and JAX versions.
|
|
||||||
|
|
||||||
.. list-table::
|
|
||||||
:header-rows: 1
|
|
||||||
|
|
||||||
* - Module
|
|
||||||
- Description
|
|
||||||
- As of JAX
|
|
||||||
- As of ROCm
|
|
||||||
* - ``jax.numpy``
|
|
||||||
- Implements the NumPy API, using the primitives in ``jax.lax``.
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy``
|
|
||||||
- Provides GPU-accelerated and differentiable implementations of many
|
|
||||||
functions from the SciPy library, leveraging JAX's transformations
|
|
||||||
(e.g., ``grad``, ``jit``, ``vmap``).
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.lax``
|
|
||||||
- A library of primitives operations that underpins libraries such as
|
|
||||||
``jax.numpy.`` Transformation rules, such as Jacobian-vector product
|
|
||||||
(JVP) and batching rules, are typically defined as transformations on
|
|
||||||
``jax.lax`` primitives.
|
|
||||||
- 0.1.57
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.random``
|
|
||||||
- Provides a number of routines for deterministic generation of sequences
|
|
||||||
of pseudorandom numbers.
|
|
||||||
- 0.1.58
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.sharding``
|
|
||||||
- Allows to define partitioning and distributing arrays across multiple
|
|
||||||
devices.
|
|
||||||
- 0.3.20
|
|
||||||
- 5.1.0
|
|
||||||
* - ``jax.distributed``
|
|
||||||
- Enables the scaling of computations across multiple devices on a single
|
|
||||||
machine or across multiple machines.
|
|
||||||
- 0.1.74
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.image``
|
|
||||||
- Contains image manipulation functions like resize, scale and translation.
|
|
||||||
- 0.1.57
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.nn``
|
|
||||||
- Contains common functions for neural network libraries.
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.ops``
|
|
||||||
- Computes the minimum, maximum, sum or product within segments of an
|
|
||||||
array.
|
|
||||||
- 0.1.57
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.stages``
|
|
||||||
- Contains interfaces to stages of the compiled execution process.
|
|
||||||
- 0.3.4
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.extend``
|
|
||||||
- Provides modules for access to JAX internal machinery module. The
|
|
||||||
``jax.extend`` module defines a library view of some of JAX’s internal
|
|
||||||
components.
|
|
||||||
- 0.4.15
|
|
||||||
- 5.5.0
|
|
||||||
* - ``jax.example_libraries``
|
|
||||||
- Serves as a collection of example code and libraries that demonstrate
|
|
||||||
various capabilities of JAX.
|
|
||||||
- 0.1.74
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.experimental``
|
|
||||||
- Namespace for experimental features and APIs that are in development or
|
|
||||||
are not yet fully stable for production use.
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.lib``
|
|
||||||
- Set of internal tools and types for bridging between JAX’s Python
|
|
||||||
frontend and its XLA backend.
|
|
||||||
- 0.4.6
|
|
||||||
- 5.3.0
|
|
||||||
* - ``jax_triton``
|
|
||||||
- Library that integrates the Triton deep learning compiler with JAX.
|
|
||||||
- jax_triton 0.2.0
|
|
||||||
- 6.2.4
|
|
||||||
|
|
||||||
jax.scipy module
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
A SciPy-like API for scientific computing.
|
|
||||||
|
|
||||||
.. list-table::
|
|
||||||
:header-rows: 1
|
|
||||||
|
|
||||||
* - Module
|
|
||||||
- As of JAX
|
|
||||||
- As of ROCm
|
|
||||||
* - ``jax.scipy.cluster``
|
|
||||||
- 0.3.11
|
|
||||||
- 5.1.0
|
|
||||||
* - ``jax.scipy.fft``
|
|
||||||
- 0.1.71
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.integrate``
|
|
||||||
- 0.4.15
|
|
||||||
- 5.5.0
|
|
||||||
* - ``jax.scipy.interpolate``
|
|
||||||
- 0.1.76
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.linalg``
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.ndimage``
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.optimize``
|
|
||||||
- 0.1.57
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.signal``
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.spatial.transform``
|
|
||||||
- 0.4.12
|
|
||||||
- 5.4.0
|
|
||||||
* - ``jax.scipy.sparse.linalg``
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.special``
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.stats``
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
|
|
||||||
jax.scipy.stats module
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
|
|
||||||
.. list-table::
|
|
||||||
:header-rows: 1
|
|
||||||
|
|
||||||
* - Module
|
|
||||||
- As of JAX
|
|
||||||
- As of ROCm
|
|
||||||
* - ``jax.scipy.stats.bernouli``
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.stats.beta``
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.stats.betabinom``
|
|
||||||
- 0.1.61
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.stats.binom``
|
|
||||||
- 0.4.14
|
|
||||||
- 5.4.0
|
|
||||||
* - ``jax.scipy.stats.cauchy``
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.stats.chi2``
|
|
||||||
- 0.1.61
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.stats.dirichlet``
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.stats.expon``
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.stats.gamma``
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.stats.gennorm``
|
|
||||||
- 0.3.15
|
|
||||||
- 5.2.0
|
|
||||||
* - ``jax.scipy.stats.geom``
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.stats.laplace``
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.stats.logistic``
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.stats.multinomial``
|
|
||||||
- 0.3.18
|
|
||||||
- 5.1.0
|
|
||||||
* - ``jax.scipy.stats.multivariate_normal``
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.stats.nbinom``
|
|
||||||
- 0.1.72
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.stats.norm``
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.stats.pareto``
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.stats.poisson``
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.stats.t``
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.stats.truncnorm``
|
|
||||||
- 0.4.0
|
|
||||||
- 5.3.0
|
|
||||||
* - ``jax.scipy.stats.uniform``
|
|
||||||
- 0.1.56
|
|
||||||
- 5.0.0
|
|
||||||
* - ``jax.scipy.stats.vonmises``
|
|
||||||
- 0.4.2
|
|
||||||
- 5.3.0
|
|
||||||
* - ``jax.scipy.stats.wrapcauchy``
|
|
||||||
- 0.4.20
|
|
||||||
- 5.6.0
|
|
||||||
|
|
||||||
jax.extend module
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
Modules for JAX extensions.
|
|
||||||
|
|
||||||
.. list-table::
|
|
||||||
:header-rows: 1
|
|
||||||
|
|
||||||
* - Module
|
|
||||||
- As of JAX
|
|
||||||
- As of ROCm
|
|
||||||
* - ``jax.extend.ffi``
|
|
||||||
- 0.4.30
|
|
||||||
- 6.0.0
|
|
||||||
* - ``jax.extend.linear_util``
|
|
||||||
- 0.4.17
|
|
||||||
- 5.6.0
|
|
||||||
* - ``jax.extend.mlir``
|
|
||||||
- 0.4.26
|
|
||||||
- 5.6.0
|
|
||||||
* - ``jax.extend.random``
|
|
||||||
- 0.4.15
|
|
||||||
- 5.5.0
|
|
||||||
|
|
||||||
Unsupported JAX features
|
|
||||||
===============================================================================
|
|
||||||
|
|
||||||
The following GPU-accelerated JAX features are not supported by ROCm for
|
|
||||||
the listed supported JAX versions.
|
|
||||||
|
|
||||||
.. list-table::
|
|
||||||
:header-rows: 1
|
|
||||||
|
|
||||||
* - Feature
|
|
||||||
- Description
|
|
||||||
|
|
||||||
* - Mixed Precision with TF32
|
|
||||||
- Mixed precision with TF32 is used for matrix multiplications,
|
|
||||||
convolutions, and other linear algebra operations, particularly in
|
|
||||||
deep learning workloads like CNNs and transformers.
|
|
||||||
|
|
||||||
* - XLA int4 support
|
|
||||||
- 4-bit integer (int4) precision in the XLA compiler.
|
|
||||||
|
|
||||||
* - MOSAIC (GPU)
|
|
||||||
- Mosaic is a library of kernel-building abstractions for JAX's Pallas system
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user