aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/cpp.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-12-03 23:27:31 +0100
committerLudovic Courtès <ludo@gnu.org>2022-01-01 15:23:51 +0100
commitf5873949f36e7a6b8c045e01c724c1307a9217df (patch)
tree83853529409d76fa5e990a41ee2340bc0037931a /gnu/packages/cpp.scm
parent6542e5713a38229f277021a0884cdb5bc7165575 (diff)
downloadguix-f5873949f36e7a6b8c045e01c724c1307a9217df.tar
guix-f5873949f36e7a6b8c045e01c724c1307a9217df.tar.gz
gnu: Add xsimd-benchmark.
* gnu/packages/cpp.scm (xsmimd-benchmark): New variable.
Diffstat (limited to 'gnu/packages/cpp.scm')
-rw-r--r--gnu/packages/cpp.scm23
1 files changed, 23 insertions, 0 deletions
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 123dfb8470..50c29b3389 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -324,6 +324,29 @@ operating on batches.")
library for SIMD (Single Instruction, Multiple Data) with runtime dispatch.")
(license license:asl2.0)))
+(define-public xsmimd-benchmark
+ (package
+ (inherit xsimd)
+ (name "xsimd-benchmark")
+ (arguments
+ `(#:configure-flags (list "-DBUILD_BENCHMARK=ON")
+ #:tests? #f
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'remove-march=native
+ (lambda _
+ (substitute* "benchmark/CMakeLists.txt"
+ (("-march=native") ""))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Install nothing but the executable.
+ (let ((out (assoc-ref outputs "out")))
+ (install-file "benchmark/benchmark_xsimd"
+ (string-append out "/bin"))))))))
+ (synopsis "Benchmark of the xsimd library")
+
+ ;; Mark as tunable to take advantage of SIMD code in xsimd/xtensor.
+ (properties '((tunable? . #t)))))
+
(define-public chaiscript
(package
(name "chaiscript")