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