[PATCH] gnu: Add opensycl

  • Done
  • quality assurance status badge
Details
2 participants
  • Andy Tai
  • Ludovic Courtès
Owner
unassigned
Submitted by
Andy Tai
Severity
normal

Debbugs page

Andy Tai wrote 2 years ago
(address . guix-patches@gnu.org)(name . Andy Tai)(address . atai@atai.org)
fc40be1e0e53c2b35d2ffc571e196b42cb56e13b.1683790454.git.atai@atai.org
* gnu/packages/opencl.scm (opensycl): New variable
---
gnu/packages/opencl.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (58 lines)
diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm
index 85b063b136..841aea17ee 100644
--- a/gnu/packages/opencl.scm
+++ b/gnu/packages/opencl.scm
@@ -29,6 +29,7 @@ (define-module (gnu packages opencl)
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages gl)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages compression)
@@ -39,8 +40,10 @@ (define-module (gnu packages opencl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages rocm)
#:use-module (gnu packages ruby)
#:use-module (gnu packages video)
+ #:use-module (gnu packages vulkan)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg))
@@ -276,6 +279,30 @@ (define-public beignet
(supported-systems '("x86_64-linux" "i686-linux"))
(license license:lgpl2.1+)))
+(define-public opensycl
+ (package
+ (name "opensycl")
+ (version "0.9.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/OpenSYCL/OpenSYCL/"
+ "archive/refs/tags/v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1i2i7r16k2kyjp4yrjp0ywnavr8aa6pfcrwb5xp9c4n8j4qm6qk2"))))
+ (build-system cmake-build-system)
+ (native-inputs (list clang-15 llvm-15 python spirv-tools))
+ (inputs (list boost rocm-opencl-runtime spirv-headers))
+ (arguments `(#:tests? #f)) ; no tests
+ (home-page "https://github.com/OpenSYCL/OpenSYCL")
+ (synopsis "Modern SYCL implementation")
+ (description
+ "Open SYCL is a modern SYCL implementation targeting CPUs and GPUs from all
+major vendors that supports many use cases and approaches for implementing SYCL")
+ (license license:bsd-2)))
+
+
+
(define-public pocl
(package
(name "pocl")

base-commit: b4e5844700b2304bfde451322feb5797bf0c6179
--
2.39.2
Andy Tai wrote 2 years ago
[PATCH v2] gnu: Add opensycl
(address . 63439@debbugs.gnu.org)(name . Andy Tai)(address . atai@atai.org)
aa7b6f7c94de2ff1ca00754094fbb2664e47f08a.1684386694.git.atai@atai.org
* gnu/packages/sycl.scm (opensycl): New variable
---
gnu/packages/sycl.scm | 61 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)
create mode 100644 gnu/packages/sycl.scm

Toggle diff (71 lines)
diff --git a/gnu/packages/sycl.scm b/gnu/packages/sycl.scm
new file mode 100644
index 0000000000..82fb59ec82
--- /dev/null
+++ b/gnu/packages/sycl.scm
@@ -0,0 +1,61 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2023 Andy Tai <atai@atai.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages sycl)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build-system cmake)
+ #: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)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages boost)
+ #:use-module (gnu packages llvm)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages rocm)
+ #:use-module (gnu packages vulkan))
+
+;; This file adds SYCL implementation related packages. Due to the fact that
+;; SYCL devices like GPU are not available during build (store environment),
+;; tests that require such devices are all disabled.
+;; Check https://lists.gnu.org/archive/html/guix-devel/2018-04/msg00293.html
+
+(define-public opensycl
+ (package
+ (name "opensycl")
+ (version "0.9.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/OpenSYCL/OpenSYCL/"
+ "archive/refs/tags/v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1i2i7r16k2kyjp4yrjp0ywnavr8aa6pfcrwb5xp9c4n8j4qm6qk2"))))
+ (build-system cmake-build-system)
+ (native-inputs (list clang-15 llvm-15 python spirv-tools))
+ (inputs (list boost rocm-opencl-runtime spirv-headers))
+ (arguments `(#:tests? #f)) ; no tests
+ (home-page "https://github.com/OpenSYCL/OpenSYCL")
+ (synopsis "Modern SYCL implementation")
+ (description
+ "Open SYCL is a modern SYCL implementation targeting CPUs and GPUs from all
+major vendors that supports many use cases and approaches for implementing SYCL")
+ (license license:bsd-2)))

base-commit: 5b700945fb0b33eec410de8979cae2fbf0d4f118
--
2.40.1
Ludovic Courtès wrote 2 years ago
Re: bug#63439: [PATCH] gnu: Add opensycl
(name . Andy Tai)(address . atai@atai.org)(address . 63439-done@debbugs.gnu.org)
87edn8xwbw.fsf_-_@gnu.org
Hi,

Andy Tai <atai@atai.org> skribis:

Toggle quote (2 lines)
> * gnu/packages/sycl.scm (opensycl): New variable

Applied with the changes below, some suggested by ‘guix lint’.

Thanks!

Ludo’.
Toggle diff (54 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 17b07a1102..c10fb01bb3 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -593,6 +593,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/suckless.scm \
%D%/packages/sugar.scm \
%D%/packages/swig.scm \
+ %D%/packages/sycl.scm \
%D%/packages/sync.scm \
%D%/packages/syncthing.scm \
%D%/packages/synergy.scm \
diff --git a/gnu/packages/sycl.scm b/gnu/packages/sycl.scm
index 82fb59ec82..d8454cff35 100644
--- a/gnu/packages/sycl.scm
+++ b/gnu/packages/sycl.scm
@@ -17,11 +17,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages sycl)
- #:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
- #: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)
@@ -43,18 +39,20 @@ (define-public opensycl
(name "opensycl")
(version "0.9.4")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/OpenSYCL/OpenSYCL/"
- "archive/refs/tags/v" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/OpenSYCL/OpenSYCL/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1i2i7r16k2kyjp4yrjp0ywnavr8aa6pfcrwb5xp9c4n8j4qm6qk2"))))
+ "0nynb93b68ghn1i1bsjvbbxpnh5b1yiw9jhhww1q1gi7w182x2g5"))))
(build-system cmake-build-system)
(native-inputs (list clang-15 llvm-15 python spirv-tools))
(inputs (list boost rocm-opencl-runtime spirv-headers))
(arguments `(#:tests? #f)) ; no tests
(home-page "https://github.com/OpenSYCL/OpenSYCL")
- (synopsis "Modern SYCL implementation")
+ (synopsis "Implementation of the SYCL programming language for accelerators")
(description
"Open SYCL is a modern SYCL implementation targeting CPUs and GPUs from all
major vendors that supports many use cases and approaches for implementing SYCL")
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 63439@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 63439
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help