-
Notifications
You must be signed in to change notification settings - Fork 562
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add FFTW builder #53
Add FFTW builder #53
Conversation
|
At some point it would be good to use (Note that enabling instructions like these is safe, if the compiler supports them, because FFTW checks at runtime which instructions are supported by the CPU and disables any unsupported code.) |
Do the recent changes to build GMP and MPFR better also help with AVX 512? @staticfloat Should we try to use the AVX512 now, or enable in a future build? |
We can request newer versions of GCC very easily within BB now, so compiler support should not be an issue. The question is whether or not FFTW is polymorphic on CPUID or unconditionally uses AVX512; if the former, there's no problem, but if the latter, we do not yet have a seamless way for Julia to decide to use one artifact over another based on CPU capabiltiies. |
I'm going to build tarballs for this version; then enable AVX512 and inspect it to figure out what it does. |
FFTW is polymorphic on CPUID. (See here for how it detects AVX512: https://github.com/FFTW/fftw3/blob/c5c85fe618a93bf6e41489bb65b6bf4e27224ff1/simd-support/avx512.c#L34-L62) |
Fantastic. I'll enable everything then. |
AVX512 is failing when building for MacOS due to FFTW/fftw3#153 Switching over to |
Does that not affect FreeBSD, or are we using GCC there too? |
It is a problem with |
I also need to sneak |
@stevengj you can use this as your new |
(I seem to recall that gcc produced faster code for FFTW anyway, when I checked it a few weeks ago. However, if you have an AVX-512 machine you can test FFTW/fftw3#177.) |
@staticfloat, why was |
The version itself is used to build the versions of the JLL package, and Pkg itself doesn't take kindly to releases with build numbers or prerelease tags. It's a defect that we're going to need to fix in 1.4, but for now I'm doing my best not to trigger it. |
Should FFTW.jl point to the binaries produced here (unless it is already done)? |
@ViralBShah, already done (JuliaMath/FFTW.jl#105) and tagged (JuliaRegistries/General#3297). |
Fix #5
I copied the build_tarballs.jl from the FFTW Builder repo.