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

Build Python wheels that support both GPU and CPU versions out of the box for non-Windows #4684

Closed
StrikerRUS opened this issue Oct 14, 2021 · 8 comments · Fixed by #5252
Closed

Comments

@StrikerRUS
Copy link
Collaborator

StrikerRUS commented Oct 14, 2021

Right now Python wheels from PyPI can be used to run training of LightGBM on both CPU and GPU (OpenCL-based implementation), thanks to #3144. It is done only for Windows, but can be implemented and for non-Windows systems as well, refer to

the static build technique also works on Linux, but will require a small upstream change in the build options for the Khronos ICD library. For now, I'm referencing my fork with that change in the Khronos build script. Depending on community feedback (that is, whether this build option would be useful on Linux too) I'll either pursue the upstream change in the Khronos library or pull out the Linux build code from this PR.
#3144 (comment)

#3144 (comment)

Also linking #2263 here as related.

To close this issue take #3144, #3660 as a reference and do the same for non-Windows systems.

I'm trying to push this forward due to the agreement on that OpenCL-based version is still important and shouldn't be abandoned after releasing new CUDA implementation: #4630 (comment).

@StrikerRUS
Copy link
Collaborator Author

Closed in favor of being in #2302. We decided to keep all feature requests in one place.

Welcome to contribute this feature! Please re-open this issue (or post a comment if you are not a topic starter) if you are actively working on implementing this feature.

@StrikerRUS
Copy link
Collaborator Author

Kindly ping @tpboudreau @itamarst for the answer to this question #3144 (comment).

@jgiannuzzi
Copy link
Contributor

I have tried to implement this in #5252.

@jgiannuzzi
Copy link
Contributor

@StrikerRUS could you please re-open this issue and have a look at #5252?

@jameslamb
Copy link
Collaborator

Thanks very much for your work! I've re-opened the issue and assigned it to you for now (as a way to indicate to others that you are working on it). Let's keep all conversation about the specific code changes in #5252.

@github-actions

This comment was marked as off-topic.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 15, 2023
@microsoft microsoft unlocked this conversation Aug 18, 2023
@StrikerRUS
Copy link
Collaborator Author

@jameslamb Is this issue resolved and Linux wheels can be used for GPU training?

image

@jameslamb
Copy link
Collaborator

Ah yes definitely! This was complete as of #5252. I'll check that off as completed in #2302. Thanks for checking into these older issues!

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

Successfully merging a pull request may close this issue.

3 participants