From ea5624739855f1770c960859e73d3758a95b7282 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 30 Jan 2018 15:35:54 +0100 Subject: 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(+) (limited to 'gnu/packages') diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 2c508b6e35..e86f8367aa 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: + ;; . + `(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") -- cgit v1.2.3