[bug#55948,0/2] gnu: Update rocm to 5.1.3.

Message ID YqscOHyKZ/XpL8ZS@noor.fritz.box
State New
Headers

Commit Message

Lars-Dominik Braun June 16, 2022, 12:04 p.m. UTC
  Hi Ludo,

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

Lars
  

Comments

Ludovic Courtès June 16, 2022, 12:17 p.m. UTC | #1
Hi,

Lars-Dominik Braun <lars@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’.
  
John Kehayias June 16, 2022, 3:43 p.m. UTC | #2
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@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
  
Lars-Dominik Braun June 28, 2022, 11:22 a.m. UTC | #3
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
  

Patch

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"
diff --git a/gnu/packages/rocm.scm b/gnu/packages/rocm.scm
index 6c1a83cc88..b85b39d783 100644
--- a/gnu/packages/rocm.scm
+++ b/gnu/packages/rocm.scm
@@ -193,51 +193,6 @@  (define rocclr-src
      (base32
       "0x1frzpz9j1s516vscbdm9g5cqirvv5w7wmq2kyljcygnci7yqar"))))
 
-(define-public rocclr-4
-  (package
-    (name "rocclr-4")
-    (version "4.3.0")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/ROCm-Developer-Tools/ROCclr.git")
-                    (commit (string-append "rocm-" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "1pm1y020zriz7zmi95w0rcpka0jrsc7wwh81sssnysi8wxk3nnfy"))))
-    (build-system cmake-build-system)
-    (arguments
-     `(#:tests? #f ; No tests.
-       #:configure-flags
-       `(,(string-append
-           "-DOPENCL_DIR="
-           (assoc-ref %build-inputs "rocm-opencl-runtime-src")))))
-    (inputs
-     `(("mesa" ,mesa)
-       ("rocm-comgr" ,rocm-comgr)
-       ("llvm" ,llvm-for-rocm)
-       ("rocm-device-libs" ,rocm-device-libs)
-       ("rocr-runtime" ,rocr-runtime)
-       ("rocm-cmake" ,rocm-cmake)
-       ;; rocclr depends on a few headers provided by rocm-opencl-runtime.
-       ("rocm-opencl-runtime-src"
-        ,(origin
-           (method git-fetch)
-           (uri (git-reference
-                 (url "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime.git")
-                 (commit (string-append "rocm-" version))))
-           (file-name (git-file-name name version))
-           (sha256
-            (base32
-             "1cglpiaj3ny1z74ssmy6j63vj92sfy4q38ix6qsga0mg3b2wvqz3"))))))
-    (home-page "https://github.com/ROCm-Developer-Tools/ROCclr")
-    (synopsis "Radeon Open Compute Common Language Runtime")
-    (description "ROCclr is a virtual device interface that compute runtimes
-interact with to different backends such as ROCr or PAL.  This abstraction
-allows runtimes to work on Windows as well as on Linux without much effort.")
-    (license license:ncsa)))
-
 (define-public rocm-opencl-runtime
   (package
     (name "rocm-opencl-runtime")