You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As we are making cuda a namespace package and creating subpackages such as cuda.core (#70) and cuda.bindings (#75), each of which may have its own version, it makes sense for us to rethink the package structure.
This RFC proposes a way to restructure the components so as to allow users to install only the components that are needed. As a result, we can make the existing cuda-python become a meta package depending on the individual components. Visualizing with the fact that we actively maintain two major-version branches (currently CUDA 11 & 12, so X=12 below), we have the following diagrams:
Before cuda.core beta release:
cuda-python (X.Y.Z) cuda-python (X-1.Y'.Z')
\ \
\ \
v v
cuda-bindings (X.Y.Z) cuda-bindings (X-1.Y'.Z')
After cuda.core beta release:
cuda-python (X.Y.Z) cuda-python (X-1.Y'.Z')
/ \ / \
/ \ / \
v v v v
cuda.core --> cuda-bindings cuda.core --> cuda-bindings
(A.B.C) (X.Y.Z) (A.B.C) (X-1.Y'.Z')
This RFC is not impacting existing users in anyway (apart from what's already outlined in #75). This is purely an implementation detail to users. However, this allows advanced users and libraries to have the freedom to choose if they need cuda-python, cuda.core or just cuda.bindings (the cuda-python today). We also allow a more complex dependency diagram to grow organically under cuda-python.
Please let us know if you have any thoughts or concerns. Thanks!
Activity
leofang commentedon Jan 16, 2025
This is mostly done except for #148, which will be addressed in a future release. Closing.
cuda-ccclas a required dependency tocuda-python#691Merge pull request NVIDIA#105 from rwgk/unreleased-13.0_merge_world-main
cuda-tileas a required dependency tocuda-python#1611nvmath-pythonas a required dependency tocuda-python#1612numba-cuda-mliras a required dependency tocuda-python#1613