mirror of
https://codeberg.org/guix/guix.git
synced 2026-01-25 03:55:08 -06:00
gnu: Add umf.
* gnu/packages/oneapi.scm (umf): New variable. Change-Id: I6a569bc31bfd90a29ad6bd62a498ebf8e61bd81d
This commit is contained in:
parent
680433373d
commit
6b2ceb00a7
1 changed files with 53 additions and 0 deletions
|
|
@ -20,8 +20,10 @@
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages check)
|
#:use-module (gnu packages check)
|
||||||
#:use-module (gnu packages cpp)
|
#:use-module (gnu packages cpp)
|
||||||
|
#:use-module (gnu packages linux)
|
||||||
#:use-module (gnu packages llvm)
|
#:use-module (gnu packages llvm)
|
||||||
#:use-module (gnu packages logging)
|
#:use-module (gnu packages logging)
|
||||||
|
#:use-module (gnu packages mpi)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
#:use-module (gnu packages swig)
|
#:use-module (gnu packages swig)
|
||||||
|
|
@ -254,3 +256,54 @@ eliminate tedious threading implementation work. It provides parallel loop
|
||||||
constructs, asynchronous tasks, synchronization primitives, atomic operations,
|
constructs, asynchronous tasks, synchronization primitives, atomic operations,
|
||||||
and more. @code{python-onetbb} enables threading composability between two or
|
and more. @code{python-onetbb} enables threading composability between two or
|
||||||
more thread-enabled Python libraries.")))
|
more thread-enabled Python libraries.")))
|
||||||
|
|
||||||
|
(define-public umf
|
||||||
|
(package
|
||||||
|
(name "umf")
|
||||||
|
(version "1.0.3")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/oneapi-src/unified-memory-framework/")
|
||||||
|
(commit (string-append "v" version))))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"16svxs1damgv29fcksw7538lyvrfa33b5ziwn7sjf85d2z091flg"))))
|
||||||
|
(build-system cmake-build-system)
|
||||||
|
(arguments
|
||||||
|
(list
|
||||||
|
#:tests? #f ;errors with "function not implemented"
|
||||||
|
#:configure-flags
|
||||||
|
#~(list "-DUMF_BUILD_CUDA_PROVIDER=OFF"
|
||||||
|
"-DUMF_BUILD_EXAMPLES=OFF")
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(add-before 'check 'set-ld-library-path
|
||||||
|
(lambda _
|
||||||
|
(for-each
|
||||||
|
(lambda (f)
|
||||||
|
(delete-file (format #f "test/~a" f)))
|
||||||
|
'("test_memspace_highest_capacity"
|
||||||
|
"test_memtarget"))
|
||||||
|
(setenv "LD_LIBRARY_PATH"
|
||||||
|
(string-append #$(this-package-input "onetbb")
|
||||||
|
"/lib"))))
|
||||||
|
(add-after 'unpack 'fix-googletest
|
||||||
|
(lambda _
|
||||||
|
(substitute* "test/CMakeLists.txt"
|
||||||
|
(("FetchContent_MakeAvailable\\(googletest\\)")
|
||||||
|
"find_package(GTest REQUIRED)")))))))
|
||||||
|
(inputs
|
||||||
|
(list `(,hwloc "lib") level-zero numactl onetbb))
|
||||||
|
(native-inputs
|
||||||
|
(list pkg-config python-minimal-wrapper googletest))
|
||||||
|
(home-page "https://oneapi-src.github.io/unified-memory-framework/")
|
||||||
|
(synopsis "OneAPI @acronym{UMG, Unified Memory Framework}")
|
||||||
|
(description
|
||||||
|
"The UMF is a library for constructing allocators and memory pools. It
|
||||||
|
also contains broadly useful abstractions and utilities for memory
|
||||||
|
management. UMF allows users to manage multiple memory pools characterized by
|
||||||
|
different attributes, allowing certain allocation types to be isolated from
|
||||||
|
others and allocated using different hardware resources as required..")
|
||||||
|
(license license:asl2.0)))
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue