NVIDIA / numbast

Numbast is a tool to build an automated pipeline that converts CUDA APIs into Numba bindings.
Apache License 2.0
14 stars 4 forks source link

Meta package for `numba_extensions` #7

Open isVoid opened 3 months ago

isVoid commented 3 months ago

Currently all modules under numba_extensions are organized independently as packages. @gmarkall at one point mentions that we could organized them into cuda package. In #6, I didn't do that largely because of two considerations:

  1. Pluggable installation: developers can choose which cuda library they like to use and only install those that are needed.
  2. Name conflicts: other python package might also be named cuda.

However, I'm still very interested in organizing all extensions under a meta package. I'd like to hear pro and cons on both sides.

quasiben commented 3 months ago

Assuming overall package size is not substantial (>20-30MB), I would be in favor of reducing complexity and shipping all extensions in a single package. This should reduce the burden on packaging and potential confusion for the user

isVoid commented 3 months ago

Any idea on what this package should be named?

Alternatively can we install this as a "submodule" for cuda? (I recall things like cuda.nvrtc can be installed optionally from rest of cuda python). So there should be a way to make all the above as an optional submodule for cuda. E.g. cuda.bf16, cuda.fp16, etc.

quasiben commented 2 months ago

I think it's technically possible to install as a submodule for cuda but I would be hesitant to do this without negotiating with cuda-python folks. Or did you mean as a submodule for numba.cuda ?

isVoid commented 1 month ago

From what I see over the past few weeks, I think each team has their own use case. Some may want the bindings to live with their own package (curand) and others may want this to live with numba. Shall we stay flexible for the moment?