-
-
Notifications
You must be signed in to change notification settings - Fork 5k
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
CUDA toolkit redistributability (and other restrictively licensed software) #654
Comments
Kind of off topic, but do you know anything about what it would take to package cuDNN? |
cuDNN appears to be a 3-clause BSD license. The license is behind a registration wall. It should just be a matter of repackaging whatever installer they provide. |
Whoops, never mind. It is totally restricted, no redistribution. All copyrighted. Some parts are BSD, maybe. IANAL. |
No worries. Yeah, this is why it would be good if we could talk to NVIDA. There are a lot of devs that want to use this with Caffe, but not being able to package it is a huge pain when installing Caffe in different locations. |
Suggestion re the CUDA toolkit: why not have the hypothetical conda package download/unpack the tarball directly from NVIDIA's website at installation time to avoid redistribution issues? This approach was used to enable installation of Microsoft fonts via RPM years ago without violating redistribution restrictions. |
@lebedov This is a great idea. I'm not sure it's a complete solution, because their license agreement still requires some kind of "click-through" license agreement on the consumer end. For our build/test purposes, we may be able to either put that in with a command line argument, or just pipe |
Interesting suggestion. Actually, the same idea may be possible for cuDNN. We just have to delete libraries after using them. Also, I'm a little fuzzy if it is ok to be dynamically linked to cuDNN legally (even if no other bits from the libraries are present) and, if so, how well Caffe will work when built like this when cuDNN is not present.
I'm evaluating an option of the latter form as we will likely need this for Caffe. Also, am in discussions with an NVIDIA dev on getting cuDNN in a docker image so we can use that in a couple of cases. This will include CUDA libraries too and still be on CentOS 6.
This seems like a reasonable solution. Might be good if we can run it by NVIDIA to make sure they are ok with this. |
Facilitating installation of the entire CUDA toolkit would also be valuable for conda-based installation of packages such as pycuda and pyopencl that depend upon parts of the toolkit that presumably can't be redistributed, e.g., the nvcc compiler binary. |
This docker image ( |
Here is a PR ( conda-forge/docker-images#21 ) that would add a new image with CUDA and cuDNN. This might be one way to go about this. Not sure that I'm sold on it yet, but it would be a way forward for both of these problems. I have cc'd both of you ( @msarahan and @lebedov ) on the PR. Please let me know your thoughts over there. |
This is still an interesting question and not at all resolved. That said, the discussion here has stalled out and it overlaps with discussion that has already occurred in issue ( conda-forge/conda-forge.github.io#63 ), which is a bit more visible. In an attempt to consolidate discussion a bit, will close this out. Thanks everyone. |
The binaries (and only the binaries) of the CUDA toolkit can be redistributed: http://docs.nvidia.com/cuda/eula/#redistribution-rights
However, this requires addition of an additional agreed-to license:
I think we could handle this with a pre-link script. However, it is a pretty big damper to only have redistribution rights for the binaries. It means we have to install their tools on the docker image, or use their docker image somehow? We can't package the whole of the CUDA toolkit and just use it that way.
Generally: how do we want to handle these "clickwrap" agreements?
The text was updated successfully, but these errors were encountered: