me
/
guix
Archived
1
0
Fork 0

gnu: Add kokkos.

* gnu/packages/cpp.scm (kokkos): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Paul A. Patience 2023-10-13 12:35:37 +00:00 committed by Ludovic Courtès
parent 4fbfe6c4ce
commit 50b82ea44e
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 52 additions and 0 deletions

View File

@ -83,6 +83,7 @@
#:use-module (gnu packages crypto) #:use-module (gnu packages crypto)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages datastructures) #:use-module (gnu packages datastructures)
#:use-module (gnu packages disk)
#:use-module (gnu packages documentation) #:use-module (gnu packages documentation)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
@ -95,6 +96,7 @@
#:use-module (gnu packages llvm) #:use-module (gnu packages llvm)
#:use-module (gnu packages logging) #:use-module (gnu packages logging)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages onc-rpc) #:use-module (gnu packages onc-rpc)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages python) #:use-module (gnu packages python)
@ -1062,6 +1064,56 @@ development of concurrent and multithreaded applications in C++.")
programs.") programs.")
(license license:expat))) (license license:expat)))
(define-public kokkos
(package
(name "kokkos")
(version "4.1.00")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kokkos/kokkos")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "15kjpa54ssrrbid9h2nr94nh85qna5c4vq2152i4iy7gaagigy3c"))
(modules '((guix build utils)))
(snippet
;; Remove bundled googletest.
#~(delete-file-recursively "tpls/gtest"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags
;; deal.II uses only the serial backend, so do not enable the
;; others yet.
#~(list "-DBUILD_SHARED_LIBS=ON"
"-DKokkos_ENABLE_SERIAL=ON"
"-DKokkos_ENABLE_TESTS=ON"
"-DKokkos_ENABLE_EXAMPLES=ON"
"-DKokkos_ENABLE_HWLOC=ON"
"-DKokkos_ENABLE_MEMKIND=ON")
#:phases
#~(modify-phases %standard-phases
(add-after 'install-license-files 'remove-cruft
(lambda _
(delete-file
(string-append #$output "/share/doc/"
#$name "-" #$version
"/LICENSE_FILE_HEADER")))))))
(native-inputs
(list googletest python))
(inputs
(list `(,hwloc "lib") memkind))
(home-page "https://github.com/kokkos/kokkos")
(synopsis "C++ abstractions for parallel execution and data management")
(description
"Kokkos Core implements a programming model in C++ for writing performance
portable applications targeting all major HPC platforms. For that purpose it
provides abstractions for both parallel execution of code and data management.
Kokkos is designed to target complex node architectures with N-level memory
hierarchies and multiple types of execution resources.")
(license license:asl2.0))) ; With LLVM exception
(define-public tweeny (define-public tweeny
(package (package
(name "tweeny") (name "tweeny")