From patchwork Mon Jun 13 17:25:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: John Kehayias X-Patchwork-Id: 39954 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id A313827BBE9; Mon, 13 Jun 2022 18:27:25 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,SPF_HELO_PASS, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id A297427BBE9 for ; Mon, 13 Jun 2022 18:27:24 +0100 (BST) Received: from localhost ([::1]:32958 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0nqV-0000aZ-R1 for patchwork@mira.cbaines.net; Mon, 13 Jun 2022 13:27:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59780) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0nqA-0000Yk-Sk for guix-patches@gnu.org; Mon, 13 Jun 2022 13:27:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:38181) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o0nq9-0000dD-R0 for guix-patches@gnu.org; Mon, 13 Jun 2022 13:27:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1o0nq9-0001i7-Od for guix-patches@gnu.org; Mon, 13 Jun 2022 13:27:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55948] [PATCH 1/2] gnu: Update llvm-for-rocm to 5.1.3. References: In-Reply-To: Resent-From: John Kehayias Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 13 Jun 2022 17:27:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55948 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "55948@debbugs.gnu.org" <55948@debbugs.gnu.org> Received: via spool by 55948-submit@debbugs.gnu.org id=B55948.16551411716482 (code B ref 55948); Mon, 13 Jun 2022 17:27:01 +0000 Received: (at 55948) by debbugs.gnu.org; 13 Jun 2022 17:26:11 +0000 Received: from localhost ([127.0.0.1]:60307 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o0npL-0001gT-0q for submit@debbugs.gnu.org; Mon, 13 Jun 2022 13:26:11 -0400 Received: from mail-4316.protonmail.ch ([185.70.43.16]:54799) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o0npE-0001fj-H5 for 55948@debbugs.gnu.org; Mon, 13 Jun 2022 13:26:10 -0400 Date: Mon, 13 Jun 2022 17:25:54 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1655141157; x=1655400357; bh=j9KvPiKR5oOWlKsi0FSrRS2iO6Kd2MZv6CbdqkddlBE=; h=Date:To:From:Reply-To:Subject:Message-ID:Feedback-ID:From:To:Cc: Date:Subject:Reply-To:Feedback-ID:Message-ID; b=XPdFuDVWRO3+W2+6gbEbPr9rNSyWZ5R1hqWL3XFiOiTVe0j430PJQBRsdFpkEbxvZ kD26iGykwLCDLtzSeuQwm9ep9p2BVnprMpYuEcMXncKVyhKvSoxmrLk5NHcv13++Zs azJ36S0Yl5wq38/bovlXzmu8puoFjfczflf8EqoXTvel1ERNwRuDH8dddMRfh2ywAN yiFWTcUmWLfyRMfWGsY+pWPb8CeWgI/FtS5uFrDOgfXyFvCUuQZal3/12FZ7thSbJa oVKpwYPoxPwsfHE09iO3yvbDZTp9FMu4XUA9GjT6nfPIQDB858hqIF2mI4jIvNwEMi EyLiAfIDkTzjw== Message-ID: Feedback-ID: 7805494:user:proton MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" Reply-to: John Kehayias X-ACL-Warn: , John Kehayias via Guix-patches X-Patchwork-Original-From: John Kehayias via Guix-patches via From: John Kehayias X-getmail-retrieved-from-mailbox: Patches Empty Message From a4e57b69b4de183952a85cdb0d86c3d952b9d990 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Sun, 12 Jun 2022 17:03:40 -0400 Subject: [PATCH 1/2] gnu: Update llvm-for-rocm: Update to 5.1.3. * gnu/packages/llvm.scm (llvm-for-rocm): Update to 5.1.3, now based on llvm-14. [source]{patches}: Remove unneeded patches (add_Object and add_libraries) and add new one (linkdl). * gnu/packages/patches/llvm-roc-3.0.0-add_libraries.patch, gnu/packages/patches/llvm-roc-4.2.0-add_Object.patch: Delete files. * gnu/packages/patches/llvm-roc-5.0.0-linkdl.patch: New file. * gnu/local.mk (dist_patch_DATA): Update to match current patches. --- gnu/local.mk | 3 +-- gnu/packages/llvm.scm | 14 ++++++------ .../llvm-roc-3.0.0-add_libraries.patch | 22 ------------------- .../patches/llvm-roc-4.2.0-add_Object.patch | 13 ----------- .../patches/llvm-roc-5.0.0-linkdl.patch | 15 +++++++++++++ 5 files changed, 23 insertions(+), 44 deletions(-) delete mode 100644 gnu/packages/patches/llvm-roc-3.0.0-add_libraries.patch delete mode 100644 gnu/packages/patches/llvm-roc-4.2.0-add_Object.patch create mode 100644 gnu/packages/patches/llvm-roc-5.0.0-linkdl.patch diff --git a/gnu/local.mk b/gnu/local.mk index 03e180cc85..ddf843ab3a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1451,9 +1451,8 @@ dist_patch_DATA = \ %D%/packages/patches/llvm-9-fix-bitcast-miscompilation.patch \ %D%/packages/patches/llvm-9-fix-lpad-miscompilation.patch \ %D%/packages/patches/llvm-9-fix-scev-miscompilation.patch \ - %D%/packages/patches/llvm-roc-3.0.0-add_libraries.patch \ %D%/packages/patches/llvm-roc-4.0.0-remove-isystem-usr-include.patch \ - %D%/packages/patches/llvm-roc-4.2.0-add_Object.patch \ + %D%/packages/patches/llvm-roc-5.0.0-linkdl.patch \ %D%/packages/patches/lm-sensors-hwmon-attrs.patch \ %D%/packages/patches/lrcalc-includes.patch \ %D%/packages/patches/lsh-fix-x11-forwarding.patch \ diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 8bc9e8904c..98c4e0122d 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -23,6 +23,7 @@ ;;; Copyright © 2021, 2022 Guillaume Le Vaillant ;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2022 Greg Hogan +;;; Copyright © 2022 John Kehayias ;;; ;;; This file is part of GNU Guix. ;;; @@ -1109,10 +1110,10 @@ (define-public clang-toolchain clang-toolchain-13) (define-public llvm-for-rocm (package - ;; Actually based on LLVM 13 as of v4.3, but llvm-12 works just fine. - (inherit llvm-12) + ;; Based on LLVM 14 as of v5.0.0 + (inherit llvm-14) (name "llvm-for-rocm") - (version "4.3.0") ;this must match '%rocm-version' + (version "5.1.3") ;this must match '%rocm-version' (source (origin (method git-fetch) (uri (git-reference @@ -1121,10 +1122,9 @@ (define-public llvm-for-rocm (file-name (git-file-name name version)) (sha256 (base32 - "0p75nr1qpmy6crymdax5hm40wkimman4lnglz4x5cnbiqindya7s")) + "0j6ydfkwrxwskgnhxc3cmry42n5faqbnwf2747qgf7lz5id8h8g5")) (patches - (search-patches "llvm-roc-4.2.0-add_Object.patch" - "llvm-roc-3.0.0-add_libraries.patch" + (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) @@ -1141,7 +1141,7 @@ (define-public llvm-for-rocm "-DBUILD_SHARED_LIBS:BOOL=TRUE" "-DLLVM_VERSION_SUFFIX=")))) (properties `((hidden? . #t) - ,@(package-properties llvm-12))))) + ,@(package-properties llvm-14))))) diff --git a/gnu/packages/patches/llvm-roc-3.0.0-add_libraries.patch b/gnu/packages/patches/llvm-roc-3.0.0-add_libraries.patch deleted file mode 100644 index f6bc639f33..0000000000 --- a/gnu/packages/patches/llvm-roc-3.0.0-add_libraries.patch +++ /dev/null @@ -1,22 +0,0 @@ -Taken from https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-devel/llvm-roc/files - -diff -Naur a/clang/lib/Basic/CMakeLists.txt b/clang/lib/Basic/CMakeLists.txt ---- a/clang/lib/Basic/CMakeLists.txt 2019-12-28 07:42:49.119055933 +0100 -+++ b/clang/lib/Basic/CMakeLists.txt 2019-12-28 07:42:13.265056070 +0100 -@@ -2,6 +2,7 @@ - Core - MC - Support -+ Option - ) - - find_first_existing_vc_file("${LLVM_MAIN_SRC_DIR}" llvm_vc) -diff -Naur a/clang/lib/Driver/CMakeLists.txt b/clang/lib/Driver/CMakeLists.txt ---- a/clang/lib/Driver/CMakeLists.txt 2019-12-28 07:41:39.521056199 +0100 -+++ b/clang/lib/Driver/CMakeLists.txt 2019-12-28 07:40:23.998056487 +0100 -@@ -79,4 +79,5 @@ - LINK_LIBS - clangBasic - ${system_libs} -+ pthread - ) diff --git a/gnu/packages/patches/llvm-roc-4.2.0-add_Object.patch b/gnu/packages/patches/llvm-roc-4.2.0-add_Object.patch deleted file mode 100644 index f1762a558b..0000000000 --- a/gnu/packages/patches/llvm-roc-4.2.0-add_Object.patch +++ /dev/null @@ -1,13 +0,0 @@ -Taken from https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-devel/llvm-roc/files - -diff --color -uprN orig/lib/Target/AMDGPU/Disassembler/CMakeLists.txt llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt ---- a/llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt 2021-06-14 11:57:54.222796911 +0800 -+++ b/llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt 2021-06-14 11:58:35.206796875 +0800 -@@ -11,6 +11,7 @@ add_llvm_component_library(LLVMAMDGPUDis - MC - MCDisassembler - Support -+ Object - - ADD_TO_COMPONENT - AMDGPU diff --git a/gnu/packages/patches/llvm-roc-5.0.0-linkdl.patch b/gnu/packages/patches/llvm-roc-5.0.0-linkdl.patch new file mode 100644 index 0000000000..d6ed3aef93 --- /dev/null +++ b/gnu/packages/patches/llvm-roc-5.0.0-linkdl.patch @@ -0,0 +1,15 @@ +Taken from the Gentoo patch: +https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-devel/llvm-roc/files/llvm-roc-5.0.0-linkdl.patch + +LLVMOffloadArch should link libdl to fix undefined symbol 'dlsym' when linking + +--- a/llvm/lib/OffloadArch/offload-arch/CMakeLists.txt ++++ b/llvm/lib/OffloadArch/offload-arch/CMakeLists.txt +@@ -3,6 +3,7 @@ add_llvm_tool(offload-arch + ${CMAKE_CURRENT_SOURCE_DIR}/offload-arch.cpp + DEPENDS generated-table LLVMOffloadArch + ) ++target_link_libraries(LLVMOffloadArch PRIVATE ${CMAKE_DL_LIBS}) + target_link_libraries(offload-arch PRIVATE LLVMOffloadArch) + + if(CMAKE_HOST_UNIX) -- 2.36.1 From patchwork Mon Jun 13 17:26:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: John Kehayias X-Patchwork-Id: 39955 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 0E3B327BBE9; Mon, 13 Jun 2022 18:27:27 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,SPF_HELO_PASS, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 6397C27BBEA for ; Mon, 13 Jun 2022 18:27:25 +0100 (BST) Received: from localhost ([::1]:32970 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0nqW-0000b0-Fv for patchwork@mira.cbaines.net; Mon, 13 Jun 2022 13:27:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59776) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0nqA-0000Yi-R8 for guix-patches@gnu.org; Mon, 13 Jun 2022 13:27:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:38182) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o0nqA-0000dE-8M for guix-patches@gnu.org; Mon, 13 Jun 2022 13:27:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1o0nqA-0001iF-5H for guix-patches@gnu.org; Mon, 13 Jun 2022 13:27:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55948] [PATCH 2/2] gnu: rocm: Update to 5.1.3. References: In-Reply-To: Resent-From: John Kehayias Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 13 Jun 2022 17:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55948 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "55948@debbugs.gnu.org" <55948@debbugs.gnu.org> Received: via spool by 55948-submit@debbugs.gnu.org id=B55948.16551412126556 (code B ref 55948); Mon, 13 Jun 2022 17:27:02 +0000 Received: (at 55948) by debbugs.gnu.org; 13 Jun 2022 17:26:52 +0000 Received: from localhost ([127.0.0.1]:60311 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o0npz-0001he-Ke for submit@debbugs.gnu.org; Mon, 13 Jun 2022 13:26:52 -0400 Received: from mail-4322.protonmail.ch ([185.70.43.22]:41341) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o0npx-0001hO-9w for 55948@debbugs.gnu.org; Mon, 13 Jun 2022 13:26:50 -0400 Date: Mon, 13 Jun 2022 17:26:35 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1655141202; x=1655400402; bh=U3MyyPGcJ/GZ4Deh943Y22GlpG4scpoEcqHL7dZpPLI=; h=Date:To:From:Reply-To:Subject:Message-ID:Feedback-ID:From:To:Cc: Date:Subject:Reply-To:Feedback-ID:Message-ID; b=wPLjVIDKbxlwZhS4PW7vi2DI0BPatoEpuKykm5vFzauUGoCZxbCcnm8aMbLvx33be g0CD6fVonhhOkYPBuxZ/CzERNkrpW6T1ApjJQ39qinyemH6jkWLZI05Viy/FaQqr4T eMKPmrjSJynLc5lQLv4CBB5ojMU9u/yz5Tox+UvLSkKdGsu0rK0Ctd4FWkKnqFJICM YK/EdkQ2wbnQ3Smfbo7E66yPe+oL3U5/wB/h8H4xKJFFtoeXUsbRaJOMNspZVnIn+2 PvYn4nmeqQGLKUYEHauqO3unsodKBSzGn1FahpqoU0E5cz5Aeqmn4pTBF82xi0QrtQ JPQxH3iSJtDag== Message-ID: <0Lex6E3kVY8eDx6QwUBXpTCvDjY_V_gBBkbFE253mPSFzaVeI27X0EKOlk3FyF_Qa9n3e1L5cjvt9no0LvuQmjArS2_79dE22nDUbhxxWiU=@protonmail.com> Feedback-ID: 7805494:user:proton MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" Reply-to: John Kehayias X-ACL-Warn: , John Kehayias via Guix-patches X-Patchwork-Original-From: John Kehayias via Guix-patches via From: John Kehayias X-getmail-retrieved-from-mailbox: Patches Empty Message From ea4977f27d1758d7affb3e954edd6c77f4851981 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Mon, 13 Jun 2022 11:36:23 -0400 Subject: [PATCH 2/2] gnu: rocm: Update to 5.1.3. All packages updated at the same time as they have a shared version. rocclr is no longer a stand-alone package, so the previous version is kept as rocclr-4 and the current version is just the source, rocclr-src, needed by rocm-opencl-runtime. * gnu/packages/patches/rocm-opencl-runtime-3.10.0-includes.patch, gnu/packages/patches/rocm-opencl-runtime-4.3-nocltrace.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Remove them. * gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch, gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch, gnu/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch: Update patches. * gnu/packages/rocm.scm (rocm-cmake, rocm-device-libs, rocm-comgr, roct-thunk-interface, rocr-runtime, rocm-opencl-runtime, rocminfo, rocm-bandwidth-test): Update to 5.1.3. (roct-thunk-interface)[inputs]: Add libdrm. [native-inputs]: Add gcc:lib and pkg-config. (rocclr-src): New variable. (rocclr-4): New variable (previous version of the package). (rocm-opencl-runtime)[source]: Remove obsolete patches. [arguments]: Rewrite with gexps. Add needed #:configure-flags. [inputs]: Remove rocclr, add numactl. --- gnu/local.mk | 2 - .../rocm-comgr-3.1.0-dependencies.patch | 11 ++- .../rocm-opencl-runtime-3.10.0-includes.patch | 14 --- .../rocm-opencl-runtime-4.3-noclinfo.patch | 29 +++--- .../rocm-opencl-runtime-4.3-nocltrace.patch | 25 ----- .../rocm-opencl-runtime-4.3-noopencl.patch | 65 +++++++------ gnu/packages/rocm.scm | 95 +++++++++++-------- 7 files changed, 115 insertions(+), 126 deletions(-) delete mode 100644 gnu/packages/patches/rocm-opencl-runtime-3.10.0-includes.patch delete mode 100644 gnu/packages/patches/rocm-opencl-runtime-4.3-nocltrace.patch diff --git a/gnu/local.mk b/gnu/local.mk index ddf843ab3a..c8a24e3ef3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1758,9 +1758,7 @@ dist_patch_DATA = \ %D%/packages/patches/rnp-disable-ruby-rnp-tests.patch \ %D%/packages/patches/rnp-unbundle-googletest.patch \ %D%/packages/patches/rocm-comgr-3.1.0-dependencies.patch \ - %D%/packages/patches/rocm-opencl-runtime-3.10.0-includes.patch \ %D%/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch \ - %D%/packages/patches/rocm-opencl-runtime-4.3-nocltrace.patch \ %D%/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch \ %D%/packages/patches/ruby-mustache-1.1.1-fix-race-condition-tests.patch \ %D%/packages/patches/ruby-sanitize-system-libxml.patch \ diff --git a/gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch b/gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch index c91d273f92..fc2c74718a 100644 --- a/gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch +++ b/gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch @@ -11,11 +11,11 @@ Without these additional required dependencies, linking fails with errors such a CMakeLists.txt | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1794a07..c7b852a 100644 +diff --git a/lib/comgr/CMakeLists.txt b/lib/comgr/CMakeLists.txt +index 8b5ca2f..a7d226f 100644 --- a/lib/comgr/CMakeLists.txt +++ b/lib/comgr/CMakeLists.txt -@@ -207,7 +207,11 @@ install(FILES +@@ -294,7 +294,11 @@ install(FILES DESTINATION "${AMD_COMGR_PACKAGE_PREFIX}") set(CLANG_LIBS @@ -28,7 +28,7 @@ index 1794a07..c7b852a 100644 set(LLD_LIBS lldELF -@@ -218,8 +222,20 @@ if (LLVM_LINK_LLVM_DYLIB) +@@ -305,8 +309,21 @@ if (LLVM_LINK_LLVM_DYLIB) else() llvm_map_components_to_libnames(LLVM_LIBS ${LLVM_TARGETS_TO_BUILD} @@ -46,7 +46,8 @@ index 1794a07..c7b852a 100644 + IRReader + CodeGen + Linker ++ Demangle + BinaryFormat) endif() - target_link_libraries(amd_comgr + target_link_options(amd_comgr diff --git a/gnu/packages/patches/rocm-opencl-runtime-3.10.0-includes.patch b/gnu/packages/patches/rocm-opencl-runtime-3.10.0-includes.patch deleted file mode 100644 index d81bb0747f..0000000000 --- a/gnu/packages/patches/rocm-opencl-runtime-3.10.0-includes.patch +++ /dev/null @@ -1,14 +0,0 @@ -Add missing include dirs for ROCclr. - ---- a/amdocl/CMakeLists.txt 2020-12-05 22:05:55.838529158 +0100 -+++ b/amdocl/CMakeLists.txt 2020-12-05 22:07:35.677524507 +0100 -@@ -23,6 +23,9 @@ - include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos) - include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos/headers) - include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos/headers/opencl2.2) -+include_directories(${ROCclr_DIR}/../../../include) -+include_directories(${ROCclr_DIR}/../../../include/compiler/lib/include/) -+include_directories(${ROCclr_DIR}/../../../include/elf/) - - if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR - (CMAKE_${COMPILER}_COMPILER_ID MATCHES "Clang")) diff --git a/gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch b/gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch index 5709e0d19a..97376fd421 100644 --- a/gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch +++ b/gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch @@ -4,25 +4,26 @@ diff --git a/CMakeLists.txt.orig b/CMakeLists.txt index 76847d3..3f62bfe 100644 --- a/CMakeLists.txt.orig +++ b/CMakeLists.txt -@@ -72,7 +72,7 @@ find_package(ROCclr REQUIRED CONFIG +@@ -15,9 +15,9 @@ option(FILE_REORG_BACKWARD_COMPATIBILITY "Enable File Reorganization backward co - add_subdirectory(khronos/icd) + + set(OPENCL_ICD_LOADER_HEADERS_DIR "${CMAKE_CURRENT_LIST_DIR}/khronos/headers/opencl2.2" CACHE PATH "") + #add_subdirectory(khronos/icd) add_subdirectory(amdocl) -add_subdirectory(tools/clinfo) +#add_subdirectory(tools/clinfo) add_subdirectory(tools/cltrace) if(BUILD_TESTS) add_subdirectory(tests/ocltst) -@@ -108,9 +108,9 @@ endif() - ###--- Packaging ------------------------------------------------------------### +diff --git a/packaging/CMakeLists.txt b/packaging/CMakeLists.txt +index 48353eb..cd1e7c1 100644 +--- a/packaging/CMakeLists.txt ++++ b/packaging/CMakeLists.txt +@@ -5,6 +5,6 @@ set(CPACK_COMPONENTS_ALL binary dev icd) + set(CPACK_DEB_COMPONENT_INSTALL ON) + set(CPACK_RPM_COMPONENT_INSTALL ON) - # MAIN package --install(PROGRAMS $ -- DESTINATION bin -- COMPONENT MAIN) -+#install(PROGRAMS $ -+# DESTINATION bin -+# COMPONENT MAIN) - install(PROGRAMS $ - DESTINATION lib - COMPONENT MAIN) +-install(TARGETS clinfo DESTINATION bin COMPONENT binary) ++#install(TARGETS clinfo DESTINATION bin COMPONENT binary) + install(TARGETS amdocl DESTINATION lib COMPONENT binary) + install(FILES ${CMAKE_SOURCE_DIR}/LICENSE.txt DESTINATION share/doc/${CMAKE_PROJECT_NAME} COMPONENT binary) diff --git a/gnu/packages/patches/rocm-opencl-runtime-4.3-nocltrace.patch b/gnu/packages/patches/rocm-opencl-runtime-4.3-nocltrace.patch deleted file mode 100644 index e0328d7734..0000000000 --- a/gnu/packages/patches/rocm-opencl-runtime-4.3-nocltrace.patch +++ /dev/null @@ -1,25 +0,0 @@ -Do not build and install cltrace. - -diff --git a/CMakeLists.txt.orig b/CMakeLists.txt -index c449db4..9cff673 100644 ---- a/CMakeLists.txt.orig -+++ b/CMakeLists.txt -@@ -73,7 +73,7 @@ find_package(ROCclr REQUIRED CONFIG - #add_subdirectory(khronos/icd) - add_subdirectory(amdocl) - #add_subdirectory(tools/clinfo) --add_subdirectory(tools/cltrace) -+#add_subdirectory(tools/cltrace) - if(BUILD_TESTS) - add_subdirectory(tests/ocltst) - endif() -@@ -108,9 +108,6 @@ endif() - #install(PROGRAMS $ - # DESTINATION bin - # COMPONENT MAIN) --install(PROGRAMS $ -- DESTINATION lib -- COMPONENT MAIN) - install(PROGRAMS $ - DESTINATION lib - COMPONENT MAIN) diff --git a/gnu/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch b/gnu/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch index ed20f02503..9f80d7da9d 100644 --- a/gnu/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch +++ b/gnu/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch @@ -2,36 +2,21 @@ Do not build and install libOpenCL. --- b/CMakeLists.txt +++ b/CMakeLists.txt -@@ -70,7 +70,7 @@ - ${ROCclr_DIR} - ${LIBROCclr_STATIC_DIR}) +@@ -15,9 +15,9 @@ option(FILE_REORG_BACKWARD_COMPATIBILITY "Enable File Reorganization backward co + + set(OPENCL_ICD_LOADER_HEADERS_DIR "${CMAKE_CURRENT_LIST_DIR}/khronos/headers/opencl2.2" CACHE PATH "") -add_subdirectory(khronos/icd) +#add_subdirectory(khronos/icd) add_subdirectory(amdocl) - #add_subdirectory(tools/clinfo) + add_subdirectory(tools/clinfo) add_subdirectory(tools/cltrace) -@@ -93,9 +93,6 @@ - OUTPUT_VARIABLE OPENCL_VERSION_GITDATE - OUTPUT_STRIP_TRAILING_WHITESPACE) + if(BUILD_TESTS) + add_subdirectory(tests/ocltst) +@@ -25,16 +25,6 @@ endif() + + ###--- Packaging ------------------------------------------------------------### --get_target_property(OPENCL_LIB_VERSION_MAJOR OpenCL SOVERSION) --get_target_property(OPENCL_LIB_VERSION_STRING OpenCL VERSION) -- - find_package(ROCM QUIET CONFIG PATHS /opt/rocm) - - if(ROCM_FOUND) -@@ -117,25 +114,6 @@ - install(PROGRAMS $ - DESTINATION lib - COMPONENT MAIN) --install(PROGRAMS $ -- DESTINATION lib -- COMPONENT MAIN) --install(PROGRAMS $ -- DESTINATION lib -- COMPONENT MAIN) -- -# DEV package -install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/khronos/headers/opencl2.2/CL" - DESTINATION include @@ -41,15 +26,26 @@ Do not build and install libOpenCL. - PATTERN cl_d3d11.h EXCLUDE - PATTERN cl_dx9_media_sharing.h EXCLUDE - PATTERN cl_egl.h EXCLUDE) --install(PROGRAMS $ -- DESTINATION lib -- COMPONENT DEV) - +- ############################# # Packaging steps + ############################# +@@ -53,8 +43,8 @@ if (DEFINED ROCM_PATCH_VERSION) + set(OPENCL_AMD_ICD_FILE "amdocl64_${ROCM_PATCH_VERSION}.icd") + endif() + +-get_target_property(OPENCL_LIB_VERSION_MAJOR OpenCL SOVERSION) +-get_target_property(OPENCL_LIB_VERSION_STRING OpenCL VERSION) ++#get_target_property(OPENCL_LIB_VERSION_MAJOR OpenCL SOVERSION) ++#get_target_property(OPENCL_LIB_VERSION_STRING OpenCL VERSION) + + #Set Package Version + set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION}) +diff --git a/khronos/icd/CMakeLists.txt b/khronos/icd/CMakeLists.txt +index 4bafa86..987dd6f 100644 --- a/khronos/icd/CMakeLists.txt 2020-06-07 16:05:32.425022904 +0200 +++ b/khronos/icd/CMakeLists.txt 2020-06-07 16:06:03.273022786 +0200 -@@ -132,7 +132,7 @@ +@@ -132,7 +132,7 @@ if (BUILD_TESTING) add_subdirectory (test) endif() @@ -61,3 +57,14 @@ Do not build and install libOpenCL. +# RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +# ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} +# LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) +diff --git a/packaging/CMakeLists.txt b/packaging/CMakeLists.txt +index 48353eb..cd1e7c1 100644 +--- a/packaging/CMakeLists.txt ++++ b/packaging/CMakeLists.txt +@@ -17,5 +17,5 @@ install(DIRECTORY ${CMAKE_SOURCE_DIR}/khronos/headers/opencl2.2/CL + PATTERN cl_dx9_media_sharing.h EXCLUDE + PATTERN cl_egl.h EXCLUDE ) + +-install(TARGETS OpenCL DESTINATION lib COMPONENT icd ) ++#install(TARGETS OpenCL DESTINATION lib COMPONENT icd ) + install(FILES ${CMAKE_SOURCE_DIR}/khronos/icd/LICENSE DESTINATION share/doc/rocm-ocl-icd COMPONENT icd) diff --git a/gnu/packages/rocm.scm b/gnu/packages/rocm.scm index 2ccc6d3251..6c1a83cc88 100644 --- a/gnu/packages/rocm.scm +++ b/gnu/packages/rocm.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021 Lars-Dominik Braun +;;; Copyright © 2022 John Kehayias ;;; ;;; This program is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by @@ -18,21 +19,25 @@ (define-module (gnu packages rocm) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix utils) #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (gnu packages) #:use-module (gnu packages elf) + #:use-module (gnu packages gcc) #:use-module (gnu packages gl) #:use-module (gnu packages linux) #:use-module (gnu packages llvm) #:use-module (gnu packages opencl) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages version-control) - #:use-module (gnu packages vim)) + #:use-module (gnu packages vim) + #:use-module (gnu packages xdisorg)) ;; The components are tightly integrated and can only be upgraded as a unit. If ;; you want to upgrade ROCm, bump this version number and update hashes below. -(define %rocm-version "4.3.0") +(define %rocm-version "5.1.3") (define-public rocm-cmake (package @@ -46,7 +51,7 @@ (define-public rocm-cmake (file-name (git-file-name name version)) (sha256 (base32 - "0sic2zxmzl2pb2865vvq55mbpcr8pby8v19pjdlm08pypqw5h6h6")))) + "1bn3l04qnc1ls9abs15s1sgsrwmkfk0g8jgdjqshrcr3ab8ffcpf")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; Tests try to use git commit (native-inputs (list git)) @@ -68,7 +73,7 @@ (define-public rocm-device-libs (file-name (git-file-name name version)) (sha256 (base32 - "1f8xsylfajpxqjk6ayjnrry53y8b0a6lh9d72pd41nffxfyzvw3w")))) + "07vkrxxc49i72r0lcl6dap0qcw1bignsw920rj4h1mac3bwa8q4j")))) (build-system cmake-build-system) (arguments `(#:configure-flags @@ -93,7 +98,7 @@ (define-public rocm-comgr (file-name (git-file-name name version)) (sha256 (base32 - "0bakbm7shr0l67lph44b5cnc9psd6rivg1mp79qizaawkn380x60")) + "1achb3216cbm7x2d05xj7j7ivn24y11q2d2p5whw3v4ykgfqql6f")) (patches (search-patches "rocm-comgr-3.1.0-dependencies.patch")))) (build-system cmake-build-system) @@ -125,10 +130,11 @@ (define-public roct-thunk-interface (file-name (git-file-name name version)) (sha256 (base32 - "0ffqhrrscmcydfqf61dk58d7nnxk6n2k68jhqfj7a4hvhlphb74f")))) + "0k5bchq1jhgraqrhj9q47b45n33wnd2ipwrrj39q51jzxmyyzxj2")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; Not sure how to run tests. - (inputs (list numactl)) + (inputs (list libdrm numactl)) + (native-inputs (list `(,gcc "lib") pkg-config)) (home-page "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface") (synopsis "Radeon Open Compute Thunk Interface") (description "User-mode API interfaces used to interact with the ROCk @@ -147,7 +153,7 @@ (define-public rocr-runtime (file-name (git-file-name name version)) (sha256 (base32 - "0jqfqf5ymwlbpac065bhigmkgsk7mbyimdgvca7ymn38wpf80ka7")))) + "1j1cy64w13plgsy20mir4xm6x4xnwkyil3g03xnda6ynhd7bkhv7")))) (build-system cmake-build-system) (arguments `(#:configure-flags @@ -174,10 +180,23 @@ (define-public rocr-runtime applications to launch compute kernels to available HSA ROCm kernel agents.") (license license:ncsa))) -(define-public rocclr +;; This is the source only for ROCclr as from v4.5 it should only be built as +;; part of a client. A warning is output if attempting to build stand-alone +;; and there is no install. The previous version is kept as rocclr-4. +(define rocclr-src + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ROCm-Developer-Tools/ROCclr.git") + (commit (string-append "rocm-" %rocm-version)))) + (sha256 + (base32 + "0x1frzpz9j1s516vscbdm9g5cqirvv5w7wmq2kyljcygnci7yqar")))) + +(define-public rocclr-4 (package - (name "rocclr") - (version %rocm-version) + (name "rocclr-4") + (version "4.3.0") (source (origin (method git-fetch) (uri (git-reference @@ -232,39 +251,41 @@ (define-public rocm-opencl-runtime (file-name (git-file-name name version)) (sha256 (base32 - "1cglpiaj3ny1z74ssmy6j63vj92sfy4q38ix6qsga0mg3b2wvqz3")) + "1rirvc8h0ahicw1vw4js4jq5gw25x47gmg3gczmyz97c72wvgfiv")) (patches (search-patches - "rocm-opencl-runtime-3.10.0-includes.patch" ;; Do not install libOpenCL, which ocl-icd provides. "rocm-opencl-runtime-4.3-noopencl.patch" ;; Guix includes a program clinfo already. - "rocm-opencl-runtime-4.3-noclinfo.patch" - ;; cltrace linking fails, remove it. - "rocm-opencl-runtime-4.3-nocltrace.patch")))) + "rocm-opencl-runtime-4.3-noclinfo.patch")))) (build-system cmake-build-system) (arguments - `(#:tests? #f ; Not sure how to run them. - #:phases - (modify-phases %standard-phases - (add-after 'install 'create-icd - ;; Manually install ICD, which simply consists of dumping - ;; the path of the .so into the correct file. - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (vendors (string-append out "/etc/OpenCL/vendors")) - (sopath (string-append out "/lib/libamdocl64.so"))) - (mkdir-p vendors) - (with-output-to-file (string-append vendors "/amdocl64.icd") - (lambda _ (display sopath))))))))) + (list + #:tests? #f ; Not sure how to run them. + #:configure-flags + #~(list + (string-append "-DAMD_OPENCL_PATH=" #$(package-source this-package)) + ;; The ROCclr source is needed to build the runtime. + (string-append "-DROCCLR_PATH=" #$rocclr-src) + (string-append "-DROCM_PATH=" #$output)) + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'create-icd + ;; Manually install ICD, which simply consists of dumping + ;; the path of the .so into the correct file. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((vendors (string-append #$output "/etc/OpenCL/vendors")) + (sopath (string-append #$output "/lib/libamdocl64.so"))) + (mkdir-p vendors) + (with-output-to-file (string-append vendors "/amdocl64.icd") + (lambda _ (display sopath))))))))) (inputs - (list mesa - rocm-comgr - rocr-runtime - rocclr + (list glew + mesa + numactl opencl-icd-loader - glew)) - (native-inputs `()) + rocm-comgr + rocr-runtime)) (synopsis "ROCm OpenCL Runtime") (description "OpenCL 2.0 compatible language runtime, supporting offline and in-process/in-memory compilation.") @@ -282,7 +303,7 @@ (define-public rocminfo (file-name (git-file-name name version)) (sha256 (base32 - "0pcm308vwkjrwnrk507iya20mkil8j0vx699w9jk2gas4n4jvkcz")))) + "0hdfbvn55h5lk5s8vqlmri5r94vlas8v8yjxwd9d70igslk0kr67")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; No tests. @@ -314,7 +335,7 @@ (define-public rocm-bandwidth-test (file-name (git-file-name name version)) (sha256 (base32 - "0a14kwkjpiyljgzxblh031qibn6xgbxp6m12zdy1pmwb2c44jjmm")))) + "0rnn2ms68mvzpcp31dk304sfqnv352i7vb48k7rw3qjahhrjm48c")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; No tests. (inputs (list rocr-runtime)) -- 2.36.1