Skip to content

Conversation

razdoburdin
Copy link
Contributor

This massive PR contains the main part of sycl-related fixes for the upcoming xgboost 3.1.

I have tried to make as little changes in the main part of the code as possible.

@trivialfis
Copy link
Member

I will look into merging this and check whether it's possible to backport.

cc @hcho3

Copy link
Collaborator

@hcho3 hcho3 left a comment

Choose a reason for hiding this comment

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

The changes look benign. However, I'm a bit concerned about the increased complexity for device dispatching logic in the main code base; now the CPU updater needs to call IsSycl(), even when the CPU updater has nothing to do with SYCL.

Is it possible to make ctx_->Device() decay gracefully to cpu when called inside a CPU updater?

@razdoburdin
Copy link
Contributor Author

That make sense.

I plan to create sycl-specific implementations for all requared parts, it would allow to remove all this checks like
ctx->Device().IsSycl() ? DeviceOrd::CPU() : ctx->Device()

@hcho3 hcho3 mentioned this pull request Oct 8, 2025
6 tasks
@trivialfis trivialfis merged commit 3fab478 into dmlc:master Oct 9, 2025
63 checks passed
trivialfis pushed a commit to trivialfis/xgboost that referenced this pull request Oct 10, 2025
---------

Co-authored-by: Dmitry Razdoburdin <>
trivialfis added a commit that referenced this pull request Oct 11, 2025
@razdoburdin razdoburdin deleted the dev/sycl/fixes_3.1_pt2 branch October 14, 2025 12:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants