Re: Hello from ROCm
Once you leave the ROCmSoftwarePlatform organization on GitHub, my
knowledge drops off quite a bit (especially with regards to OpenCL,
which is not used in the ROCm BLAS stack). However, I'll answer the best
I can at this point, and update you if I learn more.
I would recommend taking a look at the Spack packages
(https://github.com/spack/spack) for rocm libraries. They are currently
up-to-date with rocm-4.1.0 and I think they may implicitly answer some
of your questions.
* build order
it is not really clear in which order what should be build
I have done something like
rocm-cmake
roct-thunk-interface
rocr-runtime
rocm-llvm
rocm-devicelibs (using the rocm-llvm from above)
rocm-compilersupport (not sure whether that worked)
This is how I was building for rocm-3.9.0. There is a repository with
some of the build scripts I used (https://github.com/cgmb/rocm), though
the Spack packages are almost certainly a better reference.
* llvm-*: there are many upstream repositories and it is not
clear which of those need to be used.
At least for 3.9.0, the only one that was absolutely necessary to get
BLAS working was ROCm-Developer-Tools/llvm-project. I will have to ask
about the others, as I'm curious about this too.
Furthermore, how far has the integration into llvm upstream proceeded.
I'm pretty disconnected from that effort, but it appears to be ongoing.
I sometimes use the public LLVM documentation as a reference for looking
up AMDGPU-related flags. However, I can tell you that rocSOLVER does not
support building with the upstream LLVM compiler. We do not build or
test with it. Our expectation is that rocSOLVER for rocm-4.1.0 is built
with the copy of clang shipped with rocm-4.1.0.
Sincerely,
Cordell Bloor
On 2021-03-23 8:21 p.m., Norbert Preining wrote:
Well, I list what roadblocks I have encountered:
* build order
it is not really clear in which order what should be build
I have done something like
rocm-cmake
roct-thunk-interface
rocr-runtime
rocm-llvm
rocm-devicelibs (using the rocm-llvm from above)
rocm-compilersupport (not sure whether that worked)
* llvm-*: there are many upstream repositories and it is not
clear which of those need to be used.
Furthermore, how far has the integration into llvm upstream proceeded.
* rocclr seems to need amd opencl, and opencl needs rocclr
at least the last time I checked there seem to have been some
circular dependencies
Reply to: