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

Rebuild for CUDA 12 + PyTorch 2.4 #15

Merged

Conversation

regro-cf-autotick-bot
Copy link
Contributor

This PR has been triggered in an effort to update cuda120.

Notes and instructions for merging this PR:

  1. Please merge the PR only after the tests have passed.
  2. Feel free to push to the bot's branch to update this PR if needed.

Please note that if you close this PR we presume that the feedstock has been rebuilt, so if you are going to perform the rebuild yourself don't close this PR until the your rebuild has been merged.


Here are some more details about this specific migrator:

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.
Please feel free to raise any issues encountered there. Thank you! 🙏


If this PR was opened in error or needs to be updated please add the bot-rerun label to this PR. The bot will close this PR and schedule another one. If you do not have permissions to add this label, you can use the phrase @conda-forge-admin, please rerun bot in a PR comment to have the conda-forge-admin add it for you.

This PR was created by the regro-cf-autotick-bot. The regro-cf-autotick-bot is a service to automatically track the dependency graph, migrate packages, and propose package version updates for conda-forge. Feel free to drop us a line if there are any issues! This PR was generated by https://github.com/regro/cf-scripts/actions/runs/10481143886 - please use this URL for debugging.

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! 🙏
@conda-forge-webservices
Copy link

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 (recipe/meta.yaml) and found it was in an excellent condition.

@jakirkham
Copy link
Member

Seeing the following error on CI:

Encountered problems while solving:
  - package cuda-version-12.0.0-hd8ed1ab_0 has constraint cudatoolkit 12.0|12.0.* conflicting with cudatoolkit-10.0.130-h8c5a6a4_10

Could not solve for environment specs
The following packages are incompatible
├─ cuda-version >=12.0,<13  is installable with the potential options
│  ├─ cuda-version [12.0|12.0.0] would require
│  │  └─ cudatoolkit 12.0|12.0.* , which can be installed;
│  ├─ cuda-version 12.1 would require
│  │  └─ cudatoolkit 12.1|12.1.* , which can be installed;
│  ├─ cuda-version 12.2 would require
│  │  └─ cudatoolkit 12.2|12.2.* , which can be installed;
│  ├─ cuda-version 12.3 would require
│  │  └─ cudatoolkit 12.3|12.3.* , which can be installed;
│  ├─ cuda-version 12.4 would require
│  │  └─ cudatoolkit 12.4|12.4.* , which can be installed;
│  ├─ cuda-version 12.5 would require
│  │  └─ cudatoolkit 12.5|12.5.* , which can be installed;
│  └─ cuda-version 12.6 would require
│     └─ cudatoolkit 12.6|12.6.* , which can be installed;
└─ cudatoolkit is not installable because it conflicts with any installable versions previously reported.

Would drop these lines as cudatoolkit is only for CUDA pre-12. Starting with CUDA 12 it no longer exists. With CUDA 11 cudatoolkit does exist, however the CUDA 11 compiler adds cudatoolkit as a dependency automatically. So there is no need to add cudatoolkit explicitly

- cudatoolkit # [cuda_compiler_version != 'None']

- cudatoolkit # [cuda_compiler_version != 'None']

That should fix CI

regro-cf-autotick-bot and others added 3 commits August 26, 2024 01:52
Cleaning this up fixes CUDA 12 and works with CUDA 11:
* In CUDA 11, this is added by the CUDA compiler
* In CUDA 12, this package doesn't exist
@conda-forge-webservices
Copy link

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 (recipe/meta.yaml) and found it was in an excellent condition.

I do have some suggestions for making it better though...

For recipe/meta.yaml:

  • No valid build backend found for Python recipe for package aihwkit-gpu using pip. Python recipes using pip need to explicitly specify a build backend in the host section. If your recipe has built with only pip in the host section in the past, you likely should add setuptools to the host section of your recipe.

@jakirkham
Copy link
Member

@conda-forge-admin , please re-render

@jakirkham
Copy link
Member

Looks like the build needs cuBLAS

  /home/conda/feedstock_root/build_artifacts/aihwkit-gpu_1724992663380/work/src/rpucuda/cuda/cuda_util.h:24:10: fatal error: cublas_v2.h: No such file or directory
     24 | #include "cublas_v2.h"
        |          ^~~~~~~~~~~~~

Comment on lines +36 to +37
- libcublas-dev # [(cuda_compiler_version or "").startswith("12")]
- libcurand-dev # [(cuda_compiler_version or "").startswith("12")]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added based on these #includes

recipe/meta.yaml Outdated
- cuda-version {{ cuda_compiler_version }} # [cuda_compiler_version != "None"]
- libcublas-dev # [(cuda_compiler_version or "").startswith("12")]
- libcurand-dev # [(cuda_compiler_version or "").startswith("12")]
- libcusparse-dev # [(cuda_compiler_version or "").startswith("12")]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needed due to ATen usage, which comes from PyTorch that in turn needs cuSPARSE

recipe/meta.yaml Outdated
- cuda-version {{ cuda_compiler_version }} # [cuda_compiler_version != "None"]
- libcublas-dev # [(cuda_compiler_version or "").startswith("12")]
- libcurand-dev # [(cuda_compiler_version or "").startswith("12")]
- libcusolver-dev # [(cuda_compiler_version or "").startswith("12")]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another ATen dependency

@jakirkham jakirkham changed the title Rebuild for CUDA 12 w/arch + Windows support Rebuild for CUDA 12 + PyTorch 2.4 Aug 30, 2024
@jakirkham
Copy link
Member

This is passing! 🥳

@kkvtran could you please review? 🙂

Also if it looks good, please feel free to merge

@kkvtran kkvtran merged commit c08d385 into conda-forge:main Aug 30, 2024
11 checks passed
@regro-cf-autotick-bot regro-cf-autotick-bot deleted the rebuild-cuda120-0-3_h709134 branch August 30, 2024 20:57
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.

3 participants