Hi Ludo',

Ludovic Courtès <l...@gnu.org> writes:

> They’re currently unable to help, so my plan was to (1) finish the
> upgrade they started working on¹, and (2) polish and move all the
> packages to Guix proper.
>
> I made some progress on (1) before going on vacation but haven’t been
> able to resume since.  If anyone’s interested in ROCm/HIP, let’s work
> together on this!

I recently updated my ROCm channel [1] (which was originally forked from
the packages in the Guix-HPC channel) to version 6.4.2. It only contains
packages for one ROCm version, which I think is more suitable for Guix
proper. It also contains packages like composable-kernel and miopen,
which are required by pytorch. Maybe that would be an easier starting
point?

The supported GPU architectures are defined as a package property and
can be specified transitively with
`(@ (guix-rocm packages rocm-base) set-amdgpu-targets)` (which uses
`package-mapping`). I think your proposal for parameterized packages [2]
would be suitable to specify the architecture more conveniently using
the command line.

I'm not sure what the default architectures should be though, as the
build time for some packages (like rocblas) is already quite long for
just one architecture. Also, not all packages (like hipblaslt) support
all architectures. It might be a good idea to let CI build the packages
for each architecture separately, so that one only needs to download the
packages built for the relevant architecture. WDYT?

There are still a few bundled libraries and some parts expect the whole
installation to be in the same tree (like the CMake HIP language
support, for which ROCM_PATH needs to be set), so that would still need
to be improved.

Cheers,
David

[1] https://codeberg.org/dtelsing/Guix-ROCm
[2] https://lists.gnu.org/archive/html/guix-devel/2020-11/msg00312.html

Reply via email to