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

UCX 1.14.0 packages make CUDA optional #119

Closed
jakirkham opened this issue Mar 25, 2023 · 9 comments
Closed

UCX 1.14.0 packages make CUDA optional #119

jakirkham opened this issue Mar 25, 2023 · 9 comments

Comments

@jakirkham
Copy link
Member

As part of the UCX 1.14.0 upgrade ( conda-forge/ucx-split-feedstock#111 ), CPU & GPU builds were merged making cudatoolkit optional and ucx-proc unneeded. So it should be possible to use UCX more generally

@dalcinl
Copy link
Contributor

dalcinl commented Mar 25, 2023

I have no idea how these improvements should affect the openmpi package. @leofang ?

@jakirkham
Copy link
Member Author

Think it comes down to changing this...

- ucx # [enable_cuda]
- ucx-proc =*=gpu # [enable_cuda]

...to this...

 - ucx                 # [enable_cuda]

Though ucx should work on Linux (even without CUDA)

Tried playing with some changes to capture this in PR ( #121 ). Though there may be other valid approaches

Would defer to Leo and you on what makes the most sense here 🙂

@dalcinl
Copy link
Contributor

dalcinl commented Oct 27, 2023

@jakirkham @minrk Please help me decide what to do in #128.

  • From @minrk's comment, looks like I have to remove the requirement ucx-proc =*=gpu.
  • What about the cudatoolkit >= {{ cudatoolkit }} requirement? Should I remove it?

@dalcinl
Copy link
Contributor

dalcinl commented Oct 27, 2023

BTW, I brancked off 4.x. Should we generate fresh builds with updated requirements?

@leofang
Copy link
Member

leofang commented Oct 27, 2023

Sorry I completely missed this. Why can't openmpi just depend on ucx unconditionally? ucx can also be used for CPU-only transfers, and based what I learned from @pentschev (IIRC) ucx wouldn't do anything special if the CUDA presence is not detected, meaning we can just do this

# the actual content would be more convolved due to the need of supporting CUDA 11 & 12,
# as they have different package layout. This is for illustration only.
run_constrained:
  - cudatoolkit 

Once we decide how to approach this, I can take care of the CUDA part.

@leofang
Copy link
Member

leofang commented Oct 27, 2023

I support "backporting" whatever decision that we land to the v4.x branch.

@dalcinl
Copy link
Contributor

dalcinl commented Oct 27, 2023

Why can't openmpi just depend on ucx unconditionally?

Maybe we will have to do it anyway. v5.0.x has changed the way they do things by default, components are no longer built as plugins, but rather linked to libmpi.so (see discussion in #128)

@leofang
Copy link
Member

leofang commented Dec 30, 2023

Closing. In #128 we use UCX unconditionally.

@leofang leofang closed this as completed Dec 30, 2023
@jakirkham
Copy link
Member Author

Thanks all! 🙏

@minrk minrk mentioned this issue Sep 26, 2024
5 tasks
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

No branches or pull requests

3 participants