-
-
Notifications
You must be signed in to change notification settings - Fork 282
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
fix: Direct users to the CUDA metapackage guides for compilation #2416
base: main
Are you sure you want to change the base?
fix: Direct users to the CUDA metapackage guides for compilation #2416
Conversation
✅ Deploy Preview for conda-forge-previews ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
cc @conda-forge/cuda for review as well as everyone who was involved in the Issue #1927 discussion: @jakirkham @pentschev @h-vetinari @vyasr @betatim @traversaro |
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.
Thanks Matthew! 🙏
Included some minor rewording suggestions below
Think we can update these to just say CUDA or conda-forge.github.io/docs/user/tipsandtricks.md Lines 139 to 157 in 3cc7737
Also think we can cut this section and link to those docs instead conda-forge.github.io/docs/maintainer/knowledge_base.md Lines 2002 to 2009 in 3cc7737
|
f53144c
to
1cf8a66
Compare
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.
Thanks Matthew! 🙏
Generally this looks reasonable
Tried to answer questions below and provide minor suggestions. Please let me know if you have any questions 🙂
Thanks @matthewfeickert for your work on this! It's greatly beneficial to the conda-forge community. And thank you to @jakirkham for the reviews and iteration. 🙇♂️ |
7b26463
to
df17beb
Compare
@@ -138,19 +138,19 @@ echo "CONDA_SUBDIR: $CONDA_SUBDIR" # Should print "CONDA_SUBDIR: osx-64" | |||
|
|||
## Installing CUDA-enabled packages like TensorFlow and PyTorch | |||
|
|||
In conda-forge, some packages are available with GPU support. These packages not only take significantly longer to compile and build, but they also result in rather large binaries that users then download. As an effort to maximize accessibility for users with lower connection and/or storage bandwidth, there is an ongoing effort to limit installing packages compiled for GPUs unnecessarily on CPU-only machines by default. This is accomplished by adding a run dependency, `__cuda`, that detects if the local machine has a GPU. However, this introduces challenges to users who may prefer to still download and use GPU-enabled packages even on a non-GPU machine. For example, login nodes on HPCs often do not have GPUs and their compute counterparts with GPUs often do not have internet access. In this case, a user can override the default setting via the environment variable `CONDA_OVERRIDE_CUDA` to install GPU packages on the login node to be used later on the compute node. At the time of writing (February 2022), we have concluded this safe default behavior is best for most of conda-forge users, with an easy override option available and documented. Please let us know if you have thoughts on or issues with this. | |||
In conda-forge, some packages are available with GPU support. These packages not only take significantly longer to compile and build, but they also result in rather large binaries that users then download. As an effort to maximize accessibility for users with lower connection and/or storage bandwidth, there is an ongoing effort to limit installing packages compiled for GPUs unnecessarily on CPU-only machines by default. This is accomplished by adding a [virtual package](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-virtual.html) run dependency, `__cuda`, that detects if the local machine has a GPU. However, this introduces challenges to users who may prefer to still download and use GPU-enabled packages even on a non-GPU machine. For example, login nodes on HPCs often do not have GPUs and their compute counterparts with GPUs often do not have internet access. In this case, a user can override the default setting via the environment variable `CONDA_OVERRIDE_CUDA` to install GPU packages on the login node to be used later on the compute node. At the time of writing (February 2022), we have concluded this safe default behavior is best for most of conda-forge users, with an easy override option available and documented. Please let us know if you have thoughts on or issues with this. |
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.
@bdice Link to virtual packages docs added here as this is the first place that __cuda
shows up.
* The current (2025-01-08) FAQ incorrectly states that compilation of CUDA code using conda-forge provided packages is not possible. Compilation support is provided through the cuda-compiler metapackage and additional cuda metapackages provide additional development and runtime dependencies. The documentation for these metapackage is currently being developed along with their evolution and currently exists as multiple user guides in the cuda feedstock. - c.f. https://github.com/conda-forge/cuda-feedstock/blob/main/recipe/README.md * This change intentionally removes nearly all specific information, not even mentioning the cuda-compiler metapackage, and instead directs readers to the user guides. Co-authored-by: jakirkham <[email protected]>
* Remove any explicit CUDA version number shown as an example to avoid recommending outdated versions. Instead, use <CUDA VERSION> for something like '11.2' and cuda<version> for something like 'cuda112', or point to the cuda-feedstock user guides. * Add link to virtual package docs. - c.f. https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-virtual.html Co-authored-by: jakirkham <[email protected]>
* In keeping with directing all CUDA build information to the cuda-feedstock user guides, remove almost all information from the CUDA builds section of the maintainer Knowledge Base and instead direct people to the maintainer guide. - c.f. https://github.com/conda-forge/cuda-feedstock/blob/main/recipe/doc/recipe_guide.md
df17beb
to
f35015a
Compare
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.
Thanks Matthew! 🙏
This is looking pretty good
Had a comment on one section below
* Remove mentions of CUDA 11.2 support for rerenders as CUDA 11.2 was dropped on 2024-04-22. Replace this information with the January 2015 supported CUDA versions of 11.8 and 12. - c.f. https://conda-forge.org/news/2024/03/06/dropping-cuda-112/ Co-authored-by: jakirkham <[email protected]>
Resolves #1927
cuda-compiler
metapackage and additionalcuda
metapackages provide additional development and runtime dependencies. The documentation for these metapackage is currently being developed along with their evolution and currently exists as multiple user guides in thecuda
feedstock.cuda-compiler
metapackage, and instead directs readers to the user guides.cuda-feedstock
user guides, remove almost all information from the CUDA builds section of the maintainer Knowledge Base and instead direct people to the user guides.<CUDA VERSION>
for something like11.8
andcuda<version>
for something likecuda118
, or point to thecuda-feedstock
user guides.PR Checklist:
docs/
orcommunity/
, you have added it to the sidebar in the corresponding_sidebar.json
fileAmends PRs:
Relevant renders of this PR: