From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id kCnaB7WHFmHcXQAAgWs5BA (envelope-from ) for ; Fri, 13 Aug 2021 16:54:45 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id ie7MA7WHFmGWDQAA1q6Kng (envelope-from ) for ; Fri, 13 Aug 2021 14:54:45 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id AEBBBA8F1 for ; Fri, 13 Aug 2021 16:54:43 +0200 (CEST) Received: from localhost ([::1]:52014 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mEYa2-0007SQ-2D for larch@yhetil.org; Fri, 13 Aug 2021 10:54:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38054) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mEYZP-0006pA-IX for guix-patches@gnu.org; Fri, 13 Aug 2021 10:54:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:59587) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mEYZO-0004PM-A7 for guix-patches@gnu.org; Fri, 13 Aug 2021 10:54:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mEYZO-0002Ye-2z for guix-patches@gnu.org; Fri, 13 Aug 2021 10:54:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#50047] [PATCH 0/8] OpenCL updates Resent-From: Lars-Dominik Braun Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 13 Aug 2021 14:54:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 50047 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 50047@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.16288664319814 (code B ref -1); Fri, 13 Aug 2021 14:54:01 +0000 Received: (at submit) by debbugs.gnu.org; 13 Aug 2021 14:53:51 +0000 Received: from localhost ([127.0.0.1]:42900 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mEYZ9-0002YA-47 for submit@debbugs.gnu.org; Fri, 13 Aug 2021 10:53:51 -0400 Received: from lists.gnu.org ([209.51.188.17]:37786) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mEYZ2-0002Xu-U4 for submit@debbugs.gnu.org; Fri, 13 Aug 2021 10:53:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37996) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mEYYz-0006HY-AZ for guix-patches@gnu.org; Fri, 13 Aug 2021 10:53:40 -0400 Received: from mout-p-202.mailbox.org ([80.241.56.172]:9264) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256) (Exim 4.90_1) (envelope-from ) id 1mEYYu-00043y-GF for guix-patches@gnu.org; Fri, 13 Aug 2021 10:53:36 -0400 Received: from smtp2.mailbox.org (smtp2.mailbox.org [IPv6:2001:67c:2050:105:465:1:2:0]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-202.mailbox.org (Postfix) with ESMTPS id 4GmRPz6js6zQk9T for ; Fri, 13 Aug 2021 16:53:27 +0200 (CEST) X-Virus-Scanned: amavisd-new at heinlein-support.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6xq.net; s=MBO0001; t=1628866405; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ft+haIUSGjJjSRQaHttYxivWPZQeZRtYhveL7GBTHQI=; b=FLDPs0RbLo/4nwJrnt7vt10w2M+CPJA/9JYxnsGie5buQvCoIBMEQS22aRm/3r4Sd64Xa/ 7b+mw2Ubvtudh3QJ1HGzEB0xvztUqo+bT17L7h98ITD4mKxatOU+xDH+2fQrskZKX5sO6B 1PqnUGWBAdIfGpEyc2BCfTqq9j8s2wBkfIRebBKSrfCmAH1SjKoZ/d29rf4G/9EyzrQGxG QXFSjbyY6RGMjjFddslPcx1I/8hKMjTd+RjqwhywuAuxIuQvjXChKdzZ6lpseWrPADYJoR wfXnHYcpwTpAUYYV7TERnOB8ZADR5mLOmyr0SzESgh28DvunRmfYVmpyoC8Vlg== Received: from smtp2.mailbox.org ([80.241.60.241]) by spamfilter02.heinlein-hosting.de (spamfilter02.heinlein-hosting.de [80.241.56.116]) (amavisd-new, port 10030) with ESMTP id VOaQd0NC490l for ; Fri, 13 Aug 2021 16:53:20 +0200 (CEST) Date: Fri, 13 Aug 2021 16:53:19 +0200 From: Lars-Dominik Braun Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="rcHRiyhiivlKp6kG" Content-Disposition: inline Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: AEE551839 X-Rspamd-UID: 52287b Received-SPF: pass client-ip=80.241.56.172; envelope-from=lars@6xq.net; helo=mout-p-202.mailbox.org X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1628866483; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=Ft+haIUSGjJjSRQaHttYxivWPZQeZRtYhveL7GBTHQI=; b=auZTddV/PHOS+ZeyaaTVDcoOvTCZyQndfziA3/2RrDa/p2MEM0yG37aOpVI1zZcV5LqU11 e3R+7BzCLXm/KEqJ4ajV2vHJmLgGpuz6VP/tfdz5xkl7rCMl+CzB4u9FlpBLn7MSiAmHM7 C0XY7cRoJnk4pBQorURKheE5RzlknXfSzyL2cNqiF5kYSr2Cg7cX380OPYdsgtGz7Yq/Fz DddQ/FadrUlmwIpP2okXHxi47cFwj7umBRcSrgBhW3b/r0+s70gpkpCsNlNSOSaPXY8vIV f6sbYOzbr7hvhSHgWuT8He2TVOfHbbraSbubMmpuf9m/hEMCAScVS81DSrxTdg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1628866483; a=rsa-sha256; cv=none; b=iBfgMH3O/snEIg39YQSvZmBA5NfWh0+w+Hn4B8rTQW3VuChReQ9sTgTYnEhH1+OJRIur9w FkZ8XtgNgJsicekYlibriAj3omuiHvXNq+RZLObbOz94BWJlyxHiSGTsOrdAzSaErLKIlr z3aJYxFtj98caliW9icN+Vcm0qqsvNogWY5Vddo43kI1PtcfG6xBAPRdO8zztlHZtwhv3L UovbQ7am8gawK2crxxT/qaoRd46MPct0FZ4v9EuvqNVLtLMS0YME9hJz6fG7X6t9zgfCuF rGGB9FKVLrhoeds1JArDxDetAxLEKkMsPdH/mvqhf8BPDOrBWILD0upQG30djQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=6xq.net header.s=MBO0001 header.b=FLDPs0Rb; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Spam-Score: -1.31 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=6xq.net header.s=MBO0001 header.b=FLDPs0Rb; dmarc=fail reason="SPF not aligned (relaxed)" header.from=6xq.net (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: AEBBBA8F1 X-Spam-Score: -1.31 X-Migadu-Scanner: scn0.migadu.com X-TUID: BAhOocan0I7u --rcHRiyhiivlKp6kG Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi, the following series updates several packages related to OpenCL. I built and tested darktable (again), as well as example programs for python-pyopencl using pocl and rocm-opencl-runtime. Cheers, Lars Lars-Dominik Braun (8): gnu: opencl-headers: Update to 2021.06.30 and switch to CMake. gnu: opencl-clhpp: Update to 2.0.15. gnu: clinfo: Update to 3.0.21.02.21 and simplify package. gnu: Add opencl-icd-loader. gnu: ocl-icd: Replace with opencl-icd-loader. gnu: Add clpeak. gnu: python-pytools: Update to 2021.2.7. gnu: python-pyopencl: Update to 2021.2.6. gnu/packages/benchmark.scm | 29 +++++++ gnu/packages/games.scm | 2 +- gnu/packages/opencl.scm | 150 +++++++++++++++---------------------- gnu/packages/photo.scm | 5 +- gnu/packages/rocm.scm | 4 +- 5 files changed, 96 insertions(+), 94 deletions(-) -- 2.31.1 --rcHRiyhiivlKp6kG Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0001-gnu-opencl-headers-Update-to-2021.06.30-and-switch-t.patch" >From a952515fb988501d619e1795fdb1d67d8186e05c Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Wed, 11 Aug 2021 09:40:54 +0200 Subject: [PATCH 1/8] gnu: opencl-headers: Update to 2021.06.30 and switch to CMake. * gnu/packages/opencl.scm (opencl-headers)[version]: Update to 2021.06.30. [build-system]: Switch to CMake. --- gnu/packages/opencl.scm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm index e95d19db47..4535f03959 100644 --- a/gnu/packages/opencl.scm +++ b/gnu/packages/opencl.scm @@ -48,10 +48,13 @@ ;; tests that require such devices are all disabled. ;; Check https://lists.gnu.org/archive/html/guix-devel/2018-04/msg00293.html +;; If you update either of opencl-headers, opencl-clhpp or opencl-icd-loader +;; note that they are released together (lockstep) and must be updated +;; together. (define-public opencl-headers (package (name "opencl-headers") - (version "2020.12.18") + (version "2021.06.30") (source (origin (method git-fetch) @@ -60,11 +63,9 @@ (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1zslxfzvbb1mrzmsik4pjzj88ds8y3p94ry5nnrnkhv6qm4n4lw9")))) - (build-system copy-build-system) - (arguments - '(#:install-plan - '(("CL" "include/")))) ; TODO: add phase for tests + (base32 "1nrvx0x9r1nz1qpmzbgffnn9h9pn2fwcxsksf101bkpmqziq5lii")))) + (build-system cmake-build-system) + (arguments `(#:tests? #f)) ; Not enabled during build. (synopsis "The Khronos OpenCL headers") (description "This package provides the C headers by Khronos for OpenCL programming.") -- 2.31.1 --rcHRiyhiivlKp6kG Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0002-gnu-opencl-clhpp-Update-to-2.0.15.patch" >From e83ea47a648ee78d83a95840ed178934f54e582a Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Wed, 11 Aug 2021 09:41:38 +0200 Subject: [PATCH 2/8] gnu: opencl-clhpp: Update to 2.0.15. Note that this version bump removes the deprecated cl.hpp header interface. * gnu/packages/opencl.scm (opencl-clhpp): Update to 2.0.15. [#:configure-flags]: Remove prefix. --- gnu/packages/opencl.scm | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm index 4535f03959..484a766aa2 100644 --- a/gnu/packages/opencl.scm +++ b/gnu/packages/opencl.scm @@ -95,7 +95,7 @@ (define-public opencl-clhpp (package (name "opencl-clhpp") - (version "2.0.10") + (version "2.0.15") (source (origin (method git-fetch) @@ -103,21 +103,14 @@ (url "https://github.com/KhronosGroup/OpenCL-CLHPP") (commit (string-append "v" version)))) (sha256 - (base32 "0h5kpg5cl8wzfnqmv6i26aig2apv06ffm9p3rh35938n9r8rladm")) + (base32 "1wycdbvwbdn7lqdd3sby8471qg2zdisr70218ava6cfvxdsqcp83")) (file-name (git-file-name name version)))) (native-inputs `(("python" ,python-wrapper))) (propagated-inputs `(("opencl-headers" ,opencl-headers))) (arguments - `(#:configure-flags - (let ((out (assoc-ref %outputs "out"))) - (list - "-DBUILD_EXAMPLES=OFF" - "-DBUILD_TESTS=OFF" - (string-append "-DCMAKE_INSTALL_PREFIX=" - (assoc-ref %outputs "out") - "/include"))) + `(#:configure-flags (list "-DBUILD_EXAMPLES=OFF" "-DBUILD_TESTS=OFF") ;; The regression tests require a lot more dependencies. #:tests? #f)) (build-system cmake-build-system) -- 2.31.1 --rcHRiyhiivlKp6kG Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0003-gnu-clinfo-Update-to-3.0.21.02.21-and-simplify-packa.patch" >From c9ecdabd90c66c0a8b4d304510b4f648ecedfccd Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Wed, 11 Aug 2021 09:42:44 +0200 Subject: [PATCH 3/8] gnu: clinfo: Update to 3.0.21.02.21 and simplify package. * gnu/packages/opencl.scm (clinfo) [version]: Update to 3.0.21.02.21. [arguments]: Simplify #:phases by adding make arguments to #:make-flags. --- gnu/packages/opencl.scm | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm index 484a766aa2..ee88d92251 100644 --- a/gnu/packages/opencl.scm +++ b/gnu/packages/opencl.scm @@ -23,6 +23,7 @@ #:use-module (guix build-system copy) #:use-module (guix build-system python) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) @@ -160,7 +161,7 @@ Loader as provided by this package.") (define-public clinfo (package (name "clinfo") - (version "2.2.18.04.06") + (version "3.0.21.02.21") (source (origin (method git-fetch) @@ -169,26 +170,17 @@ Loader as provided by this package.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0y2q0lz5yzxy970b7w7340vp4fl25vndahsyvvrywcrn51ipgplx")))) + (base32 "1sfxp6ai83i0vwdg7b05h0k07q6873q1z1avnyksj5zmzdnxya6j")))) (build-system gnu-build-system) (native-inputs `(("opencl-headers" ,opencl-headers))) (inputs `(("ocl-icd" ,ocl-icd))) (arguments - `(#:phases - (modify-phases %standard-phases - (delete 'configure) - (replace 'build - (lambda _ - (let ((cores (number->string (parallel-job-count)))) - (setenv "CC" "gcc") - (invoke "make" "-j" cores)))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (invoke "make" "install" (string-append - "PREFIX=" - (assoc-ref outputs "out")))))) + `(#:make-flags + (list ,(string-append "CC=" (cc-for-target)) + (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases (modify-phases %standard-phases (delete 'configure)) #:tests? #f)) (home-page "https://github.com/Oblomov/clinfo") (synopsis "Print information about OpenCL platforms and devices") -- 2.31.1 --rcHRiyhiivlKp6kG Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0004-gnu-Add-opencl-icd-loader.patch" >From 464f43704be323617521d36e0ab26c6c8fe411a8 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Wed, 11 Aug 2021 09:48:01 +0200 Subject: [PATCH 4/8] gnu: Add opencl-icd-loader. * gnu/packages/opencl.scm (opencl-icd-loader): New variable. --- gnu/packages/opencl.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm index ee88d92251..e550e979e5 100644 --- a/gnu/packages/opencl.scm +++ b/gnu/packages/opencl.scm @@ -121,6 +121,43 @@ "This package provides the @dfn{host API} C++ headers for OpenCL.") (license license:expat))) +(define-public opencl-icd-loader + (package + (name "opencl-icd-loader") + (version "2021.06.30") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/KhronosGroup/OpenCL-ICD-Loader.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "007ws357n1ijrxal1bf9lwy68p0dz1sm9cfcfnnz5f88iwc9xd6m")))) + (build-system cmake-build-system) + (arguments `(#:tests? #f)) ; Tests need stub loader setup. + (native-search-paths + (list (search-path-specification + (variable "OCL_ICD_VENDORS") + (files '("etc/OpenCL/vendors"))))) + (home-page "https://github.com/KhronosGroup/OpenCL-ICD-Loader") + (inputs `(("opencl-headers" ,opencl-headers))) + (synopsis "OpenCL Installable Client Driver") + (description + "OpenCL defines an Installable Client Driver (ICD) mechanism to allow +developers to build applications against an Installable Client Driver loader +(ICD loader) rather than linking their applications against a specific OpenCL +implementation. The ICD Loader is responsible for: + +@itemize +@item Exporting OpenCL API entry points +@item Enumerating OpenCL implementations +@item Forwarding OpenCL API calls to the correct implementation +@end itemize + +This package contains the Khronos official OpenCL ICD Loader.") + (license license:asl2.0))) + (define-public ocl-icd (package (name "ocl-icd") -- 2.31.1 --rcHRiyhiivlKp6kG Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="0005-gnu-ocl-icd-Replace-with-opencl-icd-loader.patch" Content-Transfer-Encoding: 8bit >From df6cb9db6cf2e8b98220138b2c32526cbce3fb89 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Wed, 11 Aug 2021 10:17:25 +0200 Subject: [PATCH 5/8] gnu: ocl-icd: Replace with opencl-icd-loader. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ocl-icd’s project page is dead and the source code is unavailable. * gnu/packages/opencl.scm (ocl-icd): Alias to opencl-icd-loader. (clinfo)[inputs]: Use opencl-icd-loader. (beignet)[inputs]: Dito. (pocl)[inputs]: Dito. (python-pyopencl)[inputs]: Dito. * gnu/packages/games.scm (leela-zero)[inputs]: Dito. * gnu/packages/photo.scm (darktable)[inputs]: Dito. * gnu/packages/rocm.scm (rocm-opencl-runtime)[inputs]: Dito. --- gnu/packages/games.scm | 2 +- gnu/packages/opencl.scm | 44 +++++------------------------------------ gnu/packages/photo.scm | 5 +++-- gnu/packages/rocm.scm | 4 ++-- 4 files changed, 11 insertions(+), 44 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index b3a6d7bb4d..1f71c7a054 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -10184,7 +10184,7 @@ remake of that series or any other game.") `(("googletest" ,googletest))) (inputs `(("boost" ,boost) - ("ocl-icd" ,ocl-icd) + ("opencl-icd-loader" ,opencl-icd-loader) ("openblas" ,openblas) ("opencl-headers" ,opencl-headers) ("qtbase" ,qtbase-5) diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm index e550e979e5..7504d33d01 100644 --- a/gnu/packages/opencl.scm +++ b/gnu/packages/opencl.scm @@ -159,41 +159,7 @@ This package contains the Khronos official OpenCL ICD Loader.") (license license:asl2.0))) (define-public ocl-icd - (package - (name "ocl-icd") - (version "2.2.12") - (source (origin - (method url-fetch) - (uri (string-append - "https://forge.imag.fr/frs/download.php/836/ocl-icd-" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1x2dr8p4dkfds56r38av360i3nv1y3326jmshxvjngaf6mlg6rbn")) - (modules '((guix build utils))) - (snippet - '(delete-file-recursively "khronos-headers")))) - (native-inputs - `(("opencl-headers" ,opencl-headers) - ("ruby" ,ruby))) - (inputs - `(("libgcrypt" ,libgcrypt))) - (build-system gnu-build-system) - (arguments - '(#:configure-flags '("DEBUG_OCL_ICD=1"))) - (native-search-paths - (list (search-path-specification - (variable "OPENCL_VENDOR_PATH") - (files '("etc/OpenCL/vendors"))))) - (search-paths native-search-paths) - (home-page "https://forge.imag.fr/projects/ocl-icd/") - (synopsis "OpenCL loader for Installable Client Drivers (ICDs)") - (description - "OpenCL implementations are provided as ICDs (Installable Client -Drivers). An OpenCL program can use several ICDs thanks to the use of an ICD -Loader as provided by this package.") - (license license:bsd-2))) + (deprecated-package "ocl-icd" opencl-icd-loader)) (define-public clinfo (package @@ -212,7 +178,7 @@ Loader as provided by this package.") (native-inputs `(("opencl-headers" ,opencl-headers))) (inputs - `(("ocl-icd" ,ocl-icd))) + `(("opencl-icd-loader" ,opencl-icd-loader))) (arguments `(#:make-flags (list ,(string-append "CC=" (cc-for-target)) @@ -262,7 +228,7 @@ the system.") ("libxext" ,libxext) ("mesa-utils" ,mesa-utils) ("ncurses" ,ncurses) - ("ocl-icd" ,ocl-icd) + ("opencl-icd-loader" ,opencl-icd-loader) ("opencl-headers" ,opencl-headers) ("xextproto" ,xextproto) ("zlib" ,zlib))) @@ -329,7 +295,7 @@ back-end for the LLVM compiler framework.") `(("clang" ,clang) ("hwloc" ,hwloc-2 "lib") ("llvm" ,llvm) - ("ocl-icd" ,ocl-icd))) + ("opencl-icd-loader" ,opencl-icd-loader))) (arguments `(#:configure-flags (list "-DENABLE_ICD=ON" @@ -431,7 +397,7 @@ A lexer, @code{pytools.lex}. (inputs `(("opencl-headers" ,opencl-headers-1.2) ;POCL only supports OpenCL 1.2 ("pybind11" ,pybind11) - ("ocl-icd" ,ocl-icd))) ;libOpenCL + ("opencl-icd-loader" ,opencl-icd-loader))) ;libOpenCL (propagated-inputs `(("python-appdirs" ,python-appdirs) ("python-decorator" ,python-decorator) diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index bf51e6885f..9a059b728c 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -491,7 +491,8 @@ photographic equipment.") ;; Statically link to libOpenCL. (substitute* "./src/common/dlopencl.c" (("\"libOpenCL\"") - (string-append "\"" (assoc-ref inputs "ocl-icd") "/lib/libOpenCL.so\""))) + (string-append "\"" (assoc-ref inputs "opencl-icd-loader") + "/lib/libOpenCL.so\""))) #t)) ;; The use of inline is wrong and darktable cannot compile its kernels ;; with ROCm. See upstream commit @@ -580,7 +581,7 @@ photographic equipment.") ("libxml2" ,libxml2) ("libxslt" ,libxslt) ("lua" ,lua) ;optional, for plugins - ("ocl-icd" ,ocl-icd) ;optional, for OpenCL support + ("opencl-icd-loader" ,opencl-icd-loader) ;optional, for OpenCL support ("openexr" ,openexr) ;optional, for EXR import/export ("openjpeg" ,openjpeg) ;optional, for JPEG2000 export ("osm-gps-map" ,osm-gps-map) ;optional, for geotagging view diff --git a/gnu/packages/rocm.scm b/gnu/packages/rocm.scm index fe85eaa642..88dd263677 100644 --- a/gnu/packages/rocm.scm +++ b/gnu/packages/rocm.scm @@ -270,7 +270,7 @@ allows runtimes to work on Windows as well as on Linux without much effort.") (patches (search-patches "rocm-opencl-runtime-3.10.0-add-rocclr-include-directories.patch" - ;; Do not install libOpenCL, which ocl-icd provides. + ;; Do not install libOpenCL, which opencl-icd-loader provides. "rocm-opencl-runtime-4.3-noopencl.patch" ;; Guix includes a program clinfo already. "rocm-opencl-runtime-4.3-noclinfo.patch" @@ -296,7 +296,7 @@ allows runtimes to work on Windows as well as on Linux without much effort.") ("rocm-comgr" ,rocm-comgr) ("rocr-runtime" ,rocr-runtime) ("rocclr" ,rocclr) - ("ocl-icd" ,ocl-icd) + ("opencl-icd-loader" ,opencl-icd-loader) ("glew" ,glew))) (native-inputs `()) (home-page "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime") -- 2.31.1 --rcHRiyhiivlKp6kG Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0006-gnu-Add-clpeak.patch" >From 7e5c69d73e930f1cf07c0f14944d22785d1c5b51 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Wed, 11 Aug 2021 10:19:09 +0200 Subject: [PATCH 6/8] gnu: Add clpeak. * gnu/packages/benchmark.scm (clpeak): New variable. --- gnu/packages/benchmark.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm index 36465e4e7d..b8f5d7f687 100644 --- a/gnu/packages/benchmark.scm +++ b/gnu/packages/benchmark.scm @@ -41,6 +41,7 @@ #:use-module (gnu packages linux) #:use-module (gnu packages maths) #:use-module (gnu packages mpi) + #:use-module (gnu packages opencl) #:use-module (gnu packages perl) #:use-module (gnu packages python) #:use-module (gnu packages python-science) @@ -385,3 +386,31 @@ It is designed to measure the effect of changes in Linux kernel design or system configuration changes such as CPU, I/O scheduler and filesystem changes and options. With careful benchmarking, different hardware can be compared.") (license license:gpl2+))) + +(define-public clpeak + ;; Release 1.1.0 is too old for our opencl-clhpp. This commit supports + ;; cl2.hpp. + (let ((commit "6d59cb64997a53c35207b77a63d2e9f0e84de5fd")) + (package + (name "clpeak") + (version (git-version "1.1.0" "0" commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/krrishnarraj/clpeak.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0qmhdjyhwl7gfgyqxsddqn6zpp3b57503m16h7jv6illy3lfvji1")))) + (build-system cmake-build-system) + (home-page "https://github.com/krrishnarraj/clpeak") + (inputs + `(("opencl-clhpp" ,opencl-clhpp) + ("opencl-icd-loader" ,opencl-icd-loader))) + (synopsis "OpenCL benchmark tool") + (description + "A synthetic benchmarking tool to measure peak capabilities of OpenCL + devices. It only measures the peak metrics that can be achieved using + vector operations and does not represent a real-world use case.") + (license license:unlicense)))) -- 2.31.1 --rcHRiyhiivlKp6kG Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0007-gnu-python-pytools-Update-to-2021.2.7.patch" >From ca31ba4655f86fd08367889b4b4ed68558f3e7a0 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Wed, 11 Aug 2021 21:34:38 +0200 Subject: [PATCH 7/8] gnu: python-pytools: Update to 2021.2.7. * gnu/packages/opencl.scm (python-pytools)[version]: Update to 2021.2.7. [propagated-inputs]: Remove unused inputs. --- gnu/packages/opencl.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm index 7504d33d01..70d917c11f 100644 --- a/gnu/packages/opencl.scm +++ b/gnu/packages/opencl.scm @@ -327,20 +327,18 @@ pocl.") (define-public python-pytools (package (name "python-pytools") - (version "2020.4") + (version "2021.2.7") (source (origin (method url-fetch) (uri (pypi-uri "pytools" version)) (sha256 - (base32 "0q7439iy365a874ckpavx6h1mhnnngfy8nl7xj5grdd127zkknrp")))) + (base32 "1yyr4k6sqx859gjhc02633l2vxwdnj6m2f5blmf7dgq0gzzgcf05")))) (build-system python-build-system) + (arguments `(#:tests? #f)) ; Tests depend on packages not present in Guix. (propagated-inputs `(("python-appdirs" ,python-appdirs) - ("python-decorator" ,python-decorator) - ("python-numpy" ,python-numpy) - ("python-six" ,python-six) - ("python-mpi4py" ,python-mpi4py))) + ("python-numpy" ,python-numpy))) (home-page "https://pypi.org/project/pytools/") (synopsis "Assorted tools for Python") (description -- 2.31.1 --rcHRiyhiivlKp6kG Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0008-gnu-python-pyopencl-Update-to-2021.2.6.patch" >From 111578540c9415511639bfb9df1b8822e768237c Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Wed, 11 Aug 2021 21:35:58 +0200 Subject: [PATCH 8/8] gnu: python-pyopencl: Update to 2021.2.6. * gnu/packages/opencl.scm (python-pyopencl)[version]: Update to 2021.2.6. [source]: Point to new git repository. [#:phases]: Remove unused phases. [inputs]: Use unversioned opencl-headers. [propagated-inputs]: Remove unused inputs. --- gnu/packages/opencl.scm | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm index 70d917c11f..2d5ccf0105 100644 --- a/gnu/packages/opencl.scm +++ b/gnu/packages/opencl.scm @@ -364,44 +364,29 @@ A lexer, @code{pytools.lex}. (define-public python-pyopencl (package (name "python-pyopencl") - (version "2019.1.1") + (version "2021.2.6") (source (origin - ;; The tarball on PyPI lacks test programs such as - ;; 'pygpu_language_opencl.cpp' so fetch it from Git. - ;; XXX: The server at git.tiker.net is unreliable. (method git-fetch) (uri (git-reference - (url "http://git.tiker.net/trees/pyopencl.git") + (url "https://github.com/inducer/pyopencl.git") (commit (string-append "v" version)) (recursive? #t))) (file-name (git-file-name name version)) (sha256 (base32 - "12q0rs8yla571vcfpsh0mfrjbdiayv0hi8r1rq0f178m3i3qjz80")))) + "1s2cls7avxvf753zzpx422ikslaxdnm8rz58zg7mal15yak0wv2x")))) (build-system python-build-system) (arguments - '(#:phases (modify-phases %standard-phases - (add-before 'build 'set-home - (lambda _ - ;; Some of the Python build scripts expect 'HOME' to be - ;; set. - (setenv "HOME" (getcwd)) - #t))) - - ;; Tests in 'compyte/ndarray/setup_opencl.py' appear to rely on - ;; 'nvcc', which is not an option. - #:tests? #f)) + `(#:tests? #f)) ; Tests cannot find pygpu_language_opencl.cpp (inputs - `(("opencl-headers" ,opencl-headers-1.2) ;POCL only supports OpenCL 1.2 + `(("opencl-headers" ,opencl-headers) ("pybind11" ,pybind11) ("opencl-icd-loader" ,opencl-icd-loader))) ;libOpenCL (propagated-inputs `(("python-appdirs" ,python-appdirs) - ("python-decorator" ,python-decorator) ("python-numpy" ,python-numpy) ("python-pytools" ,python-pytools) - ("python-six" ,python-six) ("python-mako" ,python-mako))) (home-page "http://mathema.tician.de/software/pyopencl") (synopsis "Python wrapper for OpenCL") -- 2.31.1 --rcHRiyhiivlKp6kG--