--------- Co-authored-by: Dmitry Razdoburdin <> Co-authored-by: Nikolay Petrov <nikolay.a.petrov@intel.com> Co-authored-by: Alexandra <alexandra.epanchinzeva@intel.com>
40 lines
1.5 KiB
Markdown
Executable File
40 lines
1.5 KiB
Markdown
Executable File
<!--
|
|
******************************************************************************
|
|
* 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
|
|
| 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:
|
|
```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](https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler.html).
|
|
See also [Intel® oneAPI Programming Guide](https://www.intel.com/content/www/us/en/docs/oneapi/programming-guide/2024-0/overview.html).
|
|
|
|
## Build
|
|
From the ``xgboost`` directory, run:
|
|
|
|
```bash
|
|
$ mkdir build
|
|
$ cd build
|
|
$ cmake .. -DPLUGIN_SYCL=ON
|
|
$ make -j
|
|
``` |