-
Notifications
You must be signed in to change notification settings - Fork 55
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
mkl build error on Intel Mac #287
Comments
Fixed by downgrading to FFTW |
fine (although note the error message is different). But the problem is: this leads to a lot of hard to diagnose problems in packages that depend on FFTW when switching machines if there is any code sync. I would expect a robust default for the build process robust that doesn't require user interaction once setup. If you don't want to provide a built in way to switch to MKL then don't, and rather put a comment in the readme about how the user could do it manually. Then it is clearly on the user to sort out. At present FFTW claims to provide it and then silently lets it fail. |
Of course the error message is different, in #280 I initially misdiagnosed the problem: it wasn't that you were using MKL_jll 2024 without the x86_64 Darwin build (you had MKL_jll 2023), but that you were using IntelOpenMP_jll 2024 without x86_64 Darwin build, which means that libmkl could be loaded correctly but it couldn't find its openmp runtime. That was fixed by JuliaRegistries/General#96745 which forced MKL_jll to use a compatible version of IntelOpenMP_jll. The error you're getting now is that you can't load libmkl, because that one doesn't exist at all in MKL_jll 2024.
You're literally using platform-dependent code, which is outside of our control since MKL is a proprietary binary library built exclusively by Intel.
I mean, you're changing the default fft backend, that would work on any platform. If you're opting into using MKL maybe you should verify whether that actually exists for your platform. I'm missing what's your point. That said, #278 tries to automatically fallback on an existing backend if the user asks for a non existing one (except the current implementation would fail with MKL 2024). |
Yes, that is all true. However, I have come to expect a high standard of robustness from FFTW with respect to the interface presented to the user. If this is no longer the case, users will fall into two categories 1) those who understand the build system sufficiently to readily diagnose such issues (e.g. yourself); 2) those who are new users, or users who just want to get the most performance without knowing build details and expect that if a package provides a mechanism for install, then it should work. The latter will find this a rough edge requiring extra debugging to sort out: which MKL is the relevant one? Do I install MKL.jl? How do I know specifically 2024 is not supported without posting an issue here? Judging by #278 I would suggest that a slightly more informative entry in the FFTW.jl readme regarding MKL is needed at the least, if we are entering an era of incomplete platform coverage. |
MKL has never been available to all platforms supported by Julia, and again, you're opting into it. If you have any concerns with the availability of MKL direct them to Intel. |
errors
with
and
The text was updated successfully, but these errors were encountered: