* Change DefaultEvalMetric of classification from error to logloss * Change default binary metric in plugin/example/custom_obj.cc * Set old error metric in python tests * Set old error metric in R tests * Fix missed eval metrics and typos in R tests * Fix setting eval_metric twice in R tests * Add warning for empty eval_metric for classification * Fix Dask tests Co-authored-by: Hyunsu Cho <chohyu01@cs.washington.edu>
DPC++-based Algorithm for Tree Construction
This plugin adds support of OneAPI programming model for tree construction and prediction algorithms to XGBoost.
Usage
Specify the 'objective' parameter as one of the following options to offload computation of objective function on OneAPI device.
Algorithms
| objective | Description |
|---|---|
| reg:squarederror_oneapi | regression with squared loss |
| reg:squaredlogerror_oneapi | regression with root mean squared logarithmic loss |
| reg:logistic_oneapi | logistic regression for probability regression task |
| binary:logistic_oneapi | logistic regression for binary classification task |
| binary:logitraw_oneapi | logistic regression for classification, output score before logistic transformation |
Specify the 'predictor' parameter as one of the following options to offload prediction stage on OneAPI device.
Algorithms
| predictor | Description |
|---|---|
| predictor_oneapi | prediction using OneAPI device |
Please note that parameter names are not finalized and can be changed during further integration of OneAPI support.
Python example:
param['predictor'] = 'predictor_oneapi'
param['objective'] = 'reg:squarederror_oneapi'
Dependencies
Building the plugin requires Data Parallel C++ Compiler (https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/dpc-compiler.html)
Build
From the command line on Linux starting from the xgboost directory:
$ mkdir build
$ cd build
$ EXPORT CXX=dpcpp && cmake .. -DPLUGIN_UPDATER_ONEAPI=ON
$ make -j