GNU bug report logs - #55948
[PATCH 0/2] gnu: Update rocm to 5.1.3.

Previous Next

Package: guix-patches;

Reported by: John Kehayias <john.kehayias <at> protonmail.com>

Date: Mon, 13 Jun 2022 17:24:02 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 55948 in the body.
You can then email your comments to 55948 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#55948; Package guix-patches. (Mon, 13 Jun 2022 17:24:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to John Kehayias <john.kehayias <at> protonmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Mon, 13 Jun 2022 17:24:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: John Kehayias <john.kehayias <at> protonmail.com>
To: Guix-patches <guix-patches <at> gnu.org>
Subject: [PATCH 0/2] gnu: Update rocm to 5.1.3.
Date: Mon, 13 Jun 2022 17:23:28 +0000
Hi Guixers,

Incoming are two patches to update the rocm packages (AMD's OpenCL stuff) to the latest version. With this I can use OpenCL in Darktable with my current gen GPU (note: I'm not on linux-libre, which likely impacts what cards can be used).

I tested that everything builds and darktable-cltest reports successful output, as well as rocminfo. E.g. running

./pre-inst-env guix shell rocm-opencl-runtime rocm-device-libs opencl-icd-loader darktable -- darktable-cltest

A few quick notes on these patches. Most of this was discussed on IRC recently, but for the record:

1. llvm-for-rocm: The first patch updates this to use llvm-14, which is what the current rocm version is based on.

2. rocm: All of the packages are updated in one commit as they share a version number and there some interdependencies.

3. rocclr: This is no longer meant as a standalone package: cmake will output a warning and there is no install to be done. It is meant to be included in packages that use it. I've made a plain origin for the rocclr source that is needed (see rocm-opencl-runtime that uses it) and renamed the old version to rocclr-4 since that will still build/install in case it is of use.

This is the commit that changed the build behavior, active since v4.5 at least: https://github.com/ROCm-Developer-Tools/ROCclr/commit/df1449608e92c9e42b4ce5799e6eb51934ae7d4a

4. Relatedly, both Arch and Gentoo build rocclr before building rocm-opencl-runtime, but this doesn't seem to do anything. Unfortunately the rocm readmes are unclear/not up to date on exactly what is needed. From my testing, just setting a configure flag to point to the rocclr source is all that is needed.

The Arch and Gentoo recipes are here:

https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=rocm-opencl-runtime

https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.0.2.ebuild

