Small updates to GPU documentation (#5483)
This commit is contained in:
parent
a9313802ea
commit
15800107ad
@ -26,7 +26,7 @@ Algorithms
|
|||||||
+-----------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
+-----------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||||||
| tree_method | Description |
|
| tree_method | Description |
|
||||||
+=======================+=======================================================================================================================================================================+
|
+=======================+=======================================================================================================================================================================+
|
||||||
| gpu_hist | Equivalent to the XGBoost fast histogram algorithm. Much faster and uses considerably less memory. NOTE: Will run very slowly on GPUs older than Pascal architecture. |
|
| gpu_hist | Equivalent to the XGBoost fast histogram algorithm. Much faster and uses considerably less memory. NOTE: May run very slowly on GPUs older than Pascal architecture. |
|
||||||
+-----------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
+-----------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||||||
|
|
||||||
Supported parameters
|
Supported parameters
|
||||||
@ -50,8 +50,6 @@ Supported parameters
|
|||||||
+--------------------------------+--------------+
|
+--------------------------------+--------------+
|
||||||
| ``gpu_id`` | |tick| |
|
| ``gpu_id`` | |tick| |
|
||||||
+--------------------------------+--------------+
|
+--------------------------------+--------------+
|
||||||
| ``n_gpus`` (deprecated) | |tick| |
|
|
||||||
+--------------------------------+--------------+
|
|
||||||
| ``predictor`` | |tick| |
|
| ``predictor`` | |tick| |
|
||||||
+--------------------------------+--------------+
|
+--------------------------------+--------------+
|
||||||
| ``grow_policy`` | |tick| |
|
| ``grow_policy`` | |tick| |
|
||||||
@ -85,10 +83,6 @@ The GPU algorithms currently work with CLI, Python and R packages. See :doc:`/bu
|
|||||||
XGBRegressor(tree_method='gpu_hist', gpu_id=0)
|
XGBRegressor(tree_method='gpu_hist', gpu_id=0)
|
||||||
|
|
||||||
|
|
||||||
Single Node Multi-GPU
|
|
||||||
=====================
|
|
||||||
.. note:: Single node multi-GPU training with `n_gpus` parameter is deprecated after 0.90. Please use distributed GPU training with one process per GPU.
|
|
||||||
|
|
||||||
Multi-node Multi-GPU Training
|
Multi-node Multi-GPU Training
|
||||||
=============================
|
=============================
|
||||||
XGBoost supports fully distributed GPU training using `Dask <https://dask.org/>`_. For
|
XGBoost supports fully distributed GPU training using `Dask <https://dask.org/>`_. For
|
||||||
@ -128,11 +122,11 @@ Most of the objective functions implemented in XGBoost can be run on GPU. Follo
|
|||||||
+--------------------+-------------+
|
+--------------------+-------------+
|
||||||
| survival:cox | |cross| |
|
| survival:cox | |cross| |
|
||||||
+--------------------+-------------+
|
+--------------------+-------------+
|
||||||
| rank:pairwise | |cross| |
|
| rank:pairwise | |tick| |
|
||||||
+--------------------+-------------+
|
+--------------------+-------------+
|
||||||
| rank:ndcg | |cross| |
|
| rank:ndcg | |tick| |
|
||||||
+--------------------+-------------+
|
+--------------------+-------------+
|
||||||
| rank:map | |cross| |
|
| rank:map | |tick| |
|
||||||
+--------------------+-------------+
|
+--------------------+-------------+
|
||||||
|
|
||||||
Objective will run on GPU if GPU updater (``gpu_hist``), otherwise they will run on CPU by
|
Objective will run on GPU if GPU updater (``gpu_hist``), otherwise they will run on CPU by
|
||||||
@ -160,13 +154,13 @@ Following table shows current support status for evaluation metrics on the GPU.
|
|||||||
+-----------------+-------------+
|
+-----------------+-------------+
|
||||||
| mlogloss | |tick| |
|
| mlogloss | |tick| |
|
||||||
+-----------------+-------------+
|
+-----------------+-------------+
|
||||||
| auc | |cross| |
|
| auc | |tick| |
|
||||||
+-----------------+-------------+
|
+-----------------+-------------+
|
||||||
| aucpr | |cross| |
|
| aucpr | |cross| |
|
||||||
+-----------------+-------------+
|
+-----------------+-------------+
|
||||||
| ndcg | |cross| |
|
| ndcg | |tick| |
|
||||||
+-----------------+-------------+
|
+-----------------+-------------+
|
||||||
| map | |cross| |
|
| map | |tick| |
|
||||||
+-----------------+-------------+
|
+-----------------+-------------+
|
||||||
| poisson-nloglik | |tick| |
|
| poisson-nloglik | |tick| |
|
||||||
+-----------------+-------------+
|
+-----------------+-------------+
|
||||||
@ -188,21 +182,18 @@ You can run benchmarks on synthetic data for binary classification:
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
python tests/benchmark/benchmark.py
|
python tests/benchmark/benchmark_tree.py --tree_method=gpu_hist
|
||||||
|
python tests/benchmark/benchmark_tree.py --tree_method=hist
|
||||||
|
|
||||||
Training time time on 1,000,000 rows x 50 columns with 500 boosting iterations and 0.25/0.75 test/train split on i7-6700K CPU @ 4.00GHz and Pascal Titan X yields the following results:
|
Training time on 1,000,000 rows x 50 columns of random data with 500 boosting iterations and 0.25/0.75 test/train split with AMD Ryzen 7 2700 8 core @3.20GHz and Nvidia 1080ti yields the following results:
|
||||||
|
|
||||||
+--------------+----------+
|
+--------------+----------+
|
||||||
| tree_method | Time (s) |
|
| tree_method | Time (s) |
|
||||||
+==============+==========+
|
+==============+==========+
|
||||||
| gpu_hist | 13.87 |
|
| gpu_hist | 12.57 |
|
||||||
+--------------+----------+
|
+--------------+----------+
|
||||||
| hist | 63.55 |
|
| hist | 36.01 |
|
||||||
+--------------+----------+
|
+--------------+----------+
|
||||||
| exact | 1082.20 |
|
|
||||||
+--------------+----------+
|
|
||||||
|
|
||||||
See `GPU Accelerated XGBoost <https://xgboost.ai/2016/12/14/GPU-accelerated-xgboost.html>`_ and `Updates to the XGBoost GPU algorithms <https://xgboost.ai/2018/07/04/gpu-xgboost-update.html>`_ for additional performance benchmarks of the ``gpu_hist`` tree method.
|
|
||||||
|
|
||||||
Memory usage
|
Memory usage
|
||||||
============
|
============
|
||||||
@ -241,8 +232,10 @@ Many thanks to the following contributors (alphabetical order):
|
|||||||
* Jonathan C. McKinney
|
* Jonathan C. McKinney
|
||||||
* Matthew Jones
|
* Matthew Jones
|
||||||
* Philip Cho
|
* Philip Cho
|
||||||
|
* Rong Ou
|
||||||
* Rory Mitchell
|
* Rory Mitchell
|
||||||
* Shankara Rao Thejaswi Nanditale
|
* Shankara Rao Thejaswi Nanditale
|
||||||
|
* Sriram Chandramouli
|
||||||
* Vinay Deshpande
|
* Vinay Deshpande
|
||||||
|
|
||||||
Please report bugs to the XGBoost issues list: https://github.com/dmlc/xgboost/issues. For general questions please visit our user form: https://discuss.xgboost.ai/.
|
Please report bugs to the XGBoost issues list: https://github.com/dmlc/xgboost/issues. For general questions please visit our user form: https://discuss.xgboost.ai/.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user