Skip to content
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

Pkg.add("FFTW") shouldn't install MKL #133

Closed
antoine-levitt opened this issue Dec 18, 2019 · 12 comments
Closed

Pkg.add("FFTW") shouldn't install MKL #133

antoine-levitt opened this issue Dec 18, 2019 · 12 comments

Comments

@antoine-levitt
Copy link
Contributor

Since 8a9197a, ]add FFTW installs MKL. I'm not a free software absolutist, but I don't think adding such a core package (that used to be part of base) should download a non-free binary dependency. A much more practical concern is that MKL is a whopping 130mb, and my work connection sucks...

@ararslan
Copy link
Member

I definitely agree, but this is a difficult problem to address at the moment, since there is no support in the package manager for conditional dependencies.

@antoine-levitt
Copy link
Contributor Author

Given that seems to be still some time away, perhaps reverting to the previous state would be best? Even with a good connection the download still takes quite a bit of time (during which it is unclear what's happening)

@ararslan
Copy link
Member

The previous state was having MKL managed by Conda, which introduces a Python dependency. It sort of seems like there are no good options at the moment...

@antoine-levitt
Copy link
Contributor Author

I know very little about these things (and am eternally grateful to the poor souls that have to manage this) so sorry if I'm missing something, but isn't depending on python way better than depending on MKL? It's free software, it's more lightweight, it's shared by more packages, it runs on all sane platforms, and it's installed on most machines already.

@Keno
Copy link

Keno commented Dec 19, 2019

isn't depending on python way better than depending on MKL

It was using Python to install MKL

@antoine-levitt
Copy link
Contributor Author

Not by default though? It's definitely the first time I've noticed ]add FFTW downloads 130mb.

@stevengj
Copy link
Member

stevengj commented Dec 19, 2019

Previously it only installed Anaconda Python etcetera if FFTW.jl was configured to use MKL. (It installed Conda.jl unconditionally, but Conda.jl installs Anaconda lazily.) Now, because Pkg doesn't support optional dependencies, we must unconditionally download MKL_jll.

@antoine-levitt
Copy link
Contributor Author

So why not switch back to the old system until Pkg supports optional dependencies?

@xgdgsc
Copy link

xgdgsc commented Dec 21, 2019

Please revert this. You are making my life with a bad network and AMD processors very hard.

@KristofferC
Copy link
Member

The artifact system already supports "lazy artifacts" that are only downloaded when the artifact is actually used.

@giordano
Copy link
Member

With latest release of MKL_jll, v2019.0.117+2 (don't dare to install v2019.0.117+1, make sure to update the registry) the tarball of MKL_jll is not downloaded upon just installing the package, but only when doing using MKL_jll.

In the context of FFTW.jl, this means that the tarball is never downloaded unless you had set JULIA_FFTW_PROVIDER to MKL. This should effectively fix the issue, so I'm going to close the ticket.

@c42f
Copy link

c42f commented Jan 17, 2020

Thank you Mosè, that's excellent!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants