R:如何在XGBoost中使用多个GPU?

时间:2019-08-30 13:09:18

标签: r xgboost

我正在使用xgboost训练我的模型。我了解到在GPU上使用xgboost进行培训的速度要快得多。由于我有2个GPU可用,因此我想同时使用两者。实际上,我对此主题有三个问题。

如何同时使用多个GPU?

运行this example时,只有第一个GPU可以工作。我试图设置gpu_id = 1。效果很好,即另一个GPU完成了这项工作。然后我读到gpu_id = -1将提供解决方案。显然,此参数不适用于CUDA10。我也尝试过n_gpus,但似乎已弃用。

完成后如何清除GPU内存的缓存?

当我以某种循环调整参数时,这变得很重要。单个模型很适合内存,但不适合数百个。

当我为下一个模型更改gpu_id时,

R会崩溃。有办法防止这种情况吗?


我的设置:

  • R版本3.4.4
  • Ubuntu 18.04.3
  • xgboost_1.0.0.1
  • CUDA 10.2

1 个答案:

答案 0 :(得分:1)

tree_method = 'gpu_hist',
n_gpus = -1

在CUDA 10.2和xgboost 0.90在python中为我工作。