conan-io / wishlist

This repo is to propose libraries, frameworks, and code in general that users would like to have in conan
MIT License
49 stars 5 forks source link

Intel MKL #203

Closed kylemacfarlan closed 2 years ago

kylemacfarlan commented 5 years ago

Intel Math Kernel Library (https://software.intel.com/en-us/mkl) is a library of optimized math routines, including BLAS, LAPACK, and FFTW. I don't think it can be packaged directly due to license restrictions, but it should be possible to provide a conan package that would just link to an existing install of MKL (this is what vcpkg does, I believe).

kylemacfarlan commented 5 years ago

I started some work on this here: https://github.com/kylemacfarlan/conan-mkl/tree/master

SSE4 commented 4 years ago

hi @kylemacfarlan as you already have a working recipe, would you like to try to submit it to the conan-center-index? thanks

kylemacfarlan commented 4 years ago

@SSE4 The recipe doesn't actually build anything or include any binaries (due to license restrictions)--is it still appropriate to include in conan-center-index?

danimtb commented 4 years ago

I saw the recipe and it seems it's a "proxy" like one pointing to the library installed in the system, right? I don't think this is the kind of recipes we are expecting in conan center right now, although if there is no other possibility and there is interest from the community we can consider your approach

SSE4 commented 4 years ago

@kylemacfarlan no, I would say such recipe is not very useful for consumers - many people will be surprised that recipe doesn't actually install anything, and they have to install MKL by other means. this basically renders package manager useless in this case. I wonder, how does ubuntu/debian handles this? https://packages.debian.org/sid/amd64/libmkl-dev/filelist

kylemacfarlan commented 4 years ago

Apologies for the long delay--I've been busy with paid work recently.

When I created the conan package, I was trying to mimic what vcpkg did/does (https://github.com/microsoft/vcpkg/blob/master/ports/intel-mkl/portfile.cmake). I think that was done before Intel changed the MKL license, but I could be wrong.

Regardless, I think the current MKL license does mean that we could make a real MKL package (not a proxy). There a relevant discussion here: https://github.com/intel/mkl-dnn/issues/206

Creating a package for linux should be relatively easy, as we can just grab what we need from the debian package. I'm not sure about windows and mac though.

helmesjo commented 3 years ago

Any news regarding this? :)

db4 commented 2 years ago

I've found a group of recipes https://github.com/shellshocked2003/mkl-include https://github.com/shellshocked2003/mkl-static https://github.com/shellshocked2003/mkl-shared that packages MKL using anaconda.org binaries. Looks like a way to go.

bredej commented 2 years ago

@db4 This is maybe fine for a hobby project, but I'm not sure this is the best way forward. I would prefer an official Conan package supported by Intel and it's legal team.

BTW. I have a fork of mkl-shared with a modified Conan recipe that includes the include files.

db4 commented 2 years ago

@bredej I mean creating the "official" Conan package based on anaconda.org MKL binaries. What's wrong with it and what's the alternative?

I would prefer an official Conan package supported by Intel and it's legal team.

Of course, I also do. But I doubt "Intel and its legal team" are aware of our wishes.

bredej commented 2 years ago

@db4 Do you agree that a package on Conan Center should include the binaries for supported platforms or do you suggest it should only include the recipe?

The recipe in this case downloads (binary) files from a 3rd party website. I have not been able to find the files hosted on anaconda.org on Intel's web site.

The Intel Simplified Software License states: You may use and redistribute the software (the "Software"), without modification ... Is it a modification to repackage the software into a Conan package?

What happens when a new version is released and it is not available on anaconda.org?

kylemacfarlan commented 2 years ago

FYI I opened a new issue for this in the conan-center-index repo here: https://github.com/conan-io/conan-center-index/issues/6801.

db4 commented 2 years ago

The Intel Simplified Software License states: You may use and redistribute the software (the "Software"), without modification ... Is it a modification to repackage the software into a Conan package?

Of course not. Otherwise, one won't be able to redistribute Intel DLLs with his/her application (even without taking into account the fact that well credible anaconda.org has already repackaged them)

What happens when a new version is released and it is not available on anaconda.org?

We'll wait until it's available.

db4 commented 2 years ago

@db4 Do you agree that a package on Conan Center should include the binaries for supported platforms or do you suggest it should only include the recipe?

Ah sorry, initially missed that question. Of course, Conan Center will host binary packages for supported platforms as it does for all other recipes. Why should this recipe be an exception?

Croydon commented 2 years ago

Can be closed in favor of https://github.com/conan-io/conan-center-index/issues/6801