mirror of
https://github.com/ROCm/ROCm.git
synced 2026-01-22 21:18:02 -05:00
Compare commits
541 Commits
docs/7.0-d
...
deep-710
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
437a6c2849 | ||
|
|
4e98d954af | ||
|
|
ad888e854d | ||
|
|
00df690446 | ||
|
|
b094c2ba1a | ||
|
|
64559321cb | ||
|
|
cd8d27ba40 | ||
|
|
e5c9382825 | ||
|
|
7a7c5b25a6 | ||
|
|
a1a33185b9 | ||
|
|
876da0b68b | ||
|
|
508cb9829e | ||
|
|
5e7a88f769 | ||
|
|
503d4491de | ||
|
|
a43cde5bd8 | ||
|
|
5a1494b7f5 | ||
|
|
b548b0edec | ||
|
|
472afbfa6f | ||
|
|
afd388aafb | ||
|
|
59135e73cd | ||
|
|
c4483379c6 | ||
|
|
fc3091be75 | ||
|
|
dfa04e5c21 | ||
|
|
d3ff9d7c8e | ||
|
|
939ee7de0c | ||
|
|
f1e6c285dd | ||
|
|
ff1d9b4d69 | ||
|
|
2024aa839e | ||
|
|
ef3fa601d5 | ||
|
|
45ab654f39 | ||
|
|
576191a104 | ||
|
|
2db07b5cda | ||
|
|
fe3dc988b8 | ||
|
|
36c879b7e0 | ||
|
|
91450dca10 | ||
|
|
2de92767e6 | ||
|
|
54d226acd9 | ||
|
|
f46d7ec00f | ||
|
|
09c946b6fb | ||
|
|
5285669d98 | ||
|
|
9b3138cffa | ||
|
|
61fffe3250 | ||
|
|
43ccfbbe80 | ||
|
|
1515fb3779 | ||
|
|
410a69efe4 | ||
|
|
248cbf8bc1 | ||
|
|
0171dced89 | ||
|
|
f2d6675839 | ||
|
|
7d0fad9aa8 | ||
|
|
4132a2609c | ||
|
|
c56d5b7495 | ||
|
|
a2e2bd3277 | ||
|
|
32d1cdcd90 | ||
|
|
ac16524ebd | ||
|
|
157d86b780 | ||
|
|
35ca027aa4 | ||
|
|
90c1d9068f | ||
|
|
cb8d21a0df | ||
|
|
6f8cf36279 | ||
|
|
8eb5fef37c | ||
|
|
a5f0b30a47 | ||
|
|
2ec051dec5 | ||
|
|
fd6bbe18a7 | ||
|
|
14ada81c41 | ||
|
|
a613bd6824 | ||
|
|
b3459da524 | ||
|
|
eba211d7f1 | ||
|
|
14bb59fca9 | ||
|
|
a98236a4e3 | ||
|
|
5cb6bfe151 | ||
|
|
6e7422ded7 | ||
|
|
7b7ff53985 | ||
|
|
019796dc63 | ||
|
|
f21cfe1171 | ||
|
|
170cb47a4f | ||
|
|
d19a8e4a83 | ||
|
|
3a0b8529ed | ||
|
|
f9d7fc2e6a | ||
|
|
d424687191 | ||
|
|
35e6e50888 | ||
|
|
91cfe98eb3 | ||
|
|
036aaa2e78 | ||
|
|
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 | ||
|
|
dc0d89ff4f | ||
|
|
9812d8f745 | ||
|
|
9b102061f4 | ||
|
|
4342239006 | ||
|
|
151b9bb6d4 | ||
|
|
76549f97b9 | ||
|
|
535ca32590 | ||
|
|
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_${{ job.os }}_amd
|
- 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_${{ job.os }}_nvidia
|
|
||||||
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
|
||||||
@@ -18,6 +37,7 @@ parameters:
|
|||||||
- libdrm-dev
|
- libdrm-dev
|
||||||
- libelf-dev
|
- libelf-dev
|
||||||
- libnuma-dev
|
- libnuma-dev
|
||||||
|
- libsimde-dev
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- pkg-config
|
- pkg-config
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
@@ -28,8 +48,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 +65,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 +89,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 +110,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 }}
|
||||||
|
|||||||
@@ -39,4 +39,6 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
inputs:
|
||||||
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
|||||||
@@ -1,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 }}
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -129,7 +130,7 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
componentName: hipTensor
|
componentName: hipTensor
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin/hiptensor'
|
testDir: '$(Agent.BuildDirectory)/rocm/bin/hiptensor'
|
||||||
testParameters: '-E ".*-extended" --output-on-failure --force-new-ctest-process --output-junit test_output.xml'
|
testParameters: '-E ".*-extended" --extra-verbose --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 }}
|
||||||
|
|||||||
@@ -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 }}
|
||||||
@@ -1,10 +1,35 @@
|
|||||||
parameters:
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rccl
|
||||||
- name: checkoutRepo
|
- name: checkoutRepo
|
||||||
type: string
|
type: string
|
||||||
default: 'self'
|
default: 'self'
|
||||||
- name: checkoutRef
|
- name: checkoutRef
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
- name: systemsRepo
|
||||||
|
type: string
|
||||||
|
default: systems_repo
|
||||||
|
- name: systemsSparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: 'projects/rocprofiler-sdk'
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
# set to true if doing full build of ROCm stack
|
# set to true if doing full build of ROCm stack
|
||||||
# and dependencies are pulled from same pipeline
|
# and dependencies are pulled from same pipeline
|
||||||
- name: aggregatePipeline
|
- name: aggregatePipeline
|
||||||
@@ -57,37 +82,52 @@ 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:
|
- name: downstreamComponentMatrix
|
||||||
target: gfx90a
|
type: object
|
||||||
|
default:
|
||||||
|
- rocprofiler-sdk:
|
||||||
|
name: rocprofiler-sdk
|
||||||
|
sparseCheckoutDir: ''
|
||||||
|
skipUnifiedBuild: 'false'
|
||||||
|
buildDependsOn:
|
||||||
|
- rccl_build
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
- job: rccl_build_${{ job.target }}
|
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
||||||
timeoutInMinutes: 90
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}_${{ job.target }}
|
||||||
|
timeoutInMinutes: 120
|
||||||
variables:
|
variables:
|
||||||
- group: common
|
- group: common
|
||||||
- template: /.azuredevops/variables-global.yml
|
- template: /.azuredevops/variables-global.yml
|
||||||
- name: HIP_ROCCLR_HOME
|
- name: HIP_ROCCLR_HOME
|
||||||
value: $(Build.BinariesDirectory)/rocm
|
value: $(Build.BinariesDirectory)/rocm
|
||||||
pool: ${{ variables.HIGH_BUILD_POOL }}
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
|
container:
|
||||||
|
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
||||||
|
endpoint: ContainerService3
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
- 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
|
packageManager: ${{ job.packageManager }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
submoduleBehaviour: recursive
|
submoduleBehaviour: recursive
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
||||||
parameters:
|
parameters:
|
||||||
@@ -97,10 +137,14 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
os: ${{ job.os }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
-DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
-DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc
|
||||||
@@ -112,58 +156,87 @@ jobs:
|
|||||||
-GNinja
|
-GNinja
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
|
os: ${{ job.os }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
os: ${{ job.os }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
- 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:
|
||||||
installLatestCMake: true
|
- HIP_ROCCLR_HOME:::/home/user/workspace/rocm
|
||||||
|
installLatestCMake: true
|
||||||
|
|
||||||
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
- ${{ if eq(parameters.unifiedBuild, False) }}:
|
||||||
- job: rccl_test_${{ job.target }}
|
- ${{ each job in parameters.jobMatrix.testJobs }}:
|
||||||
timeoutInMinutes: 120
|
- job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}
|
||||||
dependsOn: rccl_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:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
preTargetFilter: ${{ parameters.componentName }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
os: ${{ job.os }}
|
||||||
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:
|
os: ${{ job.os }}
|
||||||
componentName: rccl
|
gpuTarget: ${{ job.target }}
|
||||||
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
testExecutable: './rccl-UnitTests'
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
- 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
|
os: ${{ job.os }}
|
||||||
gpuTarget: ${{ job.target }}
|
testDir: '$(Agent.BuildDirectory)/rocm/bin'
|
||||||
|
testExecutable: './rccl-UnitTests'
|
||||||
|
testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
|
||||||
|
- ${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
- ${{ each component in parameters.downstreamComponentMatrix }}:
|
||||||
|
- ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}:
|
||||||
|
- template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.systemsRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.systemsSparseCheckoutDir }}
|
||||||
|
triggerDownstreamJobs: true
|
||||||
|
unifiedBuild: ${{ parameters.unifiedBuild }}
|
||||||
|
${{ if parameters.unifiedBuild }}:
|
||||||
|
buildDependsOn: ${{ component.unifiedBuild.buildDependsOn }}
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ component.unifiedBuild.downstreamAggregateNames }}
|
||||||
|
${{ else }}:
|
||||||
|
buildDependsOn: ${{ component.buildDependsOn }}
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }}
|
||||||
|
|||||||
@@ -1,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:
|
||||||
|
|||||||
@@ -91,12 +91,12 @@ parameters:
|
|||||||
- rocPRIM_build
|
- rocPRIM_build
|
||||||
# rocSOLVER depends on both rocBLAS and rocPRIM
|
# rocSOLVER depends on both rocBLAS and rocPRIM
|
||||||
# for a unified build, rocBLAS will be the one to call rocSOLVER
|
# for a unified build, rocBLAS will be the one to call rocSOLVER
|
||||||
# - rocSOLVER:
|
# - rocSOLVER:
|
||||||
# name: rocSOLVER
|
# name: rocSOLVER
|
||||||
# sparseCheckoutDir: projects/rocsolver
|
# sparseCheckoutDir: projects/rocsolver
|
||||||
# skipUnifiedBuild: 'true'
|
# skipUnifiedBuild: 'true'
|
||||||
# buildDependsOn:
|
# buildDependsOn:
|
||||||
# - rocPRIM_build
|
# - rocPRIM_build
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
|||||||
@@ -5,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 }}
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ jobs:
|
|||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
parameters:
|
parameters:
|
||||||
componentName: rocm-cmake
|
componentName: rocm-cmake
|
||||||
testParameters: '-E "pass-version-parent" --output-on-failure --force-new-ctest-process --output-junit test_output.xml'
|
testParameters: '-E "pass-version-parent" --extra-verbose --output-on-failure --force-new-ctest-process --output-junit test_output.xml'
|
||||||
os: ${{ job.os }}
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
|||||||
@@ -1,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,16 +14,26 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- cmake
|
- cmake
|
||||||
|
- libdw-dev
|
||||||
- libglfw3-dev
|
- libglfw3-dev
|
||||||
- libmsgpack-dev
|
- libmsgpack-dev
|
||||||
|
- libopencv-dev
|
||||||
- libtbb-dev
|
- libtbb-dev
|
||||||
|
- libtiff-dev
|
||||||
|
- libva-amdgpu-dev
|
||||||
|
- libavcodec-dev
|
||||||
|
- libavformat-dev
|
||||||
|
- libavutil-dev
|
||||||
- ninja-build
|
- ninja-build
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- AMDMIGraphX
|
- AMDMIGraphX
|
||||||
|
- aomp
|
||||||
|
- aomp-extras
|
||||||
- clr
|
- clr
|
||||||
|
- composable_kernel
|
||||||
- hipBLAS
|
- hipBLAS
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- hipBLASLt
|
- hipBLASLt
|
||||||
@@ -33,21 +43,33 @@ parameters:
|
|||||||
- hipRAND
|
- hipRAND
|
||||||
- hipSOLVER
|
- hipSOLVER
|
||||||
- hipSPARSE
|
- hipSPARSE
|
||||||
|
- hipTensor
|
||||||
- llvm-project
|
- llvm-project
|
||||||
|
- MIOpen
|
||||||
|
- MIVisionX
|
||||||
|
- rocALUTION
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
|
- rocDecode
|
||||||
- rocFFT
|
- rocFFT
|
||||||
|
- rocJPEG
|
||||||
- rocPRIM
|
- rocPRIM
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
|
- rocprofiler-sdk
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocRAND
|
- rocRAND
|
||||||
- rocSOLVER
|
- rocSOLVER
|
||||||
- rocSPARSE
|
- rocSPARSE
|
||||||
- rocThrust
|
- rocThrust
|
||||||
|
- rocWMMA
|
||||||
|
- rpp
|
||||||
- name: rocmTestDependencies
|
- name: rocmTestDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- AMDMIGraphX
|
- AMDMIGraphX
|
||||||
|
- aomp
|
||||||
|
- aomp-extras
|
||||||
- clr
|
- clr
|
||||||
|
- composable_kernel
|
||||||
- hipBLAS
|
- hipBLAS
|
||||||
- hipBLAS-common
|
- hipBLAS-common
|
||||||
- hipBLASLt
|
- hipBLASLt
|
||||||
@@ -57,18 +79,27 @@ parameters:
|
|||||||
- hipRAND
|
- hipRAND
|
||||||
- hipSOLVER
|
- hipSOLVER
|
||||||
- hipSPARSE
|
- hipSPARSE
|
||||||
|
- hipTensor
|
||||||
- llvm-project
|
- llvm-project
|
||||||
|
- MIOpen
|
||||||
|
- MIVisionX
|
||||||
|
- rocALUTION
|
||||||
- rocBLAS
|
- rocBLAS
|
||||||
|
- rocDecode
|
||||||
- rocFFT
|
- rocFFT
|
||||||
- rocminfo
|
- rocminfo
|
||||||
- rocPRIM
|
- rocPRIM
|
||||||
|
- rocJPEG
|
||||||
- rocprofiler-register
|
- rocprofiler-register
|
||||||
|
- rocprofiler-sdk
|
||||||
- ROCR-Runtime
|
- ROCR-Runtime
|
||||||
- rocRAND
|
- rocRAND
|
||||||
- rocSOLVER
|
- rocSOLVER
|
||||||
- rocSPARSE
|
- rocSPARSE
|
||||||
- rocThrust
|
- rocThrust
|
||||||
- roctracer
|
- roctracer
|
||||||
|
- rocWMMA
|
||||||
|
- rpp
|
||||||
|
|
||||||
- name: jobMatrix
|
- name: jobMatrix
|
||||||
type: object
|
type: object
|
||||||
@@ -97,6 +128,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 +193,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 +223,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 }}
|
||||||
|
|||||||
193
.azuredevops/components/rocm-libraries.yml
Normal file
193
.azuredevops/components/rocm-libraries.yml
Normal file
@@ -0,0 +1,193 @@
|
|||||||
|
parameters:
|
||||||
|
- name: componentName
|
||||||
|
type: string
|
||||||
|
default: rocm_libraries
|
||||||
|
- name: checkoutRepo
|
||||||
|
type: string
|
||||||
|
default: 'self'
|
||||||
|
- name: checkoutRef
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
# monorepo related parameters
|
||||||
|
- name: sparseCheckoutDir
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: triggerDownstreamJobs
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: downstreamAggregateNames
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: buildDependsOn
|
||||||
|
type: object
|
||||||
|
default: null
|
||||||
|
- name: unifiedBuild
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
# set to true if doing full build of ROCm stack
|
||||||
|
# and dependencies are pulled from same pipeline
|
||||||
|
- name: aggregatePipeline
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- name: aptPackages
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- ccache
|
||||||
|
- gfortran
|
||||||
|
- git
|
||||||
|
- libdrm-dev
|
||||||
|
- liblapack-dev
|
||||||
|
- libmsgpack-dev
|
||||||
|
- libnuma-dev
|
||||||
|
- libopenblas-dev
|
||||||
|
- ninja-build
|
||||||
|
- python3-pip
|
||||||
|
- python3-venv
|
||||||
|
- googletest
|
||||||
|
- libgtest-dev
|
||||||
|
- libgmock-dev
|
||||||
|
- libboost-filesystem-dev
|
||||||
|
- name: pipModules
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- msgpack
|
||||||
|
- joblib
|
||||||
|
- "packaging>=22.0"
|
||||||
|
- pytest
|
||||||
|
- pytest-cmake
|
||||||
|
- --upgrade
|
||||||
|
- name: rocmDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- aomp
|
||||||
|
- clr
|
||||||
|
- llvm-project
|
||||||
|
- rocminfo
|
||||||
|
- rocm-cmake
|
||||||
|
- rocm_smi_lib
|
||||||
|
- rocprofiler-register
|
||||||
|
- ROCR-Runtime
|
||||||
|
- roctracer
|
||||||
|
- name: rocmTestDependencies
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- aomp
|
||||||
|
- clr
|
||||||
|
- llvm-project
|
||||||
|
- rocminfo
|
||||||
|
- rocm_smi_lib
|
||||||
|
- rocprofiler-register
|
||||||
|
- ROCR-Runtime
|
||||||
|
- roctracer
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
buildJobs:
|
||||||
|
- { pool: rocm-ci_ultra_build_pool, os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }}
|
||||||
|
timeoutInMinutes: 300
|
||||||
|
${{ if parameters.buildDependsOn }}:
|
||||||
|
dependsOn:
|
||||||
|
- ${{ each build in parameters.buildDependsOn }}:
|
||||||
|
- ${{ build }}_${{ job.os }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
- name: DAY_STRING
|
||||||
|
value: $[format('{0:ddMMyyyy}', pipeline.startTime)]
|
||||||
|
pool: ${{ job.pool }}
|
||||||
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
|
container:
|
||||||
|
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
||||||
|
endpoint: ContainerService3
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
packageManager: ${{ job.packageManager }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml
|
||||||
|
parameters:
|
||||||
|
dependencyList:
|
||||||
|
- gtest
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
|
parameters:
|
||||||
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
|
- script: |
|
||||||
|
mkdir -p $(CCACHE_DIR)
|
||||||
|
echo "##vso[task.prependpath]/usr/lib/ccache"
|
||||||
|
displayName: Update path for ccache
|
||||||
|
- task: Cache@2
|
||||||
|
displayName: Ccache caching
|
||||||
|
inputs:
|
||||||
|
key: rocm-libraries | ${{ job.os }} | ${{ job.target }} | $(DAY_STRING) | $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
path: $(CCACHE_DIR)
|
||||||
|
restoreKeys: |
|
||||||
|
rocm-libraries | ${{ job.os }} | ${{ job.target }} | $(DAY_STRING)
|
||||||
|
rocm-libraries | ${{ job.os }} | ${{ job.target }}
|
||||||
|
rocm-libraries | ${{ job.os }}
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Add paths for CMake and Python site-packages binaries
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
USER_BASE=$(python3 -m site --user-base)
|
||||||
|
echo "##vso[task.prependpath]$USER_BASE/bin"
|
||||||
|
echo "##vso[task.setvariable variable=PytestCmakePath]$USER_BASE/share/Pytest/cmake"
|
||||||
|
displayName: Set cmake configure paths
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Add ROCm binaries to PATH
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: |
|
||||||
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
||||||
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin"
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-D CMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor;$(PytestCmakePath)
|
||||||
|
-D CMAKE_INCLUDE_PATH=$(Agent.BuildDirectory)/rocm/llvm/include
|
||||||
|
-D CMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++
|
||||||
|
-D CMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang
|
||||||
|
-D CMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||||
|
-D CMAKE_C_COMPILER_LAUNCHER=ccache
|
||||||
|
-G Ninja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
||||||
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
||||||
|
- ${{ if eq(job.os, 'ubuntu2204') }}:
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin
|
||||||
|
installLatestCMake: true
|
||||||
|
extraCopyDirectories:
|
||||||
|
- deps
|
||||||
@@ -1,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
|
||||||
@@ -60,23 +79,27 @@ 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: rocprofiler_sdk_build_${{ job.target }}
|
- job: rocprofiler_sdk_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
|
||||||
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
||||||
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
|
container:
|
||||||
|
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
||||||
|
endpoint: ContainerService3
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
@@ -84,18 +107,23 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
packageManager: ${{ job.packageManager }}
|
||||||
registerROCmPackages: true
|
registerROCmPackages: true
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
parameters:
|
parameters:
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
|
os: ${{ job.os }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
aggregatePipeline: ${{ parameters.aggregatePipeline }}
|
||||||
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Add Python site-packages binaries to path
|
displayName: Add Python site-packages binaries to path
|
||||||
inputs:
|
inputs:
|
||||||
@@ -105,6 +133,8 @@ jobs:
|
|||||||
echo "##vso[task.prependpath]$USER_BASE/bin"
|
echo "##vso[task.prependpath]$USER_BASE/bin"
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
os: ${{ job.os }}
|
||||||
extraBuildFlags: >-
|
extraBuildFlags: >-
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
-DROCPROFILER_BUILD_TESTS=ON
|
-DROCPROFILER_BUILD_TESTS=ON
|
||||||
@@ -114,9 +144,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 }}
|
||||||
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 +160,72 @@ 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.os }}_${{ job.target }}
|
||||||
condition:
|
dependsOn: rocprofiler_sdk_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 }}
|
||||||
registerROCmPackages: true
|
pipModules: ${{ parameters.pipModules }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
packageManager: ${{ job.packageManager }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
registerROCmPackages: true
|
||||||
parameters:
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
checkoutRepo: ${{ parameters.checkoutRepo }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
parameters:
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }}
|
||||||
parameters:
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
||||||
checkoutRef: ${{ parameters.checkoutRef }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml
|
||||||
dependencyList: ${{ parameters.rocmDependencies }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml
|
||||||
gpuTarget: ${{ job.target }}
|
parameters:
|
||||||
- task: Bash@3
|
checkoutRef: ${{ parameters.checkoutRef }}
|
||||||
displayName: Add Python and ROCm binaries to path
|
dependencyList: ${{ parameters.rocmDependencies }}
|
||||||
inputs:
|
os: ${{ job.os }}
|
||||||
targetType: inline
|
gpuTarget: ${{ job.target }}
|
||||||
script: |
|
${{ if parameters.triggerDownstreamJobs }}:
|
||||||
USER_BASE=$(python3 -m site --user-base)
|
downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}
|
||||||
echo "##vso[task.prependpath]$USER_BASE/bin"
|
- task: Bash@3
|
||||||
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
displayName: Add Python and ROCm binaries to path
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
inputs:
|
||||||
parameters:
|
targetType: inline
|
||||||
extraBuildFlags: >-
|
script: |
|
||||||
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
USER_BASE=$(python3 -m site --user-base)
|
||||||
-DROCPROFILER_BUILD_TESTS=ON
|
echo "##vso[task.prependpath]$USER_BASE/bin"
|
||||||
-DROCPROFILER_BUILD_SAMPLES=ON
|
echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin"
|
||||||
-DROCPROFILER_BUILD_RELEASE=ON
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
-DGPU_TARGETS=${{ job.target }}
|
parameters:
|
||||||
-GNinja
|
componentName: ${{ parameters.componentName }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH}}/steps/gpu-diagnostics.yml
|
os: ${{ job.os }}
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
extraBuildFlags: >-
|
||||||
parameters:
|
-DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm
|
||||||
componentName: rocprofiler-sdk
|
-DROCPROFILER_BUILD_TESTS=ON
|
||||||
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
-DROCPROFILER_BUILD_SAMPLES=ON
|
||||||
parameters:
|
-DROCPROFILER_BUILD_RELEASE=ON
|
||||||
aptPackages: ${{ parameters.aptPackages }}
|
-DGPU_TARGETS=${{ job.target }}
|
||||||
pipModules: ${{ parameters.pipModules }}
|
-GNinja
|
||||||
environment: test
|
- template: ${{ variables.CI_TEMPLATE_PATH}}/steps/gpu-diagnostics.yml
|
||||||
gpuTarget: ${{ job.target }}
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
||||||
registerROCmPackages: true
|
parameters:
|
||||||
|
componentName: ${{ parameters.componentName }}
|
||||||
|
os: ${{ job.os }}
|
||||||
|
testDir: $(Agent.BuildDirectory)/build
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
pipModules: ${{ parameters.pipModules }}
|
||||||
|
environment: test
|
||||||
|
gpuTarget: ${{ job.target }}
|
||||||
|
registerROCmPackages: true
|
||||||
|
|||||||
@@ -6,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 }}
|
||||||
63
.azuredevops/dependencies/cli11.yml
Normal file
63
.azuredevops/dependencies/cli11.yml
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
parameters:
|
||||||
|
- name: checkoutRepo
|
||||||
|
type: string
|
||||||
|
default: 'self'
|
||||||
|
- name: checkoutRef
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: cli11Version
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: aptPackages
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- cmake
|
||||||
|
- git
|
||||||
|
- ninja-build
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
buildJobs:
|
||||||
|
- { os: ubuntu2204, packageManager: apt}
|
||||||
|
- { os: almalinux8, packageManager: dnf}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: cli11_${{ job.os }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool:
|
||||||
|
vmImage: 'ubuntu-22.04'
|
||||||
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
|
container:
|
||||||
|
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
||||||
|
endpoint: ContainerService3
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- checkout: none
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
packageManager: ${{ job.packageManager }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Clone cli11 ${{ parameters.cli11Version }}
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: git clone https://github.com/CLIUtils/CLI11.git -b ${{ parameters.cli11Version }}
|
||||||
|
workingDirectory: $(Agent.BuildDirectory)
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
cmakeBuildDir: $(Agent.BuildDirectory)/CLI11/build
|
||||||
|
cmakeSourceDir: $(Agent.BuildDirectory)/CLI11
|
||||||
|
useAmdclang: false
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
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 }}
|
||||||
66
.azuredevops/dependencies/yamlcpp.yml
Normal file
66
.azuredevops/dependencies/yamlcpp.yml
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
parameters:
|
||||||
|
- name: checkoutRepo
|
||||||
|
type: string
|
||||||
|
default: 'self'
|
||||||
|
- name: checkoutRef
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: yamlcppVersion
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
- name: aptPackages
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
- cmake
|
||||||
|
- git
|
||||||
|
- ninja-build
|
||||||
|
|
||||||
|
- name: jobMatrix
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
buildJobs:
|
||||||
|
- { os: ubuntu2204, packageManager: apt}
|
||||||
|
- { os: almalinux8, packageManager: dnf}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- ${{ each job in parameters.jobMatrix.buildJobs }}:
|
||||||
|
- job: yamlcpp_${{ job.os }}
|
||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
pool:
|
||||||
|
vmImage: 'ubuntu-22.04'
|
||||||
|
${{ if eq(job.os, 'almalinux8') }}:
|
||||||
|
container:
|
||||||
|
image: rocmexternalcicd.azurecr.io/manylinux228:latest
|
||||||
|
endpoint: ContainerService3
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
steps:
|
||||||
|
- checkout: none
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml
|
||||||
|
parameters:
|
||||||
|
aptPackages: ${{ parameters.aptPackages }}
|
||||||
|
packageManager: ${{ job.packageManager }}
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Clone yaml-cpp ${{ parameters.yamlcppVersion }}
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: git clone https://github.com/jbeder/yaml-cpp.git -b ${{ parameters.yamlcppVersion }}
|
||||||
|
workingDirectory: $(Agent.BuildDirectory)
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
|
cmakeBuildDir: $(Agent.BuildDirectory)/yaml-cpp/build
|
||||||
|
cmakeSourceDir: $(Agent.BuildDirectory)/yaml-cpp
|
||||||
|
useAmdclang: false
|
||||||
|
extraBuildFlags: >-
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DYAML_CPP_BUILD_TOOLS=OFF
|
||||||
|
-DYAML_BUILD_SHARED_LIBS=OFF
|
||||||
|
-DYAML_CPP_INSTALL=ON
|
||||||
|
-GNinja
|
||||||
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
||||||
|
parameters:
|
||||||
|
os: ${{ job.os }}
|
||||||
@@ -219,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,21 +3,21 @@ parameters:
|
|||||||
- name: jobList
|
- name: jobList
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- { os: ubuntu2204, target: gfx942, source: staging }
|
- { os: ubuntu2204, packageManager: apt, target: gfx942 }
|
||||||
- { os: ubuntu2204, target: gfx90a, source: staging }
|
- { os: ubuntu2204, packageManager: apt, target: gfx90a }
|
||||||
- { os: ubuntu2204, target: gfx1201, source: staging }
|
- { os: ubuntu2204, packageManager: apt, target: gfx1201 }
|
||||||
- { os: ubuntu2204, target: gfx1100, source: staging }
|
- { os: ubuntu2204, packageManager: apt, target: gfx1100 }
|
||||||
- { os: ubuntu2204, target: gfx1030, source: staging }
|
- { os: ubuntu2204, packageManager: apt, target: gfx1030 }
|
||||||
- { os: ubuntu2404, target: gfx942, source: staging }
|
- { os: ubuntu2404, packageManager: apt, target: gfx942 }
|
||||||
- { os: ubuntu2404, target: gfx90a, source: staging }
|
- { os: ubuntu2404, packageManager: apt, target: gfx90a }
|
||||||
- { os: ubuntu2404, target: gfx1201, source: staging }
|
- { os: ubuntu2404, packageManager: apt, target: gfx1201 }
|
||||||
- { os: ubuntu2404, target: gfx1100, source: staging }
|
- { os: ubuntu2404, packageManager: apt, target: gfx1100 }
|
||||||
- { os: ubuntu2404, target: gfx1030, source: staging }
|
- { os: ubuntu2404, packageManager: apt, target: gfx1030 }
|
||||||
- { os: almalinux8, target: gfx942, source: staging }
|
- { os: almalinux8, packageManager: dnf, target: gfx942 }
|
||||||
- { os: almalinux8, target: gfx90a, source: staging }
|
- { os: almalinux8, packageManager: dnf, target: gfx90a }
|
||||||
- { os: almalinux8, target: gfx1201, source: staging }
|
- { os: almalinux8, packageManager: dnf, target: gfx1201 }
|
||||||
- { os: almalinux8, target: gfx1100, source: staging }
|
- { os: almalinux8, packageManager: dnf, target: gfx1100 }
|
||||||
- { os: almalinux8, target: gfx1030, source: staging }
|
- { os: almalinux8, packageManager: dnf, target: gfx1030 }
|
||||||
- name: rocmDependencies
|
- name: rocmDependencies
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
@@ -92,7 +92,8 @@ schedules:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobList }}:
|
- ${{ each job in parameters.jobList }}:
|
||||||
- job: rocm_nightly_${{ job.os }}_${{ 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
|
||||||
@@ -115,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 }}
|
os: ${{ job.os }}
|
||||||
gpuTarget: ${{ job.target }}
|
gpuTarget: ${{ job.target }}
|
||||||
skipLibraryLinking: true
|
|
||||||
- script: df -h
|
- script: df -h
|
||||||
displayName: System disk space after ROCm
|
displayName: System disk space after ROCm
|
||||||
- script: du -sh $(Agent.BuildDirectory)/rocm
|
- script: du -sh $(Agent.BuildDirectory)/rocm
|
||||||
@@ -132,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
|
||||||
@@ -145,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 }}
|
||||||
23
.azuredevops/tag-builds/cli11.yml
Normal file
23
.azuredevops/tag-builds/cli11.yml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
- name: cli11Version
|
||||||
|
type: string
|
||||||
|
default: "main"
|
||||||
|
|
||||||
|
resources:
|
||||||
|
repositories:
|
||||||
|
- repository: pipelines_repo
|
||||||
|
type: github
|
||||||
|
endpoint: ROCm
|
||||||
|
name: ROCm/ROCm
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: ${{ variables.CI_DEPENDENCIES_PATH }}/cli11.yml
|
||||||
|
parameters:
|
||||||
|
cli11Version: ${{ parameters.cli11Version }}
|
||||||
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 }}
|
||||||
24
.azuredevops/tag-builds/yaml-cpp.yml
Normal file
24
.azuredevops/tag-builds/yaml-cpp.yml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
variables:
|
||||||
|
- group: common
|
||||||
|
- template: /.azuredevops/variables-global.yml
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
- name: yamlcppVersion
|
||||||
|
type: string
|
||||||
|
default: "0.8.0"
|
||||||
|
|
||||||
|
resources:
|
||||||
|
repositories:
|
||||||
|
- repository: pipelines_repo
|
||||||
|
type: github
|
||||||
|
endpoint: ROCm
|
||||||
|
name: ROCm/ROCm
|
||||||
|
|
||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: ${{ variables.CI_DEPENDENCIES_PATH }}/yamlcpp.yml
|
||||||
|
parameters:
|
||||||
|
yamlcppVersion: ${{ parameters.yamlcppVersion }}
|
||||||
|
|
||||||
@@ -12,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,8 +24,12 @@ parameters:
|
|||||||
steps:
|
steps:
|
||||||
- task: DownloadPipelineArtifact@2
|
- task: DownloadPipelineArtifact@2
|
||||||
displayName: Download ${{ parameters.componentName }}
|
displayName: Download ${{ parameters.componentName }}
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
inputs:
|
inputs:
|
||||||
itemPattern: '**/*${{ parameters.componentName }}*${{ parameters.fileFilter }}*'
|
${{ 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'
|
targetPath: '$(Pipeline.Workspace)/d'
|
||||||
allowPartiallySucceededBuilds: true
|
allowPartiallySucceededBuilds: true
|
||||||
${{ if parameters.aggregatePipeline }}:
|
${{ if parameters.aggregatePipeline }}:
|
||||||
@@ -37,16 +44,17 @@ steps:
|
|||||||
buildVersionToDownload: latest # aomp trigger lives in ROCm/ROCm, so cannot use ROCm/aomp branch names
|
buildVersionToDownload: latest # aomp trigger lives in ROCm/ROCm, so cannot use ROCm/aomp branch names
|
||||||
${{ else }}:
|
${{ else }}:
|
||||||
buildVersionToDownload: latestFromBranch
|
buildVersionToDownload: latestFromBranch
|
||||||
- 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
|
||||||
|
|||||||
@@ -46,5 +46,6 @@ steps:
|
|||||||
displayName: '${{ parameters.artifactName }} Publish'
|
displayName: '${{ parameters.artifactName }} Publish'
|
||||||
retryCountOnTaskFailure: 3
|
retryCountOnTaskFailure: 3
|
||||||
inputs:
|
inputs:
|
||||||
artifactName: ${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}_$(System.JobAttempt)
|
# 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: develop
|
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: develop
|
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: develop
|
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: develop
|
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: develop
|
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,72 +288,44 @@ 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:
|
||||||
@@ -439,6 +333,7 @@ steps:
|
|||||||
script: |
|
script: |
|
||||||
sudo mkdir -p $(Agent.BuildDirectory)/rocm/lib
|
sudo mkdir -p $(Agent.BuildDirectory)/rocm/lib
|
||||||
sudo ln -sr $(Agent.BuildDirectory)/rocm/llvm $(Agent.BuildDirectory)/rocm/lib/llvm
|
sudo ln -sr $(Agent.BuildDirectory)/rocm/llvm $(Agent.BuildDirectory)/rocm/lib/llvm
|
||||||
|
echo "Created symlink from rocm/llvm to rocm/lib/llvm"
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Symlink executables from rocm/llvm/bin to rocm/bin
|
displayName: Symlink executables from rocm/llvm/bin to rocm/bin
|
||||||
inputs:
|
inputs:
|
||||||
@@ -446,7 +341,14 @@ steps:
|
|||||||
script: |
|
script: |
|
||||||
for file in amdclang amdclang++ amdclang-cl amdclang-cpp amdflang amdlld aompcc mygpu mycpu offload-arch; do
|
for file in amdclang amdclang++ amdclang-cl amdclang-cpp amdflang amdlld aompcc mygpu mycpu offload-arch; do
|
||||||
sudo ln -sr $(Agent.BuildDirectory)/rocm/llvm/bin/$file $(Agent.BuildDirectory)/rocm/bin/$file
|
sudo ln -sr $(Agent.BuildDirectory)/rocm/llvm/bin/$file $(Agent.BuildDirectory)/rocm/bin/$file
|
||||||
|
echo "Created symlink from rocm/llvm/bin/$file to rocm/bin/$file"
|
||||||
done
|
done
|
||||||
|
- ${{ if containsValue(parameters.dependencyList, 'rocm-core') }}:
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Print rocm/.info/version
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
script: cat $(Agent.BuildDirectory)/rocm/.info/version
|
||||||
# dlopen calls within a ctest or pytest sequence runs into issues when shared library symlink convention is not followed
|
# dlopen calls within a ctest or pytest sequence runs into issues when shared library symlink convention is not followed
|
||||||
# the convention is as follows:
|
# the convention is as follows:
|
||||||
# unversioned .so is a symlink to major version .so
|
# unversioned .so is a symlink to major version .so
|
||||||
@@ -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
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ parameters:
|
|||||||
default: ctest
|
default: ctest
|
||||||
- name: testParameters
|
- name: testParameters
|
||||||
type: string
|
type: string
|
||||||
default: --output-on-failure --force-new-ctest-process --output-junit test_output.xml
|
default: --extra-verbose --output-on-failure --force-new-ctest-process --output-junit test_output.xml
|
||||||
- name: extraTestParameters
|
- name: extraTestParameters
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
|||||||
@@ -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
|
|
||||||
|
|||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,6 +1,7 @@
|
|||||||
.venv
|
.venv
|
||||||
.vscode
|
.vscode
|
||||||
build
|
build
|
||||||
|
__pycache__
|
||||||
|
|
||||||
# documentation artifacts
|
# documentation artifacts
|
||||||
_build/
|
_build/
|
||||||
|
|||||||
185
.wordlist.txt
185
.wordlist.txt
@@ -1,44 +1,3 @@
|
|||||||
GovReport
|
|
||||||
MLPerf
|
|
||||||
QKV
|
|
||||||
summarization
|
|
||||||
gpt
|
|
||||||
openai
|
|
||||||
oss
|
|
||||||
MXFP
|
|
||||||
SGLang
|
|
||||||
VMware
|
|
||||||
amd
|
|
||||||
bdf
|
|
||||||
compatiblity
|
|
||||||
csv
|
|
||||||
enum
|
|
||||||
json
|
|
||||||
subproject
|
|
||||||
ROCpd
|
|
||||||
rocpd
|
|
||||||
STL
|
|
||||||
XCCs
|
|
||||||
chiplets
|
|
||||||
hipRTC
|
|
||||||
nvRTC
|
|
||||||
warpSize
|
|
||||||
Datacenter
|
|
||||||
GST
|
|
||||||
IET
|
|
||||||
LTO
|
|
||||||
MX
|
|
||||||
Microscaling
|
|
||||||
NANOO
|
|
||||||
ROCprof
|
|
||||||
affinitization
|
|
||||||
amdclang
|
|
||||||
benefitting
|
|
||||||
demangled
|
|
||||||
inlined
|
|
||||||
microscaling
|
|
||||||
roofline
|
|
||||||
torchtitan
|
|
||||||
AAC
|
AAC
|
||||||
ABI
|
ABI
|
||||||
ACE
|
ACE
|
||||||
@@ -46,7 +5,9 @@ ACEs
|
|||||||
ACS
|
ACS
|
||||||
AccVGPR
|
AccVGPR
|
||||||
AccVGPRs
|
AccVGPRs
|
||||||
|
AITER
|
||||||
ALU
|
ALU
|
||||||
|
AllReduce
|
||||||
AMD
|
AMD
|
||||||
AMDGPU
|
AMDGPU
|
||||||
AMDGPUs
|
AMDGPUs
|
||||||
@@ -54,6 +15,7 @@ AMDMIGraphX
|
|||||||
AMI
|
AMI
|
||||||
AOCC
|
AOCC
|
||||||
AOMP
|
AOMP
|
||||||
|
AOT
|
||||||
AOTriton
|
AOTriton
|
||||||
APBDIS
|
APBDIS
|
||||||
APIC
|
APIC
|
||||||
@@ -65,6 +27,7 @@ ASICs
|
|||||||
ASan
|
ASan
|
||||||
ASAN
|
ASAN
|
||||||
ASm
|
ASm
|
||||||
|
Async
|
||||||
ATI
|
ATI
|
||||||
atomicRMW
|
atomicRMW
|
||||||
AddressSanitizer
|
AddressSanitizer
|
||||||
@@ -72,7 +35,10 @@ AlexNet
|
|||||||
Andrej
|
Andrej
|
||||||
Arb
|
Arb
|
||||||
Autocast
|
Autocast
|
||||||
|
autograd
|
||||||
|
Backported
|
||||||
BARs
|
BARs
|
||||||
|
BatchNorm
|
||||||
BLAS
|
BLAS
|
||||||
BMC
|
BMC
|
||||||
BabelStream
|
BabelStream
|
||||||
@@ -80,9 +46,11 @@ Blit
|
|||||||
Blockwise
|
Blockwise
|
||||||
Bluefield
|
Bluefield
|
||||||
Bootloader
|
Bootloader
|
||||||
|
Broadcom
|
||||||
CAS
|
CAS
|
||||||
CCD
|
CCD
|
||||||
CDNA
|
CDNA
|
||||||
|
CGUI
|
||||||
CHTML
|
CHTML
|
||||||
CIFAR
|
CIFAR
|
||||||
CLI
|
CLI
|
||||||
@@ -98,6 +66,7 @@ CPU
|
|||||||
CPUs
|
CPUs
|
||||||
Cron
|
Cron
|
||||||
CSC
|
CSC
|
||||||
|
CSDATA
|
||||||
CSE
|
CSE
|
||||||
CSV
|
CSV
|
||||||
CSn
|
CSn
|
||||||
@@ -107,6 +76,7 @@ CU
|
|||||||
CUDA
|
CUDA
|
||||||
CUs
|
CUs
|
||||||
CXX
|
CXX
|
||||||
|
CX
|
||||||
Cavium
|
Cavium
|
||||||
CentOS
|
CentOS
|
||||||
ChatGPT
|
ChatGPT
|
||||||
@@ -117,19 +87,26 @@ CommonMark
|
|||||||
Concretized
|
Concretized
|
||||||
Conda
|
Conda
|
||||||
ConnectX
|
ConnectX
|
||||||
|
CountOnes
|
||||||
CuPy
|
CuPy
|
||||||
|
customizable
|
||||||
da
|
da
|
||||||
Dashboarding
|
Dashboarding
|
||||||
|
Dataloading
|
||||||
|
dataflows
|
||||||
DBRX
|
DBRX
|
||||||
DDR
|
DDR
|
||||||
DF
|
DF
|
||||||
DGEMM
|
DGEMM
|
||||||
|
DGL
|
||||||
|
DGLGraph
|
||||||
dGPU
|
dGPU
|
||||||
dGPUs
|
dGPUs
|
||||||
DIMM
|
DIMM
|
||||||
DKMS
|
DKMS
|
||||||
DL
|
DL
|
||||||
DMA
|
DMA
|
||||||
|
DOMContentLoaded
|
||||||
DNN
|
DNN
|
||||||
DNNL
|
DNNL
|
||||||
DPM
|
DPM
|
||||||
@@ -141,20 +118,30 @@ DataFrame
|
|||||||
DataLoader
|
DataLoader
|
||||||
DataParallel
|
DataParallel
|
||||||
Debian
|
Debian
|
||||||
|
decompositions
|
||||||
DeepSeek
|
DeepSeek
|
||||||
DeepSpeed
|
DeepSpeed
|
||||||
Dependabot
|
Dependabot
|
||||||
Deprecations
|
Deprecations
|
||||||
DevCap
|
DevCap
|
||||||
DirectX
|
DirectX
|
||||||
|
Disaggregated
|
||||||
|
disaggregated
|
||||||
Dockerfile
|
Dockerfile
|
||||||
|
Dockerized
|
||||||
Doxygen
|
Doxygen
|
||||||
|
dropless
|
||||||
ELMo
|
ELMo
|
||||||
ENDPGM
|
ENDPGM
|
||||||
EPYC
|
EPYC
|
||||||
ESXi
|
ESXi
|
||||||
|
EP
|
||||||
EoS
|
EoS
|
||||||
|
etcd
|
||||||
|
fas
|
||||||
FBGEMM
|
FBGEMM
|
||||||
|
FiLM
|
||||||
|
FIFOs
|
||||||
FFT
|
FFT
|
||||||
FFTs
|
FFTs
|
||||||
FFmpeg
|
FFmpeg
|
||||||
@@ -166,14 +153,20 @@ FX
|
|||||||
Filesystem
|
Filesystem
|
||||||
FindDb
|
FindDb
|
||||||
Flang
|
Flang
|
||||||
|
FlashAttention
|
||||||
|
FlashInfer’s
|
||||||
|
FlashInfer
|
||||||
FluxBenchmark
|
FluxBenchmark
|
||||||
Fortran
|
Fortran
|
||||||
Fuyu
|
Fuyu
|
||||||
GALB
|
GALB
|
||||||
|
GAT
|
||||||
|
GATNE
|
||||||
GCC
|
GCC
|
||||||
GCD
|
GCD
|
||||||
GCDs
|
GCDs
|
||||||
GCN
|
GCN
|
||||||
|
GCNN
|
||||||
GDB
|
GDB
|
||||||
GDDR
|
GDDR
|
||||||
GDR
|
GDR
|
||||||
@@ -183,6 +176,7 @@ GEMMs
|
|||||||
GFLOPS
|
GFLOPS
|
||||||
GFortran
|
GFortran
|
||||||
GFXIP
|
GFXIP
|
||||||
|
GGUF
|
||||||
Gemma
|
Gemma
|
||||||
GiB
|
GiB
|
||||||
GIM
|
GIM
|
||||||
@@ -191,24 +185,34 @@ Glibc
|
|||||||
GLXT
|
GLXT
|
||||||
Gloo
|
Gloo
|
||||||
GMI
|
GMI
|
||||||
|
GNN
|
||||||
|
GNNs
|
||||||
GPG
|
GPG
|
||||||
GPR
|
GPR
|
||||||
GPT
|
GPT
|
||||||
GPU
|
GPU
|
||||||
GPU's
|
GPU's
|
||||||
|
GPUDirect
|
||||||
GPUs
|
GPUs
|
||||||
|
GraphBolt
|
||||||
|
GraphSage
|
||||||
GRBM
|
GRBM
|
||||||
|
GRE
|
||||||
GenAI
|
GenAI
|
||||||
GenZ
|
GenZ
|
||||||
GitHub
|
GitHub
|
||||||
Gitpod
|
Gitpod
|
||||||
|
hardcoded
|
||||||
HBM
|
HBM
|
||||||
HCA
|
HCA
|
||||||
HGX
|
HGX
|
||||||
|
HLO
|
||||||
HIPCC
|
HIPCC
|
||||||
|
hipDataType
|
||||||
HIPExtension
|
HIPExtension
|
||||||
HIPIFY
|
HIPIFY
|
||||||
HIPification
|
HIPification
|
||||||
|
hipification
|
||||||
HIPify
|
HIPify
|
||||||
HPC
|
HPC
|
||||||
HPCG
|
HPCG
|
||||||
@@ -220,17 +224,24 @@ HWE
|
|||||||
HWS
|
HWS
|
||||||
Haswell
|
Haswell
|
||||||
Higgs
|
Higgs
|
||||||
|
href
|
||||||
Hyperparameters
|
Hyperparameters
|
||||||
|
HybridEngine
|
||||||
Huggingface
|
Huggingface
|
||||||
|
IB
|
||||||
ICD
|
ICD
|
||||||
|
ICT
|
||||||
ICV
|
ICV
|
||||||
IDE
|
IDE
|
||||||
IDEs
|
IDEs
|
||||||
IFWI
|
IFWI
|
||||||
IMDb
|
IMDb
|
||||||
IncDec
|
IncDec
|
||||||
|
instrSize
|
||||||
|
interpolators
|
||||||
IOMMU
|
IOMMU
|
||||||
IOP
|
IOP
|
||||||
|
IOPS
|
||||||
IOPM
|
IOPM
|
||||||
IOV
|
IOV
|
||||||
IRQ
|
IRQ
|
||||||
@@ -247,6 +258,7 @@ Intersphinx
|
|||||||
Intra
|
Intra
|
||||||
Ioffe
|
Ioffe
|
||||||
JAX's
|
JAX's
|
||||||
|
JAXLIB
|
||||||
Jinja
|
Jinja
|
||||||
JSON
|
JSON
|
||||||
Jupyter
|
Jupyter
|
||||||
@@ -257,6 +269,7 @@ KV
|
|||||||
KVM
|
KVM
|
||||||
Karpathy's
|
Karpathy's
|
||||||
KiB
|
KiB
|
||||||
|
Kineto
|
||||||
Keras
|
Keras
|
||||||
Khronos
|
Khronos
|
||||||
LAPACK
|
LAPACK
|
||||||
@@ -266,11 +279,15 @@ LLM
|
|||||||
LLMs
|
LLMs
|
||||||
LLVM
|
LLVM
|
||||||
LM
|
LM
|
||||||
|
LRU
|
||||||
LSAN
|
LSAN
|
||||||
LSan
|
LSan
|
||||||
LTS
|
LTS
|
||||||
|
LSTMs
|
||||||
|
LteAll
|
||||||
LanguageCrossEntropy
|
LanguageCrossEntropy
|
||||||
LoRA
|
LoRA
|
||||||
|
MECO
|
||||||
MEM
|
MEM
|
||||||
MERCHANTABILITY
|
MERCHANTABILITY
|
||||||
MFMA
|
MFMA
|
||||||
@@ -289,6 +306,7 @@ MNIST
|
|||||||
MPI
|
MPI
|
||||||
MPT
|
MPT
|
||||||
MSVC
|
MSVC
|
||||||
|
mul
|
||||||
MVAPICH
|
MVAPICH
|
||||||
MVFFR
|
MVFFR
|
||||||
Makefile
|
Makefile
|
||||||
@@ -296,6 +314,8 @@ Makefiles
|
|||||||
Matplotlib
|
Matplotlib
|
||||||
Matrox
|
Matrox
|
||||||
MaxText
|
MaxText
|
||||||
|
MBT
|
||||||
|
Megablocks
|
||||||
Megatrends
|
Megatrends
|
||||||
Megatron
|
Megatron
|
||||||
Mellanox
|
Mellanox
|
||||||
@@ -304,11 +324,18 @@ Meta's
|
|||||||
Miniconda
|
Miniconda
|
||||||
MirroredStrategy
|
MirroredStrategy
|
||||||
Mixtral
|
Mixtral
|
||||||
|
MLA
|
||||||
MosaicML
|
MosaicML
|
||||||
|
MoEs
|
||||||
|
Mooncake
|
||||||
|
Mpops
|
||||||
Multicore
|
Multicore
|
||||||
|
multihost
|
||||||
Multithreaded
|
Multithreaded
|
||||||
|
MXFP
|
||||||
MyEnvironment
|
MyEnvironment
|
||||||
MyST
|
MyST
|
||||||
|
NANOO
|
||||||
NBIO
|
NBIO
|
||||||
NBIOs
|
NBIOs
|
||||||
NCCL
|
NCCL
|
||||||
@@ -318,6 +345,7 @@ NIC
|
|||||||
NICs
|
NICs
|
||||||
NLI
|
NLI
|
||||||
NLP
|
NLP
|
||||||
|
NN
|
||||||
NPKit
|
NPKit
|
||||||
NPS
|
NPS
|
||||||
NSP
|
NSP
|
||||||
@@ -340,6 +368,7 @@ OFED
|
|||||||
OMM
|
OMM
|
||||||
OMP
|
OMP
|
||||||
OMPI
|
OMPI
|
||||||
|
OOM
|
||||||
OMPT
|
OMPT
|
||||||
OMPX
|
OMPX
|
||||||
ONNX
|
ONNX
|
||||||
@@ -354,6 +383,7 @@ OpenMPI
|
|||||||
OpenSSL
|
OpenSSL
|
||||||
OpenVX
|
OpenVX
|
||||||
OpenXLA
|
OpenXLA
|
||||||
|
Optim
|
||||||
Oversubscription
|
Oversubscription
|
||||||
PagedAttention
|
PagedAttention
|
||||||
Pallas
|
Pallas
|
||||||
@@ -361,9 +391,11 @@ PCC
|
|||||||
PCI
|
PCI
|
||||||
PCIe
|
PCIe
|
||||||
PEFT
|
PEFT
|
||||||
|
perf
|
||||||
PEQT
|
PEQT
|
||||||
PIL
|
PIL
|
||||||
PILImage
|
PILImage
|
||||||
|
PJRT
|
||||||
POR
|
POR
|
||||||
PRNG
|
PRNG
|
||||||
PRs
|
PRs
|
||||||
@@ -378,10 +410,12 @@ PowerEdge
|
|||||||
PowerShell
|
PowerShell
|
||||||
Pretrained
|
Pretrained
|
||||||
Pretraining
|
Pretraining
|
||||||
|
Primus
|
||||||
Profiler's
|
Profiler's
|
||||||
PyPi
|
PyPi
|
||||||
Pytest
|
Pytest
|
||||||
PyTorch
|
PyTorch
|
||||||
|
QPS
|
||||||
Qcycles
|
Qcycles
|
||||||
Qwen
|
Qwen
|
||||||
RAII
|
RAII
|
||||||
@@ -392,6 +426,7 @@ RDC's
|
|||||||
RDMA
|
RDMA
|
||||||
RDNA
|
RDNA
|
||||||
README
|
README
|
||||||
|
Recomputation
|
||||||
RHEL
|
RHEL
|
||||||
RMW
|
RMW
|
||||||
RNN
|
RNN
|
||||||
@@ -424,11 +459,13 @@ Ryzen
|
|||||||
SALU
|
SALU
|
||||||
SBIOS
|
SBIOS
|
||||||
SCA
|
SCA
|
||||||
|
ScaledGEMM
|
||||||
SDK
|
SDK
|
||||||
SDMA
|
SDMA
|
||||||
SDPA
|
SDPA
|
||||||
SDRAM
|
SDRAM
|
||||||
SENDMSG
|
SENDMSG
|
||||||
|
SGLang
|
||||||
SGPR
|
SGPR
|
||||||
SGPRs
|
SGPRs
|
||||||
SHA
|
SHA
|
||||||
@@ -440,7 +477,9 @@ SKU
|
|||||||
SKUs
|
SKUs
|
||||||
SLES
|
SLES
|
||||||
SLURM
|
SLURM
|
||||||
|
Slurm
|
||||||
SMEM
|
SMEM
|
||||||
|
SMFMA
|
||||||
SMI
|
SMI
|
||||||
SMT
|
SMT
|
||||||
SPI
|
SPI
|
||||||
@@ -452,18 +491,26 @@ SWE
|
|||||||
SerDes
|
SerDes
|
||||||
ShareGPT
|
ShareGPT
|
||||||
Shlens
|
Shlens
|
||||||
|
simd
|
||||||
Skylake
|
Skylake
|
||||||
Softmax
|
Softmax
|
||||||
Spack
|
Spack
|
||||||
SplitK
|
SplitK
|
||||||
Supermicro
|
Supermicro
|
||||||
Szegedy
|
Szegedy
|
||||||
|
TagRAM
|
||||||
TCA
|
TCA
|
||||||
TCC
|
TCC
|
||||||
|
TCCs
|
||||||
TCI
|
TCI
|
||||||
TCIU
|
TCIU
|
||||||
TCP
|
TCP
|
||||||
TCR
|
TCR
|
||||||
|
TVM
|
||||||
|
THREADGROUPS
|
||||||
|
threadgroups
|
||||||
|
TensorRT
|
||||||
|
TensorFloat
|
||||||
TF
|
TF
|
||||||
TFLOPS
|
TFLOPS
|
||||||
TP
|
TP
|
||||||
@@ -503,9 +550,11 @@ UltraChat
|
|||||||
Uncached
|
Uncached
|
||||||
Unittests
|
Unittests
|
||||||
Unhandled
|
Unhandled
|
||||||
|
unwindowed
|
||||||
VALU
|
VALU
|
||||||
VBIOS
|
VBIOS
|
||||||
VCN
|
VCN
|
||||||
|
verl's
|
||||||
VGPR
|
VGPR
|
||||||
VGPRs
|
VGPRs
|
||||||
VM
|
VM
|
||||||
@@ -518,11 +567,13 @@ Vanhoucke
|
|||||||
Vulkan
|
Vulkan
|
||||||
WGP
|
WGP
|
||||||
WGPs
|
WGPs
|
||||||
|
WR
|
||||||
WX
|
WX
|
||||||
WikiText
|
WikiText
|
||||||
Wojna
|
Wojna
|
||||||
Workgroups
|
Workgroups
|
||||||
Writebacks
|
Writebacks
|
||||||
|
xcc
|
||||||
XCD
|
XCD
|
||||||
XCDs
|
XCDs
|
||||||
XGBoost
|
XGBoost
|
||||||
@@ -535,6 +586,7 @@ Xilinx
|
|||||||
Xnack
|
Xnack
|
||||||
Xteam
|
Xteam
|
||||||
YAML
|
YAML
|
||||||
|
YAMLs
|
||||||
YML
|
YML
|
||||||
YModel
|
YModel
|
||||||
ZeRO
|
ZeRO
|
||||||
@@ -542,6 +594,7 @@ ZenDNN
|
|||||||
accuracies
|
accuracies
|
||||||
activations
|
activations
|
||||||
addr
|
addr
|
||||||
|
addEventListener
|
||||||
ade
|
ade
|
||||||
ai
|
ai
|
||||||
alloc
|
alloc
|
||||||
@@ -550,12 +603,14 @@ allocator
|
|||||||
allocators
|
allocators
|
||||||
amdgpu
|
amdgpu
|
||||||
api
|
api
|
||||||
|
aten
|
||||||
atmi
|
atmi
|
||||||
atomics
|
atomics
|
||||||
autogenerated
|
autogenerated
|
||||||
autotune
|
autotune
|
||||||
avx
|
avx
|
||||||
awk
|
awk
|
||||||
|
az
|
||||||
backend
|
backend
|
||||||
backends
|
backends
|
||||||
bb
|
bb
|
||||||
@@ -573,6 +628,7 @@ boson
|
|||||||
bosons
|
bosons
|
||||||
br
|
br
|
||||||
BrainFloat
|
BrainFloat
|
||||||
|
btn
|
||||||
buildable
|
buildable
|
||||||
bursty
|
bursty
|
||||||
bzip
|
bzip
|
||||||
@@ -584,17 +640,21 @@ centric
|
|||||||
changelog
|
changelog
|
||||||
checkpointing
|
checkpointing
|
||||||
chiplet
|
chiplet
|
||||||
|
classList
|
||||||
cmake
|
cmake
|
||||||
cmd
|
cmd
|
||||||
coalescable
|
coalescable
|
||||||
codename
|
codename
|
||||||
collater
|
collater
|
||||||
comgr
|
comgr
|
||||||
|
compat
|
||||||
completers
|
completers
|
||||||
composable
|
composable
|
||||||
concretization
|
concretization
|
||||||
config
|
config
|
||||||
|
configs
|
||||||
conformant
|
conformant
|
||||||
|
const
|
||||||
constructible
|
constructible
|
||||||
convolutional
|
convolutional
|
||||||
convolves
|
convolves
|
||||||
@@ -629,12 +689,14 @@ denoised
|
|||||||
denoises
|
denoises
|
||||||
denormalize
|
denormalize
|
||||||
dequantization
|
dequantization
|
||||||
|
dequantized
|
||||||
dequantizes
|
dequantizes
|
||||||
deserializers
|
deserializers
|
||||||
detections
|
detections
|
||||||
dev
|
dev
|
||||||
devicelibs
|
devicelibs
|
||||||
devsel
|
devsel
|
||||||
|
dgl
|
||||||
dimensionality
|
dimensionality
|
||||||
disambiguates
|
disambiguates
|
||||||
distro
|
distro
|
||||||
@@ -658,6 +720,7 @@ exascale
|
|||||||
executables
|
executables
|
||||||
ffmpeg
|
ffmpeg
|
||||||
filesystem
|
filesystem
|
||||||
|
forEach
|
||||||
fortran
|
fortran
|
||||||
fp
|
fp
|
||||||
framebuffer
|
framebuffer
|
||||||
@@ -666,13 +729,16 @@ galb
|
|||||||
gcc
|
gcc
|
||||||
gdb
|
gdb
|
||||||
gemm
|
gemm
|
||||||
|
getAttribute
|
||||||
gfortran
|
gfortran
|
||||||
gfx
|
gfx
|
||||||
githooks
|
githooks
|
||||||
github
|
github
|
||||||
globals
|
globals
|
||||||
gnupg
|
gnupg
|
||||||
|
gpu
|
||||||
grayscale
|
grayscale
|
||||||
|
gx
|
||||||
gzip
|
gzip
|
||||||
heterogenous
|
heterogenous
|
||||||
hipBLAS
|
hipBLAS
|
||||||
@@ -720,10 +786,12 @@ installable
|
|||||||
interop
|
interop
|
||||||
interprocedural
|
interprocedural
|
||||||
intra
|
intra
|
||||||
|
intrinsics
|
||||||
invariants
|
invariants
|
||||||
invocating
|
invocating
|
||||||
ipo
|
ipo
|
||||||
jax
|
jax
|
||||||
|
json
|
||||||
kdb
|
kdb
|
||||||
kfd
|
kfd
|
||||||
kv
|
kv
|
||||||
@@ -737,12 +805,17 @@ linalg
|
|||||||
linearized
|
linearized
|
||||||
linter
|
linter
|
||||||
linux
|
linux
|
||||||
|
llm
|
||||||
llvm
|
llvm
|
||||||
|
lm
|
||||||
localscratch
|
localscratch
|
||||||
logits
|
logits
|
||||||
lossy
|
lossy
|
||||||
macOS
|
macOS
|
||||||
matchers
|
matchers
|
||||||
|
maxtext
|
||||||
|
megablocks
|
||||||
|
megatron
|
||||||
microarchitecture
|
microarchitecture
|
||||||
migraphx
|
migraphx
|
||||||
migratable
|
migratable
|
||||||
@@ -770,6 +843,7 @@ opencv
|
|||||||
openmp
|
openmp
|
||||||
openssl
|
openssl
|
||||||
optimizers
|
optimizers
|
||||||
|
ol
|
||||||
os
|
os
|
||||||
oversubscription
|
oversubscription
|
||||||
pageable
|
pageable
|
||||||
@@ -779,8 +853,10 @@ parallelizing
|
|||||||
param
|
param
|
||||||
parameterization
|
parameterization
|
||||||
passthrough
|
passthrough
|
||||||
|
pe
|
||||||
perfcounter
|
perfcounter
|
||||||
performant
|
performant
|
||||||
|
piecewise
|
||||||
perl
|
perl
|
||||||
pragma
|
pragma
|
||||||
pre
|
pre
|
||||||
@@ -801,11 +877,14 @@ preprocessing
|
|||||||
preprocessor
|
preprocessor
|
||||||
prequantized
|
prequantized
|
||||||
prerequisites
|
prerequisites
|
||||||
|
pretrain
|
||||||
pretraining
|
pretraining
|
||||||
|
primus
|
||||||
profiler
|
profiler
|
||||||
profilers
|
profilers
|
||||||
protobuf
|
protobuf
|
||||||
pseudorandom
|
pseudorandom
|
||||||
|
px
|
||||||
py
|
py
|
||||||
pytorch
|
pytorch
|
||||||
recommender
|
recommender
|
||||||
@@ -813,7 +892,10 @@ recommenders
|
|||||||
quantile
|
quantile
|
||||||
quantizer
|
quantizer
|
||||||
quasirandom
|
quasirandom
|
||||||
|
querySelector
|
||||||
|
querySelectorAll
|
||||||
queueing
|
queueing
|
||||||
|
qwen
|
||||||
radeon
|
radeon
|
||||||
rccl
|
rccl
|
||||||
rdc
|
rdc
|
||||||
@@ -822,6 +904,7 @@ reStructuredText
|
|||||||
redirections
|
redirections
|
||||||
refactorization
|
refactorization
|
||||||
reformats
|
reformats
|
||||||
|
reinforcememt
|
||||||
repo
|
repo
|
||||||
repos
|
repos
|
||||||
representativeness
|
representativeness
|
||||||
@@ -829,6 +912,9 @@ req
|
|||||||
resampling
|
resampling
|
||||||
rescaling
|
rescaling
|
||||||
reusability
|
reusability
|
||||||
|
rhel
|
||||||
|
rl
|
||||||
|
RLHF
|
||||||
roadmap
|
roadmap
|
||||||
roc
|
roc
|
||||||
rocAL
|
rocAL
|
||||||
@@ -866,22 +952,29 @@ roctracer
|
|||||||
rst
|
rst
|
||||||
runtime
|
runtime
|
||||||
runtimes
|
runtimes
|
||||||
|
ResNet
|
||||||
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
|
||||||
|
sles
|
||||||
sm
|
sm
|
||||||
smi
|
smi
|
||||||
softmax
|
softmax
|
||||||
spack
|
spack
|
||||||
|
spmm
|
||||||
src
|
src
|
||||||
|
stanford
|
||||||
stochastically
|
stochastically
|
||||||
strided
|
strided
|
||||||
subcommand
|
subcommand
|
||||||
@@ -889,6 +982,7 @@ subdirectory
|
|||||||
subexpression
|
subexpression
|
||||||
subfolder
|
subfolder
|
||||||
subfolders
|
subfolders
|
||||||
|
submatrix
|
||||||
submodule
|
submodule
|
||||||
submodules
|
submodules
|
||||||
subnet
|
subnet
|
||||||
@@ -897,8 +991,10 @@ symlink
|
|||||||
symlinks
|
symlinks
|
||||||
sys
|
sys
|
||||||
tabindex
|
tabindex
|
||||||
|
targetContainer
|
||||||
td
|
td
|
||||||
tensorfloat
|
tensorfloat
|
||||||
|
tf
|
||||||
th
|
th
|
||||||
tokenization
|
tokenization
|
||||||
tokenize
|
tokenize
|
||||||
@@ -907,18 +1003,23 @@ tokenizer
|
|||||||
tokenizes
|
tokenizes
|
||||||
toolchain
|
toolchain
|
||||||
toolchains
|
toolchains
|
||||||
|
topk
|
||||||
toolset
|
toolset
|
||||||
toolsets
|
toolsets
|
||||||
|
torchtitan
|
||||||
torchvision
|
torchvision
|
||||||
|
tp
|
||||||
tqdm
|
tqdm
|
||||||
tracebacks
|
tracebacks
|
||||||
txt
|
txt
|
||||||
|
TopK
|
||||||
uarch
|
uarch
|
||||||
uncached
|
uncached
|
||||||
uncacheable
|
uncacheable
|
||||||
uncorrectable
|
uncorrectable
|
||||||
underoptimized
|
underoptimized
|
||||||
unhandled
|
unhandled
|
||||||
|
unfused
|
||||||
uninstallation
|
uninstallation
|
||||||
unmapped
|
unmapped
|
||||||
unsqueeze
|
unsqueeze
|
||||||
@@ -931,6 +1032,7 @@ USM
|
|||||||
UTCL
|
UTCL
|
||||||
UTIL
|
UTIL
|
||||||
utils
|
utils
|
||||||
|
UX
|
||||||
vL
|
vL
|
||||||
variational
|
variational
|
||||||
vdi
|
vdi
|
||||||
@@ -940,6 +1042,7 @@ vectorize
|
|||||||
vectorized
|
vectorized
|
||||||
vectorizer
|
vectorizer
|
||||||
vectorizes
|
vectorizes
|
||||||
|
verl
|
||||||
virtualize
|
virtualize
|
||||||
virtualized
|
virtualized
|
||||||
vjxb
|
vjxb
|
||||||
|
|||||||
10066
CHANGELOG.md
Normal file
10066
CHANGELOG.md
Normal file
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
|
||||||
|
|
||||||
|
|||||||
1588
RELEASE.md
Normal file
1588
RELEASE.md
Normal file
File diff suppressed because it is too large
Load Diff
47
default.xml
47
default.xml
@@ -1,32 +1,17 @@
|
|||||||
<?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.1.0"
|
||||||
remote="rocm-org"
|
remote="rocm-org"
|
||||||
sync-c="true"
|
sync-c="true"
|
||||||
sync-j="4" />
|
sync-j="4" />
|
||||||
<!--list of projects for ROCm-->
|
<!--list of projects for ROCm-->
|
||||||
<project name="ROCK-Kernel-Driver" />
|
<project name="ROCK-Kernel-Driver" />
|
||||||
<project name="ROCR-Runtime" />
|
|
||||||
<project name="amdsmi" />
|
<project name="amdsmi" />
|
||||||
<project name="rdc" />
|
|
||||||
<project name="rocm_bandwidth_test" />
|
<project name="rocm_bandwidth_test" />
|
||||||
<project name="rocm_smi_lib" />
|
|
||||||
<project name="rocm-core" />
|
|
||||||
<project name="rocm-examples" />
|
<project name="rocm-examples" />
|
||||||
<project name="rocminfo" />
|
|
||||||
<project name="rocprofiler" />
|
|
||||||
<project name="rocprofiler-register" />
|
|
||||||
<project name="rocprofiler-sdk" />
|
|
||||||
<project name="rocprofiler-compute" />
|
|
||||||
<project name="rocprofiler-systems" />
|
|
||||||
<project name="roctracer" />
|
|
||||||
<!--HIP Projects-->
|
<!--HIP Projects-->
|
||||||
<project name="HIP" />
|
|
||||||
<project name="hip-tests" />
|
|
||||||
<project name="HIPIFY" />
|
<project name="HIPIFY" />
|
||||||
<project name="clr" />
|
|
||||||
<project name="hipother" />
|
|
||||||
<!-- The following projects are all associated with the AMDGPU LLVM compiler -->
|
<!-- The following projects are all associated with the AMDGPU LLVM compiler -->
|
||||||
<project name="half" />
|
<project name="half" />
|
||||||
<project name="llvm-project" />
|
<project name="llvm-project" />
|
||||||
@@ -37,36 +22,30 @@
|
|||||||
<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" />
|
||||||
|
<!-- The following components have been migrated to rocm-systems:
|
||||||
|
aqlprofile clr hip hip-tests hipother
|
||||||
|
rdc rocm-core rocm_smi_lib rocminfo rocprofiler-compute
|
||||||
|
rocprofiler-register rocprofiler-sdk rocprofiler-systems
|
||||||
|
rocprofiler rocr-runtime roctracer -->
|
||||||
|
<project groups="mathlibs" name="rocm-systems" />
|
||||||
<project groups="mathlibs" name="rocPyDecode" />
|
<project groups="mathlibs" name="rocPyDecode" />
|
||||||
<project groups="mathlibs" name="rocFFT" />
|
|
||||||
<project groups="mathlibs" name="rocPRIM" />
|
|
||||||
<project groups="mathlibs" name="rocRAND" />
|
|
||||||
<project groups="mathlibs" name="rocSHMEM" />
|
<project groups="mathlibs" name="rocSHMEM" />
|
||||||
<project groups="mathlibs" name="rocSOLVER" />
|
|
||||||
<project groups="mathlibs" name="rocSPARSE" />
|
|
||||||
<project groups="mathlibs" name="rocThrust" />
|
|
||||||
<project groups="mathlibs" name="rocWMMA" />
|
<project groups="mathlibs" name="rocWMMA" />
|
||||||
<project groups="mathlibs" name="rocm-cmake" />
|
<project groups="mathlibs" name="rocm-cmake" />
|
||||||
<project groups="mathlibs" name="rpp" />
|
<project groups="mathlibs" name="rpp" />
|
||||||
|
|||||||
147
docs/about/license.md
Normal file
147
docs/about/license.md
Normal file
@@ -0,0 +1,147 @@
|
|||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="description" content="ROCm licensing terms">
|
||||||
|
<meta name="keywords" content="license, licensing terms">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
# ROCm license
|
||||||
|
|
||||||
|
```{include} ../../LICENSE
|
||||||
|
```
|
||||||
|
|
||||||
|
:::{note}
|
||||||
|
The preceding license applies to the [ROCm repository](https://github.com/ROCm/ROCm), which
|
||||||
|
primarily contains documentation. For licenses related to other ROCm components, refer to the
|
||||||
|
following section.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## ROCm component licenses
|
||||||
|
|
||||||
|
ROCm is released by Advanced Micro Devices, Inc. (AMD) and is licensed per component separately.
|
||||||
|
The following table is a list of ROCm components with links to their respective license
|
||||||
|
terms. These components may include third party components subject to
|
||||||
|
additional licenses. Please review individual repositories for more information.
|
||||||
|
|
||||||
|
<!-- spellcheck-disable -->
|
||||||
|
| Component | License |
|
||||||
|
|:---------------------|:-------------------------|
|
||||||
|
| [AMD Compute Language Runtime (CLR)](https://github.com/ROCm/clr) | [MIT](https://github.com/ROCm/clr/blob/amd-staging/LICENSE.txt) |
|
||||||
|
| [AMD SMI](https://github.com/ROCm/amdsmi) | [MIT](https://github.com/ROCm/amdsmi/blob/amd-staging/LICENSE) |
|
||||||
|
| [aomp](https://github.com/ROCm/aomp/) | [Apache 2.0](https://github.com/ROCm/aomp/blob/aomp-dev/LICENSE) |
|
||||||
|
| [aomp-extras](https://github.com/ROCm/aomp-extras/) | [MIT](https://github.com/ROCm/aomp-extras/blob/aomp-dev/LICENSE) |
|
||||||
|
| [AQLprofile](https://github.com/rocm/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) |
|
||||||
|
| [Composable Kernel](https://github.com/ROCm/composable_kernel) | [MIT](https://github.com/ROCm/composable_kernel/blob/develop/LICENSE) |
|
||||||
|
| [half](https://github.com/ROCm/half/) | [MIT](https://github.com/ROCm/half/blob/rocm/LICENSE.txt) |
|
||||||
|
| [HIP](https://github.com/ROCm/HIP/) | [MIT](https://github.com/ROCm/HIP/blob/amd-staging/LICENSE.txt) |
|
||||||
|
| [hipamd](https://github.com/ROCm/clr/tree/amd-staging/hipamd) | [MIT](https://github.com/ROCm/clr/blob/amd-staging/hipamd/LICENSE.txt) |
|
||||||
|
| [hipBLAS](https://github.com/ROCm/hipBLAS/) | [MIT](https://github.com/ROCm/hipBLAS/blob/develop/LICENSE.md) |
|
||||||
|
| [hipBLASLt](https://github.com/ROCm/hipBLASLt/) | [MIT](https://github.com/ROCm/hipBLASLt/blob/develop/LICENSE.md) |
|
||||||
|
| [HIPCC](https://github.com/ROCm/llvm-project/tree/amd-staging/amd/hipcc) | [MIT](https://github.com/ROCm/llvm-project/blob/amd-staging/amd/hipcc/LICENSE.txt) |
|
||||||
|
| [hipCUB](https://github.com/ROCm/hipCUB/) | [Custom](https://github.com/ROCm/hipCUB/blob/develop/LICENSE.txt) |
|
||||||
|
| [hipFFT](https://github.com/ROCm/hipFFT/) | [MIT](https://github.com/ROCm/hipFFT/blob/develop/LICENSE.md) |
|
||||||
|
| [hipfort](https://github.com/ROCm/hipfort/) | [MIT](https://github.com/ROCm/hipfort/blob/develop/LICENSE) |
|
||||||
|
| [HIPIFY](https://github.com/ROCm/HIPIFY/) | [MIT](https://github.com/ROCm/HIPIFY/blob/amd-staging/LICENSE.txt) |
|
||||||
|
| [hipRAND](https://github.com/ROCm/hipRAND/) | [MIT](https://github.com/ROCm/hipRAND/blob/develop/LICENSE.txt) |
|
||||||
|
| [hipSOLVER](https://github.com/ROCm/hipSOLVER/) | [MIT](https://github.com/ROCm/hipSOLVER/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) |
|
||||||
|
| [hipTensor](https://github.com/ROCm/hipTensor) | [MIT](https://github.com/ROCm/hipTensor/blob/develop/LICENSE) |
|
||||||
|
| [llvm-project](https://github.com/ROCm/llvm-project/) | [Apache](https://github.com/ROCm/llvm-project/blob/amd-staging/LICENSE.TXT) |
|
||||||
|
| [llvm-project/flang](https://github.com/ROCm/llvm-project/tree/amd-staging/flang) | [Apache 2.0](https://github.com/ROCm/llvm-project/blob/amd-staging/flang/LICENSE.TXT) |
|
||||||
|
| [MIGraphX](https://github.com/ROCm/AMDMIGraphX/) | [MIT](https://github.com/ROCm/AMDMIGraphX/blob/develop/LICENSE) |
|
||||||
|
| [MIOpen](https://github.com/ROCm/MIOpen/) | [MIT](https://github.com/ROCm/rocm-libraries/blob/develop/projects/miopen/LICENSE.md) |
|
||||||
|
| [MIVisionX](https://github.com/ROCm/MIVisionX/) | [MIT](https://github.com/ROCm/MIVisionX/blob/develop/LICENSE.txt) |
|
||||||
|
| [rocAL](https://github.com/ROCm/rocAL) | [MIT](https://github.com/ROCm/rocAL/blob/develop/LICENSE.txt) |
|
||||||
|
| [rocALUTION](https://github.com/ROCm/rocALUTION/) | [MIT](https://github.com/ROCm/rocALUTION/blob/develop/LICENSE.md) |
|
||||||
|
| [rocBLAS](https://github.com/ROCm/rocBLAS/) | [MIT](https://github.com/ROCm/rocBLAS/blob/develop/LICENSE.md) |
|
||||||
|
| [ROCdbgapi](https://github.com/ROCm/ROCdbgapi/) | [MIT](https://github.com/ROCm/ROCdbgapi/blob/amd-staging/LICENSE.txt) |
|
||||||
|
| [rocDecode](https://github.com/ROCm/rocDecode) | [MIT](https://github.com/ROCm/rocDecode/blob/develop/LICENSE) |
|
||||||
|
| [rocFFT](https://github.com/ROCm/rocFFT/) | [MIT](https://github.com/ROCm/rocFFT/blob/develop/LICENSE.md) |
|
||||||
|
| [ROCgdb](https://github.com/ROCm/ROCgdb/) | [GNU General Public License v3.0](https://github.com/ROCm/ROCgdb/blob/amd-staging/COPYING3) |
|
||||||
|
| [rocJPEG](https://github.com/ROCm/rocJPEG/) | [MIT](https://github.com/ROCm/rocJPEG/blob/develop/LICENSE) |
|
||||||
|
| [ROCK-Kernel-Driver](https://github.com/ROCm/ROCK-Kernel-Driver/) | [GPL 2.0 WITH Linux-syscall-note](https://github.com/ROCm/ROCK-Kernel-Driver/blob/master/COPYING) |
|
||||||
|
| [rocminfo](https://github.com/ROCm/rocminfo/) | [The University of Illinois/NCSA](https://github.com/ROCm/rocminfo/blob/amd-staging/License.txt) |
|
||||||
|
| [ROCm Bandwidth Test](https://github.com/ROCm/rocm_bandwidth_test/) | [MIT](https://github.com/ROCm/rocm_bandwidth_test/blob/master/LICENSE.txt) |
|
||||||
|
| [ROCm CMake](https://github.com/ROCm/rocm-cmake/) | [MIT](https://github.com/ROCm/rocm-cmake/blob/develop/LICENSE) |
|
||||||
|
| [ROCm Communication Collectives Library (RCCL)](https://github.com/ROCm/rccl/) | [Custom](https://github.com/ROCm/rccl/blob/develop/LICENSE.txt) |
|
||||||
|
| [ROCm-Core](https://github.com/ROCm/rocm-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 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-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 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.md) |
|
||||||
|
| [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) |
|
||||||
|
| [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) |
|
||||||
|
| [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) |
|
||||||
|
| [ROCr Debug Agent](https://github.com/ROCm/rocr_debug_agent/) | [The University of Illinois/NCSA](https://github.com/ROCm/rocr_debug_agent/blob/amd-staging/LICENSE.txt) |
|
||||||
|
| [ROCR-Runtime](https://github.com/ROCm/ROCR-Runtime/) | [The University of Illinois/NCSA](https://github.com/ROCm/ROCR-Runtime/blob/amd-staging/LICENSE.txt) |
|
||||||
|
| [rocSHMEM](https://github.com/ROCm/rocSHMEM/) | [MIT](https://github.com/ROCm/rocSHMEM/blob/develop/LICENSE.md) |
|
||||||
|
| [rocSOLVER](https://github.com/ROCm/rocSOLVER/) | [BSD-2-Clause](https://github.com/ROCm/rocSOLVER/blob/develop/LICENSE.md) |
|
||||||
|
| [rocSPARSE](https://github.com/ROCm/rocSPARSE/) | [MIT](https://github.com/ROCm/rocSPARSE/blob/develop/LICENSE.md) |
|
||||||
|
| [rocThrust](https://github.com/ROCm/rocThrust/) | [Apache 2.0](https://github.com/ROCm/rocThrust/blob/develop/LICENSE) |
|
||||||
|
| [ROCTracer](https://github.com/ROCm/roctracer/) | [MIT](https://github.com/ROCm/roctracer/blob/amd-master/LICENSE) |
|
||||||
|
| [rocWMMA](https://github.com/ROCm/rocWMMA/) | [MIT](https://github.com/ROCm/rocWMMA/blob/develop/LICENSE.md) |
|
||||||
|
| [Tensile](https://github.com/ROCm/Tensile/) | [MIT](https://github.com/ROCm/Tensile/blob/develop/LICENSE.md) |
|
||||||
|
| [TransferBench](https://github.com/ROCm/TransferBench) | [MIT](https://github.com/ROCm/TransferBench/blob/develop/LICENSE.md) |
|
||||||
|
|
||||||
|
Open sourced ROCm components are released via public GitHub
|
||||||
|
repositories, packages on [https://repo.radeon.com](https://repo.radeon.com) and other distribution channels.
|
||||||
|
Proprietary products are only available on [https://repo.radeon.com](https://repo.radeon.com).
|
||||||
|
Proprietary components are organized in a proprietary subdirectory in the package
|
||||||
|
repositories to distinguish from open sourced packages.
|
||||||
|
|
||||||
|
```{note}
|
||||||
|
The following additional terms and conditions apply to your use of ROCm technical documentation.
|
||||||
|
```
|
||||||
|
|
||||||
|
©2023 - 2025 Advanced Micro Devices, Inc. All rights reserved.
|
||||||
|
|
||||||
|
The information presented in this document is for informational purposes only
|
||||||
|
and may contain technical inaccuracies, omissions, and typographical errors. The
|
||||||
|
information contained herein is subject to change and may be rendered inaccurate
|
||||||
|
for many reasons, including but not limited to product and roadmap changes,
|
||||||
|
component and motherboard version changes, new model and/or product releases,
|
||||||
|
product differences between differing manufacturers, software changes, BIOS
|
||||||
|
flashes, firmware upgrades, or the like. Any computer system has risks of
|
||||||
|
security vulnerabilities that cannot be completely prevented or mitigated. AMD
|
||||||
|
assumes no obligation to update or otherwise correct or revise this information.
|
||||||
|
However, AMD reserves the right to revise this information and to make changes
|
||||||
|
from time to time to the content hereof without obligation of AMD to notify any
|
||||||
|
person of such revisions or changes.
|
||||||
|
|
||||||
|
THIS INFORMATION IS PROVIDED “AS IS.” AMD MAKES NO REPRESENTATIONS OR WARRANTIES
|
||||||
|
WITH RESPECT TO THE CONTENTS HEREOF AND ASSUMES NO RESPONSIBILITY FOR ANY
|
||||||
|
INACCURACIES, ERRORS, OR OMISSIONS THAT MAY APPEAR IN THIS INFORMATION. AMD
|
||||||
|
SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT,
|
||||||
|
MERCHANTABILITY, OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT WILL AMD BE
|
||||||
|
LIABLE TO ANY PERSON FOR ANY RELIANCE, DIRECT, INDIRECT, SPECIAL, OR OTHER
|
||||||
|
CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF ANY INFORMATION CONTAINED HEREIN,
|
||||||
|
EVEN IF AMD IS EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
AMD, the AMD Arrow logo, ROCm, and combinations thereof are trademarks of
|
||||||
|
Advanced Micro Devices, Inc. Other product names used in this publication are
|
||||||
|
for identification purposes only and may be trademarks of their respective
|
||||||
|
companies.
|
||||||
|
|
||||||
|
### Package licensing
|
||||||
|
|
||||||
|
:::{attention}
|
||||||
|
ROCprof Trace Decoder and AOCC CPU optimizations are provided in binary form, subject to the license agreement enclosed on [GitHub](https://github.com/ROCm/rocprof-trace-decoder/blob/amd-mainline/LICENSE) for ROCprof Trace Decoder, and [Developer Central](https://www.amd.com/en/developer/aocc.html) for AOCC. By using, installing,
|
||||||
|
copying or distributing ROCprof Trace Decoder or AOCC CPU Optimizations, you agree to
|
||||||
|
the terms and conditions of this license agreement. If you do not agree to the
|
||||||
|
terms of this agreement, do not install, copy or use ROCprof Trace Decoder or the
|
||||||
|
AOCC CPU Optimizations.
|
||||||
|
:::
|
||||||
|
|
||||||
|
For the rest of the ROCm packages, you can find the licensing information at the
|
||||||
|
following location: `/opt/rocm/share/doc/<component-name>/` or in the locations
|
||||||
|
specified in the preceding table.
|
||||||
|
|
||||||
|
For example, you can fetch the licensing information of the `amd_comgr`
|
||||||
|
component (Code Object Manager) from the `/opt/rocm/share/doc/amd_comgr/LICENSE.txt` file.
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
***************************************************
|
|
||||||
AI training and inference performance with ROCm 7.0
|
|
||||||
***************************************************
|
|
||||||
|
|
||||||
AMD ROCm is an open-source software platform optimized to extract HPC and AI
|
|
||||||
workload performance from AMD Instinct™ accelerators and GPUs while maintaining
|
|
||||||
compatibility with industry software frameworks.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
ROCm 7.0 is now available. See the documentation at `ROCm 7.0 documentation
|
|
||||||
<https://rocm.docs.amd.com/en/docs-7.0.0/>`__.
|
|
||||||
|
|
||||||
This documentation accompanies preview Docker images designed to reproduce
|
|
||||||
training and inference performance on AMD Instinct™ MI355X, MI350X, and MI300X
|
|
||||||
series accelerators with ROCm 7.0. The images provide the 7.0 release of the
|
|
||||||
ROCm software stack and are targeted at users evaluating AI inference workloads
|
|
||||||
using next-generation AMD accelerators. See the Docker image repository at
|
|
||||||
`rocm/7.0 <https://hub.docker.com/r/rocm/7.0/>`__.
|
|
||||||
|
|
||||||
.. important::
|
|
||||||
|
|
||||||
The following AI workload benchmarks use ROCm 7.0 on AMD Instinct MI355X,
|
|
||||||
MI350X, and MI300X series accelerators.
|
|
||||||
|
|
||||||
For other workloads for MI300X series accelerators, see
|
|
||||||
`Infinity Hub <https://www.amd.com/en/developer/resources/infinity-hub.html>`_.
|
|
||||||
|
|
||||||
.. grid:: 2
|
|
||||||
|
|
||||||
.. grid-item-card:: Training
|
|
||||||
|
|
||||||
* :doc:`training-maxtext-llama-3`
|
|
||||||
|
|
||||||
* :doc:`training-maxtext-mixtral-8x7b`
|
|
||||||
|
|
||||||
* :doc:`training-megatron-lm-llama-3`
|
|
||||||
|
|
||||||
* :doc:`training-mlperf-fine-tuning-llama-2-70b`
|
|
||||||
|
|
||||||
* :doc:`training-torchtitan-llama-3`
|
|
||||||
|
|
||||||
.. grid-item-card:: Inference
|
|
||||||
|
|
||||||
* :doc:`inference-vllm-llama-3.1-405b-fp4`
|
|
||||||
|
|
||||||
* :doc:`inference-vllm-llama-3.3-70b-fp8`
|
|
||||||
|
|
||||||
* :doc:`inference-vllm-deepseek-r1-fp8`
|
|
||||||
|
|
||||||
* :doc:`inference-vllm-gpt-oss-120b`
|
|
||||||
|
|
||||||
* :doc:`inference-sglang-deepseek-r1-fp4`
|
|
||||||
|
|
||||||
* :doc:`inference-sglang-deepseek-r1-fp8`
|
|
||||||
@@ -1,99 +0,0 @@
|
|||||||
***********************************************
|
|
||||||
Benchmark DeepSeek R1 FP4 inference with SGLang
|
|
||||||
***********************************************
|
|
||||||
|
|
||||||
This section provides instructions to test the inference performance of
|
|
||||||
DeepSeek R1 with FP4 precision via the SGLang serving framework. The
|
|
||||||
accompanying Docker image integrates `ROCm 7.0
|
|
||||||
<https://rocm.docs.amd.com/en/latest/>`__ with SGLang, and is supported only on AMD
|
|
||||||
Instinct MI355X and MI350X GPUs.
|
|
||||||
|
|
||||||
Follow these steps to pull the required image, spin up the container with the
|
|
||||||
appropriate options, download the model, and run the benchmark.
|
|
||||||
|
|
||||||
Pull the Docker image
|
|
||||||
=====================
|
|
||||||
|
|
||||||
Use the following command to pull the `Docker image
|
|
||||||
<https://hub.docker.com/r/rocm/7.0/tags>`__.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
docker pull rocm/7.0:rocm7.0_ubuntu_22.04_sgl-dev-v0.5.2-rocm7.0-mi35x-20250915
|
|
||||||
|
|
||||||
Download the model
|
|
||||||
==================
|
|
||||||
|
|
||||||
See the model card on Hugging Face at `DeepSeek-R1-MXFP4-Preview
|
|
||||||
<https://huggingface.co/amd/DeepSeek-R1-MXFP4-Preview>`__. This model uses
|
|
||||||
microscaling 4-bit floating point (MXFP4) quantization through `AMD Quark
|
|
||||||
<https://quark.docs.amd.com/latest/>`_ for efficient inference on AMD
|
|
||||||
accelerators.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
pip install huggingface_hub[cli] hf_transfer hf_xet
|
|
||||||
HF_HUB_ENABLE_HF_TRANSFER=1 \
|
|
||||||
HF_HOME=/data/huggingface-cache \
|
|
||||||
HF_TOKEN="<HF_TOKEN>" \
|
|
||||||
huggingface-cli download amd/DeepSeek-R1-0528-MXFP4-Preview --exclude "original/*"
|
|
||||||
|
|
||||||
Run the inference benchmark
|
|
||||||
===========================
|
|
||||||
|
|
||||||
1. Start the container using the following command.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
docker run -it \
|
|
||||||
--user root \
|
|
||||||
--group-add video \
|
|
||||||
--cap-add=SYS_PTRACE \
|
|
||||||
--security-opt seccomp=unconfined \
|
|
||||||
-w /app/ \
|
|
||||||
--ipc=host \
|
|
||||||
--network=host \
|
|
||||||
--shm-size 64G \
|
|
||||||
--mount type=bind,src=/data,dst=/data \
|
|
||||||
--device=/dev/kfd \
|
|
||||||
--device=/dev/dri \
|
|
||||||
-e SGLANG_USE_AITER=1 \
|
|
||||||
rocm/7.0:rocm7.0_ubuntu_22.04_sgl-dev-v0.5.2-rocm7.0-mi35x-20250915
|
|
||||||
|
|
||||||
2. Start the server.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
python3 -m sglang.launch_server \
|
|
||||||
--model-path amd/DeepSeek-R1-0528-MXFP4-Preview \
|
|
||||||
--host localhost \
|
|
||||||
--port 8000 \
|
|
||||||
--tensor-parallel-size 8 \
|
|
||||||
--trust-remote-code \
|
|
||||||
--chunked-prefill-size 196608 \
|
|
||||||
--mem-fraction-static 0.8 \
|
|
||||||
--disable-radix-cache \
|
|
||||||
--num-continuous-decode-steps 4 \
|
|
||||||
--max-prefill-tokens 196608 \
|
|
||||||
--cuda-graph-max-bs 128 &
|
|
||||||
|
|
||||||
3. Run the benchmark with the following options.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
input_tokens=1024
|
|
||||||
output_tokens=1024
|
|
||||||
max_concurrency=64
|
|
||||||
num_prompts=128
|
|
||||||
|
|
||||||
python3 -m sglang.bench_serving \
|
|
||||||
--host localhost \
|
|
||||||
--port 8000 \
|
|
||||||
--model amd/DeepSeek-R1-0528-MXFP4-Preview \
|
|
||||||
--dataset-name random \
|
|
||||||
--random-input ${input_tokens} \
|
|
||||||
--random-output ${output_tokens} \
|
|
||||||
--random-range-ratio 1.0 \
|
|
||||||
--max-concurrency ${max_concurrency} \
|
|
||||||
--num-prompt ${num_prompts}
|
|
||||||
|
|
||||||
@@ -1,132 +0,0 @@
|
|||||||
***********************************************
|
|
||||||
Benchmark DeepSeek R1 FP8 inference with SGLang
|
|
||||||
***********************************************
|
|
||||||
|
|
||||||
This section provides instructions to test the inference performance of DeepSeek R1
|
|
||||||
with FP8 precision via the SGLang serving framework.
|
|
||||||
The accompanying Docker image integrates ROCm 7.0 with SGLang, and is
|
|
||||||
supported on AMD Instinct MI355X, MI350X, MI325X, and MI300X GPUs.
|
|
||||||
|
|
||||||
Follow these steps to pull the required image, spin up the container with the
|
|
||||||
appropriate options, download the model, and run the benchmark.
|
|
||||||
|
|
||||||
Pull the Docker image
|
|
||||||
=====================
|
|
||||||
|
|
||||||
Use the following command to pull the appropriate `Docker image <https://hub.docker.com/r/rocm/7.0/tags>`__
|
|
||||||
for your system.
|
|
||||||
|
|
||||||
.. tab-set::
|
|
||||||
|
|
||||||
.. tab-item:: MI355X and MI350X
|
|
||||||
:sync: mi35x
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
docker pull rocm/7.0:rocm7.0_ubuntu_22.04_sgl-dev-v0.5.2-rocm7.0-mi35x-20250915
|
|
||||||
|
|
||||||
.. tab-item:: MI300X series
|
|
||||||
:sync: mi30x
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
docker pull rocm/7.0:rocm7.0_ubuntu_22.04_sgl-dev-v0.5.2-rocm7.0-mi30x-20250915
|
|
||||||
|
|
||||||
Download the model
|
|
||||||
==================
|
|
||||||
|
|
||||||
See the model card on Hugging Face at `deepseek-ai/DeepSeek-R1-0528
|
|
||||||
<https://huggingface.co/deepseek-ai/DeepSeek-R1-0528>`__.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
pip install huggingface_hub[cli] hf_transfer hf_xet
|
|
||||||
HF_HUB_ENABLE_HF_TRANSFER=1 \
|
|
||||||
HF_HOME=/data/huggingface-cache \
|
|
||||||
HF_TOKEN="<HF_TOKEN>" \
|
|
||||||
huggingface-cli download deepseek-ai/DeepSeek-R1-0528 --exclude "original/*"
|
|
||||||
|
|
||||||
Run the inference benchmark
|
|
||||||
===========================
|
|
||||||
|
|
||||||
1. Start the container using the following command.
|
|
||||||
|
|
||||||
.. tab-set::
|
|
||||||
|
|
||||||
.. tab-item:: MI355X and MI350X
|
|
||||||
:sync: mi35x
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
docker run -it \
|
|
||||||
--user root \
|
|
||||||
--group-add video \
|
|
||||||
--cap-add=SYS_PTRACE \
|
|
||||||
--security-opt seccomp=unconfined \
|
|
||||||
-w /app/ \
|
|
||||||
--ipc=host \
|
|
||||||
--network=host \
|
|
||||||
--shm-size 64G \
|
|
||||||
--mount type=bind,src=/data,dst=/data \
|
|
||||||
--device=/dev/kfd \
|
|
||||||
--device=/dev/dri \
|
|
||||||
-e SGLANG_USE_AITER=1 \
|
|
||||||
rocm/7.0:rocm7.0_ubuntu_22.04_sgl-dev-v0.5.2-rocm7.0-mi35x-20250915
|
|
||||||
|
|
||||||
.. tab-item:: MI300X series
|
|
||||||
:sync: mi30x
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
docker run -it \
|
|
||||||
--user root \
|
|
||||||
--group-add video \
|
|
||||||
--cap-add=SYS_PTRACE \
|
|
||||||
--security-opt seccomp=unconfined \
|
|
||||||
-w /app/ \
|
|
||||||
--ipc=host \
|
|
||||||
--network=host \
|
|
||||||
--shm-size 64G \
|
|
||||||
--mount type=bind,src=/data,dst=/data \
|
|
||||||
--device=/dev/kfd \
|
|
||||||
--device=/dev/dri \
|
|
||||||
-e SGLANG_USE_AITER=1 \
|
|
||||||
rocm/7.0:rocm7.0_ubuntu_22.04_sgl-dev-v0.5.2-rocm7.0-mi30x-20250915
|
|
||||||
|
|
||||||
2. Start the server.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
python3 -m sglang.launch_server \
|
|
||||||
--model-path deepseek-ai/DeepSeek-R1-0528 \
|
|
||||||
--host localhost \
|
|
||||||
--port 8000 \
|
|
||||||
--tensor-parallel-size 8 \
|
|
||||||
--trust-remote-code \
|
|
||||||
--chunked-prefill-size 196608 \
|
|
||||||
--mem-fraction-static 0.8 \
|
|
||||||
--disable-radix-cache \
|
|
||||||
--num-continuous-decode-steps 4 \
|
|
||||||
--max-prefill-tokens 196608 \
|
|
||||||
--cuda-graph-max-bs 128 &
|
|
||||||
|
|
||||||
3. Run the benchmark with the following options.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
input_tokens=1024
|
|
||||||
output_tokens=1024
|
|
||||||
max_concurrency=64
|
|
||||||
num_prompts=128
|
|
||||||
|
|
||||||
python3 -m sglang.bench_serving \
|
|
||||||
--host localhost \
|
|
||||||
--port 8000 \
|
|
||||||
--model deepseek-ai/DeepSeek-R1-0528 \
|
|
||||||
--dataset-name random \
|
|
||||||
--random-input ${input_tokens} \
|
|
||||||
--random-output ${output_tokens} \
|
|
||||||
--random-range-ratio 1.0 \
|
|
||||||
--max-concurrency ${max_concurrency} \
|
|
||||||
--num-prompt ${num_prompts}
|
|
||||||
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
************************************************
|
|
||||||
Benchmark DeepSeek R1 FP8 inference with vLLM
|
|
||||||
************************************************
|
|
||||||
|
|
||||||
This section provides instructions to test the inference performance of DeepSeek R1
|
|
||||||
with FP8 precision on the vLLM inference engine. The provided Docker image integrates
|
|
||||||
`ROCm 7.0 <https://rocm.docs.amd.com/en/docs-7.0.0/about/release-notes.html>`__ with vLLM.
|
|
||||||
This benchmark supports AMD Instinct MI355X, MI350X, MI325X, and MI300X GPUs.
|
|
||||||
|
|
||||||
Follow these steps to pull the required image, spin up the container with the
|
|
||||||
appropriate options, download the model, and run the benchmark.
|
|
||||||
|
|
||||||
Pull the Docker image
|
|
||||||
=====================
|
|
||||||
|
|
||||||
Use the following command to pull the `Docker image <https://hub.docker.com/r/rocm/7.x-preview/tags>`__.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
docker pull rocm/7.x-preview:rocm7.2_preview_ubuntu_22.04_vlm_0.10.1_instinct_20251029
|
|
||||||
|
|
||||||
Download the model
|
|
||||||
==================
|
|
||||||
|
|
||||||
While vLLM can download model weights at runtime, it's recommended to
|
|
||||||
download ahead of time. You will need:
|
|
||||||
|
|
||||||
* A valid `Hugging Face access token <https://huggingface.co/docs/hub/security-tokens>`__.
|
|
||||||
Remember to set ``HF_TOKEN`` to your access token.
|
|
||||||
|
|
||||||
* Access granted to the specific model from your Hugging Face account
|
|
||||||
|
|
||||||
See the model card on Hugging Face at
|
|
||||||
`deepseek-ai/DeepSeek-R1-0528 <https://huggingface.co/deepseek-ai/DeepSeek-R1-0528>`__.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
model=deepseek-ai/DeepSeek-R1-0528
|
|
||||||
|
|
||||||
pip install huggingface_hub[cli] hf_transfer hf_xet
|
|
||||||
HF_HUB_ENABLE_HF_TRANSFER=1 \
|
|
||||||
HF_HOME=/data/huggingface-cache \
|
|
||||||
HF_TOKEN="<HF_TOKEN>" \ # Replace with your HF_TOKEN Hugging Face access token.
|
|
||||||
huggingface-cli download ${model} --exclude "original/*"
|
|
||||||
|
|
||||||
Run the inference benchmark
|
|
||||||
===========================
|
|
||||||
|
|
||||||
1. Start the container using the following command.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
docker run -it \
|
|
||||||
--ipc=host \
|
|
||||||
--network=host \
|
|
||||||
--privileged \
|
|
||||||
--cap-add=CAP_SYS_ADMIN \
|
|
||||||
--device=/dev/kfd \
|
|
||||||
--device=/dev/dri \
|
|
||||||
--cap-add=SYS_PTRACE \
|
|
||||||
--security-opt seccomp=unconfined \
|
|
||||||
-v /data:/data \
|
|
||||||
-e HF_HOME=/data/huggingface-cache \
|
|
||||||
-e HF_HUB_OFFLINE=1 \
|
|
||||||
--name vllm-server \
|
|
||||||
rocm/7.x-preview:rocm7.2_preview_ubuntu_22.04_vlm_0.10.1_instinct_20251029
|
|
||||||
|
|
||||||
2. Start the server.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
model=deepseek-ai/DeepSeek-R1-0528
|
|
||||||
max_model_len=16384 # Must be >= the input + the output lengths.
|
|
||||||
max_seq_len_to_capture=10240 # Beneficial to set this to max_model_len.
|
|
||||||
max_num_seqs=1024
|
|
||||||
max_num_batched_tokens=131072 # Smaller values may result in better TTFT but worse TPOT / throughput.
|
|
||||||
tensor_parallel_size=8
|
|
||||||
|
|
||||||
# Note: this flag may not be compatible with MI325X GPUs
|
|
||||||
export VLLM_ROCM_QUICK_REDUCE_QUANTIZATION=INT4
|
|
||||||
|
|
||||||
# Note: Using `--kv-cache-dtype fp8` with DeepSeek may cause accuracy issues
|
|
||||||
vllm serve ${model} \
|
|
||||||
--host localhost \
|
|
||||||
--port 8000 \
|
|
||||||
--swap-space 64 \
|
|
||||||
--tensor-parallel-size ${tensor_parallel_size} \
|
|
||||||
--max-num-seqs ${max_num_seqs} \
|
|
||||||
--no-enable-prefix-caching \
|
|
||||||
--max-num-batched-tokens ${max_num_batched_tokens} \
|
|
||||||
--max-model-len ${max_model_len} \
|
|
||||||
--block-size 1 \
|
|
||||||
--gpu-memory-utilization 0.95 \
|
|
||||||
--max-seq-len-to-capture ${max_seq_len_to_capture} \
|
|
||||||
--async-scheduling
|
|
||||||
|
|
||||||
# Wait for model to load and server is ready to accept requests.
|
|
||||||
|
|
||||||
3. Open another terminal on the same machine, connect to your running
|
|
||||||
``vllm-server`` container, and run the benchmark with the appropriate
|
|
||||||
options. For example:
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
# Connect to server
|
|
||||||
docker exec -it vllm-server bash
|
|
||||||
|
|
||||||
# Run the client benchmark
|
|
||||||
input_tokens=8192
|
|
||||||
output_tokens=1024
|
|
||||||
max_concurrency=4
|
|
||||||
num_prompts=32
|
|
||||||
|
|
||||||
python3 /app/vllm/benchmarks/benchmark_serving.py --host localhost --port 8000 \
|
|
||||||
--model ${model} \
|
|
||||||
--dataset-name random \
|
|
||||||
--random-input-len ${input_tokens} \
|
|
||||||
--random-output-len ${output_tokens} \
|
|
||||||
--max-concurrency ${max_concurrency} \
|
|
||||||
--num-prompts ${num_prompts} \
|
|
||||||
--percentile-metrics ttft,tpot,itl,e2el \
|
|
||||||
--ignore-eos
|
|
||||||
@@ -1,163 +0,0 @@
|
|||||||
**********************************************
|
|
||||||
Benchmark GPT OSS 120B inference with vLLM
|
|
||||||
**********************************************
|
|
||||||
|
|
||||||
This section provides instructions to test the inference performance of OpenAI
|
|
||||||
GPT OSS 120B on the vLLM inference engine. The provided Docker
|
|
||||||
image integrates `ROCm 7.0
|
|
||||||
<https://rocm.docs.amd.com/en/docs-7.0.0/about/release-notes.html>`__ with
|
|
||||||
vLLM. This benchmark supports AMD Instinct MI355X, MI350X, MI325X, and MI300X
|
|
||||||
GPUs.
|
|
||||||
|
|
||||||
Follow these steps to pull the required image, spin up the container with the
|
|
||||||
appropriate options, download the model, and run the throughput test.
|
|
||||||
|
|
||||||
Pull the Docker image
|
|
||||||
=====================
|
|
||||||
|
|
||||||
Use the following command to pull the `Docker image <https://hub.docker.com/r/rocm/7.x-preview/tags>`__.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
docker pull rocm/7.x-preview:rocm7.2_preview_ubuntu_22.04_vlm_0.10.1_instinct_20251029
|
|
||||||
|
|
||||||
Download the model
|
|
||||||
==================
|
|
||||||
|
|
||||||
While vLLM can download model weights at runtime, it's recommended to
|
|
||||||
download ahead of time. You will need:
|
|
||||||
|
|
||||||
* A valid `Hugging Face access token <https://huggingface.co/docs/hub/security-tokens>`__.
|
|
||||||
Remember to set ``HF_TOKEN`` to your access token.
|
|
||||||
|
|
||||||
* Access granted to the specific model from your Hugging Face account
|
|
||||||
|
|
||||||
See the model card on Hugging Face at
|
|
||||||
`openai/gpt-oss-120b <https://huggingface.co/openai/gpt-oss-120b>`__.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
model=openai/gpt-oss-120b
|
|
||||||
|
|
||||||
pip install huggingface_hub[cli] hf_transfer hf_xet
|
|
||||||
HF_HUB_ENABLE_HF_TRANSFER=1 \
|
|
||||||
HF_HOME=/data/huggingface-cache \
|
|
||||||
HF_TOKEN="<HF_TOKEN>" \ # Replace with your HF_TOKEN Hugging Face access token.
|
|
||||||
huggingface-cli download ${model} --exclude "original/*"
|
|
||||||
|
|
||||||
Run the inference benchmark
|
|
||||||
===========================
|
|
||||||
|
|
||||||
1. Start the container using the following command.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
docker run -it \
|
|
||||||
--ipc=host \
|
|
||||||
--network=host \
|
|
||||||
--privileged \
|
|
||||||
--cap-add=CAP_SYS_ADMIN \
|
|
||||||
--device=/dev/kfd \
|
|
||||||
--device=/dev/dri \
|
|
||||||
--cap-add=SYS_PTRACE \
|
|
||||||
--security-opt seccomp=unconfined \
|
|
||||||
-v /data:/data \
|
|
||||||
-e HF_HOME=/data/huggingface-cache \
|
|
||||||
-e HF_HUB_OFFLINE=1 \
|
|
||||||
--name vllm-server \
|
|
||||||
rocm/7.x-preview:rocm7.2_preview_ubuntu_22.04_vlm_0.10.1_instinct_20251029
|
|
||||||
|
|
||||||
2. Start the server.
|
|
||||||
|
|
||||||
.. tab-set::
|
|
||||||
|
|
||||||
.. tab-item:: MI355X and MI350X
|
|
||||||
:sync: mi35x
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
model=openai/gpt-oss-120b
|
|
||||||
max_model_len=10368 # 1.125 x (input sequence length + output sequence length); e.g. 1.125 x (8192 + 1024) = 10368.
|
|
||||||
max_seq_len_to_capture=10368 # Beneficial to set this to max_model_len.
|
|
||||||
max_num_seqs=1024 # Set to max_concurrency of the client to get better throughput.
|
|
||||||
tensor_parallel_size=8
|
|
||||||
|
|
||||||
export VLLM_USE_AITER_UNIFIED_ATTENTION=1
|
|
||||||
export VLLM_ROCM_USE_AITER_MHA=0
|
|
||||||
export VLLM_ROCM_USE_AITER_FUSED_MOE_A16W4=1
|
|
||||||
|
|
||||||
vllm serve ${model} \
|
|
||||||
--port 8000 \
|
|
||||||
--swap-space 64 \
|
|
||||||
--max-model-len ${max_model_len} \
|
|
||||||
--tensor-parallel-size ${tensor_parallel_size} \
|
|
||||||
--max-num-seqs ${max_num_seqs} \
|
|
||||||
--gpu-memory-utilization 0.95 \
|
|
||||||
--max-seq-len-to-capture ${max_seq_len_to_capture} \
|
|
||||||
--compilation-config '{"compile_sizes":[1,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,256,512,1024,2048,8192] , "cudagraph_capture_sizes":[1,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,136,144,152,160,168,176,184,192,200,208,216,224,232,240,248,256,264,272,280,288,296,304,312,320,328,336,344,352,360,368,376,384,392,400,408,416,424,432,440,448,456,464,472,480,488,496,504,512,520,528,536,544,552,560,568,576,584,592,600,608,616,624,632,640,648,656,664,672,680,688,696,704,712,720,728,736,744,752,760,768,776,784,792,800,808,816,824,832,840,848,856,864,872,880,888,896,904,912,920,928,936,944,952,960,968,976,984,992,1000,1008,1016,1024,2048,4096,8192] , "cudagraph_mode": "FULL_AND_PIECEWISE"}' \
|
|
||||||
--block-size=64 \
|
|
||||||
--no-enable-prefix-caching \
|
|
||||||
--async-scheduling
|
|
||||||
|
|
||||||
# Wait for model to load and server is ready to accept requests.
|
|
||||||
|
|
||||||
.. tab-item:: MI325X and MI300X
|
|
||||||
:sync: mi30x
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
model=openai/gpt-oss-120b
|
|
||||||
max_model_len=10368 # 1.125 x (input sequence length + output sequence length); e.g. 1.125 x (8192 + 1024) = 10368.
|
|
||||||
max_seq_len_to_capture=10368 # Beneficial to set this to max_model_len.
|
|
||||||
max_num_seqs=1024 # Set to max_concurrency of the client to get better throughput.
|
|
||||||
tensor_parallel_size=8
|
|
||||||
|
|
||||||
export VLLM_USE_AITER_UNIFIED_ATTENTION=1
|
|
||||||
export VLLM_ROCM_USE_AITER_MHA=0
|
|
||||||
export VLLM_ROCM_USE_AITER_TRITON_BF16_GEMM=0
|
|
||||||
|
|
||||||
# Set this flag for MI300X only; it is not yet compatible with MI325X.
|
|
||||||
# export VLLM_ROCM_QUICK_REDUCE_QUANTIZATION=INT4
|
|
||||||
|
|
||||||
vllm serve ${model} \
|
|
||||||
--port 8000 \
|
|
||||||
--swap-space 64 \
|
|
||||||
--max-model-len ${max_model_len} \
|
|
||||||
--tensor-parallel-size ${tensor_parallel_size} \
|
|
||||||
--max-num-seqs ${max_num_seqs} \
|
|
||||||
--gpu-memory-utilization 0.95 \
|
|
||||||
--max-seq-len-to-capture ${max_seq_len_to_capture} \
|
|
||||||
--compilation-config '{"cudagraph_mode": "FULL_AND_PIECEWISE"}' \
|
|
||||||
--block-size=64 \
|
|
||||||
--no-enable-prefix-caching \
|
|
||||||
--async-scheduling
|
|
||||||
|
|
||||||
# Wait for model to load and server is ready to accept requests.
|
|
||||||
|
|
||||||
3. Open another terminal on the same machine, connect to your running
|
|
||||||
``vllm-server`` container, and run the benchmark with the appropriate
|
|
||||||
options. For example:
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
# Connect to server
|
|
||||||
docker exec -it vllm-server bash
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
# Run the client benchmark
|
|
||||||
model=openai/gpt-oss-120b
|
|
||||||
input_tokens=1024
|
|
||||||
output_tokens=1024
|
|
||||||
max_concurrency=4
|
|
||||||
num_prompts=32
|
|
||||||
|
|
||||||
python3 /app/vllm/benchmarks/benchmark_serving.py --host localhost --port 8000 \
|
|
||||||
--model ${model} \
|
|
||||||
--dataset-name random \
|
|
||||||
--random-input-len ${input_tokens} \
|
|
||||||
--random-output-len ${output_tokens} \
|
|
||||||
--max-concurrency ${max_concurrency} \
|
|
||||||
--num-prompts ${num_prompts} \
|
|
||||||
--percentile-metrics ttft,tpot,itl,e2el \
|
|
||||||
--ignore-eos
|
|
||||||
@@ -1,193 +0,0 @@
|
|||||||
************************************************
|
|
||||||
Benchmark Llama 3.3/3.1 FP4 inference with vLLM
|
|
||||||
************************************************
|
|
||||||
|
|
||||||
This section provides instructions to test the inference performance of Llama
|
|
||||||
3.3 70B and Llama 3.1 405B with MXFP4 precision on the vLLM inference engine.
|
|
||||||
The provided Docker image integrates `ROCm 7.0
|
|
||||||
<https://rocm.docs.amd.com/en/docs-7.0.0/about/release-notes.html>`__ with vLLM.
|
|
||||||
This benchmark supports AMD Instinct MI355X and MI350X GPUs.
|
|
||||||
|
|
||||||
Follow these steps to pull the required image, spin up the container with the
|
|
||||||
appropriate options, download the model, and run the throughput test.
|
|
||||||
|
|
||||||
Pull the Docker image
|
|
||||||
=====================
|
|
||||||
|
|
||||||
Use the following command to pull the `Docker image <https://hub.docker.com/r/rocm/7.x-preview/tags>`__.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
docker pull rocm/7.x-preview:rocm7.2_preview_ubuntu_22.04_vlm_0.10.1_instinct_20251029
|
|
||||||
|
|
||||||
Download the model
|
|
||||||
==================
|
|
||||||
|
|
||||||
While vLLM can download model weights at runtime, it's recommended to
|
|
||||||
download ahead of time. You will need:
|
|
||||||
|
|
||||||
* A valid `Hugging Face access token <https://huggingface.co/docs/hub/security-tokens>`__.
|
|
||||||
Remember to set ``HF_TOKEN`` to your access token.
|
|
||||||
|
|
||||||
* Access granted to the specific model from your Hugging Face account
|
|
||||||
|
|
||||||
.. tab-set::
|
|
||||||
|
|
||||||
.. tab-item:: Llama 3.3 70B MXFP4
|
|
||||||
:sync: Llama-3.3-70B-Instruct-MXFP4-Preview
|
|
||||||
|
|
||||||
See the model card on Hugging Face at
|
|
||||||
`amd/Llama-3.3-70B-Instruct-MXFP4-Preview <https://huggingface.co/amd/Llama-3.3-70B-Instruct-MXFP4-Preview>`__.
|
|
||||||
This model uses FP4 quantization via `AMD Quark
|
|
||||||
<https://quark.docs.amd.com/latest/>`_ for efficient inference on AMD
|
|
||||||
accelerators.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
model=amd/Llama-3.3-70B-Instruct-MXFP4-Preview
|
|
||||||
|
|
||||||
pip install huggingface_hub[cli] hf_transfer hf_xet
|
|
||||||
HF_HUB_ENABLE_HF_TRANSFER=1 \
|
|
||||||
HF_HOME=/data/huggingface-cache \
|
|
||||||
HF_TOKEN="<HF_TOKEN>" \ # Replace with your HF_TOKEN Hugging Face access token.
|
|
||||||
huggingface-cli download ${model} --exclude "original/*"
|
|
||||||
|
|
||||||
.. tab-item:: Llama 3.1 405B MXFP4
|
|
||||||
:sync: Llama-3.1-405B-Instruct-MXFP4-Preview
|
|
||||||
|
|
||||||
See the model card on Hugging Face at
|
|
||||||
`amd/Llama-3.1-405B-Instruct-MXFP4-Preview <https://huggingface.co/amd/Llama-3.1-405B-Instruct-MXFP4-Preview>`__.
|
|
||||||
This model uses FP4 quantization via `AMD Quark
|
|
||||||
<https://quark.docs.amd.com/latest/>`_ for efficient inference on AMD
|
|
||||||
accelerators.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
model=amd/Llama-3.1-405B-Instruct-MXFP4-Preview
|
|
||||||
|
|
||||||
pip install huggingface_hub[cli] hf_transfer hf_xet
|
|
||||||
HF_HUB_ENABLE_HF_TRANSFER=1 \
|
|
||||||
HF_HOME=/data/huggingface-cache \
|
|
||||||
HF_TOKEN="<HF_TOKEN>" \ # Replace with your HF_TOKEN Hugging Face access token.
|
|
||||||
huggingface-cli download ${model} --exclude "original/*"
|
|
||||||
|
|
||||||
Run the inference benchmark
|
|
||||||
===========================
|
|
||||||
|
|
||||||
1. Start the container using the following command.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
docker run -it \
|
|
||||||
--ipc=host \
|
|
||||||
--network=host \
|
|
||||||
--privileged \
|
|
||||||
--cap-add=CAP_SYS_ADMIN \
|
|
||||||
--device=/dev/kfd \
|
|
||||||
--device=/dev/dri \
|
|
||||||
--cap-add=SYS_PTRACE \
|
|
||||||
--security-opt seccomp=unconfined \
|
|
||||||
-v /data:/data \
|
|
||||||
-e HF_HOME=/data/huggingface-cache \
|
|
||||||
-e HF_HUB_OFFLINE=1 \
|
|
||||||
--name vllm-server \
|
|
||||||
rocm/7.x-preview:rocm7.2_preview_ubuntu_22.04_vlm_0.10.1_instinct_20251029
|
|
||||||
|
|
||||||
2. Start the server.
|
|
||||||
|
|
||||||
.. tab-set::
|
|
||||||
|
|
||||||
.. tab-item:: Llama 3.3 70B MXFP4
|
|
||||||
:sync: Llama-3.3-70B-Instruct-MXFP4-Preview
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
model=amd/Llama-3.3-70B-Instruct-MXFP4-Preview
|
|
||||||
|
|
||||||
.. tab-item:: Llama 3.1 405B MXFP4
|
|
||||||
:sync: Llama-3.1-405B-Instruct-MXFP4-Preview
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
model=amd/Llama-3.1-405B-Instruct-MXFP4-Preview
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
max_model_len=10240 # Must be >= the input + the output lengths.
|
|
||||||
max_seq_len_to_capture=10240 # Beneficial to set this to max_model_len.
|
|
||||||
max_num_seqs=1024
|
|
||||||
max_num_batched_tokens=131072 # Smaller values may result in better TTFT but worse TPOT / throughput.
|
|
||||||
tensor_parallel_size=8
|
|
||||||
|
|
||||||
# The following setting is recommended for most configurations:
|
|
||||||
export VLLM_TRITON_FP4_GEMM_USE_ASM=1
|
|
||||||
|
|
||||||
# For tensor parallelism >1 at low concurrency (<= 16 for input length 1024, <= 4 for input length 8192),
|
|
||||||
# uncomment these lines:
|
|
||||||
# export VLLM_TRITON_FP4_GEMM_USE_ASM=0
|
|
||||||
# export VLLM_ROCM_USE_AITER_TRITON_BF16_GEMM=0
|
|
||||||
|
|
||||||
# 0 is recommended for most configurations.
|
|
||||||
# 1 (the default) is faster for input lengths of 8192 with concurrency > 16.
|
|
||||||
export VLLM_ROCM_USE_AITER_MHA=0
|
|
||||||
|
|
||||||
export VLLM_ROCM_QUICK_REDUCE_QUANTIZATION=INT4
|
|
||||||
|
|
||||||
vllm serve ${model} \
|
|
||||||
--host localhost \
|
|
||||||
--port 8000 \
|
|
||||||
--swap-space 64 \
|
|
||||||
--max-model-len ${max_model_len} \
|
|
||||||
--tensor-parallel-size ${tensor_parallel_size} \
|
|
||||||
--max-num-seqs ${max_num_seqs} \
|
|
||||||
--kv-cache-dtype fp8 \
|
|
||||||
--gpu-memory-utilization 0.94 \
|
|
||||||
--max-seq-len-to-capture ${max_seq_len_to_capture} \
|
|
||||||
--max-num-batched-tokens ${max_num_batched_tokens} \
|
|
||||||
--no-enable-prefix-caching \
|
|
||||||
--async-scheduling
|
|
||||||
|
|
||||||
# Wait for model to load and server is ready to accept requests.
|
|
||||||
|
|
||||||
3. Open another terminal on the same machine, connect to your running
|
|
||||||
``vllm-server`` container, and run the benchmark with the appropriate
|
|
||||||
options. For example:
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
# Connect to server
|
|
||||||
docker exec -it vllm-server bash
|
|
||||||
|
|
||||||
.. tab-set::
|
|
||||||
|
|
||||||
.. tab-item:: Llama 3.3 70B MXFP4
|
|
||||||
:sync: Llama-3.3-70B-Instruct-MXFP4-Preview
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
model=amd/Llama-3.3-70B-Instruct-MXFP4-Preview
|
|
||||||
|
|
||||||
.. tab-item:: Llama 3.1 405B MXFP4
|
|
||||||
:sync: Llama-3.1-405B-Instruct-MXFP4-Preview
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
model=amd/Llama-3.1-405B-Instruct-MXFP4-Preview
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
# Run the client benchmark
|
|
||||||
input_tokens=1024
|
|
||||||
output_tokens=1024
|
|
||||||
max_concurrency=64
|
|
||||||
num_prompts=32
|
|
||||||
|
|
||||||
python3 /app/vllm/benchmarks/benchmark_serving.py --host localhost --port 8000 \
|
|
||||||
--model ${model} \
|
|
||||||
--dataset-name random \
|
|
||||||
--random-input-len ${input_tokens} \
|
|
||||||
--random-output-len ${output_tokens} \
|
|
||||||
--max-concurrency ${max_concurrency} \
|
|
||||||
--num-prompts ${num_prompts} \
|
|
||||||
--percentile-metrics ttft,tpot,itl,e2el \
|
|
||||||
--ignore-eos
|
|
||||||
@@ -1,189 +0,0 @@
|
|||||||
************************************************
|
|
||||||
Benchmark Llama 3.3/3.1 FP8 inference with vLLM
|
|
||||||
************************************************
|
|
||||||
|
|
||||||
This section provides instructions to test the inference performance of Llama
|
|
||||||
3.3 70B and Llama 3.1 405B with FP8 precision on the vLLM inference engine. The provided Docker image integrates
|
|
||||||
`ROCm 7.0 <https://rocm.docs.amd.com/en/docs-7.0.0/about/release-notes.html>`__ with vLLM.
|
|
||||||
This benchmark supports AMD Instinct MI355X, MI350X, MI325X, and MI300X GPUs.
|
|
||||||
|
|
||||||
Follow these steps to pull the required image, spin up the container with the
|
|
||||||
appropriate options, download the model, and run the throughput test.
|
|
||||||
|
|
||||||
Pull the Docker image
|
|
||||||
=====================
|
|
||||||
|
|
||||||
Use the following command to pull the `Docker image <https://hub.docker.com/r/rocm/7.x-preview/tags>`__.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
docker pull rocm/7.x-preview:rocm7.2_preview_ubuntu_22.04_vlm_0.10.1_instinct_20251029
|
|
||||||
|
|
||||||
Download the model
|
|
||||||
==================
|
|
||||||
|
|
||||||
While vLLM can download model weights at runtime, it's recommended to
|
|
||||||
download ahead of time. You will need:
|
|
||||||
|
|
||||||
* A valid `Hugging Face access token <https://huggingface.co/docs/hub/security-tokens>`__.
|
|
||||||
Remember to set ``HF_TOKEN`` to your access token.
|
|
||||||
|
|
||||||
* Access granted to the specific model from your Hugging Face account
|
|
||||||
|
|
||||||
In the following snippet, set ``HF_TOKEN`` to your access token.
|
|
||||||
|
|
||||||
.. tab-set::
|
|
||||||
|
|
||||||
.. tab-item:: Llama 3.3 70B FP8
|
|
||||||
:sync: Llama-3.3-70B-Instruct-FP8-KV
|
|
||||||
|
|
||||||
See the model card on Hugging Face at
|
|
||||||
`amd/Llama-3.3-70B-Instruct-FP8-KV <https://huggingface.co/amd/Llama-3.3-70B-Instruct-FP8-KV>`__.
|
|
||||||
This model uses FP8 quantization via `AMD Quark
|
|
||||||
<https://quark.docs.amd.com/latest/>`_ for efficient inference on AMD
|
|
||||||
accelerators.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
model=amd/Llama-3.3-70B-Instruct-FP8-KV
|
|
||||||
|
|
||||||
pip install huggingface_hub[cli] hf_transfer hf_xet
|
|
||||||
HF_HUB_ENABLE_HF_TRANSFER=1 \
|
|
||||||
HF_HOME=/data/huggingface-cache \
|
|
||||||
HF_TOKEN="<HF_TOKEN>" \ # Replace with your HF_TOKEN Hugging Face access token.
|
|
||||||
huggingface-cli download ${model} --exclude "original/*"
|
|
||||||
|
|
||||||
.. tab-item:: Llama 3.1 405B FP8
|
|
||||||
:sync: Llama-3.1-405B-Instruct-FP8-KV
|
|
||||||
|
|
||||||
See the model card on Hugging Face at
|
|
||||||
`amd/Llama-3.1-405B-Instruct-FP8-KV <https://huggingface.co/amd/Llama-3.1-405B-Instruct-FP8-KV>`__.
|
|
||||||
This model uses FP8 quantization via `AMD Quark
|
|
||||||
<https://quark.docs.amd.com/latest/>`_ for efficient inference on AMD
|
|
||||||
accelerators.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
model=amd/Llama-3.1-405B-Instruct-FP8-KV
|
|
||||||
|
|
||||||
pip install huggingface_hub[cli] hf_transfer hf_xet
|
|
||||||
HF_HUB_ENABLE_HF_TRANSFER=1 \
|
|
||||||
HF_HOME=/data/huggingface-cache \
|
|
||||||
HF_TOKEN="<HF_TOKEN>" \ # Replace with your HF_TOKEN Hugging Face access token.
|
|
||||||
huggingface-cli download ${model} --exclude "original/*"
|
|
||||||
|
|
||||||
Run the inference benchmark
|
|
||||||
===========================
|
|
||||||
|
|
||||||
1. Start the container using the following command.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
docker run -it \
|
|
||||||
--ipc=host \
|
|
||||||
--network=host \
|
|
||||||
--privileged \
|
|
||||||
--cap-add=CAP_SYS_ADMIN \
|
|
||||||
--device=/dev/kfd \
|
|
||||||
--device=/dev/dri \
|
|
||||||
--cap-add=SYS_PTRACE \
|
|
||||||
--security-opt seccomp=unconfined \
|
|
||||||
-v /data:/data \
|
|
||||||
-e HF_HOME=/data/huggingface-cache \
|
|
||||||
-e HF_HUB_OFFLINE=1 \
|
|
||||||
--name vllm-server \
|
|
||||||
rocm/7.x-preview:rocm7.2_preview_ubuntu_22.04_vlm_0.10.1_instinct_20251029
|
|
||||||
|
|
||||||
2. Start the server. On MI300X and MI325X GPUs, include ``--dtype float16`` in your ``vllm serve`` arguments.
|
|
||||||
This is not necessary on MI350X and MI355X GPUs.
|
|
||||||
|
|
||||||
.. tab-set::
|
|
||||||
|
|
||||||
.. tab-item:: Llama 3.3 70B FP8
|
|
||||||
:sync: Llama-3.3-70B-Instruct-FP8-KV
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
model=amd/Llama-3.3-70B-Instruct-FP8-KV
|
|
||||||
|
|
||||||
.. tab-item:: Llama 3.1 405B FP8
|
|
||||||
:sync: Llama-3.1-405B-Instruct-FP8-KV
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
model=amd/Llama-3.1-405B-Instruct-FP8-KV
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
max_model_len=10240 # Must be >= the input + the output lengths.
|
|
||||||
max_seq_len_to_capture=10240 # Beneficial to set this to max_model_len.
|
|
||||||
max_num_seqs=1024
|
|
||||||
max_num_batched_tokens=131072 # Smaller values may result in better TTFT but worse TPOT / throughput.
|
|
||||||
tensor_parallel_size=8
|
|
||||||
|
|
||||||
# Note: this flag may not be compatible with MI325X GPUs
|
|
||||||
export VLLM_ROCM_QUICK_REDUCE_QUANTIZATION=INT4
|
|
||||||
|
|
||||||
# 0 is recommended for most configurations.
|
|
||||||
# 1 (the default) is faster for input lengths of 8192 with concurrency > 16.
|
|
||||||
export VLLM_ROCM_USE_AITER_MHA=0
|
|
||||||
|
|
||||||
vllm serve ${model} \
|
|
||||||
--host localhost \
|
|
||||||
--port 8000 \
|
|
||||||
--swap-space 64 \
|
|
||||||
--max-model-len ${max_model_len} \
|
|
||||||
--tensor-parallel-size ${tensor_parallel_size} \
|
|
||||||
--max-num-seqs ${max_num_seqs} \
|
|
||||||
--distributed-executor-backend mp \
|
|
||||||
--kv-cache-dtype fp8 \
|
|
||||||
--gpu-memory-utilization 0.94 \
|
|
||||||
--max-seq-len-to-capture ${max_seq_len_to_capture} \
|
|
||||||
--max-num-batched-tokens ${max_num_batched_tokens} \
|
|
||||||
--no-enable-prefix-caching \
|
|
||||||
--async-scheduling
|
|
||||||
|
|
||||||
# Wait for model to load and server is ready to accept requests.
|
|
||||||
|
|
||||||
3. Open another terminal on the same machine, connect to your running
|
|
||||||
``vllm-server`` container, and run the benchmark with the appropriate
|
|
||||||
options. For example:
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
# Connect to server
|
|
||||||
docker exec -it vllm-server bash
|
|
||||||
|
|
||||||
.. tab-set::
|
|
||||||
|
|
||||||
.. tab-item:: Llama 3.3 70B FP8
|
|
||||||
:sync: Llama-3.3-70B-Instruct-FP8-KV
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
model=amd/Llama-3.3-70B-Instruct-FP8-KV
|
|
||||||
|
|
||||||
.. tab-item:: Llama 3.1 405B FP8
|
|
||||||
:sync: Llama-3.1-405B-Instruct-FP8-KV
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
model=amd/Llama-3.1-405B-Instruct-FP8-KV
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
# Run the client benchmark
|
|
||||||
input_tokens=1024
|
|
||||||
output_tokens=1024
|
|
||||||
max_concurrency=4
|
|
||||||
num_prompts=32
|
|
||||||
|
|
||||||
python3 /app/vllm/benchmarks/benchmark_serving.py --host localhost --port 8000 \
|
|
||||||
--model ${model} \
|
|
||||||
--dataset-name random \
|
|
||||||
--random-input-len ${input_tokens} \
|
|
||||||
--random-output-len ${output_tokens} \
|
|
||||||
--max-concurrency ${max_concurrency} \
|
|
||||||
--num-prompts ${num_prompts} \
|
|
||||||
--percentile-metrics ttft,tpot,itl,e2el \
|
|
||||||
--ignore-eos
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
*******************************************
|
|
||||||
Benchmark Llama 3 pre-training with MaxText
|
|
||||||
*******************************************
|
|
||||||
|
|
||||||
This page describes how to benchmark Llama 3 8B and 70B pre-training using the
|
|
||||||
MaxText framework. It includes configurations for both
|
|
||||||
FP8 and BF16 precision to measure throughput. The provided Docker
|
|
||||||
image integrates ROCm 7.0 with MaxText
|
|
||||||
-- and is supported on AMD Instinct MI355X and MI350X GPUs.
|
|
||||||
|
|
||||||
Follow these steps to pull the required image, spin up the container with the
|
|
||||||
appropriate options, download the model, and run the throughput test.
|
|
||||||
|
|
||||||
Pull the Docker image
|
|
||||||
=====================
|
|
||||||
|
|
||||||
Use the following command to pull the `Docker image <https://hub.docker.com/r/rocm/7.0/tags>`__.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
docker pull rocm/7.0:rocm7.0_jax_training_mi35x_20250915
|
|
||||||
|
|
||||||
Run the training benchmark
|
|
||||||
==========================
|
|
||||||
|
|
||||||
1. Start the container using the following command.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
docker run -it \
|
|
||||||
--device /dev/dri \
|
|
||||||
--device /dev/kfd \
|
|
||||||
--network host \
|
|
||||||
--ipc host \
|
|
||||||
--group-add video \
|
|
||||||
--cap-add SYS_PTRACE \
|
|
||||||
--security-opt seccomp=unconfined \
|
|
||||||
--privileged \
|
|
||||||
-v $HOME:$HOME \
|
|
||||||
-v $HOME/.ssh:/root/.ssh \
|
|
||||||
--shm-size 64G \
|
|
||||||
-w /workspace/maxtext \
|
|
||||||
--name training_benchmark \
|
|
||||||
rocm/7.0:rocm7.0_jax_training_mi35x_20250915
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
This containerized environment includes all necessary dependencies and pre-tuned
|
|
||||||
configurations for the supported models and precision types.
|
|
||||||
|
|
||||||
2. Run the training script with the following options for your desired precision.
|
|
||||||
|
|
||||||
.. tab-set::
|
|
||||||
|
|
||||||
.. tab-item:: Llama 3 8B
|
|
||||||
|
|
||||||
.. tab-set::
|
|
||||||
|
|
||||||
.. tab-item:: BF16
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
wget https://raw.githubusercontent.com/ROCm/MAD/refs/heads/develop/scripts/jax-maxtext/env_scripts/llama3_8b.yml
|
|
||||||
wget https://raw.githubusercontent.com/ROCm/MAD/refs/heads/develop/scripts/jax-maxtext/env_scripts/llama3_8b_env.sh
|
|
||||||
bash llama3_8b_env.sh
|
|
||||||
python3 -m MaxText.train llama3_8b.yml
|
|
||||||
|
|
||||||
.. tab-item:: FP8
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
wget https://raw.githubusercontent.com/ROCm/MAD/refs/heads/develop/scripts/jax-maxtext/env_scripts/llama3_8b.yml
|
|
||||||
wget https://raw.githubusercontent.com/ROCm/MAD/refs/heads/develop/scripts/jax-maxtext/env_scripts/llama3_8b_env.sh
|
|
||||||
bash llama3_8b_env.sh
|
|
||||||
python3 -m MaxText.train llama3_8b.yml quantization=fp8
|
|
||||||
|
|
||||||
.. tab-item:: Llama 3 70B
|
|
||||||
|
|
||||||
.. tab-set::
|
|
||||||
|
|
||||||
.. tab-item:: BF16
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
wget https://raw.githubusercontent.com/ROCm/MAD/refs/heads/develop/scripts/jax-maxtext/env_scripts/llama3_70b.yml
|
|
||||||
wget https://raw.githubusercontent.com/ROCm/MAD/refs/heads/develop/scripts/jax-maxtext/env_scripts/llama3_70b_env.sh
|
|
||||||
bash llama3_70b_env.sh
|
|
||||||
python3 -m MaxText.train llama3_70b.yml
|
|
||||||
|
|
||||||
.. rubric:: Options
|
|
||||||
|
|
||||||
The ``MaxText.train`` script accepts the following options:
|
|
||||||
|
|
||||||
* ``per_device_batch_size``: Per-device batch size
|
|
||||||
|
|
||||||
* ``quantization``: quantization
|
|
||||||
|
|
||||||
* ``max_target_length``: Maximum input token sequence length
|
|
||||||
|
|
||||||
* ``steps``: Number of training iterations to execute
|
|
||||||
|
|
||||||
See this base [config](https://github.com/AI-Hypercomputer/maxtext/blob/main/src/MaxText/configs/base.yml)
|
|
||||||
for the full list of settings you can change.
|
|
||||||
|
|
||||||
Other supported models
|
|
||||||
======================
|
|
||||||
|
|
||||||
* Llama-2-7B FP8 and BF16
|
|
||||||
|
|
||||||
* Llama-2-70B FP8 and BF16
|
|
||||||
|
|
||||||
* Llama-3.3-70B BF16
|
|
||||||
|
|
||||||
* DeepSeek-V2-Lite FP8 and BF16
|
|
||||||
|
|
||||||
* Mixtral 8x7B FP8 and BF16
|
|
||||||
|
|
||||||
Known issue
|
|
||||||
===========
|
|
||||||
|
|
||||||
Some models and configurations may trigger a "Memory Access Fault" error.
|
|
||||||
Updates to improve stability are planned for upcoming releases.
|
|
||||||
@@ -1,111 +0,0 @@
|
|||||||
************************************************
|
|
||||||
Benchmark Mixtral 8x7B pre-training with MaxText
|
|
||||||
************************************************
|
|
||||||
|
|
||||||
This page describes how to benchmark the Mixtral 8x7B pre-training using the
|
|
||||||
MaxText framework. It includes configurations for both
|
|
||||||
FP8 and BF16 precision to measure throughput. The provided Docker
|
|
||||||
image integrates a ROCm 7.0 with MaxText
|
|
||||||
-- and is supported on AMD Instinct MI355X and MI350X GPUs.
|
|
||||||
|
|
||||||
Follow these steps to pull the required image, spin up the container with the
|
|
||||||
appropriate options, download the model, and run the throughput test.
|
|
||||||
|
|
||||||
Pull the Docker image
|
|
||||||
=====================
|
|
||||||
|
|
||||||
Use the following command to pull the `Docker image <https://hub.docker.com/r/rocm/7.0/tags>`__.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
docker pull rocm/7.0:rocm7.0_jax_training_mi35x_20250915
|
|
||||||
|
|
||||||
Run the training benchmark
|
|
||||||
==========================
|
|
||||||
|
|
||||||
1. Start the container using the following command.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
docker run -it \
|
|
||||||
--device /dev/dri \
|
|
||||||
--device /dev/kfd \
|
|
||||||
--network host \
|
|
||||||
--ipc host \
|
|
||||||
--group-add video \
|
|
||||||
--cap-add SYS_PTRACE \
|
|
||||||
--security-opt seccomp=unconfined \
|
|
||||||
--privileged \
|
|
||||||
-v $HOME:$HOME \
|
|
||||||
-v $HOME/.ssh:/root/.ssh \
|
|
||||||
--shm-size 64G \
|
|
||||||
-w /workspace/maxtext \
|
|
||||||
--name training_benchmark \
|
|
||||||
rocm/7.0:rocm7.0_jax_training_mi35x_20250915
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
This containerized environment includes all necessary dependencies and pre-tuned
|
|
||||||
configurations for the supported models and precision types.
|
|
||||||
|
|
||||||
2. Run the training script with the following options for your desired precision.
|
|
||||||
|
|
||||||
.. tab-set::
|
|
||||||
|
|
||||||
.. tab-item:: Mixtral 8x7B
|
|
||||||
|
|
||||||
.. tab-set::
|
|
||||||
|
|
||||||
.. tab-item:: BF16
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
wget https://raw.githubusercontent.com/ROCm/MAD/refs/heads/develop/scripts/jax-maxtext/env_scripts/mixtral_8x7b.yml
|
|
||||||
wget https://raw.githubusercontent.com/ROCm/MAD/refs/heads/develop/scripts/jax-maxtext/env_scripts/mixtral_8x7b_env.sh
|
|
||||||
bash mixtral_8x7b_env.sh
|
|
||||||
python3 -m MaxText.train mixtral_8x7b.yml
|
|
||||||
|
|
||||||
.. tab-item:: FP8
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
wget https://raw.githubusercontent.com/ROCm/MAD/refs/heads/develop/scripts/jax-maxtext/env_scripts/mixtral_8x7b.yml
|
|
||||||
wget https://raw.githubusercontent.com/ROCm/MAD/refs/heads/develop/scripts/jax-maxtext/env_scripts/mixtral_8x7b_env.sh
|
|
||||||
bash mixtral_8x7b_env.sh
|
|
||||||
python3 -m MaxText.train mixtral_8x7b.yml quantization=fp8
|
|
||||||
|
|
||||||
.. rubric:: Options
|
|
||||||
|
|
||||||
The ``MaxText.train`` script accepts the following options:
|
|
||||||
|
|
||||||
* ``per_device_batch_size``: Per-device batch size
|
|
||||||
|
|
||||||
* ``quantization``: quantization
|
|
||||||
|
|
||||||
* ``max_target_length``: Maximum input token sequence length
|
|
||||||
|
|
||||||
* ``steps``: Number of training iterations to execute
|
|
||||||
|
|
||||||
See this base [config](https://github.com/AI-Hypercomputer/maxtext/blob/main/src/MaxText/configs/base.yml)
|
|
||||||
for the full list of settings you can change.
|
|
||||||
|
|
||||||
Other supported models
|
|
||||||
======================
|
|
||||||
|
|
||||||
* Llama-2-7B FP8 and BF16
|
|
||||||
|
|
||||||
* Llama-2-70B FP8 and BF16
|
|
||||||
|
|
||||||
* Llama-3.1-8B FP8 and BF16
|
|
||||||
|
|
||||||
* Llama-3.1-70B BF16
|
|
||||||
|
|
||||||
* Llama-3.3-70B BF16
|
|
||||||
|
|
||||||
* DeepSeek-V2-Lite FP8 and BF16
|
|
||||||
|
|
||||||
Known issue
|
|
||||||
===========
|
|
||||||
|
|
||||||
Some models and configurations may trigger a "Memory Access Fault" error.
|
|
||||||
Updates to improve stability are planned for upcoming releases.
|
|
||||||
@@ -1,171 +0,0 @@
|
|||||||
***********************************************
|
|
||||||
Benchmark Llama 3 pre-training with Megatron-LM
|
|
||||||
***********************************************
|
|
||||||
|
|
||||||
This page describes how to benchmark Llama 3 8B and 70B pre-training using the
|
|
||||||
Megatron-LM framework. It includes configurations for both FP8 and BF16
|
|
||||||
precision to measure throughput. The provided Docker image integrates ROCm
|
|
||||||
7.0 with Megatron-LM -- and is supported on AMD Instinct MI355X and MI350X
|
|
||||||
GPUs.
|
|
||||||
|
|
||||||
Follow these steps to pull the required image, spin up the container with the
|
|
||||||
appropriate options, download the model, and run the throughput test.
|
|
||||||
|
|
||||||
Pull the Docker image
|
|
||||||
=====================
|
|
||||||
|
|
||||||
Use the following command to pull the `Docker image <https://hub.docker.com/r/rocm/7.0/tags>`__.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
docker pull rocm/7.0:rocm7.0_pytorch_training_instinct_20250915
|
|
||||||
|
|
||||||
Run the training benchmark
|
|
||||||
==========================
|
|
||||||
|
|
||||||
1. Start the container using the following command.
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
docker run -it \
|
|
||||||
--device /dev/dri \
|
|
||||||
--device /dev/kfd \
|
|
||||||
--network host \
|
|
||||||
--ipc host \
|
|
||||||
--group-add video \
|
|
||||||
--cap-add SYS_PTRACE \
|
|
||||||
--security-opt seccomp=unconfined \
|
|
||||||
--privileged \
|
|
||||||
-v $HOME:$HOME \
|
|
||||||
-v $HOME/.ssh:/root/.ssh \
|
|
||||||
--shm-size 64G \
|
|
||||||
-w /workspace/Megatron-LM \
|
|
||||||
--name training_benchmark \
|
|
||||||
rocm/7.0:rocm7.0_pytorch_training_instinct_20250915
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
This containerized environment includes all necessary dependencies and pre-tuned
|
|
||||||
configurations for the supported models and precision types.
|
|
||||||
|
|
||||||
2. Run the training script with the following options for your desired precision.
|
|
||||||
|
|
||||||
.. tab-set::
|
|
||||||
|
|
||||||
.. tab-item:: Llama 3 8B
|
|
||||||
|
|
||||||
.. tab-set::
|
|
||||||
|
|
||||||
.. tab-item:: BF16
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
TEE_OUTPUT=1 \
|
|
||||||
MBS=4 \
|
|
||||||
BS=512 \
|
|
||||||
TP=1 \
|
|
||||||
TE_FP8=0 \
|
|
||||||
SEQ_LENGTH=8192 \
|
|
||||||
MODEL_SIZE=8 \
|
|
||||||
TOTAL_ITERS=10 \
|
|
||||||
GEMM_TUNING=1 \
|
|
||||||
bash examples/llama/train_llama3.sh
|
|
||||||
|
|
||||||
.. tab-item:: FP8
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
TEE_OUTPUT=1 \
|
|
||||||
MBS=4 \
|
|
||||||
BS=512 \
|
|
||||||
TP=1 \
|
|
||||||
TE_FP8=1 \
|
|
||||||
SEQ_LENGTH=8192 \
|
|
||||||
MODEL_SIZE=8 \
|
|
||||||
TOTAL_ITERS=10 \
|
|
||||||
GEMM_TUNING=0 \
|
|
||||||
bash examples/llama/train_llama3.sh
|
|
||||||
|
|
||||||
.. tab-item:: Llama 3 70B
|
|
||||||
|
|
||||||
.. tab-set::
|
|
||||||
|
|
||||||
.. tab-item:: BF16
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
CKPT_FORMAT=torch_dist \
|
|
||||||
TEE_OUTPUT=1 \
|
|
||||||
MBS=3 \
|
|
||||||
BS=24 \
|
|
||||||
TP=1 \
|
|
||||||
TE_FP8=0 \
|
|
||||||
FSDP=1 \
|
|
||||||
RECOMPUTE=1 \
|
|
||||||
SEQ_LENGTH=8192 \
|
|
||||||
MODEL_SIZE=70 \
|
|
||||||
TOTAL_ITERS=10 \
|
|
||||||
bash examples/llama/train_llama3.sh
|
|
||||||
|
|
||||||
.. tab-item:: FP8
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
CKPT_FORMAT=torch_dist \
|
|
||||||
TEE_OUTPUT=1 \
|
|
||||||
RECOMPUTE=1 \
|
|
||||||
MBS=3 \
|
|
||||||
BS=24 \
|
|
||||||
TP=1 \
|
|
||||||
TE_FP8=1 \
|
|
||||||
SEQ_LENGTH=8192 \
|
|
||||||
MODEL_SIZE=70 \
|
|
||||||
FSDP=1 \
|
|
||||||
TOTAL_ITERS=10 \
|
|
||||||
NUM_LAYERS=40 \
|
|
||||||
bash examples/llama/train_llama3.sh
|
|
||||||
|
|
||||||
.. rubric:: Options
|
|
||||||
|
|
||||||
The ``train_llama3.sh`` script accepts the following options:
|
|
||||||
|
|
||||||
* ``MBS``: Micro-batch size per GPU
|
|
||||||
|
|
||||||
* ``BS``: Global batch size
|
|
||||||
|
|
||||||
* ``TP``: Tensor parallelism
|
|
||||||
|
|
||||||
* ``SEQ_LENGTH``: Maximum input token sequence length
|
|
||||||
|
|
||||||
* ``TE_FP8``: Toggle to enable FP8
|
|
||||||
|
|
||||||
* ``TOTAL_ITERS``: Number of training iterations to execute
|
|
||||||
|
|
||||||
Other supported models
|
|
||||||
======================
|
|
||||||
|
|
||||||
* Llama-2-7B
|
|
||||||
|
|
||||||
* Llama-3.3-70B
|
|
||||||
|
|
||||||
* DeepSeek-V2-Lite
|
|
||||||
|
|
||||||
* Mixtral-8x7B
|
|
||||||
|
|
||||||
* Qwen-2.5-7B
|
|
||||||
|
|
||||||
* Qwen-2.5-72B
|
|
||||||
|
|
||||||
Known issues
|
|
||||||
============
|
|
||||||
|
|
||||||
- Some models and configurations may trigger a "Memory Access Fault" error.
|
|
||||||
Updates to improve stability are planned for upcoming releases.
|
|
||||||
|
|
||||||
- A regression related to Composable Kernel (CK) may cause errors in certain
|
|
||||||
cases. A fix is planned for an upcoming release.
|
|
||||||
|
|
||||||
- Flash Attention forward may not pick the best performing ASM kernel with batch
|
|
||||||
size greater than 1 and impact model performance.
|
|
||||||
For best performance on MI355X and MI350X GPUs, use the ROCm 7.0 Preview beta Docker
|
|
||||||
(``rocm/7.0-preview:rocm7.0_preview_pytorch_training_mi35x_beta``).
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user