conda-forge / nccl-feedstock

A conda-smithy repository for nccl.
BSD 3-Clause "New" or "Revised" License
4 stars 16 forks source link

Only use `cuda-version` (not `cudatoolkit`) #90

Closed jakirkham closed 1 year ago

jakirkham commented 1 year ago

Drop the cudatoolkit dependency from nccl on CUDA 11. Instead just use cuda-version (as is used on CUDA 12). Since nccl doesn't appear to have any dynamic linkages to CTK libraries, this shouldn't present any issues. Will also simplify and lighten the install of nccl for users. As cuda-version constrains cudatoolkit, users trying to constrain the nccl package installed by specifying the cudatoolkit version to install should still see the expected behavior.


Checklist

conda-forge-webservices[bot] commented 1 year ago

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.

jakirkham commented 1 year ago

cc @m3vaz (for review)

jakirkham commented 1 year ago

@conda-forge-admin, please re-render

github-actions[bot] commented 1 year ago

Hi! This is the friendly automated conda-forge-webservice.

I tried to rerender for you, but it looks like there was nothing to do.

This message was generated by GitHub actions workflow run https://github.com/conda-forge/nccl-feedstock/actions/runs/5184579383.

m3vaz commented 1 year ago

LGTM, this should help avoid mixed environments when using cuda. Thanks @jakirkham !

jakirkham commented 1 year ago

Thank you both! 🙏

Let's try this out. Happy to follow up on anything else that comes up 🙂

jakirkham commented 1 year ago

As of PR ( https://github.com/conda-forge/nccl-feedstock/pull/79 ) that added 2.15.1.1, all nccl packages statically link cudart. So they can similarly drop cudatoolkit and only use cuda-version

For older nccl packages, cudart was dynamically linked. So this change can't be applied to them

Submitted PR ( https://github.com/conda-forge/conda-forge-repodata-patches-feedstock/pull/467 ) to relax the cudatoolkit dependency on prior nccl packages