Back to Xgboost

SYCL-based Algorithm for Tree Construction

plugin/sycl/README.md

3.2.01.5 KB
Original Source
<!-- ****************************************************************************** * Copyright by Contributors 2017-2023 *******************************************************************************/-->

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

deviceDescription
sycluse default sycl device
sycl:gpuuse default sycl gpu
sycl:cpuuse default sycl cpu
sycl:gpu:Nuse sycl gpu number N
sycl:cpu:Nuse sycl cpu number N

Python example:

python
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:

bash
$ cmake -B build -S . -DPLUGIN_SYCL=ON
$ cmake --build build -j