-
-
Notifications
You must be signed in to change notification settings - Fork 519
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
Set minimum version of NCCL to 2.4.6.1 #309
Set minimum version of NCCL to 2.4.6.1 #309
Conversation
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 ( I do have some suggestions for making it better though... For recipe:
|
Thoughts @conda-forge/core? |
@@ -492,6 +492,8 @@ mumps_mpi: | |||
- 5.2 | |||
mumps_seq: | |||
- 5.2 | |||
nccl: | |||
- 2.4.6.1 |
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.
This must match the pinning x
. For example if the pinning was x.x
, then this should be 2.4
. Since the pinning is x
it should be 2
. This is so that downstream packages can use newer features introduced in later versions.
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.
Our goal here is to ensure we build against the oldest version of nccl
we care to have supported by all packages using it for maximum compatibility.
If we wanted to bump this later, we can always do a migrator, which would be explicit and preferable to letting this creep forward implicitly due to when we happened to rebuild downstream dependencies.
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.
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.
FWIW there are other libraries doing this currently. Please see kealib
as one such example, which only requires x.x
compatibility, but sets the version used in host
to 1.4.10
.
Yeah I pointed Jonathan to this work very early on. Here's the feedstock. ref: https://github.com/conda-forge/nccl-feedstock |
Friendly nudge @conda-forge/core 😉 |
I'm fine with this, although the "pin to minimum version" seems like a potential policy discussion. |
On the minimum pin point, please see ( #309 (comment) ) (if you haven't already). |
I agree that it's a policy discussion. There are advantages and disadvantages. |
Updated the description to note |
As you can see in conda-forge/staged-recipes#9959 (comment) CuPy uses new features of NCCL if compiled against new versions. This means that we have to update the NCCL version in global pinnings every time there is a NCCL pinning to make sure that CuPy has the latest features of NCCL to work with. |
Actually it is still not clear (at least not to me) what is going on there. It sounds like the concern is being raised that NCCL might be breaking API/ABI, which means we would need a tighter pin than the package has currently. So let's try to understand what is going on there first before jumping to conclusions. 🙂 |
I trust @jakirkham to keep this updated as needed. I think having a very tight pinning to get started is fine. |
FYI, this is not a tight pinning. Pin is |
The
max_pin
ofnccl
is set tox
already in the recipe using thisrun_exports
line. This follows the compatibility guidance we were given in issue ( NVIDIA/nccl#218 ).Checklist
0
(if the version changed)conda-smithy
(Use the phrase@conda-forge-admin, please rerender
in a comment in this PR for automated rerendering)