Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
391 commits
Select commit Hold shift + click to select a range
6d99936
Merge branch 'master' into pulse-stressor
manoj-freyr Apr 15, 2026
c441a93
review comment fixes, and minor updates
Apr 17, 2026
6805c40
Add time-based Babel run
jkottiku Apr 8, 2026
9cf7dca
Merge pull request #1121 from jkottiku/master
jkottiku Apr 17, 2026
6c83dca
Merge pull request #1122 from ROCm/cli-action-select
jkottiku Apr 17, 2026
60e565e
pull latest ROCm for schduled job.
Apr 21, 2026
62c6fab
rebased against master
Apr 21, 2026
43c1057
update S3 upload to release/nightly
Apr 22, 2026
0db7420
create build summary if job not cancelled
Apr 22, 2026
7db4ac5
Add module (-m) cli option
jkottiku Mar 25, 2026
bb3373c
Merge pull request #1123 from ROCm/cli-module-option
jkottiku Apr 22, 2026
adc15dc
Update RVS version (1.4.0) and change logs.
jkottiku Apr 22, 2026
65e9f80
Merge pull request #1128 from jkottiku/master
jkottiku Apr 22, 2026
2af3c2d
update workflow for pkg name/version change
Apr 22, 2026
67203ff
fix version string as per verison spec
Apr 22, 2026
a07bc1b
flow change on how package is named
Apr 23, 2026
22d40ac
fix tarball install file layout
Apr 23, 2026
9ceeb29
update data install directory and remove empty dir
Apr 23, 2026
a1d6000
use CMAKE_PROJECT_NAME instead project_name
Apr 23, 2026
5d573a3
tgz file creation need proper path for flat file
Apr 23, 2026
731f634
build changes already in place because of transfer bench changes. so …
Apr 23, 2026
1b3b448
Merge branch 'master' into pulse-stressor
manoj-freyr Apr 23, 2026
da66be0
update release version string
Apr 23, 2026
6b9eda6
update version string for TGZ file
Apr 23, 2026
47c7023
add warning header for beta , til we make pass criteria better
Apr 24, 2026
8aa2e5d
rvs version print should match package version
Apr 24, 2026
5394b52
fetch path and version relative to install
Apr 24, 2026
cf47b04
fix typo on comment that trucated comments section
Apr 24, 2026
5d8ab82
Containerise Ubuntu build job (ubuntu:22.04 docker)
Apr 27, 2026
63a9a6e
mxfp8 gemm support in gst.
jkottiku Apr 27, 2026
80aea6e
Iterations (hot calls) based GST execution.
jkottiku Apr 28, 2026
ab8bfe3
Update install instruction for tgz.
Apr 27, 2026
76ce112
update ROCm installation link
Apr 28, 2026
1e5c7d5
update instruction for libomp install.
Apr 29, 2026
42d63bb
cleanup and update RUNPATH
Apr 29, 2026
9f95f14
add libomp location to RPATH for older rocm
Apr 29, 2026
d92a57f
update repo meta data and repo file instruction
Apr 28, 2026
fc84d27
static link yaml-cpp for ubuntu
Apr 30, 2026
030c24c
RVS version 1.5.0
jkottiku Apr 30, 2026
6dcf380
Merge pull request #1140 from ROCm/rvs-v1.5.0
jkottiku May 1, 2026
6e4d858
Set duration properly and remove blank function.
jkottiku May 2, 2026
0d91c88
Merge pull request #1141 from ROCm/master
jkottiku May 4, 2026
da22a0e
Update CHANGELOG.md
manoj-freyr May 5, 2026
c079243
Merge branch 'master' into pulse-stressor
manoj-freyr May 5, 2026
072c0bc
NPS2/QPX mode GST conf. for MI350X/MI355X.
jkottiku May 5, 2026
578d4ff
Merge pull request #1114 from ROCm/pulse-stressor
manoj-freyr May 6, 2026
906b147
Merge pull request #1136 from jkottiku/master
jkottiku May 6, 2026
d0e3d1d
Merge pull request #1142 from ROCm/partition-modes
jkottiku May 6, 2026
6ae458b
fp4 and fp6 datatype update.
jkottiku May 6, 2026
8516ee2
Revert "fp4 and fp6 datatype update."
jkottiku May 6, 2026
af95109
fp4 and fp6 datatype update.
jkottiku May 6, 2026
b28f6bf
Time resolution in microseconds
jkottiku May 7, 2026
3f693be
Merge pull request #1137 from ROCm/gst-iter-run
jkottiku May 8, 2026
51e22e3
update workflow for ROCm download
May 7, 2026
a5eda4d
fix parsing of release URL.
May 8, 2026
5cf1c1c
skip authentication/upload to S3 for PR from fork
May 8, 2026
be28d44
Config changes for mi350p variant
May 8, 2026
3b33ec6
update changelog
May 8, 2026
0f98ce1
Update CHANGELOG.md
manoj-freyr May 8, 2026
44c0022
remove single iet configs
May 8, 2026
56e0a2c
Merge pull request #8 from ROCm/master
jkottiku May 11, 2026
dae3c50
Throughput logging as output
jkottiku May 7, 2026
9199145
Merge pull request #1145 from ROCm/babel-mbps-logging
jkottiku May 13, 2026
c33e179
Merge branch 'ROCm:master' into master
jkottiku May 14, 2026
b590260
Update build-relocatable-packages.yml
manoj-freyr May 15, 2026
1e51831
Update build_packages_local.sh
manoj-freyr May 15, 2026
9008ecf
Merge branch 'master' into ubuntudockerbuilds
manoj-freyr May 15, 2026
6760570
Additions, Corrections and Updates in docs
jkottiku May 14, 2026
4726a39
update _toc.yml.in to display updated files on web
peterjunpark May 15, 2026
ecef0de
update index
peterjunpark May 15, 2026
7417426
Documentation - Additions, Corrections and Updates. (#1150)
jkottiku May 15, 2026
555be6e
docs: Update installation page for 7.13 (#1151)
peterjunpark May 15, 2026
748b115
Adding the two files to create RVS tests pipeline
May 18, 2026
80913d9
Removed the url from yml file so that it will only pick the url from …
May 18, 2026
065197d
Edited the files to fix the path forinstalling RVS and added a check …
May 18, 2026
0da783f
Merge pull request #1132 from ROCm/ubuntudockerbuilds
manoj-freyr May 19, 2026
b2560b1
Update workflow document to reflect Ubuntu container changes
May 19, 2026
2831a6c
fix broken link (#1154)
yugang-amd May 19, 2026
227435b
Edited the files to add capability to execute RVS installation and te…
May 19, 2026
418b773
Removed the userID and IPs from the files
May 19, 2026
a37a1db
Merge pull request #1153 from ROCm/workflow-updates
manoj-freyr May 19, 2026
3f0fc2e
Merge pull request #1152 from ROCm/urtiwari/RVSpipeline
urtiwari May 19, 2026
5235f39
Update README and user guide with additions and improvements
jkottiku May 15, 2026
164be02
Merge branch 'master' into docs-update
jkottiku May 19, 2026
1b959a2
Removed the two offending entries (SSH_KEY_FILE/SSH_CONFIG_FILE) from…
May 19, 2026
990385e
Merge pull request #1156 from ROCm/urtiwari/RVSpipeline
urtiwari May 19, 2026
70342e5
Fixed LD Library Path
May 20, 2026
f30c9a3
Replace all node-specific values like IPs usernames, docs/comments ar…
May 20, 2026
70a4dd4
Merge pull request #1157 from ROCm/urtiwari/RVSpipeline
urtiwari May 20, 2026
005c27e
- Move RVS_TARGET_NODE and RVS_TARGET_USER from repo Variables to Sec…
May 20, 2026
f75b1ef
Merge pull request #1159 from ROCm/urtiwari/RVSpipeline
urtiwari May 20, 2026
691da81
Removed the hostname from result summary
May 20, 2026
fad3245
Merge pull request #1160 from ROCm/urtiwari/RVSpipeline
urtiwari May 20, 2026
8cb0aa5
Style edit pr 1155 (#1158)
yugang-amd May 20, 2026
af9f1b0
update config parameters
May 21, 2026
0fc8c17
update target stress
May 21, 2026
f9713c4
Merge pull request #1161 from ROCm/mi350-cfgupdate
manoj-freyr May 21, 2026
3a42fd9
Merge pull request #1155 from ROCm/docs-update
jkottiku May 21, 2026
53391e7
Merge pull request #1162 from ROCm/master
jkottiku May 21, 2026
a91afa5
Steps for TheROCK RVS installation
jkottiku May 21, 2026
8a73902
Merge pull request #1163 from ROCm/docs-update
jkottiku May 26, 2026
e15254e
Add test levels table and update examples.
jkottiku May 26, 2026
b8fd5b6
Merge pull request #1165 from ROCm/docs-update
jkottiku May 26, 2026
4bbcca6
Minor memory and error return bug fixes.
jkottiku May 27, 2026
327b3f8
enable nightly for all active branches
May 27, 2026
26c1fff
add rand init to fp8 action
May 29, 2026
f815f65
use api to fetch and generate active branch matrix
May 29, 2026
b2d03fc
Update prerequisites
jkottiku May 29, 2026
8fdfdb8
Merge pull request #1171 from ROCm/docs-update
jkottiku May 29, 2026
d4b5525
Merge pull request #1169 from ROCm/rand-init-350p
manoj-freyr Jun 1, 2026
45a9eda
Add levels based configs to MI350P config space
Jun 1, 2026
db0a71c
fix typerror on local runner with older python
Jun 1, 2026
88dd261
Running even if the latest tarball matches the last run
Jun 1, 2026
1bbb105
Merge pull request #1174 from ROCm/urtiwari/RVStestskipfix
urtiwari Jun 1, 2026
f065aa4
Trigger RVS tests if there is a successful build completion
Jun 1, 2026
ab5368c
Merge pull request #1172 from ROCm/mem-updates
jkottiku Jun 1, 2026
c51a4ed
Merge pull request #1176 from ROCm/urtiwari/RVS_buildtrigger
urtiwari Jun 1, 2026
0279c50
Refactored RVS nightly tests with a new rvs_nightly_test.sh script
Jun 3, 2026
129636f
Update version list (#1182)
yugang-amd Jun 3, 2026
0146ba5
Merge pull request #1184 from ROCm/master
jkottiku Jun 3, 2026
34bfd08
Merge pull request #1181 from ROCm/urtiwari/RVSsplitted
urtiwari Jun 3, 2026
36b3217
Fixed SSH path bug
Jun 3, 2026
a2f31db
Update MI300X CPX and DPX mode conf.
jkottiku Jun 3, 2026
743c001
Merge pull request #1185 from ROCm/urtiwari/RVSsplitted
urtiwari Jun 3, 2026
c058b7e
Merge pull request #1187 from ROCm/master
jkottiku Jun 3, 2026
defe6dc
Instead of split at median, add a drift
Jun 4, 2026
4dc4f39
Update change logs for RVS v1.5.0
jkottiku Jun 3, 2026
9e1481f
Merge pull request #1188 from ROCm/docs-update
jkottiku Jun 4, 2026
75bd492
Merge pull request #1186 from ROCm/partition-modes
jkottiku Jun 4, 2026
81f20b5
Revert "Update version list (#1182)" (#1191)
yugang-amd Jun 4, 2026
a159137
local upload changes in case we have hosted servers for packages
Jun 3, 2026
12fd2a6
Merge pull request #1193 from ROCm/master
jkottiku Jun 4, 2026
8491794
Properly update datatype in gst json file.
jkottiku Jun 5, 2026
452b356
Merge pull request #1194 from ROCm/json-updates
jkottiku Jun 5, 2026
438d4cf
S3 upload and ROCm download stream fix
Jun 6, 2026
133d741
fix the null to null string
Jun 8, 2026
9b445a5
Merge pull request #1201 from ROCm/master
jkottiku Jun 8, 2026
8f86ce3
Merge pull request #1197 from ROCm/null-stringify
manoj-freyr Jun 9, 2026
ab66c46
Ensuring right folder for non-master uploads
Jun 10, 2026
4583201
Merge pull request #1204 from ROCm/upload-path-fixes
manoj-freyr Jun 10, 2026
a4cb59f
Removed the hostname printed in the logs
Jun 10, 2026
0444253
Merge pull request #1205 from ROCm/urtiwari/RVShostname
urtiwari Jun 10, 2026
ab660fd
removed all the node names printed in the log
Jun 10, 2026
07458cc
Merge pull request #1206 from ROCm/urtiwari/hostname
urtiwari Jun 10, 2026
10348c5
Warm calls based gemm ramp-up
jkottiku Jun 10, 2026
60840c0
Merge pull request #1208 from ROCm/master
jkottiku Jun 10, 2026
5bba495
Merge pull request #1210 from ROCm/master
jkottiku Jun 11, 2026
b46ae25
Update RVS version to 1.6.0
jkottiku Jun 11, 2026
98df5b4
Merge pull request #1212 from ROCm/master
jkottiku Jun 11, 2026
13fe6b3
Merge pull request #1211 from ROCm/docs-update
jkottiku Jun 11, 2026
d69f863
Refactor babel JSON logging
jkottiku Jun 11, 2026
f6bd44d
Consistent key naming across all JSON fields
jkottiku Jun 11, 2026
539a192
Merge branch 'ROCm:master' into master
jkottiku Jun 13, 2026
daa4263
Merge pull request #1144 from jkottiku/master
jkottiku Jun 13, 2026
68b4eef
Remove unused configuration file
jkottiku Jun 13, 2026
dc6aa6a
enable S3 upload for RVS mirror repos
Jun 12, 2026
6007612
fix typo on amdrocm-runtime
Jun 15, 2026
c2e9b2b
Merge pull request #1215 from jkottiku/master
jkottiku Jun 15, 2026
9ec31f8
Merge branch 'master' into level-cfgs-update
manoj-freyr Jun 16, 2026
eaa9832
Update CHANGELOG.md
manoj-freyr Jun 16, 2026
17fb340
changed the url to pick up the latest RVS image to test
Jun 18, 2026
a9b3523
removed the url name as it is internal link
Jun 18, 2026
c9dfec8
Merge pull request #1220 from ROCm/urtiwari/changeurl
urtiwari Jun 18, 2026
9a0bed5
changed the target node to orchestrator for downloading tarball
Jun 18, 2026
515c0b3
Merge pull request #1221 from ROCm/urtiwari/urlchange
urtiwari Jun 18, 2026
bc9dd96
fixed the grep extraction
Jun 18, 2026
610a399
Merge pull request #1222 from ROCm/urtiwari/grepissue
urtiwari Jun 18, 2026
93bdd0b
TARBALL_URL was empty in the Create Test Report job, fixed it
Jun 19, 2026
d5cb60d
Merge pull request #1224 from ROCm/urtiwari/reporterror
urtiwari Jun 19, 2026
42dd4c1
Added new workflow for PR tests, removed any trace of internal link f…
Jun 19, 2026
850c3f7
Removed polling and added a trigger once there is a successful PR build
Jun 20, 2026
a4885d3
Merge pull request #1226 from ROCm/urtiwari/urtiwari/PRtest
urtiwari Jun 22, 2026
f1a0a2e
Fixed Create test report, so Create test report should get TARBALL_NA…
Jun 22, 2026
a06c861
Merge pull request #1227 from ROCm/urtiwari/Testreportfix
urtiwari Jun 22, 2026
59cfe8f
Fixed Create test report, so Create test report should get TARBALL_NAME
Jun 22, 2026
862c640
Time comparison correction.
jkottiku Jun 22, 2026
6749550
Merge pull request #1229 from ROCm/master
jkottiku Jun 22, 2026
ac11052
Merge pull request #1228 from ROCm/urtiwari/Reportfix
urtiwari Jun 22, 2026
ee2f024
Merge pull request #1202 from ROCm/level-cfgs-update
manoj-freyr Jun 23, 2026
1a7ea95
Build and install TransferBench CLI as part of RVS (#1199)
saadrahim Jun 23, 2026
e329643
Add time duration cli option
jkottiku Jun 17, 2026
e016668
Merge pull request #1219 from jkottiku/master
jkottiku Jun 23, 2026
4df993f
Added the support for RVS Release test pipeline
Jun 23, 2026
0027a36
Merge pull request #1231 from ROCm/urtiwari/Releasepipeline
urtiwari Jun 23, 2026
3aab29a
Use warm calls in ramp-up gemm runs.
jkottiku Jun 24, 2026
7de23a1
Merge pull request #1209 from ROCm/gst-rampup-iter-run
jkottiku Jun 24, 2026
1d0836b
disable txBench build for local and set RUNPATH
Jun 23, 2026
4696068
Fix RPATH setting in Transferbench
Jun 23, 2026
bd00809
fix duplicate RPATH setting for txbench
Jun 23, 2026
6b47f18
fix empty RPATH and pkg dependency
Jun 23, 2026
6338baf
Per-subtest results as a json array
jkottiku Jun 24, 2026
63cde3f
Merge pull request #1232 from ROCm/master
jkottiku Jun 24, 2026
b2587f3
Edited the nightly run to only run when schedule and on PUSH
Jun 24, 2026
71d3f44
Merge pull request #1236 from ROCm/master
jkottiku Jun 24, 2026
4ed6b53
Removed release from RVS nightly test pipeline
Jun 24, 2026
45b0862
Added a condition to run only on the successful build from RVS nightl…
Jun 24, 2026
55ac25e
Merge pull request #1235 from ROCm/urtiwari/RVSnightly
urtiwari Jun 24, 2026
bada8f6
Sync user-guide with latest changes
jkottiku Jun 24, 2026
109d149
update Txbench build to sync with upstream
Jun 24, 2026
58e801e
fix passing GPU_TARGETS for Transferbench.
Jun 24, 2026
dac3178
Alpha and Beta based on compute type.
jkottiku Jun 25, 2026
0003af2
Fixing the issue of the skipped workflow being triggered
Jun 25, 2026
9078d2e
Alpha and Beta based on compute type.
jkottiku Jun 25, 2026
a1e2c7c
Fixed the issue while dispatching RVS PR Tests
Jun 26, 2026
65ea960
Fixing the issue while dispatching RVS PR Tests
Jun 26, 2026
6cb0bcb
fix fragile steps in build script.
Jun 26, 2026
aa6741c
ignore downloading -test- ROCm package
Jun 28, 2026
f829749
Merge pull request #1240 from ROCm/urtiwari/skipworkflow
urtiwari Jun 29, 2026
82a4d3a
fix rocm tarball download issue
Jun 30, 2026
67eb2bd
Merge branch 'ROCm:master' into master
jkottiku Jul 7, 2026
86b6d61
Report test result correctly.
jkottiku Jul 8, 2026
1c52b20
Merge pull request #1246 from ROCm/peqt-result
jkottiku Jul 9, 2026
679dad0
Babel json schema update.
jkottiku Jul 10, 2026
ed30aa2
TST json schema update.
jkottiku Jul 10, 2026
154d303
Merge branch 'ROCm:master' into master
jkottiku Jul 13, 2026
75e63e8
Update PEQT module
jkottiku Jul 13, 2026
6a63cc4
Add install docs for RVS 1.5.122 (#1252)
yugang-amd Jul 15, 2026
eeff30a
Install doc updates for RVS 1.5.122 (#1253)
yugang-amd Jul 15, 2026
7d43eca
Make libpci static and cleanup.
jkottiku Jul 15, 2026
1c1c649
Update Transferbench to v1.69.00
Jul 16, 2026
902901c
add ibverb header from Transferbench
Jul 16, 2026
6ade1a6
workflow cleanup to remove file
Jun 1, 2026
e6b1c66
Merge pull request #1254 from ROCm/pci-static
jkottiku Jul 17, 2026
9fc30f5
Merge pull request #1233 from ROCm/babel-json
jkottiku Jul 17, 2026
72bb18b
Update module output examples.
jkottiku Jul 20, 2026
4f5c79c
Merge pull request #1260 from ROCm/master
jkottiku Jul 21, 2026
cbafd04
Corrected the conf. files used.
jkottiku Jul 21, 2026
f8b8fb4
Merge branch 'ROCm:master' into master
jkottiku Jul 21, 2026
51cec1f
Apply suggestions from code review
jkottiku Jul 23, 2026
c67a983
Merge pull request #1258 from ROCm/docs-update
jkottiku Jul 23, 2026
39fafc9
Add tolerance for iet stress.
jkottiku Jul 24, 2026
58c93f3
MI450X support
jkottiku Jul 27, 2026
4a02c42
Merge pull request #1256 from ROCm/frepaul/txbench_1.69.00
jkottiku Jul 27, 2026
6ee358f
Merge pull request #1266 from ROCm/master
jkottiku Jul 27, 2026
d32820a
Merge pull request #1262 from ROCm/iet-tolerance
jkottiku Jul 28, 2026
82c61d4
Add gfx1250 support in build script.
jkottiku Jul 28, 2026
c80c57e
Update peqt for domain usage for pcie
manoj-freyr Jul 29, 2026
ca7a505
use sys fs for kernel and harden checks for pwr budgeting
manoj-freyr Jul 29, 2026
ba2551e
use domain for pcie devices
manoj-freyr Jul 29, 2026
faee14f
use domain for pcie devices
manoj-freyr Jul 29, 2026
d7a603c
dev->no_config_access is not part of pci v3.7.0 which we are building…
manoj-freyr Jul 29, 2026
e009f91
Merge pull request #1264 from ROCm/gfx1250-updates
jkottiku Jul 29, 2026
1092e7f
fix: switch to rocm-extras flavor (#1267)
pmoutsias-amd Jul 29, 2026
1ca2151
Merge branch 'ROCm:master' into master
jkottiku Jul 29, 2026
7f99bc1
Fix test_bandwidth as false reporting failure.
jkottiku Jul 29, 2026
0d49822
Merge pull request #1269 from ROCm/peqt-domain-fix-master
manoj-freyr Jul 30, 2026
f274b33
Adding the files to run RVS pipeline in docker
Jul 29, 2026
78a1dd4
Fixed an issue
Jul 29, 2026
7a83e52
Fixed the regular exp issue in the docker run
Jul 31, 2026
ad66dcf
Merge pull request #1271 from jkottiku/master
jkottiku Jul 31, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions .github/docker/rvs-nightly-rocm/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# ROCm nightly-test runtime image — same SDK tarball layout as build_packages_local.sh
# (therock-dist-linux-<GPU_FAMILY>-<ROCM_VERSION>.tar.gz from multiarch or release listing).
#
# Build on any docker host (typically the self-hosted runner):
# ./.github/docker/rvs-nightly-rocm/build-rocm-image.sh \
# --rocm-version 7.14.0a20260528 --gpu-family gfx110X-all

FROM ubuntu:24.04

ARG ROCM_VERSION
ARG GPU_FAMILY=gfx110X-all
ARG ROCM_SDK_BASE_URL

RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
ca-certificates \
wget \
tar \
pciutils \
kmod \
&& rm -rf /var/lib/apt/lists/*

RUN test -n "${ROCM_VERSION}" && test -n "${ROCM_SDK_BASE_URL}"

RUN mkdir -p /opt/rocm/install \
&& wget -q -O /tmp/rocm-sdk.tar.gz \
"${ROCM_SDK_BASE_URL%/}/therock-dist-linux-${GPU_FAMILY}-${ROCM_VERSION}.tar.gz" \
&& tar -xzf /tmp/rocm-sdk.tar.gz -C /opt/rocm/install --strip-components=1 \
&& rm -f /tmp/rocm-sdk.tar.gz \
&& test -x /opt/rocm/install/bin/rocminfo

COPY env-rocm.sh /etc/profile.d/rocm-env.sh

ENV ROCM_PATH=/opt/rocm/install
ENV TARGET_ROCM_PATH=/opt/rocm/install
ENV ROCM_VERSION=${ROCM_VERSION}
ENV GPU_FAMILY=${GPU_FAMILY}
ENV LD_LIBRARY_PATH=/opt/rocm/install/lib/rocm_sysdeps/lib:/opt/rocm/install/lib/llvm/lib:/opt/rocm/install/lib

WORKDIR /workspace
153 changes: 153 additions & 0 deletions .github/docker/rvs-nightly-rocm/build-rocm-image.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
#!/usr/bin/env bash
# Build (and tag) the ROCm runtime docker image for RVS nightly docker tests.
# Uses the same multiarch / release tarball URLs as build_packages_local.sh.
#
# Examples:
# ./build-rocm-image.sh --channel nightly --gpu-family gfx110X-all
# ./build-rocm-image.sh --rocm-version 7.14.0a20260528 --gpu-family gfx110X-all
# ./build-rocm-image.sh --from-tarball amdrocm7-rvs-1.4.21-r0714.20260724-Linux.tar.gz
# (requires *-Linux.tar.gz with -rMMmm.yyyymmdd-; nightly pins exact 7.14.0a20260724 SDK)
# ./build-rocm-image.sh --channel nightly --tag rvs-nightly-rocm:latest

set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

ROCM_VERSION=""
GPU_FAMILY="${GPU_FAMILY:-gfx110X-all}"
CHANNEL="nightly"
IMAGE_TAG=""
ROCM_SDK_BASE_URL=""
FROM_TARBALL=""

NIGHTLY_INDEX="${ROCM_SDK_NIGHTLY_INDEX_URL:-https://rocm.nightlies.amd.com/tarball-multi-arch/}"
NIGHTLY_BASE="${ROCM_SDK_NIGHTLY_BASE_URL:-https://rocm.nightlies.amd.com/tarball-multi-arch}"
RELEASE_LIST="${ROCM_SDK_RELEASE_URL:-https://repo.amd.com/rocm/tarball/}"
RELEASE_BASE="${ROCM_SDK_RELEASE_BASE_URL:-https://repo.amd.com/rocm/tarball}"

usage() {
sed -n '2,8p' "$0"
exit 1
}

resolve_sdk_base() {
local ver="$1"
if echo "$ver" | grep -qE '^[0-9]+\.[0-9]+\.[0-9]+a[0-9]+'; then
ROCM_SDK_BASE_URL="$NIGHTLY_BASE"
elif echo "$ver" | grep -qE '^[0-9]+\.[0-9]+\.[0-9]+$'; then
ROCM_SDK_BASE_URL="$RELEASE_BASE"
else
echo "::error::Unrecognized ROCm version format: $ver" >&2
exit 1
fi
}

fetch_latest_version() {
local mode="$1"
local listing_tmp versions
listing_tmp="$(mktemp)"
if [ "$mode" = "nightly" ]; then
wget -q -O "$listing_tmp" "$NIGHTLY_INDEX"
versions=$(grep -oE "therock-dist-linux-${GPU_FAMILY}-[0-9]+\.[0-9]+\.[0-9]+a[0-9]+" "$listing_tmp" \
| sed "s|^therock-dist-linux-${GPU_FAMILY}-||" | sort -V | tail -1)
else
wget -q -O "$listing_tmp" "$RELEASE_LIST"
versions=$(grep -oE "therock-dist-linux-${GPU_FAMILY}-[0-9]+\.[0-9]+\.[0-9]+" "$listing_tmp" \
| sed "s|^therock-dist-linux-${GPU_FAMILY}-||" | sort -V | tail -1)
fi
rm -f "$listing_tmp"
if [ -z "$versions" ]; then
echo "::error::No SDK version found for ${GPU_FAMILY} (${mode})" >&2
exit 1
fi
ROCM_VERSION="$versions"
}

# Match SDK to RVS *-Linux.tar.gz release tag (rMMmm.yyyymmdd), same encoding as
# build_packages_local.sh CPACK release (r<ROCM_LIBPATCH_VERSION>.<yyyymmdd>).
resolve_rocm_from_tarball() {
local name="$1"
local base="${name##*/}"
local major minor build_date exact listing_tmp sdk_file prefix

if [[ "$base" != *-Linux.tar.gz ]]; then
echo "::error::--from-tarball requires a *-Linux.tar.gz relocatable tarball; got: ${base}" >&2
exit 1
fi

if [[ "$base" =~ -r([0-9]{2})([0-9]{2})\.([0-9]{8})-Linux\.tar\.gz$ ]]; then
major=$((10#${BASH_REMATCH[1]}))
minor=$((10#${BASH_REMATCH[2]}))
build_date="${BASH_REMATCH[3]}"
else
echo "::error::Cannot parse ROCm version from tar tarball (expected ...-rMMmm.yyyymmdd-Linux.tar.gz): ${base}" >&2
exit 1
fi

if [ "$CHANNEL" = "release" ]; then
prefix="${major}.${minor}."
listing_tmp="$(mktemp)"
wget -q -O "$listing_tmp" "$RELEASE_LIST"
ROCM_VERSION=$(grep -oE "therock-dist-linux-${GPU_FAMILY}-${prefix}[0-9]+" "$listing_tmp" \
| sed "s|^therock-dist-linux-${GPU_FAMILY}-||" | sort -V | tail -1)
rm -f "$listing_tmp"
sdk_file="therock-dist-linux-${GPU_FAMILY}-${ROCM_VERSION}.tar.gz"
resolve_sdk_base "$ROCM_VERSION"
else
exact="${major}.${minor}.0a${build_date}"
sdk_file="therock-dist-linux-${GPU_FAMILY}-${exact}.tar.gz"
listing_tmp="$(mktemp)"
wget -q -O "$listing_tmp" "$NIGHTLY_INDEX"
if ! grep -qF "$sdk_file" "$listing_tmp"; then
rm -f "$listing_tmp"
echo "::error::No multiarch SDK ${exact} for tar ${base} (missing ${sdk_file} on ${NIGHTLY_INDEX})" >&2
exit 1
fi
rm -f "$listing_tmp"
ROCM_VERSION="$exact"
ROCM_SDK_BASE_URL="$NIGHTLY_BASE"
fi

if [ -z "$ROCM_VERSION" ]; then
echo "::error::No ${CHANNEL} SDK found for ROCm ${major}.${minor} (${GPU_FAMILY}) from tar ${base}" >&2
exit 1
fi
echo "Resolved ROCm ${ROCM_VERSION} from tar tarball ${base} (r$(printf '%02d%02d' "$major" "$minor").${build_date})"
}

while [ $# -gt 0 ]; do
case "$1" in
--rocm-version) ROCM_VERSION="$2"; shift 2 ;;
--from-tarball) FROM_TARBALL="$2"; shift 2 ;;
--gpu-family) GPU_FAMILY="$2"; shift 2 ;;
--channel) CHANNEL="$2"; shift 2 ;;
--tag) IMAGE_TAG="$2"; shift 2 ;;
-h|--help) usage ;;
*) echo "Unknown arg: $1" >&2; usage ;;
esac
done

if [ -n "$FROM_TARBALL" ]; then
resolve_rocm_from_tarball "$(basename "$FROM_TARBALL")"
elif [ -z "$ROCM_VERSION" ]; then
fetch_latest_version "$CHANNEL"
fi

resolve_sdk_base "$ROCM_VERSION"
IMAGE_TAG="${IMAGE_TAG:-rvs-nightly-rocm:${ROCM_VERSION}}"

echo "Building docker image ${IMAGE_TAG}"
echo " ROCm version : ${ROCM_VERSION}"
echo " GPU family : ${GPU_FAMILY}"
echo " SDK base URL : ${ROCM_SDK_BASE_URL}"

docker build \
-f "${SCRIPT_DIR}/Dockerfile" \
--build-arg "ROCM_VERSION=${ROCM_VERSION}" \
--build-arg "GPU_FAMILY=${GPU_FAMILY}" \
--build-arg "ROCM_SDK_BASE_URL=${ROCM_SDK_BASE_URL}" \
-t "${IMAGE_TAG}" \
"${SCRIPT_DIR}"

docker tag "${IMAGE_TAG}" "rvs-nightly-rocm:latest"
echo "::notice::Tagged ${IMAGE_TAG} and rvs-nightly-rocm:latest"
6 changes: 6 additions & 0 deletions .github/docker/rvs-nightly-rocm/env-rocm.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Source in container shells: sets ROCm runtime paths (TheRock multiarch layout).
ROCM_PATH="${ROCM_PATH:-/opt/rocm/install}"
TARGET_ROCM_PATH="${TARGET_ROCM_PATH:-$ROCM_PATH}"
export ROCM_PATH TARGET_ROCM_PATH
export PATH="${ROCM_PATH}/bin:${PATH}"
export LD_LIBRARY_PATH="${ROCM_PATH}/lib/rocm_sysdeps/lib:${ROCM_PATH}/lib/llvm/lib:${ROCM_PATH}/lib:${LD_LIBRARY_PATH:-}"
12 changes: 12 additions & 0 deletions .github/docker/rvs-nightly-rocm/setup-on-runner.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/usr/bin/env bash
# Run on the self-hosted GPU runner host to build the ROCm-matched docker image.
#
# cd ROCmValidationSuite
# ./.github/docker/rvs-nightly-rocm/setup-on-runner.sh [--channel nightly|release]
# ./.github/docker/rvs-nightly-rocm/setup-on-runner.sh --from-tarball amdrocm7-rvs-....tar.gz

set -euo pipefail
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)"
cd "$ROOT"
chmod +x .github/docker/rvs-nightly-rocm/build-rocm-image.sh
exec .github/docker/rvs-nightly-rocm/build-rocm-image.sh "$@"
99 changes: 99 additions & 0 deletions .github/scripts/configure-rocm-sdk-channel.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
#!/usr/bin/env bash
# Configure ROCm SDK channel + ROCM_VERSION for build_packages_local.sh (CI).
# Uses POSIX case for release/* refs (safe under dash/sh and bash).
set -euo pipefail

GITHUB_ENV="${GITHUB_ENV:-/dev/null}"

NIGHTLY_BASE="${ROCM_SDK_NIGHTLY_BASE_URL:-}"
NIGHTLY_IDX="${ROCM_SDK_NIGHTLY_INDEX_URL:-}"
[ -z "$NIGHTLY_BASE" ] && NIGHTLY_BASE='https://rocm.nightlies.amd.com/tarball-multi-arch'
[ -z "$NIGHTLY_IDX" ] && NIGHTLY_IDX='https://rocm.nightlies.amd.com/tarball-multi-arch/'

REL_URL="${ROCM_SDK_RELEASE_URL:-}"
[ -z "$REL_URL" ] && REL_URL='https://repo.amd.com/rocm/tarball/'
REL_BASE="${ROCM_SDK_RELEASE_BASE_URL:-}"
[ -z "$REL_BASE" ] && REL_BASE="${REL_URL%/}"

EVENT="${GITHUB_EVENT_NAME:-}"
REF="${GITHUB_REF:-}"
IN_VER="${INPUT_ROCM_VERSION:-}"
VAR_VER="${VAR_ROCM_VERSION:-}"
IN_GPU="${INPUT_GPU_FAMILY:-}"

release_build() {
{
echo "ROCM_SDK_CHANNEL=release"
echo "ROCM_SDK_RELEASE_URL=$REL_URL"
echo "ROCM_SDK_BASE_URL=$REL_BASE"
echo "ROCM_SDK_RELEASE_BASE_URL=$REL_BASE"
echo "ROCM_SDK_INDEX_URL="
} >> "$GITHUB_ENV"
}

nightly_build() {
{
echo "ROCM_SDK_CHANNEL=nightly"
echo "ROCM_SDK_RELEASE_URL="
echo "ROCM_SDK_BASE_URL=$NIGHTLY_BASE"
echo "ROCM_SDK_INDEX_URL=$NIGHTLY_IDX"
} >> "$GITHUB_ENV"
}

format_build() {
{
echo "ROCM_SDK_CHANNEL=auto"
echo "ROCM_SDK_RELEASE_URL=$REL_URL"
echo "ROCM_SDK_INDEX_URL=$NIGHTLY_IDX"
echo "ROCM_SDK_BASE_URL=$NIGHTLY_BASE"
echo "ROCM_SDK_NIGHTLY_BASE_URL=$NIGHTLY_BASE"
echo "ROCM_SDK_NIGHTLY_INDEX_URL=$NIGHTLY_IDX"
echo "ROCM_SDK_RELEASE_BASE_URL=$REL_BASE"
} >> "$GITHUB_ENV"
}

# ROCM_VERSION: schedule clears; dispatch input; push/PR use repo variable when set.
if [ "$EVENT" = "schedule" ]; then
echo "ROCM_VERSION=" >> "$GITHUB_ENV"
echo "Scheduled run: build script will auto-fetch latest ROCm version"
elif [ -n "$IN_VER" ]; then
echo "ROCM_VERSION=$IN_VER" >> "$GITHUB_ENV"
echo "Using workflow_dispatch ROCm version: $IN_VER"
elif [ -n "$VAR_VER" ]; then
echo "ROCM_VERSION=$VAR_VER" >> "$GITHUB_ENV"
echo "Using repository variable ROCM_VERSION: $VAR_VER"
fi

if [ -n "$IN_GPU" ]; then
echo "GPU_FAMILY=$IN_GPU" >> "$GITHUB_ENV"
fi

if [ "$EVENT" = "schedule" ]; then
nightly_build
echo "ROCm SDK channel: nightly (scheduled — latest nightly)"
elif [ "$EVENT" = "pull_request" ]; then
release_build
echo "ROCm SDK channel: release (pull request — latest X.Y.Z)"
elif [ "$EVENT" = "push" ]; then
case "$REF" in
refs/heads/master|refs/heads/main|refs/heads/release/*)
release_build
echo "ROCm SDK channel: release (push to main or release/* — includes merge)"
;;
*)
nightly_build
echo "ROCm SDK channel: nightly (push to feature branch)"
;;
esac
elif [ "$EVENT" = "workflow_dispatch" ]; then
if [ -n "$IN_VER" ] || [ -n "$VAR_VER" ]; then
format_build
echo "ROCm SDK: manual — tarball base chosen by version format (input or vars.ROCM_VERSION)"
else
nightly_build
echo "ROCm SDK channel: nightly (manual, no version pin)"
fi
else
nightly_build
echo "ROCm SDK channel: nightly (fallback)"
fi
Loading
Loading