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

New modular build #7

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open

New modular build #7

wants to merge 5 commits into from

Conversation

bencherian
Copy link

Package all redistributable CUDA libraries as separate packages.
Cudatoolkit is now a metapackage that depends on these subpackages
Installation location of DLLs is changed to Library\bin on Windows.
Cudatoolkit metapackage hardlinks to expected location for numba via post-link script.

This script has only been tested on Windows. In principle, it should work for Linux and OSX as well, but testing is required. I also packaged the remaining libraries that are currently not included in cudatoolkit.(nvblas, cupti, and nvgraph). The current script does not currently dump the config dictionary YAML into the output directory...this can be added back if it is required...it's currently a bit redundant since all the individual libraries will have the same YAML dump.

Package all redistributable CUDA libraries as separate packages.
Cudatoolkit is now a metapackage that depends on these subpackages
Installation location of DLLs is changed to Library\bin on Windows.
Cudatoolkit metapackage hardlinks to expected location for numba
via post-link script.
Pin subpackages via Jinja2 template instead of explicit version.
Added nuisance files to .gitignore
@bencherian
Copy link
Author

Other thoughts:
Should the NVVM version be set to its actual version instead of the CUDA toolkit version?
Should we include the full CUDA Toolkit version in the version number?
Should we try making softlinks in the DLLs directory and only make hardlinks on failure in the post-link script?

@bencherian
Copy link
Author

Any chance on getting some feedback on this? Is there a chance this (or something like this PR) would get merged?

CUDA 9 recipe added.
Available NVVM bitcode files appear to be different.
Recipe is only tested on Windows, but should work in principle
elsewhere.
@seibert
Copy link
Collaborator

seibert commented Oct 30, 2017

Hi, sorry for the delay. We are interested in your approach, but we want to stage the changes a bit:

  • Make CUDA 7.5 and CUDA 8 packages with hard-linking of DLLs so fix the current issues we have with the deep learning toolkits on Windows.
  • Roll out a monolithic CUDA 9 toolkit package. (Very close, but we need to sort out an issue where the EULA of the toolkit doesn't seem to match the file contents)
  • Split up the CUDA 9 packages into separate libraries as you have here.

This should all happen within 2 weeks or so.

@bencherian
Copy link
Author

@seibert Thanks for the response...will the CUDA 8 packages will get split up into separate libraries as well? (I also made a version of this for CUDA 9 as well...I don't think it will pass tests with a released numba due to bitcode changes, they don't exist in the recipe I made, but feel free to use portions as you might wish.)

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

Successfully merging this pull request may close these issues.

None yet

2 participants