Skip to content

Replace numba-cuda runtime dependency with cuda-core#589

Merged
jameslamb merged 3 commits intorapidsai:mainfrom
pentschev:remove-numba
Feb 13, 2026
Merged

Replace numba-cuda runtime dependency with cuda-core#589
jameslamb merged 3 commits intorapidsai:mainfrom
pentschev:remove-numba

Conversation

@pentschev
Copy link
Member

Numba-cuda is planning to drop DeviceNDArray (see NVIDIA/numba-cuda#546), and in UCXX (specifically only distributed-ucxx) we use them at runtime only if RMM is not available. There are no known use cases of distributed-ucxx where it's not installed as part of RAPIDS, which always brings RMM along, and thus removing numba-cuda should have no impact to users while simplifying UCXX maintenance.

We will continue testing numba-cuda DeviceNDArrays while support is not fully dropped, which may still be used without Dask/Distributed to provide CUDA support via __cuda_array_interface__.

@pentschev pentschev self-assigned this Feb 13, 2026
@pentschev pentschev requested review from a team as code owners February 13, 2026 12:40
@pentschev pentschev requested a review from AyodeAwe February 13, 2026 12:40
@pentschev pentschev added breaking Introduces a breaking change improvement Improves an existing functionality ucxx distributed-ucxx labels Feb 13, 2026
Copy link
Member

@jameslamb jameslamb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One question, approving so you can merge if it turns out I was wrong there.

- pytest-asyncio>=1.0.0
- pytest-rerunfailures!=16.0.0 # See https://github.com/pytest-dev/pytest-rerunfailures/issues/302
- rapids-dask-dependency==26.4.*,>=0.0.0a0
- numba-cuda>=0.22.1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I understand why this is moving to a test-only dependency, but is it now safe to install only numba-cuda instead of numba-cuda[cu12] / numba-cuda[cu13] at test time?

I think we'd still want to preserve the structure that was remove above like this:

      - output_types: [conda]
        packages:
          - *numba_cuda
    specific:
      - output_types: [requirements, pyproject]
        matrices:
          - matrix:
              cuda: "12.*"
              cuda_suffixed: "true"
            packages:
              - *numba_cuda_cu12
          - matrix:
              cuda: "13.*"
              cuda_suffixed: "true"
            packages:
              - *numba_cuda_cu13
          # fallback to numba-cuda with no extra CUDA packages if 'cuda_suffixed' isn't true
          - matrix:
            packages:
              - *numba_cuda

To be sure we get the correct dependency pins based on major CUDA version.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're very much right, that was my mistake, thanks for catching it! Could you please check whether 0316334 correctly resolves it?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yep that looks perfect, thanks!

@ me for an admin-merge once you get a ucxx-python-codeowners approval, if the check-nightly-ci isn't fixed yet.

@jameslamb jameslamb removed the request for review from AyodeAwe February 13, 2026 15:00
Copy link
Member

@jameslamb jameslamb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

re-approving

@bdice
Copy link
Contributor

bdice commented Feb 13, 2026

Apparently I’m not in ucxx-python-codeowners? I think this looks good and I’m familiar with the pieces that are changing here. Feel free to request an admin merge if you think it’s had enough eyes.

@pentschev
Copy link
Member Author

Apparently I’m not in ucxx-python-codeowners? I think this looks good and I’m familiar with the pieces that are changing here. Feel free to request an admin merge if you think it’s had enough eyes.

I'm happy to have you added if you want to be a reviewer, that would in fact be very welcome! I'm also satisfied with both your and James' reviews, so if @jameslamb is ok just go ahead and do an admin merge, since we will need it anyway. And thank you both for the reviews!

@jameslamb
Copy link
Member

Ok I'll admin-merge this and add Bradley as a codeowner in that group.

@jameslamb jameslamb merged commit 5f2aec6 into rapidsai:main Feb 13, 2026
82 of 84 checks passed
@pentschev
Copy link
Member Author

Ok I'll admin-merge this and add Bradley as a codeowner in that group.

Thanks so much James!

@pentschev pentschev deleted the remove-numba branch February 13, 2026 19:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking Introduces a breaking change distributed-ucxx improvement Improves an existing functionality ucxx

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants