guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/05: gnu: fftw: Add "fftw-avx" optimized variant.


From: Ludovic Courtès
Subject: 02/05: gnu: fftw: Add "fftw-avx" optimized variant.
Date: Tue, 30 Jan 2018 10:55:28 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit ea5624739855f1770c960859e73d3758a95b7282
Author: Ludovic Courtès <address@hidden>
Date:   Tue Jan 30 15:35:54 2018 +0100

    gnu: fftw: Add "fftw-avx" optimized variant.
    
    * gnu/packages/algebra.scm (fftw-avx): New variable.
---
 gnu/packages/algebra.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 2c508b6..e86f836 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -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")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]