summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRomain GARBAGE <romain.garbage@inria.fr>2025-07-17 15:37:28 +0200
committerAndreas Enge <andreas@enge.fr>2025-07-24 10:52:25 +0200
commitf78626656d72b1f46c75812d1a74e3314f685a1e (patch)
tree3d55520a0b20da788bcd72bfe40625e872c9af03
parenta3cb5f185aa886c58cef9021acdeffb989ca6ff1 (diff)
gnu: cpp: Add kokkos-fft.
* gnu/packages/cpp.scm (kokkos-fft): New variable. Change-Id: Ic01fe0184442e6ed53eaf806ebbe9f9ebc8f7799 Signed-off-by: Andreas Enge <andreas@enge.fr>
-rw-r--r--gnu/packages/cpp.scm35
1 files changed, 35 insertions, 0 deletions
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 16ffed8ba1..e59f62f2be 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -46,6 +46,7 @@
;;; Copyright © 2025 Sergio Pastor Pérez <sergio.pastorperez@gmail.com>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
+;;; Copyright © 2025 Romain Garbage <romain.garbage@inria.fr>
;;; Copyright © 2024, 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
@@ -79,6 +80,7 @@
#:use-module (guix modules)
#:use-module (guix gexp)
#:use-module (gnu packages)
+ #:use-module (gnu packages algebra)
#:use-module (gnu packages assembly)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
@@ -1946,6 +1948,39 @@ hierarchies and multiple types of execution resources.")
(license license:asl2.0))) ; With LLVM exception
+(define-public kokkos-fft
+ (package
+ (name "kokkos-fft")
+ (version "0.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kokkos/kokkos-fft")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256 (base32 "0skajkzkrmlsfzrzkvspzqf6z9wqvs529cmknzhk4mhn917pykh6"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:configure-flags
+ #~(list "-DKokkosFFT_DEPENDENCY_POLICIES=INSTALLED"
+ "-DKokkosFFT_ENABLE_TESTS=ON")))
+ (inputs
+ (list kokkos
+ fftw
+ fftwf))
+ (native-inputs
+ (list googletest))
+ (home-page "https://kokkosfft.readthedocs.io/")
+ (synopsis "Shared-memory FFT for the Kokkos ecosystem")
+ (description "Kokkos-fft is an experimental FFT interface for the
+Kokkos C++ environment. It implements local interfaces between Kokkos
+and FFT libraries such as FFTW, cufft, hipfft (rocfft), and oneMKL.
+\"Local\" means not using MPI, or running within a single MPI process
+without knowing about MPI.")
+ ;; dual licensed, asl2.0 with LLVM exception
+ (license (list license:expat license:asl2.0))))
+
(define-public tweeny
(package
(name "tweeny")