[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#52283] [PATCH 06/10] gnu: Add xtensor-benchmark.
From: |
Ludovic Courtès |
Subject: |
[bug#52283] [PATCH 06/10] gnu: Add xtensor-benchmark. |
Date: |
Sat, 4 Dec 2021 21:49:20 +0100 |
* gnu/packages/algebra.scm (xtensor-benchmark): New variable.
---
gnu/packages/algebra.scm | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index a782f8b1be..4e3f8298a2 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1200,6 +1200,46 @@ (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
+ `(("googlebenchmark" ,googlebenchmark)
+ ("xsimd" ,xsimd)
+ ,@(package-native-inputs xtensor)))
+
+ ;; Mark as tunable to take advantage of SIMD code in xsimd/xtensor.
+ (properties '((tunable? . #t)))))
+
(define-public gap
(package
(name "gap")
--
2.33.0
- [bug#52283] [PATCH 03/10] ci: Add extra jobs for tunable packages., (continued)
- [bug#52283] [PATCH 03/10] ci: Add extra jobs for tunable packages., Ludovic Courtès, 2021/12/04
- [bug#52283] [PATCH 02/10] transformations: Add '--tune'., Ludovic Courtès, 2021/12/04
- [bug#52283] [PATCH 02/10] transformations: Add '--tune'., Thiago Jung Bauermann, 2021/12/06
- [bug#52283] [PATCH 02/10] transformations: Add '--tune'., Ludovic Courtès, 2021/12/07
- [bug#52283] [PATCH 02/10] transformations: Add '--tune'., zimoun, 2021/12/07
- [bug#52283] [PATCH 02/10] transformations: Add '--tune'., Ludovic Courtès, 2021/12/07
- [bug#52283] [PATCH 02/10] transformations: Add '--tune'., zimoun, 2021/12/07
- [bug#52283] [PATCH 02/10] transformations: Add '--tune'., Ludovic Courtès, 2021/12/09
- [bug#52283] [PATCH 02/10] transformations: Add '--tune'., zimoun, 2021/12/09
- [bug#52283] [PATCH 02/10] transformations: Add '--tune'., Ludovic Courtès, 2021/12/10
[bug#52283] [PATCH 06/10] gnu: Add xtensor-benchmark.,
Ludovic Courtès <=
[bug#52283] [PATCH 04/10] gnu: Add eigen-benchmarks., Ludovic Courtès, 2021/12/04
[bug#52283] [PATCH 05/10] gnu: Add xsimd-benchmark., Ludovic Courtès, 2021/12/04
[bug#52283] [PATCH 07/10] gnu: ceres-solver: Mark as tunable., Ludovic Courtès, 2021/12/04
[bug#52283] [PATCH 08/10] gnu: Add ceres-solver-benchmarks., Ludovic Courtès, 2021/12/04
[bug#52283] [PATCH 10/10] gnu: prusa-slicer: Mark as tunable., Ludovic Courtès, 2021/12/04
[bug#52283] [PATCH 09/10] gnu: libfive: Mark as tunable., Ludovic Courtès, 2021/12/04
[bug#52283] [PATCH 00/10] Tuning packages for CPU micro-architectures, Mathieu Othacehe, 2021/12/05