Jiaming Yuan 53fc17578f
Use std::uint64_t for row index. (#10120)
- Use std::uint64_t instead of size_t to avoid implementation-defined type.
- Rename to bst_idx_t, to account for other types of indexing.
- Small cleanup to the base header.
2024-03-15 18:43:49 +08:00
..
2024-03-15 01:46:46 +08:00

SYCL-based Algorithm for Tree Construction

This plugin adds support of SYCL programming model for prediction algorithms to XGBoost.

Usage

Specify the 'device' parameter as described in the table below to offload model training and inference on SYCL device.

Algorithms

device Description
sycl use default sycl device
sycl:gpu use default sycl gpu
sycl:cpu use default sycl cpu
sycl:gpu:N use sycl gpu number N
sycl:cpu:N use sycl cpu number N

Python example:

param['device'] = 'sycl:gpu:0'

Note: 'sycl:cpu' devices have full functional support but can't provide good enough performance. We recommend use 'sycl:cpu' devices only for test purposes. Note: if device is specified to be 'sycl', device type will be automatically chosen. In case the system has both sycl GPU and sycl CPU, GPU will on use.

Dependencies

To build and use the plugin, install Intel® oneAPI DPC++/C++ Compiler. See also Intel® oneAPI Programming Guide.

Build

From the xgboost directory, run:

$ mkdir build
$ cd build
$ cmake .. -DPLUGIN_SYCL=ON
$ make -j