-
-
Notifications
You must be signed in to change notification settings - Fork 274
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
conda-forge: CUDA 12 / new CUDA SDK bringup #1963
conda-forge: CUDA 12 / new CUDA SDK bringup #1963
Comments
Thanks for all the work on this, this is amazing! :) |
Yes, thank you all! I am very excited to start updating packages to work with CUDA 12 and I really like how things are done now, much easier to work with, but now it will be quite a pain to support packages with the old CUDA 10 & 11 methods and the new CUDA 12 ones. Any idea when conda-forge will drop CUDA 10 & 11 support? |
The transition to CUDA 12 SDK includes new packages for all CUDA libraries and build tools. Notably, the cudatoolkit package no longer exists, and packages should depend directly on the specific CUDA libraries (libblas, libcusolver, etc) as needed. For an in-depth overview of the changes and to report problems [see this issue]( conda-forge/conda-forge.github.io#1963 ). Please feel free to raise any issues encountered there. Thank you! 🙏
The transition to CUDA 12 SDK includes new packages for all CUDA libraries and build tools. Notably, the cudatoolkit package no longer exists, and packages should depend directly on the specific CUDA libraries (libblas, libcusolver, etc) as needed. For an in-depth overview of the changes and to report problems [see this issue]( conda-forge/conda-forge.github.io#1963 ). Please feel free to raise any issues encountered there. Thank you! 🙏
The transition to CUDA 12 SDK includes new packages for all CUDA libraries and build tools. Notably, the cudatoolkit package no longer exists, and packages should depend directly on the specific CUDA libraries (libblas, libcusolver, etc) as needed. For an in-depth overview of the changes and to report problems [see this issue]( conda-forge/conda-forge.github.io#1963 ). Please feel free to raise any issues encountered there. Thank you! 🙏
The transition to CUDA 12 SDK includes new packages for all CUDA libraries and build tools. Notably, the cudatoolkit package no longer exists, and packages should depend directly on the specific CUDA libraries (libblas, libcusolver, etc) as needed. For an in-depth overview of the changes and to report problems [see this issue]( conda-forge/conda-forge.github.io#1963 ). Please feel free to raise any issues encountered there. Thank you! 🙏
The transition to CUDA 12 SDK includes new packages for all CUDA libraries and build tools. Notably, the cudatoolkit package no longer exists, and packages should depend directly on the specific CUDA libraries (libblas, libcusolver, etc) as needed. For an in-depth overview of the changes and to report problems [see this issue]( conda-forge/conda-forge.github.io#1963 ). Please feel free to raise any issues encountered there. Thank you! 🙏
Thanks all! 🙏 We are really happy that these tools are now getting into your hands 😄
This is a good question Would be in favor of dropping CUDA 10 sooner (many feedstocks already opt-out anyways). Had started this previously ( conda-forge/conda-forge-pinning-feedstock#1708 ). Though think folks weren't ready to drop CUDA 10 yet. Maybe that has changed since. We can revisit CUDA 11 support will be probably still be around for a while (at least until more libraries and infra) have moved to CUDA 12. Maybe we can think about which CUDA 11.x versions to build for (and maybe drop some older ones?) Have tried to minimize pain like smoothing over CUDA 11 / 12 compiler differences under-the-hood ( conda-forge/conda-forge-pinning-feedstock#4407 ). We can try to simplify the conditional logic a bit ( conda-forge/conda-forge-pinning-feedstock#4534 ). Would welcome other suggestions on how we can make the CUDA 11 / 12 maintenance effort easier 🙂 |
The transition to CUDA 12 SDK includes new packages for all CUDA libraries and build tools. Notably, the cudatoolkit package no longer exists, and packages should depend directly on the specific CUDA libraries (libblas, libcusolver, etc) as needed. For an in-depth overview of the changes and to report problems [see this issue]( conda-forge/conda-forge.github.io#1963 ). Please feel free to raise any issues encountered there. Thank you! 🙏
The transition to CUDA 12 SDK includes new packages for all CUDA libraries and build tools. Notably, the cudatoolkit package no longer exists, and packages should depend directly on the specific CUDA libraries (libblas, libcusolver, etc) as needed. For an in-depth overview of the changes and to report problems [see this issue]( conda-forge/conda-forge.github.io#1963 ). Please feel free to raise any issues encountered there. Thank you! 🙏
The transition to CUDA 12 SDK includes new packages for all CUDA libraries and build tools. Notably, the cudatoolkit package no longer exists, and packages should depend directly on the specific CUDA libraries (libblas, libcusolver, etc) as needed. For an in-depth overview of the changes and to report problems [see this issue]( conda-forge/conda-forge.github.io#1963 ). Please feel free to raise any issues encountered there. Thank you! 🙏
The transition to CUDA 12 SDK includes new packages for all CUDA libraries and build tools. Notably, the cudatoolkit package no longer exists, and packages should depend directly on the specific CUDA libraries (libblas, libcusolver, etc) as needed. For an in-depth overview of the changes and to report problems [see this issue]( conda-forge/conda-forge.github.io#1963 ). Please feel free to raise any issues encountered there. Thank you! 🙏
Issue: Many packages use the environment variable |
The transition to CUDA 12 SDK includes new packages for all CUDA libraries and build tools. Notably, the cudatoolkit package no longer exists, and packages should depend directly on the specific CUDA libraries (libcublas, libcusolver, etc) as needed. For an in-depth overview of the changes and to report problems [see this issue]( conda-forge/conda-forge.github.io#1963 ). Please feel free to raise any issues encountered there. Thank you! 🙏
* Build 8.0 beta * MNT: Re-rendered with conda-build 3.21.9, conda-smithy 3.21.0, and conda-forge-pinning 2022.07.06.01.52.02 * Use newer glibc * Updated linux version * MNT: Re-rendered with conda-build 3.21.9, conda-smithy 3.21.0, and conda-forge-pinning 2022.07.06.01.52.02 * Updated beta for 8.0 * MNT: Re-rendered with conda-build 3.22.0, conda-smithy 3.21.1, and conda-forge-pinning 2022.09.13.19.09.01 * Try not packaging tests * Updated beta for 8.0 * [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration CondaForgeAutomergeUpdate * [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration DotConda * Release candidate for 8.0 (#95) * Release candidate for 8.0 * MNT: Re-rendered with conda-build 3.23.3, conda-smithy 3.22.1, and conda-forge-pinning 2023.01.07.12.45.19 * python 3.11 migration Co-authored-by: conda-forge-webservices[bot] <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com> * Updated revision for release candidate (#98) * Second release candidate of 8.0 (#99) * Build 8.1 beta (#111) * [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration CondaForgeAutomergeUpdate * [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration DotConda * Build 8.0.0 release (#100) * Build 8.0 beta * MNT: Re-rendered with conda-build 3.21.9, conda-smithy 3.21.0, and conda-forge-pinning 2022.07.06.01.52.02 * Use newer glibc * Updated linux version * MNT: Re-rendered with conda-build 3.21.9, conda-smithy 3.21.0, and conda-forge-pinning 2022.07.06.01.52.02 * Updated beta for 8.0 * MNT: Re-rendered with conda-build 3.22.0, conda-smithy 3.21.1, and conda-forge-pinning 2022.09.13.19.09.01 * Try not packaging tests * Updated beta for 8.0 * [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration CondaForgeAutomergeUpdate * [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration DotConda * Release candidate for 8.0 (#95) * Release candidate for 8.0 * MNT: Re-rendered with conda-build 3.23.3, conda-smithy 3.22.1, and conda-forge-pinning 2023.01.07.12.45.19 * python 3.11 migration Co-authored-by: conda-forge-webservices[bot] <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com> * Updated revision for release candidate (#98) * Second release candidate of 8.0 (#99) * Build 8.0.0 release * MNT: Re-rendered with conda-build 3.23.3, conda-smithy 3.22.1, and conda-forge-pinning 2023.01.26.16.59.55 * Removed inappropriate checks for github release * Removed checks that require a GPU * Remove more tests that prevent builds from completing * Another attempt at trying to make it happy with the batch file syntax --------- Co-authored-by: conda-forge-webservices[bot] <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Co-authored-by: conda-forge-curator[bot] <79913779+conda-forge-curator[bot]@users.noreply.github.com> Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com> * Trigger CI * Rebuild for cuda for ppc64le and aarch64 * MNT: Re-rendered with conda-build 3.24.0, conda-smithy 3.23.1, and conda-forge-pinning 2023.04.14.07.22.14 * Update conda-forge.yml * MNT: Re-rendered with conda-build 3.24.0, conda-smithy 3.23.1, and conda-forge-pinning 2023.04.23.10.35.24 * Rebuild for CUDA 12 w/arch support (#108) * Rebuild for CUDA 12 * MNT: Re-rendered with conda-build 3.25.0, conda-smithy 3.23.1, and conda-forge-pinning 2023.05.31.22.15.24 * See if this fixes the missing target CMake Error at platforms/cuda/sharedTarget/CMakeLists.txt:16 (TARGET_LINK_LIBRARIES): Target "OpenMMCUDA" links to: CUDA::cufft but the target was not found. Possible reasons include: * I think I need to only add this to cuda 12 builds * Add missing header file * Update recipe/meta.yaml Co-authored-by: jakirkham <jakirkham@gmail.com> * Add `cuda_compiler_version or ""` workaround * added cuda-nvrtc-dev as dep * added cuda-driver-dev * moved some deps into host * add cuda-driver-dev as a testing dep * move dep outside of if block * Update recipe/meta.yaml Co-authored-by: jakirkham <jakirkham@gmail.com> * MNT: Re-rendered with conda-build 3.25.0, conda-smithy 3.24.1, and conda-forge-pinning 2023.07.25.19.20.13 * added cuda-compat * Rebuild for CUDA 12 w/arch support The transition to CUDA 12 SDK includes new packages for all CUDA libraries and build tools. Notably, the cudatoolkit package no longer exists, and packages should depend directly on the specific CUDA libraries (libcublas, libcusolver, etc) as needed. For an in-depth overview of the changes and to report problems [see this issue]( conda-forge/conda-forge.github.io#1963 ). Please feel free to raise any issues encountered there. Thank you! 🙏 * MNT: Re-rendered with conda-build 3.26.1, conda-smithy 3.24.1, and conda-forge-pinning 2023.08.24.17.10.00 * push cuda12 build to dev channel * MNT: Re-rendered with conda-build 3.25.0, conda-smithy 3.25.1, and conda-forge-pinning 2023.09.05.13.39.24 * sync conda-forge.yml with dev * skip test * made a mistake and was going to push this onto dev * MNT: Re-rendered with conda-build 3.25.0, conda-smithy 3.26.2, and conda-forge-pinning 2023.09.22.17.00.20 --------- Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com> Co-authored-by: jakirkham <jakirkham@gmail.com> Co-authored-by: jaimergp <jaimergp@users.noreply.github.com> * Rebuild for PyPy3.9 (#110) * Rebuild for PyPy3.9 * MNT: Re-rendered with conda-build 3.26.1, conda-smithy 3.26.2, and conda-forge-pinning 2023.09.26.23.22.17 * MNT: Re-rendered with conda-build 3.25.0, conda-smithy 3.26.3, and conda-forge-pinning 2023.09.27.16.11.26 * remove python version pin from run_constrained for windows python 3.9 builds --------- Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com> * Build 8.1 beta * MNT: Re-rendered with conda-build 3.27.0, conda-smithy 3.26.3, and conda-forge-pinning 2023.10.02.17.25.16 * MNT: Re-rendered with conda-build 3.27.0, conda-smithy 3.26.3, and conda-forge-pinning 2023.10.04.19.29.41 * Add setuptools as host dependency * Remove checks for CUDA compiler plugin --------- Co-authored-by: conda-forge-curator[bot] <79913779+conda-forge-curator[bot]@users.noreply.github.com> Co-authored-by: conda-forge-webservices[bot] <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com> Co-authored-by: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Co-authored-by: jaimergp <jaimergp@users.noreply.github.com> Co-authored-by: jakirkham <jakirkham@gmail.com> * bump ci * Add Python 3.12 migration (#113) * Add Python 3.12 migration * MNT: Re-rendered with conda-build 3.27.0, conda-smithy 3.27.1, and conda-forge-pinning 2023.10.08.10.53.16 --------- Co-authored-by: conda-forge-webservices[bot] <91080706+conda-forge-webservices[bot]@users.noreply.github.com> * Build 8.1 release candidate 1 (#115) * Build 8.1 release candidate 1 * MNT: Re-rendered with conda-build 3.27.0, conda-smithy 3.28.0, and conda-forge-pinning 2023.11.08.21.35.56 --------- Co-authored-by: conda-forge-webservices[bot] <91080706+conda-forge-webservices[bot]@users.noreply.github.com> * Build 8.1rc2 (#118) * Build 8.1rc2 * MNT: Re-rendered with conda-build 3.27.0, conda-smithy 3.29.0, and conda-forge-pinning 2023.11.16.09.46.51 --------- Co-authored-by: conda-forge-webservices[bot] <91080706+conda-forge-webservices[bot]@users.noreply.github.com> * Build 8.1.1 release candidate * MNT: Re-rendered with conda-build 3.28.2, conda-smithy 3.30.2, and conda-forge-pinning 2024.01.02.19.32.12 * Build 8.1.1 release candidate (#124) * [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration CondaForgeAutomergeUpdate * [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration DotConda * Build 8.0.0 release (#100) * Build 8.0 beta * MNT: Re-rendered with conda-build 3.21.9, conda-smithy 3.21.0, and conda-forge-pinning 2022.07.06.01.52.02 * Use newer glibc * Updated linux version * MNT: Re-rendered with conda-build 3.21.9, conda-smithy 3.21.0, and conda-forge-pinning 2022.07.06.01.52.02 * Updated beta for 8.0 * MNT: Re-rendered with conda-build 3.22.0, conda-smithy 3.21.1, and conda-forge-pinning 2022.09.13.19.09.01 * Try not packaging tests * Updated beta for 8.0 * [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration CondaForgeAutomergeUpdate * [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration DotConda * Release candidate for 8.0 (#95) * Release candidate for 8.0 * MNT: Re-rendered with conda-build 3.23.3, conda-smithy 3.22.1, and conda-forge-pinning 2023.01.07.12.45.19 * python 3.11 migration Co-authored-by: conda-forge-webservices[bot] <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com> * Updated revision for release candidate (#98) * Second release candidate of 8.0 (#99) * Build 8.0.0 release * MNT: Re-rendered with conda-build 3.23.3, conda-smithy 3.22.1, and conda-forge-pinning 2023.01.26.16.59.55 * Removed inappropriate checks for github release * Removed checks that require a GPU * Remove more tests that prevent builds from completing * Another attempt at trying to make it happy with the batch file syntax --------- Co-authored-by: conda-forge-webservices[bot] <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Co-authored-by: conda-forge-curator[bot] <79913779+conda-forge-curator[bot]@users.noreply.github.com> Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com> * Trigger CI * Rebuild for cuda for ppc64le and aarch64 * MNT: Re-rendered with conda-build 3.24.0, conda-smithy 3.23.1, and conda-forge-pinning 2023.04.14.07.22.14 * Update conda-forge.yml * MNT: Re-rendered with conda-build 3.24.0, conda-smithy 3.23.1, and conda-forge-pinning 2023.04.23.10.35.24 * Rebuild for CUDA 12 w/arch support (#108) * Rebuild for CUDA 12 * MNT: Re-rendered with conda-build 3.25.0, conda-smithy 3.23.1, and conda-forge-pinning 2023.05.31.22.15.24 * See if this fixes the missing target CMake Error at platforms/cuda/sharedTarget/CMakeLists.txt:16 (TARGET_LINK_LIBRARIES): Target "OpenMMCUDA" links to: CUDA::cufft but the target was not found. Possible reasons include: * I think I need to only add this to cuda 12 builds * Add missing header file * Update recipe/meta.yaml Co-authored-by: jakirkham <jakirkham@gmail.com> * Add `cuda_compiler_version or ""` workaround * added cuda-nvrtc-dev as dep * added cuda-driver-dev * moved some deps into host * add cuda-driver-dev as a testing dep * move dep outside of if block * Update recipe/meta.yaml Co-authored-by: jakirkham <jakirkham@gmail.com> * MNT: Re-rendered with conda-build 3.25.0, conda-smithy 3.24.1, and conda-forge-pinning 2023.07.25.19.20.13 * added cuda-compat * Rebuild for CUDA 12 w/arch support The transition to CUDA 12 SDK includes new packages for all CUDA libraries and build tools. Notably, the cudatoolkit package no longer exists, and packages should depend directly on the specific CUDA libraries (libcublas, libcusolver, etc) as needed. For an in-depth overview of the changes and to report problems [see this issue]( conda-forge/conda-forge.github.io#1963 ). Please feel free to raise any issues encountered there. Thank you! 🙏 * MNT: Re-rendered with conda-build 3.26.1, conda-smithy 3.24.1, and conda-forge-pinning 2023.08.24.17.10.00 * push cuda12 build to dev channel * MNT: Re-rendered with conda-build 3.25.0, conda-smithy 3.25.1, and conda-forge-pinning 2023.09.05.13.39.24 * sync conda-forge.yml with dev * skip test * made a mistake and was going to push this onto dev * MNT: Re-rendered with conda-build 3.25.0, conda-smithy 3.26.2, and conda-forge-pinning 2023.09.22.17.00.20 --------- Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com> Co-authored-by: jakirkham <jakirkham@gmail.com> Co-authored-by: jaimergp <jaimergp@users.noreply.github.com> * Rebuild for PyPy3.9 (#110) * Rebuild for PyPy3.9 * MNT: Re-rendered with conda-build 3.26.1, conda-smithy 3.26.2, and conda-forge-pinning 2023.09.26.23.22.17 * MNT: Re-rendered with conda-build 3.25.0, conda-smithy 3.26.3, and conda-forge-pinning 2023.09.27.16.11.26 * remove python version pin from run_constrained for windows python 3.9 builds --------- Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com> * Rebuild for CUDA 11.8 w/arch support (#116) * Rebuild for CUDA 11.8 w/arch support * MNT: Re-rendered with conda-build 3.27.0, conda-smithy 3.28.0, and conda-forge-pinning 2023.11.08.21.35.56 * Build 8.1 (#120) * Build 8.0 beta * MNT: Re-rendered with conda-build 3.21.9, conda-smithy 3.21.0, and conda-forge-pinning 2022.07.06.01.52.02 * Use newer glibc * Updated linux version * MNT: Re-rendered with conda-build 3.21.9, conda-smithy 3.21.0, and conda-forge-pinning 2022.07.06.01.52.02 * Updated beta for 8.0 * MNT: Re-rendered with conda-build 3.22.0, conda-smithy 3.21.1, and conda-forge-pinning 2022.09.13.19.09.01 * Try not packaging tests * Updated beta for 8.0 * [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration CondaForgeAutomergeUpdate * [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration DotConda * Release candidate for 8.0 (#95) * Release candidate for 8.0 * MNT: Re-rendered with conda-build 3.23.3, conda-smithy 3.22.1, and conda-forge-pinning 2023.01.07.12.45.19 * python 3.11 migration Co-authored-by: conda-forge-webservices[bot] <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com> * Updated revision for release candidate (#98) * Second release candidate of 8.0 (#99) * Build 8.1 beta (#111) * [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration CondaForgeAutomergeUpdate * [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration DotConda * Build 8.0.0 release (#100) * Build 8.0 beta * MNT: Re-rendered with conda-build 3.21.9, conda-smithy 3.21.0, and conda-forge-pinning 2022.07.06.01.52.02 * Use newer glibc * Updated linux version * MNT: Re-rendered with conda-build 3.21.9, conda-smithy 3.21.0, and conda-forge-pinning 2022.07.06.01.52.02 * Updated beta for 8.0 * MNT: Re-rendered with conda-build 3.22.0, conda-smithy 3.21.1, and conda-forge-pinning 2022.09.13.19.09.01 * Try not packaging tests * Updated beta for 8.0 * [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration CondaForgeAutomergeUpdate * [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration DotConda * Release candidate for 8.0 (#95) * Release candidate for 8.0 * MNT: Re-rendered with conda-build 3.23.3, conda-smithy 3.22.1, and conda-forge-pinning 2023.01.07.12.45.19 * python 3.11 migration Co-authored-by: conda-forge-webservices[bot] <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com> * Updated revision for release candidate (#98) * Second release candidate of 8.0 (#99) * Build 8.0.0 release * MNT: Re-rendered with conda-build 3.23.3, conda-smithy 3.22.1, and conda-forge-pinning 2023.01.26.16.59.55 * Removed inappropriate checks for github release * Removed checks that require a GPU * Remove more tests that prevent builds from completing * Another attempt at trying to make it happy with the batch file syntax --------- Co-authored-by: conda-forge-webservices[bot] <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Co-authored-by: conda-forge-curator[bot] <79913779+conda-forge-curator[bot]@users.noreply.github.com> Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com> * Trigger CI * Rebuild for cuda for ppc64le and aarch64 * MNT: Re-rendered with conda-build 3.24.0, conda-smithy 3.23.1, and conda-forge-pinning 2023.04.14.07.22.14 * Update conda-forge.yml * MNT: Re-rendered with conda-build 3.24.0, conda-smithy 3.23.1, and conda-forge-pinning 2023.04.23.10.35.24 * Rebuild for CUDA 12 w/arch support (#108) * Rebuild for CUDA 12 * MNT: Re-rendered with conda-build 3.25.0, conda-smithy 3.23.1, and conda-forge-pinning 2023.05.31.22.15.24 * See if this fixes the missing target CMake Error at platforms/cuda/sharedTarget/CMakeLists.txt:16 (TARGET_LINK_LIBRARIES): Target "OpenMMCUDA" links to: CUDA::cufft but the target was not found. Possible reasons include: * I think I need to only add this to cuda 12 builds * Add missing header file * Update recipe/meta.yaml Co-authored-by: jakirkham <jakirkham@gmail.com> * Add `cuda_compiler_version or ""` workaround * added cuda-nvrtc-dev as dep * added cuda-driver-dev * moved some deps into host * add cuda-driver-dev as a testing dep * move dep outside of if block * Update recipe/meta.yaml Co-authored-by: jakirkham <jakirkham@gmail.com> * MNT: Re-rendered with conda-build 3.25.0, conda-smithy 3.24.1, and conda-forge-pinning 2023.07.25.19.20.13 * added cuda-compat * Rebuild for CUDA 12 w/arch support The transition to CUDA 12 SDK includes new packages for all CUDA libraries and build tools. Notably, the cudatoolkit package no longer exists, and packages should depend directly on the specific CUDA libraries (libcublas, libcusolver, etc) as needed. For an in-depth overview of the changes and to report problems [see this issue]( conda-forge/conda-forge.github.io#1963 ). Please feel free to raise any issues encountered there. Thank you! 🙏 * MNT: Re-rendered with conda-build 3.26.1, conda-smithy 3.24.1, and conda-forge-pinning 2023.08.24.17.10.00 * push cuda12 build to dev channel * MNT: Re-rendered with conda-build 3.25.0, conda-smithy 3.25.1, and conda-forge-pinning 2023.09.05.13.39.24 * sync conda-forge.yml with dev * skip test * made a mistake and was going to push this onto dev * MNT: Re-rendered with conda-build 3.25.0, conda-smithy 3.26.2, and conda-forge-pinning 2023.09.22.17.00.20 --------- Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com> Co-authored-by: jakirkham <jakirkham@gmail.com> Co-authored-by: jaimergp <jaimergp@users.noreply.github.com> * Rebuild for PyPy3.9 (#110) * Rebuild for PyPy3.9 * MNT: Re-rendered with conda-build 3.26.1, conda-smithy 3.26.2, and conda-forge-pinning 2023.09.26.23.22.17 * MNT: Re-rendered with conda-build 3.25.0, conda-smithy 3.26.3, and conda-forge-pinning 2023.09.27.16.11.26 * remove python version pin from run_constrained for windows python 3.9 builds --------- Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com> * Build 8.1 beta * MNT: Re-rendered with conda-build 3.27.0, conda-smithy 3.26.3, and conda-forge-pinning 2023.10.02.17.25.16 * MNT: Re-rendered with conda-build 3.27.0, conda-smithy 3.26.3, and conda-forge-pinning 2023.10.04.19.29.41 * Add setuptools as host dependency * Remove checks for CUDA compiler plugin --------- Co-authored-by: conda-forge-curator[bot] <79913779+conda-forge-curator[bot]@users.noreply.github.com> Co-authored-by: conda-forge-webservices[bot] <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com> Co-authored-by: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Co-authored-by: jaimergp <jaimergp@users.noreply.github.com> Co-authored-by: jakirkham <jakirkham@gmail.com> * bump ci * Add Python 3.12 migration (#113) * Add Python 3.12 migration * MNT: Re-rendered with conda-build 3.27.0, conda-smithy 3.27.1, and conda-forge-pinning 2023.10.08.10.53.16 --------- Co-authored-by: conda-forge-webservices[bot] <91080706+conda-forge-webservices[bot]@users.noreply.github.com> * Build 8.1 release candidate 1 (#115) * Build 8.1 release candidate 1 * MNT: Re-rendered with conda-build 3.27.0, conda-smithy 3.28.0, and conda-forge-pinning 2023.11.08.21.35.56 --------- Co-authored-by: conda-forge-webservices[bot] <91080706+conda-forge-webservices[bot]@users.noreply.github.com> * Build 8.1rc2 (#118) * Build 8.1rc2 * MNT: Re-rendered with conda-build 3.27.0, conda-smithy 3.29.0, and conda-forge-pinning 2023.11.16.09.46.51 --------- Co-authored-by: conda-forge-webservices[bot] <91080706+conda-forge-webservices[bot]@users.noreply.github.com> * Build 8.1 * MNT: Re-rendered with conda-build 3.27.0, conda-smithy 3.30.0, and conda-forge-pinning 2023.11.26.16.08.11 * MNT: Re-rendered with conda-build 3.27.0, conda-smithy 3.30.0, and conda-forge-pinning 2023.11.26.16.08.11 * Force rebuild --------- Co-authored-by: conda-forge-webservices[bot] <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Co-authored-by: conda-forge-curator[bot] <79913779+conda-forge-curator[bot]@users.noreply.github.com> Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com> Co-authored-by: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Co-authored-by: jaimergp <jaimergp@users.noreply.github.com> Co-authored-by: jakirkham <jakirkham@gmail.com> * Trigger CI * Rebuild for CUDA 12 w/arch + Windows support (#121) * Rebuild for CUDA 12 w/arch + Windows support The transition to CUDA 12 SDK includes new packages for all CUDA libraries and build tools. Notably, the cudatoolkit package no longer exists, and packages should depend directly on the specific CUDA libraries (libcublas, libcusolver, etc) as needed. For an in-depth overview of the changes and to report problems [see this issue]( conda-forge/conda-forge.github.io#1963 ). Please feel free to raise any issues encountered there. Thank you! 🙏 * Update for CUDA 12 * Remove cuda-compat in windows * Update recipe/meta.yaml Co-authored-by: jakirkham <jakirkham@gmail.com> * Revert "Update recipe/meta.yaml" This reverts commit d46a255. * Change linux64 or ppc64le by linux * MNT: Re-rendered with conda-build 3.27.0, conda-smithy 3.30.0, and conda-forge-pinning 2023.11.27.19.54.17 * Update recipe/meta.yaml Co-authored-by: jakirkham <jakirkham@gmail.com> * bump build number --------- Co-authored-by: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Co-authored-by: jakirkham <jakirkham@gmail.com> Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com> * Build 8.1.1 release candidate * MNT: Re-rendered with conda-build 3.28.2, conda-smithy 3.30.2, and conda-forge-pinning 2024.01.02.19.32.12 --------- Co-authored-by: conda-forge-curator[bot] <79913779+conda-forge-curator[bot]@users.noreply.github.com> Co-authored-by: conda-forge-webservices[bot] <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com> Co-authored-by: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Co-authored-by: jaimergp <jaimergp@users.noreply.github.com> Co-authored-by: jakirkham <jakirkham@gmail.com> Co-authored-by: Raul <raulppelaez@gmail.com> * Trigger CI * Empty PR to rerender (#125) * Empty PR to rerender * MNT: Re-rendered with conda-build 3.28.2, conda-smithy 3.30.2, and conda-forge-pinning 2024.01.05.16.55.49 --------- Co-authored-by: conda-forge-webservices[bot] <91080706+conda-forge-webservices[bot]@users.noreply.github.com> * [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration CondaForgeYAMLTest * [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration CondaForgeAutomergeUpdate * Build 8.1.2rc1 (#131) * Build 8.1.2rc1 * MNT: Re-rendered with conda-build 24.5.1, conda-smithy 3.36.2, and conda-forge-pinning 2024.07.02.10.47.51 --------- Co-authored-by: conda-forge-webservices[bot] <91080706+conda-forge-webservices[bot]@users.noreply.github.com> * Build 8.1.2 * Fixed hash --------- Co-authored-by: conda-forge-webservices[bot] <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Co-authored-by: conda-forge-curator[bot] <79913779+conda-forge-curator[bot]@users.noreply.github.com> Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com> Co-authored-by: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Co-authored-by: jaimergp <jaimergp@users.noreply.github.com> Co-authored-by: jakirkham <jakirkham@gmail.com> Co-authored-by: Raul <raulppelaez@gmail.com>
The transition to CUDA 12 SDK includes new packages for all CUDA libraries and build tools. Notably, the cudatoolkit package no longer exists, and packages should depend directly on the specific CUDA libraries (libcublas, libcusolver, etc) as needed. For an in-depth overview of the changes and to report problems [see this issue]( conda-forge/conda-forge.github.io#1963 ). Please feel free to raise any issues encountered there. Thank you! 🙏
I've also just found out about this, and it explains a lot of strange behavior I've been seeing. |
Agree the webpage is out-of-date and that needs to be addressed somehow: #1927 After a fair bit of iteration internally, we have added documentation in the However there is quite a bit of detail there and it is structured to provide information to different kinds of users (maintainers of the CUDA SDK packages, 3rd party recipe maintainers, consumers of packages, etc.). We are a little unclear what is helpful/useful, what gaps there are, and whether the divisions are appropriate (or need more restructuring) Would appreciate if more folks could start reading those docs and sharing feedback on the Once we have more confidence on the usefulness of those docs, we can figure out better integration |
The transition to CUDA 12 SDK includes new packages for all CUDA libraries and build tools. Notably, the cudatoolkit package no longer exists, and packages should depend directly on the specific CUDA libraries (libcublas, libcusolver, etc) as needed. For an in-depth overview of the changes and to report problems [see this issue]( conda-forge/conda-forge.github.io#1963 ). Please feel free to raise any issues encountered there. Thank you! 🙏
The transition to CUDA 12 SDK includes new packages for all CUDA libraries and build tools. Notably, the cudatoolkit package no longer exists, and packages should depend directly on the specific CUDA libraries (libcublas, libcusolver, etc) as needed. For an in-depth overview of the changes and to report problems [see this issue]( conda-forge/conda-forge.github.io#1963 ). Please feel free to raise any issues encountered there. Thank you! 🙏
The transition to CUDA 12 SDK includes new packages for all CUDA libraries and build tools. Notably, the cudatoolkit package no longer exists, and packages should depend directly on the specific CUDA libraries (libcublas, libcusolver, etc) as needed. For an in-depth overview of the changes and to report problems [see this issue]( conda-forge/conda-forge.github.io#1963 ). Please feel free to raise any issues encountered there. Thank you! 🙏
The transition to CUDA 12 SDK includes new packages for all CUDA libraries and build tools. Notably, the cudatoolkit package no longer exists, and packages should depend directly on the specific CUDA libraries (libcublas, libcusolver, etc) as needed. For an in-depth overview of the changes and to report problems [see this issue]( conda-forge/conda-forge.github.io#1963 ). Please feel free to raise any issues encountered there. Thank you! 🙏
The transition to CUDA 12 SDK includes new packages for all CUDA libraries and build tools. Notably, the cudatoolkit package no longer exists, and packages should depend directly on the specific CUDA libraries (libcublas, libcusolver, etc) as needed. For an in-depth overview of the changes and to report problems [see this issue]( conda-forge/conda-forge.github.io#1963 ). Please feel free to raise any issues encountered there. Thank you! 🙏
The transition to CUDA 12 SDK includes new packages for all CUDA libraries and build tools. Notably, the cudatoolkit package no longer exists, and packages should depend directly on the specific CUDA libraries (libcublas, libcusolver, etc) as needed. For an in-depth overview of the changes and to report problems [see this issue]( conda-forge/conda-forge.github.io#1963 ). Please feel free to raise any issues encountered there. Thank you! 🙏
The transition to CUDA 12 SDK includes new packages for all CUDA libraries and build tools. Notably, the cudatoolkit package no longer exists, and packages should depend directly on the specific CUDA libraries (libcublas, libcusolver, etc) as needed. For an in-depth overview of the changes and to report problems [see this issue]( conda-forge/conda-forge.github.io#1963 ). Please feel free to raise any issues encountered there. Thank you! 🙏
The transition to CUDA 12 SDK includes new packages for all CUDA libraries and build tools. Notably, the cudatoolkit package no longer exists, and packages should depend directly on the specific CUDA libraries (libcublas, libcusolver, etc) as needed. For an in-depth overview of the changes and to report problems [see this issue]( conda-forge/conda-forge.github.io#1963 ). Please feel free to raise any issues encountered there. Thank you! 🙏
* Rebuild for CUDA 12 w/arch + Windows support The transition to CUDA 12 SDK includes new packages for all CUDA libraries and build tools. Notably, the cudatoolkit package no longer exists, and packages should depend directly on the specific CUDA libraries (libcublas, libcusolver, etc) as needed. For an in-depth overview of the changes and to report problems [see this issue]( conda-forge/conda-forge.github.io#1963 ). Please feel free to raise any issues encountered there. Thank you! 🙏 * MNT: Re-rendered with conda-build 24.7.1, conda-smithy 3.39.0, and conda-forge-pinning 2024.08.30.04.04.42 * Move setuptools to host * Add setuptools to build for cross-compile * Move setuptools_scm to host for non-crosscompile --------- Co-authored-by: Michael McAuliffe <michael.e.mcauliffe@gmail.com>
Thanks everyone for your hard work! 🙏 Know this involved a few updates in feedstocks and rethink how CUDA packaging looked like However I hope the expanded functionality and improved fine tuning has helped you and your users to have a better overall experience At this point, 98% of feedstocks have gotten a migration PR. Only 12 are still open. The rest are merged. It looks like only 2 feedstocks didn't get a PR (both have a few bot PRs in the queue) So think we can comfortably declare this done. Thanks again! 🙏 If you have any questions, please feel free to reach out 🙂 |
Topic
Opening this issue as a central point for information, discussion, etc. around the CUDA 12 migration and the new style CUDA SDK packages.
What follows is background about how CUDA builds are supported now, what is changing about them (and why), and what users can do to adopt the new best practices.
Background
As a little bit of background, the conda-forge CUDA builds up to this point have relied on a few key components:
nvidia/cuda
(here's one template image as an example)cudatoolkit
package (for linkage into other packages built in conda-forge)nvcc
wrapper script metapackage to glue the previous two pieces together during a buildThere are of course plenty more pieces like how these components are used in the global pinnings, how CUDA migrators work, how other infra around CUDA works, how tooling configures CUDA builds (in
staged-recipes
and feedstocks).However the big picture of Docker images, CUDA libraries, and a wrapper script to bind them is the gist. This has worked ok for a while, but there are different needs it didn't satisfy.
Feedback
Based on user feedback on this model over the years, we have learned a few key things:
cudatoolkit
package is bulky ( for example Is it necessary to install cudatoolkit with pyarrow 11 on Linux? arrow-cpp-feedstock#962 )Follow-up
Based on this feedback, we started exploring a new model for handling these packages ( conda-forge/cudatoolkit-feedstock#62 ). After a bit of iterating with various stakeholders, we felt ready to start packaging all of these components ( conda-forge/staged-recipes#21382 ). This admittedly has been a fair bit of work and we appreciate everyone's patience while we have been working through it (as well as everyone who shared feedback). Though it looks like we are nearing the end of package addition and moving on to next steps.
Structure
Compiler
One particular component that has taken a fair amount of effort to structure correctly has been the compiler package. However after some final restructuring ( conda-forge/cuda-nvcc-feedstock#12 ) and some promising test results on a few CUDA-enabled feedstocks, this seems to be working in the right way. There are a few particular points of note about how the compiler package is structured (and how correspondingly other CTK packages are structured).
The compiler package is designed to be used in cross-compilation builds. As a result all headers and libraries live in a targets-based structure. This is best observed in this code from
cuda-nvcc
:As a result
$PREFIX/$targetsDir
contains the needed headers, libraries, etc. for building for that target platform. The right paths should already be picked up bynvcc
andgcc
(the host compiler). So please let us know if that is not happening for some reason.CUDA Toolkit Packages
As noted previously,
cudatoolkit
does not exist in this new model (starting with CUDA 12.0). Also no libraries are pulled in outside ofcudart
(in particular the static library). So other libraries likelibcublas
,libcurand
, etc. need to explicitly be added torequirements/host
for CUDA 12. In particular there are*-dev
libraries (likelibcublas-dev
) that would need to be added tohost
. The-dev
package contains both headers and shared libraries. Also the-dev
packages addrun_exports
for their corresponding runtime library; so, that dependency will be satisfied automatically using the usually conda-build behavior.Building off the compiler section above, the move to support cross-compilation means that packages supply headers, libraries, etc. under a different path than
$PREFIX
. Instead the paths look something like this (using$targetsDir
from above):$PREFIX/$targetsDir/include
$PREFIX/$targetsDir/lib
$PREFIX/$targetsDir/lib/stubs
Note that these paths shouldn't be needed anywhere since
nvcc
andgcc
know about them (when{{ compiler("cuda") }}
is added torequirements/build
). Though if some issues come up related to this, please reach out.CUDA version alignment
Previously the
cudatoolkit
package had served a CUDA version alignment function ( #687 ). Namely installingcudatoolkit=11.2
would ensure all packages supported CUDA 11.2. This could be useful when trying to satisfy some hardware constraints.Another issue the
cudatoolkit
package solved, which may be less obvious at the outset, is it provides a consistent set of libraries that are all part of the same CUDA release (say 11.8 for example). This is trivially solved with one package. However splitting these out into multiple packages (and adding more packages as well), makes this problem more complicated. Thecuda-version
package also comes in here by aligning all CUDA packages to a particular CUDA version.Finally as there is a fissure between the CUDA 11 & 12 worlds in terms of how these CUDA packages are handled, the
cuda-version
mends this gap. In particularcuda-version
constrainscudatoolkit
andcuda-version
is backported to all CUDA version conda-forge has shipped. As a resultcuda-version
can be used in both CUDA 11 & 12 use cases to smooth over some of these differences and standardize CUDA version handling.More details about the
cuda-version
package can be found in this README.Final Observations
It's worth noting this new structure differs from notably from the current one in conda-forge, where we have Docker images that place the full CUDA Toolkit install in
/usr/local/cuda
and runtime libraries added automatically. This is done to both address use cases where onlycudart
ornvcc
are needed (with no additional dependencies) as well as use cases where extra features are needed. Trying to address both of these means greater ability to fine-tune use cases, but it also means a bit more work for maintainers. Hoping this provides more context around why these changes are occurring and what they mean for maintainers and users.Next Steps
Recently the CUDA 12 migrator was merged ( conda-forge/conda-forge-pinning-feedstock#4400 ). Already a handful of CUDA 12 migrator PRs have gone out.
For feedstocks that statically link
cudart
(default behavior) and don't use other libraries, there may be nothing additional to do.For feedstocks that depend on other CUDA Toolkit components (say cuBLAS and cuRAND), those can be added to
host
with a selector like so...Similar patterns can be followed for other dependencies. Also please feel free to reach out for help here if needed
On CUDA 12.x
Initially we just added CUDA 12.0.0. We now are adding CUDA 12.x releases (with
x > 0
). In particular we have added CUDA 12.1 ( conda-forge/cuda-feedstock#11 ) and are working on CUDA 12.2 ( conda-forge/cuda-feedstock#13 )If users want to pin tightly to a specific CUDA 12.x version during the build, would recommend adding
cuda-version
in the relevantrequirements
sections. For example to constrain during the build (though not necessarily at runtime)...Thanks all! 🙏
The text was updated successfully, but these errors were encountered: