~ruther/guix-local

ea5624739855f1770c960859e73d3758a95b7282 — Ludovic Courtès 8 years ago 4b0bf99
gnu: fftw: Add "fftw-avx" optimized variant.

* gnu/packages/algebra.scm (fftw-avx): New variable.
1 files changed, 23 insertions(+), 0 deletions(-)

M gnu/packages/algebra.scm
M gnu/packages/algebra.scm => gnu/packages/algebra.scm +23 -0
@@ 589,6 589,29 @@ cosine/ sine transforms or DCT/DST).")
               (base32
                "0wsms8narnbhfsa8chdflv2j9hzspvflblnqdn7hw8x5xdzrnq1v"))))))

(define-public fftw-avx
  (package
    (inherit fftw-3.3.7)
    (name "fftw-avx")
    (arguments
     (substitute-keyword-arguments (package-arguments fftw-3.3.7)
       ((#:configure-flags flags ''())
        ;; Enable AVX & co.  See details at:
        ;; <http://fftw.org/fftw3_doc/Installation-on-Unix.html>.
        `(append '("--enable-avx" "--enable-avx2" "--enable-avx512"
                   "--enable-avx-128-fma")
                 ,flags))
       ((#:substitutable? _ #f)
        ;; To run the tests, we must have a CPU that supports all these
        ;; extensions.  Since we cannot be sure that machines in the build
        ;; farm support them, disable substitutes altogether.
        #f)
       ((#:phases _)
        ;; Since we're not providing binaries, let '-mtune=native' through.
        '%standard-phases)))
    (synopsis "Computing the discrete Fourier transform (AVX2-optimized)")
    (supported-systems '("x86_64-linux"))))

(define-public eigen
  (package
    (name "eigen")