summary refs log tree commit diff
path: root/gnu/packages/opencl.scm
diff options
context:
space:
mode:
authorLars-Dominik Braun <lars@6xq.net>2021-08-11 09:48:01 +0200
committerLars-Dominik Braun <lars@6xq.net>2021-08-27 20:50:55 +0200
commit2c6c1f8d91cbe6fc43162f1ca8f5e4cfc8bd07e7 (patch)
treea8c4acec94dca7ad35d55b543ac714faaf5f4fe4 /gnu/packages/opencl.scm
parentd8c63f8771242bf8954445a4850539686cae500e (diff)
downloadguix-2c6c1f8d91cbe6fc43162f1ca8f5e4cfc8bd07e7.tar.gz
gnu: Add opencl-icd-loader.
* gnu/packages/opencl.scm (opencl-icd-loader): New variable.
Diffstat (limited to 'gnu/packages/opencl.scm')
-rw-r--r--gnu/packages/opencl.scm37
1 files changed, 37 insertions, 0 deletions
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")