diff options
author | Ludovic Courtès <ludo@gnu.org> | 2021-12-03 23:27:47 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2021-12-16 18:15:22 +0100 |
commit | 04c36ab34aff54ff70a4e09893e6c74b33e7d3d9 (patch) | |
tree | 53cbaae22068bf949b064ac023590c14fc5c65f8 | |
parent | fabde2d066ac1d151687994d0debd0394fa34ddf (diff) | |
download | guix-04c36ab34aff54ff70a4e09893e6c74b33e7d3d9.tar.gz |
gnu: Add xtensor-benchmark.
* gnu/packages/algebra.scm (xtensor-benchmark): New variable.
-rw-r--r-- | gnu/packages/algebra.scm | 39 |
1 files changed, 39 insertions, 0 deletions
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 @@ xtensor provides: @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") |