GeezerVison is showing github.com — [Debian official packaging] How is ROCm LLVM fork still needed? · Issue #2449 · ROCm/hip
[Debian official packaging] How is ROCm LLVM fork still needed? #2449DescriptionHello,
There is a team dedicated to packaging ROCm natively in Debian.
As far as I can tell, our progress is pretty good and the lower third of the stack, up until rocr-runtime and comgr, before hipamd,
is packaged without much issue and soon to be published.
This is all working so far directly with upstream LLVM 13, without the ROCm llvm-project fork.
ROCm build system cmake is still littered with HIP_CLANG_PATH and other flags:
What is still preventing the stack from using the upstream Clang 13 and AMDGPU backend? Reacted by Joe Schoonover ActivityMaxzor commented on Dec 30, 2021 Quoting AMD fellow Cordell Bloor in https://lists.debian.org/debian-ai/2021/05/msg00034.html :
about the progress on upstreaming into LLVM. It seems that the core features required for building ROCm are now all in LLVM trunk. The main features specific to the AMD fork are [...]
- openmp offloading,
- __hip_atomic builtin functions,
- the -parallel-jobs flag,
- the option to delegate to another compiler for further CPU optimizations.
[...]
Most new development is upstreamed quickly.
I would enjoy getting an ELI5, an overview, on such above functionalities that you develop outside LLVM. I am also keen to know if a realistic, short-term perspective on being able to un-bunde the AMD-flavored LLVM from ROCm packages, exists. changed the title [-][Debian official packaging] How is ROCm Clang still needed?[/-] [+][Debian official packaging] How is ROCm LLVM fork still needed?[/+] on Dec 30, 2021Maxzor commented on Dec 30, 2021 Author show commentMore actions Maxzor commented on Dec 30, 2021 Author show commentMore actions Maxzor commented on Dec 31, 2021 Author show commentMore actions Maxzor commented on Jan 1, 2022 Good news!
The last issue that I had was related to debian:testing llvm-13 packages being not finished in testing.
I updated the repo used to answer the question of this thread
https://salsa.debian.org/maxzor/rocm-builder-experimental/-/tree/main/
ROCm compiles from what I've seen with vanilla llvm-13 on debian!
The tweaks are detailed in this thread, they sum up from memory to:
My benchmark results for rocTHRUST are:
AMD/Vanilla STL 98.54%
AMD/VANILLA Thrust 111.38%
So a rough 10% perf advantage for the AMD fork.
To be noted, 2 tests out of ~100 do not pass with vanilla LLVM.
See the directory "results" in the above "rocm-builder-experimental" repo for full details. cgmb commented on Jan 4, 2022 @yxsamliu might be able to answer your LLVM questions. Most of my knowledge of the ROCm LLVM fork comes from him. yxsamliu commented on Jan 4, 2022 openmp offloading,
@saiislam is working on upstreaming it. Do we have an ETA on it? Thanks.
__hip_atomic builtin functions,
upstreamed
the -parallel-jobs flag,
I have a Phabricator review https://reviews.llvm.org/D69582 however it is blocked on https://reviews.llvm.org/D52193.
the option to delegate to another compiler for further CPU optimizations.
will not be upstreamed since it depends on closed source code for CPU optimizations. saiislam commented on Jan 4, 2022
@ronlieb, please have a look at the query. ronlieb commented on Jan 4, 2022 We do not have an ETA for upstreaming OpenMP offloading to upstream. Rather we are in the process of upstreaming various features as they are developed, as well as older functionality. From my perspective, LLVM 13 was barely functional for AMDGPU OpenMP offloading as it was the first release to attempt to support AMDGPU OpenMP offloading( a good first step). The upcoming LLVM 14 should have increased robustness for AMDGPU OpenMP offloading. However, within AMD we have and continue to use our amd-stg-open branch of LLVM to produce a ROCm compiler product for a variety of reasons including content not yet upstreamed, and extensive qualification testing for our ROCm product. Maxzor commented on Jan 7, 2022 Author show commentMore actions ppanchad-amd commented on Apr 3, 2024 @Maxzor Can you please test with latest ROCm 6.0.2 (HIP 6.0.32831)? If resolved, please close ticket. Thanks! cgmb commented on Apr 3, 2024 I think this question has been answered. The Debian packaging for ROCm is fairly mature now, and it does not use the ROCm LLVM fork. Reacted by Silvio Traversaro
MetadataMetadataDevelopmentNo branches or pull requestsIssue actions
|