guix_mirror_bot pushed a commit to branch master
in repository guix.

commit f78626656d72b1f46c75812d1a74e3314f685a1e
Author: Romain GARBAGE <[email protected]>
AuthorDate: Thu Jul 17 15:37:28 2025 +0200

    gnu: cpp: Add kokkos-fft.
    
    * gnu/packages/cpp.scm (kokkos-fft): New variable.
    
    Change-Id: Ic01fe0184442e6ed53eaf806ebbe9f9ebc8f7799
    Signed-off-by: Andreas Enge <[email protected]>
---
 gnu/packages/cpp.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

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 <[email protected]>
 ;;; Copyright © 2025 Ashish SHUKLA <[email protected]>
 ;;; Copyright © 2025 Nicolas Graves <[email protected]>
+;;; Copyright © 2025 Romain Garbage <[email protected]>
 ;;; Copyright © 2024, 2025 Janneke Nieuwenhuizen <[email protected]>
 ;;;
 ;;; 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")

Reply via email to