【发布时间】:2020-02-19 12:45:43
【问题描述】:
我正在使用 xgboost 来训练我的模型。我体验到在 GPU 上使用 xgboost 进行训练要快得多。由于我有 2 个 GPU 可用,我想同时使用这两个。其实我有关于这个话题的三个问题。
如何同时使用多个 GPU?
当运行this example 时,只有第一个 GPU 可以工作。我试图设置gpu_id = 1。效果很好,即另一个 GPU 完成了这项工作。然后我读到gpu_id = -1 会提供解决方案。显然,这个论点不适用于 CUDA 10。我也尝试过 n_gpus,但这似乎已被弃用。
完成后如何清除 GPU 内存的缓存?
当我在某种循环中调整参数时,这变得很重要。单个模型很适合内存,但不是数百个。
当我将gpu_id 更改为下一个模型时,R 会崩溃。有没有办法防止这种情况发生?
我的设置:
- R 版本 3.4.4
- Ubuntu 18.04.3
- xgboost_1.0.0.1
- CUDA 10.2
【问题讨论】:
-
到目前为止,您有没有遇到过这些问题?