From 04c36ab34aff54ff70a4e09893e6c74b33e7d3d9 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 3 Dec 2021 23:27:47 +0100 Subject: gnu: Add xtensor-benchmark. * gnu/packages/algebra.scm (xtensor-benchmark): New variable. --- gnu/packages/algebra.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index e92ef4bf3f..c129e0f4e0 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -1169,6 +1169,45 @@ (define-public xtensor @end itemize") (license license:bsd-3))) +(define-public xtensor-benchmark + (package + (inherit xtensor) + (name "xtensor-benchmark") + (arguments + `(#:configure-flags (list "-DBUILD_BENCHMARK=ON" + "-DDOWNLOAD_GBENCHMARK=OFF") + #:tests? #f + #:phases (modify-phases %standard-phases + (add-after 'unpack 'remove-march=native + (lambda _ + (substitute* "benchmark/CMakeLists.txt" + (("-march=native") "")))) + (add-after 'unpack 'link-with-googlebenchmark + (lambda _ + (substitute* "benchmark/CMakeLists.txt" + (("find_package\\(benchmark.*" all) + (string-append + all "\n" + "set(GBENCHMARK_LIBRARIES benchmark)\n"))))) + (replace 'build + (lambda _ + (invoke "make" "benchmark_xtensor" "-j" + (number->string (parallel-job-count))))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + ;; Install nothing but the executable. + (let ((out (assoc-ref outputs "out"))) + (install-file "benchmark/benchmark_xtensor" + (string-append out "/bin")))))))) + (synopsis "Benchmarks of the xtensor library") + (native-inputs '()) + (inputs + (modify-inputs (package-native-inputs xtensor) + (prepend googlebenchmark xsimd))) + + ;; Mark as tunable to take advantage of SIMD code in xsimd/xtensor. + (properties '((tunable? . #t))))) + (define-public gap (package (name "gap") -- cgit v1.2.3