We can do the same thing by adding in this phase for rocm-opencl-runtime. I did not see any change in the final output and everything (with Darktable) seemed fine without it. It will take a little longer to build as it does build rocclr explicitly. Anyway, in case it is of use to anyone, here is the code

          (add-before 'configure 'configure-rocclr
            (lambda* (#:key inputs #:allow-other-keys)
              (invoke "cmake" (string-append "-DAMD_OPENCL_PATH="
                                             #$(package-source this-package))
                      "-B build-rocclr" "-S" #$rocclr-src)
              (invoke "make" "-C" "build-rocclr")))

Okay, that's it! Overall is mostly updating hashes and some patches, other than the rocclr notes above. I hope I got the (long) commit message correct on the second patch. The changes work well for me locally.

Thanks!
John




Information forwarded to guix-patches <at> gnu.org:
bug#55948; Package guix-patches. (Mon, 13 Jun 2022 17:27:01 GMT) Full text and rfc822 format available.

Message #8 received at 55948 <at> debbugs.gnu.org (full text, mbox):

From: John Kehayias <john.kehayias <at> protonmail.com>
To: "55948 <at> debbugs.gnu.org" <55948 <at> debbugs.gnu.org>
Subject: [PATCH 1/2] gnu: Update llvm-for-rocm to 5.1.3.
Date: Mon, 13 Jun 2022 17:25:54 +0000
[Message part 1 (text/plain, inline)]
Empty Message
[0001-gnu-Update-llvm-for-rocm-Update-to-5.1.3.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#55948; Package guix-patches. (Mon, 13 Jun 2022 17:27:02 GMT) Full text and rfc822 format available.

Message #11 received at 55948 <at> debbugs.gnu.org (full text, mbox):

From: John Kehayias <john.kehayias <at> protonmail.com>
To: "55948 <at> debbugs.gnu.org" <55948 <at> debbugs.gnu.org>
Subject: [PATCH 2/2] gnu: rocm: Update to 5.1.3.
Date: Mon, 13 Jun 2022 17:26:35 +0000
[Message part 1 (text/plain, inline)]
Empty Message
[0002-gnu-rocm-Update-to-5.1.3.patch (text/x-patch, attachment)]

Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Thu, 16 Jun 2022 11:36:02 GMT) Full text and rfc822 format available.

Notification sent to John Kehayias <john.kehayias <at> protonmail.com>:
bug acknowledged by developer. (Thu, 16 Jun 2022 11:36:02 GMT) Full text and rfc822 format available.

Message #16 received at 55948-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: John Kehayias <john.kehayias <at> protonmail.com>
Cc: 55948-done <at> debbugs.gnu.org
Subject: Re: bug#55948: [PATCH 0/2] gnu: Update rocm to 5.1.3.
Date: Thu, 16 Jun 2022 13:35:49 +0200
Hello John,

Pushed!

  67c30ff8ad gnu: rocm: Update to 5.1.3.
  25809f5a40 gnu: Update llvm-for-rocm: Update to 5.1.3.

John Kehayias <john.kehayias <at> protonmail.com> skribis:

> Okay, that's it! Overall is mostly updating hashes and some patches, other than the rocclr notes above. I hope I got the (long) commit message correct on the second patch. The changes work well for me locally.

Thanks for the explanations, it’s great to know the context and things
you addressed.

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#55948; Package guix-patches. (Thu, 16 Jun 2022 12:05:01 GMT) Full text and rfc822 format available.

Message #19 received at 55948 <at> debbugs.gnu.org (full text, mbox):

From: Lars-Dominik Braun <lars <at> 6xq.net>
To: 55948 <at> debbugs.gnu.org, ludo <at> gnu.org, john.kehayias <at> protonmail.com
Subject: Re: bug#55948: [PATCH 0/2] gnu: Update rocm to 5.1.3.
Date: Thu, 16 Jun 2022 14:04:08 +0200
[Message part 1 (text/plain, inline)]
Hi Ludo,

> Pushed!
aw, I’m too late. I was going to propose the attached changes.

Lars

[rocm.patch (text/plain, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#55948; Package guix-patches. (Thu, 16 Jun 2022 12:18:02 GMT) Full text and rfc822 format available.

Message #22 received at 55948 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Lars-Dominik Braun <lars <at> 6xq.net>
Cc: john.kehayias <at> protonmail.com, 55948 <at> debbugs.gnu.org
Subject: Re: bug#55948: [PATCH 0/2] gnu: Update rocm to 5.1.3.
Date: Thu, 16 Jun 2022 14:17:37 +0200
Hi,

Lars-Dominik Braun <lars <at> 6xq.net> skribis:

>> Pushed!
> aw, I’m too late. I was going to propose the attached changes.

Oh sorry; it’s never too late though.

> diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
> index 7b197bb67b..f5d3eac588 100644
> --- a/gnu/packages/llvm.scm
> +++ b/gnu/packages/llvm.scm
> @@ -1127,14 +1127,9 @@ (define-public llvm-for-rocm
>                 (search-patches "llvm-roc-5.0.0-linkdl.patch"
>                                 "llvm-roc-4.0.0-remove-isystem-usr-include.patch"))))
>      (arguments
> -     (substitute-keyword-arguments (package-arguments llvm-12)
> -       ((#:phases phases '%standard-phases)
> -        `(modify-phases ,phases
> -           (add-after 'unpack 'chdir
> -             (lambda _
> -               (chdir "llvm")))))
> +     (substitute-keyword-arguments (package-arguments llvm-14)
>         ((#:configure-flags flags)
> -        ''("-DLLVM_ENABLE_PROJECTS=llvm;clang;lld"
> +        #~(list"-DLLVM_ENABLE_PROJECTS=llvm;clang;lld"
>             "-DLLVM_TARGETS_TO_BUILD=AMDGPU;X86"
>             "-DCMAKE_SKIP_BUILD_RPATH=FALSE"
>             "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"

John, WDYT?

> -(define-public rocclr-4
> -  (package
> -    (name "rocclr-4")
> -    (version "4.3.0")

Fine with me; John?

Lars, feel free to push these if John agrees.

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#55948; Package guix-patches. (Thu, 16 Jun 2022 15:44:02 GMT) Full text and rfc822 format available.

Message #25 received at 55948 <at> debbugs.gnu.org (full text, mbox):

From: John Kehayias <john.kehayias <at> protonmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 55948 <at> debbugs.gnu.org, Lars-Dominik Braun <lars <at> 6xq.net>
Subject: Re: bug#55948: [PATCH 0/2] gnu: Update rocm to 5.1.3.
Date: Thu, 16 Jun 2022 15:43:38 +0000
Hi Ludo’ and Lars,

Thanks for the review and assistance (Lars and I discussed this on IRC a few days ago).

------- Original Message -------
On Thursday, June 16th, 2022 at 8:17 AM, Ludovic Courtès <ludo <at> gnu.org> wrote:

> > diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
> > index 7b197bb67b..f5d3eac588 100644
> > --- a/gnu/packages/llvm.scm
> > +++ b/gnu/packages/llvm.scm
> > @@ -1127,14 +1127,9 @@ (define-public llvm-for-rocm
> > (search-patches "llvm-roc-5.0.0-linkdl.patch"
> > "llvm-roc-4.0.0-remove-isystem-usr-include.patch"))))
> > (arguments
> > - (substitute-keyword-arguments (package-arguments llvm-12)
> > - ((#:phases phases '%standard-phases)
> > - `(modify-phases ,phases
> > - (add-after 'unpack 'chdir
> > - (lambda _
> > - (chdir "llvm")))))
> > + (substitute-keyword-arguments (package-arguments llvm-14)
> > ((#:configure-flags flags)
> > - ''("-DLLVM_ENABLE_PROJECTS=llvm;clang;lld"
> > + #~(list"-DLLVM_ENABLE_PROJECTS=llvm;clang;lld"
> > "-DLLVM_TARGETS_TO_BUILD=AMDGPU;X86"
> > "-DCMAKE_SKIP_BUILD_RPATH=FALSE"
> > "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"
>
>
> John, WDYT?
>

Fine with me! (I'm assuming Lars had built this version locally as this just seems like a clean up and better inheritance structure.)

> > -(define-public rocclr-4
> > - (package
> > - (name "rocclr-4")
> > - (version "4.3.0")
>
> Fine with me; John?
>

Likewise! For some context, Lars and I had discussed on IRC about ROCm dropping support in later v4 (and now v5) for hardware he uses. Unfortunately, figuring out what is supported or works in this space is very difficult as they cater to more workstation setups. We have time machine and guix past at least, though maybe we can keep older versions explicitly. Since Lars might be one of the few (only?) that uses the older ROCm, I left it to him. rocclr v4 is probably not useful on its own, so I'm fine with dropping it.

> Lars, feel free to push these if John agrees.
>
> Ludo’.

By the way, I forgot I had to make a kernel change to use this, see https://issues.guix.gnu.org/55111 Let me try again with these patches having landed and report back on that issue directly at #55111.

Thanks everyone!
John




Information forwarded to guix-patches <at> gnu.org:
bug#55948; Package guix-patches. (Tue, 28 Jun 2022 11:23:02 GMT) Full text and rfc822 format available.

Message #28 received at 55948-done <at> debbugs.gnu.org (full text, mbox):

From: Lars-Dominik Braun <lars <at> 6xq.net>
To: John Kehayias <john.kehayias <at> protonmail.com>
Cc: Ludovic Courtès <ludo <at> gnu.org>,
 55948-done <at> debbugs.gnu.org
Subject: Re: bug#55948: [PATCH 0/2] gnu: Update rocm to 5.1.3.
Date: Tue, 28 Jun 2022 13:22:16 +0200
Hi,

thanks for having a look. Pushed as:

453b0670a6 gnu: llvm-for-rocm: Inherit from llvm-14
b7c99f2b88 gnu: rocclr-4: Remove package.

Cheers,
Lars





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 26 Jul 2022 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 272 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.