[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#52283] [PATCH 04/10] gnu: Add eigen-benchmarks.
From: |
Ludovic Courtès |
Subject: |
[bug#52283] [PATCH 04/10] gnu: Add eigen-benchmarks. |
Date: |
Sat, 4 Dec 2021 21:49:18 +0100 |
* gnu/packages/algebra.scm (eigen-benchmarks): 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 b704d98dde..a782f8b1be 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1074,6 +1074,45 @@ (define-public eigen
;; See 'COPYING.README' for details.
(license license:mpl2.0)))
+(define-public eigen-benchmarks
+ (package
+ (inherit eigen)
+ (name "eigen-benchmarks")
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
+ (define (compile file)
+ (format #t "compiling '~a'...~%" file)
+ (let ((target
+ (string-append bin "/"
+ (basename file ".cpp"))))
+ (invoke "g++" "-o" target file
+ "-I" ".." "-O2" "-g"
+ "-lopenblas" "-Wl,--as-needed")))
+
+ (mkdir-p bin)
+ (with-directory-excursion "bench"
+ ;; There are more benchmarks, of varying quality.
+ ;; Here we pick some that appear to be useful.
+ (for-each compile
+ '("benchBlasGemm.cpp"
+ "benchCholesky.cpp"
+ ;;"benchEigenSolver.cpp"
+ "benchFFT.cpp"
+ "benchmark-blocking-sizes.cpp"))))))
+ (delete 'install))))
+ (inputs `(("boost" ,boost)
+ ("openblas" ,openblas)))
+
+ ;; Mark as tunable to take advantage of SIMD code in Eigen.
+ (properties '((tunable? . #t)))
+
+ (synopsis "Micro-benchmarks of the Eigen linear algebra library")))
+
(define-public eigen-for-tensorflow
(let ((changeset "fd6845384b86")
(revision "1"))
--
2.33.0
- [bug#52283] [PATCH 02/10] transformations: Add '--tune'., (continued)
- [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, 2021/12/04
[bug#52283] [PATCH 04/10] gnu: Add eigen-benchmarks.,
Ludovic Courtès <=
[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