From: sashiko-bot@kernel.org
To: "Stephen Bates" <sbates@raithlin.com>, linux-rdma@vger.kernel.org
Subject: Re: [PATCH v2] perftest: add a ROCm build to CI
Date: Wed, 04 Nov 2026 20:37:37 +0000 [thread overview]
Message-ID: <sashiko-outbox-198023@kernel.org> (raw)
In-Reply-To: <20261104203301.1677350-1-sbates@raithlin.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] perftest: unused matrix.rocm_arch in CI workflow and commit message mismatch
--
commit f80ce07d3d5d2a3f4581f598c3afcf67e5214052
Author: Stephen Bates <sbates@raithlin.com>
perftest: add a ROCm build to CI
This commit adds a GitHub Actions workflow on Ubuntu 24.04 to build and
install perftest with ROCm and ROCm DMA-BUF support enabled inside AMD's
slim ROCm container image.
Link: https://github.com/linux-rdma/perftest/pull/418
> perftest: add a ROCm build to CI
>
> CI builds only the CUDA configuration. The two existing workflows pass no
> --enable-rocm, so src/rocm_memory.c and everything behind HAVE_ROCM and
> HAVE_ROCM_DMABUF is never compiled on a pull request, and a change that
> breaks the ROCm backend goes green.
>
> Add an Ubuntu 24.04 job building --enable-rocm --enable-rocm-dmabuf,
> alongside the two CUDA jobs and triggered the same way, as a matrix over
> gfx950 (Instinct MI355X, CDNA4) and gfx1250 (Instinct MI455X, CDNA5). Those
> two were picked to cover consecutive Instinct generations: HIP sources that
> compile correctly for one generation may have microarchitecture-specific issues
> on the next, and testing both catches that. fail-fast is off: a failure is far
> more likely to be specific to one generation than common to both, and cancelling
> the other leg hides exactly the comparison that would say so.
>
> It runs in AMD's slim ROCm image rather than installing ROCm on the runner.
> The -full and -complete tags, and an apt install of the amdrocm-core
> metapackages, all pull the whole ML stack: Composable Kernel alone is over
> 2 GB, before rocSHMEM, MIOpen and the BLAS and FFT libraries. A compile check
> touches none of it. rocm/dev-ubuntu-24.04:7.2.4 is about 1.1 GB against 8.3 GB
> for the smallest 10.1 image, and still ships hipcc, the HIP and HSA headers,
> and device support for both matrix targets -- llc -mcpu=help lists gfx950 and
> gfx1250, and both compile.
>
> 7.2.4 rather than 10.1 because AMD publishes slim tags only through 7.2.x;
> every 10.x tag is -full. What this job needs is a toolchain that compiles the
> sources for the targets in the matrix, which that image provides. Moving to a
> newer ROCm is a one-line change to the container tag if a slim 10.x image
> appears, or if something here starts depending on a newer HIP API.
>
> Like the CUDA jobs this builds and installs only. There is no RDMA device in
> a runner, and the project has no test suite.
>
> Verified by running this workflow in a fork of the repository across both
> matrix architectures. Both legs passed: configure accepts every option, and
> make and make install succeed warning-free.
>
> Link: https://github.com/linux-rdma/perftest/pull/418
> Signed-off-by: Stephen Bates <sbates@raithlin.com>
>
> diff --git a/.github/workflows/ubuntu24_04_rocm7_2.yaml b/.github/workflows/ubuntu24_04_rocm7_2.yaml
> new file mode 100644
> index 0000000000000..70790377d85a0
> --- /dev/null
> +++ b/.github/workflows/ubuntu24_04_rocm7_2.yaml
> @@ -0,0 +1,70 @@
[ ... ]
> + strategy:
> + fail-fast: false
> + matrix:
> + # rocm_arch is not yet passed to configure: --with-rocm-arch only
> + # exists once HIP kernel sources are added. Both legs build identically
> + # until then; the matrix is in place so the workflow does not need
> + # amending when device code arrives.
> + rocm_arch: [gfx950, gfx1250]
> +
> + name: ROCm (${{ matrix.rocm_arch }})
[ ... ]
> + - name: Configure the build
> + run: |
> + ./configure --enable-rocm --enable-rocm-dmabuf \
> + --with-rocm="$ROCM_PATH"
[Severity: Medium]
As reported by Sashiko on v1 [1], in .github/workflows/ubuntu24_04_rocm7_2.yaml,
jobs.build.strategy.matrix defines rocm_arch: [gfx950, gfx1250], but
matrix.rocm_arch is only interpolated into the job display name and is never
passed to the environment, ./configure, or make in jobs.build.steps.
The new comment in jobs.build.strategy.matrix notes:
# rocm_arch is not yet passed to configure: --with-rocm-arch only
# exists once HIP kernel sources are added. Both legs build identically
# until then; the matrix is in place so the workflow does not need
# amending when device code arrives.
However, because the "Configure the build" step in jobs.build.steps invokes:
./configure --enable-rocm --enable-rocm-dmabuf \
--with-rocm="$ROCM_PATH"
without passing matrix.rocm_arch, won't this workflow file still need to be
amended anyway when --with-rocm-arch and device code arrive? In the meantime,
every push and pull request against master pulls the container image twice,
installs all packages twice, and runs two identical host-only builds.
In addition, does the commit message still match what this workflow actually
does? The commit message states that the job builds a matrix over gfx950 and
gfx1250 to catch microarchitecture-specific HIP compilation issues across
consecutive Instinct generations, that fail-fast is off because a failure is
likely specific to one generation, and that both targets compile in this job,
whereas the workflow currently compiles neither target architecture.
Could the workflow run a single build job until HIP kernel sources and
--with-rocm-arch support are introduced, and could the commit message be
updated to match?
[1] https://lore.kernel.org/r/20261104155023.250706-1-sbates@raithlin.com
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261104203301.1677350-1-sbates@raithlin.com?part=1
prev parent reply other threads:[~2026-11-04 20:37 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-04 20:33 [PATCH v2] perftest: add a ROCm build to CI Stephen Bates
2026-11-04 20:37 ` sashiko-bot [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=sashiko-outbox-198023@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=sbates@raithlin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox