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

GPU-enabled package builds #50

Closed
jack-pappas opened this issue Nov 3, 2023 · 4 comments
Closed

GPU-enabled package builds #50

jack-pappas opened this issue Nov 3, 2023 · 4 comments
Labels

Comments

@jack-pappas
Copy link

Comment:

I'm interested in comparing CPU vs. GPU performance across some of the popular ML libraries. I went to set up a conda environment to do this and realized that although lightgbm implements GPU support, this feedstock isn't building the package with it enabled.

conda-forge has other feedstocks that're building both _cpu and _cuda versions of packages. For example:

It'd be great to have this feedstock building for both CPU and GPU in the same way.

Thanks!

N.B. This is a duplicate of #29, which was inexplicably closed.

@jameslamb
Copy link
Member

👋🏻 Hi, I'm from LightGBM. I didn't know there were separate py-xgboost-cpu and py-xgboost-gpu packages available via conda-forge! Supporting an option like that for lightgbm would definitely be valuable.

I'm not that experience with repacking anything other than pure Python stuff for conda-forge, but if maintainers of this feedstock want to pursue this idea I'd be happy to be help out with LightGBM build toolchain questions.

Also just want to note that there are technically 2 totally different GPU implementations of lightgbm:

  • "GPU" = based on OpenCL (targeting a wide range of hardware vendors), tested on every commit but not actively maintained
  • "CUDA" = from-scratch CUDA kernel reimplementation of LightGBM (NVIDIA GPUs only), actively maintained

I think the most effective use of the limited time of anyone reading this is to focus on packaging the LightGBM CUDA implementation as py-lightgbm-cuda.

@isuruf
Copy link
Member

isuruf commented Jun 24, 2024

@jameslamb, would it make sense to enable "GPU" (OpenCL) builds by default since OpenCL is a light dependency? Then we would need only two variants (CPU + GPU-OpenCL, CUDA) vs three (CPU, GPU-OpenCL, CUDA)

@jameslamb
Copy link
Member

jameslamb commented Jun 25, 2024

I think that's a great idea! That's similar to how LightGBM is packaged for PyPI... Linux and Windows wheels there come with OpenCL-based GPU support already compiled in.

I'd be happy to give a more thoughtful review on #55, but it'll be a day or 2 until I have the time.

@isuruf
Copy link
Member

isuruf commented Jun 29, 2024

Fixed in #55

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants