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 w/arch support #55

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/6756035633, 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
Contributor

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) and found it was in an excellent condition.

@Tobias-Fischer
Copy link
Contributor

Hi @jakirkham, do you happen to have any idea what's going on here? The compile seems to fail with a pybind11 related issue, but it also says that nvcc failed.

2023-11-07T11:16:19.2199499Z   /home/conda/feedstock_root/build_artifacts/pytorch_scatter_1699355128591/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/python3.10/site-packages/torch/include/pybind11/detail/../cast.h: In function 'typename pybind11::detail::type_caster<typename pybind11::detail::intrinsic_type<T>::type>::cast_op_type<T> pybind11::detail::cast_op(make_caster<T>&)':
2023-11-07T11:16:19.2204326Z   /home/conda/feedstock_root/build_artifacts/pytorch_scatter_1699355128591/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/python3.10/site-packages/torch/include/pybind11/detail/../cast.h:42:120: error: expected template-name before '<' token
2023-11-07T11:16:19.2206673Z      42 |     return caster.operator typename make_caster<T>::template cast_op_type<T>();
2023-11-07T11:16:19.2207258Z         |                                                                                                                        ^
2023-11-07T11:16:19.2209469Z   /home/conda/feedstock_root/build_artifacts/pytorch_scatter_1699355128591/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/python3.10/site-packages/torch/include/pybind11/detail/../cast.h:42:120: error: expected identifier before '<' token
2023-11-07T11:16:19.2213215Z   /home/conda/feedstock_root/build_artifacts/pytorch_scatter_1699355128591/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/python3.10/site-packages/torch/include/pybind11/detail/../cast.h:42:123: error: expected primary-expression before '>' token
2023-11-07T11:16:19.2215330Z      42 |     return caster.operator typename make_caster<T>::template cast_op_type<T>();
2023-11-07T11:16:19.2215893Z         |                                                                                                                           ^
2023-11-07T11:16:19.2218251Z   /home/conda/feedstock_root/build_artifacts/pytorch_scatter_1699355128591/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/python3.10/site-packages/torch/include/pybind11/detail/../cast.h:42:126: error: expected primary-expression before ')' token
2023-11-07T11:16:19.2220366Z      42 |     return caster.operator typename make_caster<T>::template cast_op_type<T>();
2023-11-07T11:16:19.2220914Z         |                                                                                                                              ^
2023-11-07T11:16:24.5970134Z   error: command '/home/conda/feedstock_root/build_artifacts/pytorch_scatter_1699355128591/_build_env/bin/nvcc' failed with exit code 1
2023-11-07T11:16:25.0246084Z   Building wheel for torch-scatter (setup.py): finished with status 'error'

@jakirkham
Copy link
Member

Hi Tobias, yes this does ring a bell

There was an issue with pybind11 and early CUDA 12 versions ( pybind/pybind11#4606 ). There was a fix on the pybind11 side ( pybind/pybind11#4893 ), which is currently unreleased. Also CUDA 12.2+ has a fix. So eventually this will go away. For now we will need a workaround

Side note: It's unfortunate that PyTorch is vendoring pybind11. That makes things harder to understand/fix

In terms of making progress in the near term, would try downgrading to GCC 11 (from 12) in the CUDA 12 migrator. An example of this is in commit ( conda-forge/pp-sketchlib-feedstock@68d36e6 ). There is more discussion in the associated PR that added that change

Would give that a try and let us know how it goes

The combination of pybind11 + GCC 12 + nvcc 12 runs into compilation
errors. This is documented in a pybind11 issue. To workaround this,
configure the CUDA 12 migrator to use GCC 11, which shouldn't have this
issue.

xref: pybind/pybind11#4606
xref: conda-forge/pp-sketchlib-feedstock@68d36e6
@Tobias-Fischer
Copy link
Contributor

@conda-forge-admin please rerender

@Tobias-Fischer
Copy link
Contributor

Awesome, that did the trick @jakirkham, many thanks for that :)

@Tobias-Fischer Tobias-Fischer added the automerge Merge the PR when CI passes label Nov 8, 2023
@github-actions github-actions bot merged commit 19bb515 into conda-forge:main Nov 8, 2023
22 checks passed
Copy link
Contributor

github-actions bot commented Nov 8, 2023

Hi! This is the friendly conda-forge automerge bot!

I considered the following status checks when analyzing this PR:

  • linter: passed
  • azure: passed

Thus the PR was passing and merged! Have a great day!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automerge Merge the PR when CI passes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants