[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: AMD ROCm packaging session followup notes



We've made a lot of progress this week!
I've been doing some quick testing on the RVII to try to answer
that today, and with some of the early ROCm 4 versions,
complemented with Linux 5.15 (a custom build), I'm afraid I
still needed the non-free firmware set for rocminfo to see the
GPU.  I might want to retry on top of a proper Debian Sid with
the very latest rocm userland tools when I can set that up.

That's unfortunate. Thanks for checking, Étienne.

I have some better news about the userland, at least. I'm running debian:unstable in docker on Ubuntu 20.04 (with the AMD ROCm drivers installed). I have rocRAND (and its tests) building from source and running on my Radeon VII. A script is attached. To ensure it has access to the necessary permissions from the host, sure to start the docker container with:

docker run -it --device=/dev/dri --device=/dev/kfd      \
    --security-opt seccomp=unconfined                   \
    --group-add=video                                   \
    --group-add=render                                  \
    --net host                                          \
    debian:unstable

There are some big caveats with my build script from a packaging perspective.

I'm not entirely following the FHS. It seems to be impossible with some libraries. For example, clang will implicitly add HIP to the include search paths. So, if HIP is installed to /usr, clang adds /usr/include earlier in the search list than it should be, and that causes breakage when #include_next is used in C++ standard headers. There's more info about that sort of problem in this (otherwise unrelated) FreeBSD bug: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=213217#c2

The good news is that ROCm is currently going through a project-wide reorganization of our installed file layouts (e.g. https://github.com/ROCmSoftwarePlatform/rocSOLVER/pull/351). There were some questions as to the implementation, so we've stepped back to discuss this feature more before proceeding. So, now is a particularly good time to clearly state the needs of distributions, and ensure they are considered and any issues are addressed.

If you want to try it yourself, the script should do everything needed (and run the rocRAND tests before finishing). You may need to change the DEB_HIP_ARCHITECTURES variable to run the tests on your machine. It's currently set for gfx906 (with xnack disabled). I would expect all tests to pass using gfx906 (Radeon VII) or gfx908 (MI100), gfx900 (MI25) and gfx1030 (W6800 / RX 6800 / RX 6800 XT / RX 6900 XT).

I'm from the math libraries group, so the lower part of the stack was the hard part for me. Building {roc,hip}{RAND,SPARSE,BLAS,SOLVER,FFT} should be more straightforward.

Sincerely,

Cory Bloor

Attachment: debian-rocm-install.sh
Description: application/shellscript


Reply to: