-
-
Notifications
You must be signed in to change notification settings - Fork 519
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
Add the CUDA compiler #285
Add the CUDA compiler #285
Conversation
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( I do have some suggestions for making it better though... For recipe:
|
recipe/conda_build_config.yaml
Outdated
@@ -110,6 +119,9 @@ channel_targets: | |||
|
|||
docker_image: # [linux] | |||
- condaforge/linux-anvil-comp7 # [linux64] | |||
- condaforge/linux-anvil-cuda:9.2 # [linux64] | |||
- condaforge/linux-anvil-cuda:10.0 # [linux64] | |||
- condaforge/linux-anvil-cuda:10.1 # [linux64] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Which one of these is used when cuda is not used?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be condaforge/linux-anvil-comp7
. Though probably more tweaking is needed to get that to work correctly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you try rerendering an existing recipe without cuda to see what happens?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have previously and recall there were issues, but I don't recall what they were. Are you interested in knowing exactly how it fails? If so, I can put together an example.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you interested in knowing exactly how it fails?
Yes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should add something is sorting docker_image
's values. I'm not sure if it is conda-smithy
or conda-build
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorting was added there to have stable rerenders.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah that's what I figured. Was playing with that.
Maybe we can enforce an explicit sorting order here? Though am also ok with the conda-smithy PR above (if you are too).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm okay with the conda-smithy PR, but does that work? From your previous comment, I thought it didn't work.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It does work. We might want to come up with something more robust in the long run, but it's ok for now.
0481f34
to
38628da
Compare
38628da
to
e67cc03
Compare
Now that PR ( conda-forge/conda-smithy#1176 ) has landed, am marking this as ready for review. Though it is still waiting for a conda-smithy release ( conda-forge/conda-smithy#1177 ). We also need to bump the version here. |
Do you want to do a migration for this? If so how would you like to do it? |
There’s not much stuff that would need to change. So it’s probably fine to do it manually. |
@conda-forge/core, this is ready to go! 😄 |
recipe/conda_build_config.yaml
Outdated
@@ -109,6 +121,9 @@ zip_keys: | |||
- vc # [win] | |||
- c_compiler # [win] | |||
- cxx_compiler # [win] | |||
- |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add the selector here too?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch! Yep have added it. Thanks.
14dde46
to
7919e83
Compare
Anything else? Or is this good to go? |
Thanks all! 😄 |
This needs to get a blog post and some social media things! |
Agreed! Let me run it by my team. I'm guessing they will want to get involved in review of the blogpost and amplification. |
Note: This is still a work-in-progress and still needs some changes.
This adds the CUDA compiler to conda-forge. It works by allowing users to require the CUDA compiler during their build. When this happens in a feedstock, we leveraging the conda-forge Docker images (based off of NVIDIA's Docker images), which contain the NVCC toolchain. These Docker images are selected with a version matching that of CUDA compiler requested by the user. We set the supported CUDA versions (and Docker images that match) much like we do with Python. Additionally users can also have a CPU only build, which is useful for packages that have CPU and GPU builds.
On testing this works fine for things like the ucx build, but is still a little odd for non-GPU builds. So likely needs some work to preserve the same behavior for existing feedstocks.
Checklist
0
(if the version changed)conda-smithy
(Use the phrase@conda-forge-admin, please rerender
in a comment in this PR for automated rerendering)Fixes #237