ROCm progress
Dear all,
today I have worked on ROCm 3.9 and succeeded with building the
following packages:
rocm-llvm
rocm-cmake
roct-thunk-interface
rocm-device-libs
rocr-runtime
rocm-compilersupport
rocminfo
rocclr
some of them aren't in any git by now (rocclr).
There are generally two problems:
* ROCM directory
by default these packages want to be installed into some place like
/opt/rocm or /usr/lib/rocm
I contemplated to put all files into /usr/lib/rocm (similar to the
packages provided by AMD in /opt/rocm-NNN), but that gives lots
of warning/errors from lintian due to libraries being in strange
places.
Thus, I have tried now with "ROCM DIR = /usr", so that everything is
installed directly into /usr. That fixes many problems.
* AMDGPU LLVM
This has to go somewhere else, so I put it into /usr/lib/rocm/llvm
With the above two changes, the above packages do compile more or less.
There is one pecularity that the bitcode files from rocm-device-libs
would be installed into
/usr/amdgcn/bitcode
which isn't a good place, and complained by lintian. So I moved them
into /usr/lib/amdgcn/bitcode. That triggered a few changes when
compiling other packages (1 or 2) so that the bitcodes are found.
Other then this, the above packages now look reasonably clean when it
comes to where/what they install.
Concerning rocm-comgr: that should probably be renamed to some lib*
package.
Concerning rocclr: here I have just started, it needs two orig.tarballs,
and when I do the above, it installs a lot of headers with very
generic names, that might be problematic:
/usr/include/compiler/lib/*
/usr/include/device/*
/usr/include/elf/elfio/*
/usr/include/os/*
/usr/include/platform/*
/usr/include/top.hpp
..
This is most definitely not the right place.
THe default installation would go to /opt/rocm/rocclr, so we might want
to change the install prefix to /usr/rocclr ? Not sure though.
I will slowly work on the remaining packages, blas/hip/..., time
permitting.
Of course, this is all very very rough. Most copyright files are not
existing or plain copies, not to speak of lintian errors. But at least I
got that far that I could compile most of the stuff.
I did **NOT** push by now, because the ROCMDIR=/usr is a considerable
change I would like to discuss here before we continue.
The other options are to manually move libraries and headers and cmake
files after the install to /usr/* from /usr/lib/rocm - tried that for
some, but it also needs updates to the actual content of the cmake files
because they search for the libraries. So that might work but is
probably quite a lot of fiddling.
Anyway, let me know what you think!
Best regards
Norbert
--
PREINING Norbert https://www.preining.info
Accelia Inc. + IFMGA ProGuide + TU Wien + JAIST + TeX Live + Debian Dev
GPG: 0x860CDC13 fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13
Reply to: