You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
GPU accelerated prediction is enabled by default for the above mentioned ``tree_method`` parameters but can be switched to CPU prediction by setting ``predictor`` to ``cpu_predictor``. This could be useful if you want to conserve GPU memory. Likewise when using CPU algorithms, GPU accelerated prediction can be enabled by setting ``predictor`` to ``gpu_predictor``.
65
67
66
68
The experimental parameter ``single_precision_histogram`` can be set to True to enable building histograms using single precision. This may improve speed, in particular on older architectures.
67
69
68
-
The device ordinal can be selected using the ``gpu_id`` parameter, which defaults to 0.
70
+
The device ordinal (which GPU to use if you have many of them) can be selected using the
71
+
``gpu_id`` parameter, which defaults to 0 (the first device reported by CUDA runtime).
69
72
70
73
71
74
The GPU algorithms currently work with CLI, Python and R packages. See :doc:`/build` for details.
@@ -80,15 +83,7 @@ The GPU algorithms currently work with CLI, Python and R packages. See :doc:`/bu
80
83
81
84
Single Node Multi-GPU
82
85
=====================
83
-
.. note:: Single node multi-GPU training is deprecated. Please use distributed GPU training with one process per GPU.
84
-
85
-
Multiple GPUs can be used with the ``gpu_hist`` tree method using the ``n_gpus`` parameter. which defaults to 1. If this is set to -1 all available GPUs will be used. If ``gpu_id`` is specified as non-zero, the selected gpu devices will be from ``gpu_id`` to ``gpu_id+n_gpus``, please note that ``gpu_id+n_gpus`` must be less than or equal to the number of available GPUs on your system. As with GPU vs. CPU, multi-GPU will not always be faster than a single GPU due to PCI bus bandwidth that can limit performance.
86
-
87
-
.. note:: Enabling multi-GPU training
88
-
89
-
Default installation may not enable multi-GPU training. To use multiple GPUs, make sure to read :ref:`build_gpu_support`.
90
-
XGBoost supports multi-GPU training on a single machine via specifying the `n_gpus' parameter.
91
-
86
+
.. 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.
92
87
93
88
Multi-node Multi-GPU Training
94
89
=============================
@@ -101,66 +96,64 @@ Objective functions
101
96
===================
102
97
Most of the objective functions implemented in XGBoost can be run on GPU. Following table shows current support status.
103
98
104
-
.. |tick| unicode:: U+2714
105
-
.. |cross| unicode:: U+2718
106
-
107
-
+-----------------+-------------+
108
-
| Objectives | GPU support |
109
-
+-----------------+-------------+
110
-
| reg:squarederror| |tick| |
111
-
+-----------------+-------------+
112
-
| reg:logistic | |tick| |
113
-
+-----------------+-------------+
114
-
| binary:logistic | |tick| |
115
-
+-----------------+-------------+
116
-
| binary:logitraw | |tick| |
117
-
+-----------------+-------------+
118
-
| binary:hinge | |tick| |
119
-
+-----------------+-------------+
120
-
| count:poisson | |tick| |
121
-
+-----------------+-------------+
122
-
| reg:gamma | |tick| |
123
-
+-----------------+-------------+
124
-
| reg:tweedie | |tick| |
125
-
+-----------------+-------------+
126
-
| multi:softmax | |tick| |
127
-
+-----------------+-------------+
128
-
| multi:softprob | |tick| |
129
-
+-----------------+-------------+
130
-
| survival:cox | |cross| |
131
-
+-----------------+-------------+
132
-
| rank:pairwise | |cross| |
133
-
+-----------------+-------------+
134
-
| rank:ndcg | |cross| |
135
-
+-----------------+-------------+
136
-
| rank:map | |cross| |
137
-
+-----------------+-------------+
138
-
139
-
For multi-gpu support, objective functions also honor the ``n_gpus`` parameter,
140
-
which, by default is set to 1. To disable running objectives on GPU, just set
141
-
``n_gpus`` to 0.
99
+
+--------------------+-------------+
100
+
| Objectives | GPU support |
101
+
+--------------------+-------------+
102
+
| reg:squarederror | |tick| |
103
+
+--------------------+-------------+
104
+
| reg:squaredlogerror| |tick| |
105
+
+--------------------+-------------+
106
+
| reg:logistic | |tick| |
107
+
+--------------------+-------------+
108
+
| binary:logistic | |tick| |
109
+
+--------------------+-------------+
110
+
| binary:logitraw | |tick| |
111
+
+--------------------+-------------+
112
+
| binary:hinge | |tick| |
113
+
+--------------------+-------------+
114
+
| count:poisson | |tick| |
115
+
+--------------------+-------------+
116
+
| reg:gamma | |tick| |
117
+
+--------------------+-------------+
118
+
| reg:tweedie | |tick| |
119
+
+--------------------+-------------+
120
+
| multi:softmax | |tick| |
121
+
+--------------------+-------------+
122
+
| multi:softprob | |tick| |
123
+
+--------------------+-------------+
124
+
| survival:cox | |cross| |
125
+
+--------------------+-------------+
126
+
| rank:pairwise | |cross| |
127
+
+--------------------+-------------+
128
+
| rank:ndcg | |cross| |
129
+
+--------------------+-------------+
130
+
| rank:map | |cross| |
131
+
+--------------------+-------------+
132
+
133
+
Objective will run on GPU if GPU updater (``gpu_hist``), otherwise they will run on CPU by
134
+
default. For unsupported objectives XGBoost will fall back to using CPU implementation by
135
+
default.
142
136
143
137
Metric functions
144
138
===================
145
139
Following table shows current support status for evaluation metrics on the GPU.
146
140
147
-
.. |tick| unicode:: U+2714
148
-
.. |cross| unicode:: U+2718
149
-
150
141
+-----------------+-------------+
151
142
| Metric | GPU Support |
152
143
+=================+=============+
153
144
| rmse | |tick| |
154
145
+-----------------+-------------+
146
+
| rmsle | |tick| |
147
+
+-----------------+-------------+
155
148
| mae | |tick| |
156
149
+-----------------+-------------+
157
150
| logloss | |tick| |
158
151
+-----------------+-------------+
159
152
| error | |tick| |
160
153
+-----------------+-------------+
161
-
| merror | |cross||
154
+
| merror | |tick| |
162
155
+-----------------+-------------+
163
-
| mlogloss | |cross||
156
+
| mlogloss | |tick| |
164
157
+-----------------+-------------+
165
158
| auc | |cross| |
166
159
+-----------------+-------------+
@@ -181,10 +174,8 @@ Following table shows current support status for evaluation metrics on the GPU.
181
174
| tweedie-nloglik | |tick| |
182
175
+-----------------+-------------+
183
176
184
-
As for objective functions, metrics honor the ``n_gpus`` parameter,
185
-
which, by default is set to 1. To disable running metrics on GPU, just set
186
-
``n_gpus`` to 0.
187
-
177
+
Similar to objective functions, default device for metrics is selected based on tree
178
+
updater and predictor (which is selected based on tree updater).
0 commit comments