gnu: Add eigen-benchmarks.
* gnu/packages/algebra.scm (eigen-benchmarks): New variable.
This commit is contained in:
parent
6756c64a8f
commit
6542e5713a
1 changed files with 38 additions and 0 deletions
|
@ -1044,6 +1044,44 @@ (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 "c++" "-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 (list boost 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"))
|
||||
|
|
Loading…
Reference in a new issue