在基于Rocker的Docker容器中的h2o.xgboost中使用GPU后端

时间:2019-01-25 21:41:46

标签: r docker h2o xgboost

我一直试图在rocker Docker容器中通过h2o的h2o为xgboost工作提供GPU支持,但收效甚微。到目前为止的进展:GitHubDocker Hub

我已经在主机上安装了CUDA + nvidia-docker,并在容器中安装了CUDA(9.0-9.2)。我正在使用以下命令运行容器,

nvidia-docker run -d -p 8787:8787 -e USER=tidyverse-gpu -e PASSWORD=tidyverse-gpu --name tidyverse-gpu seabbs/tidyverse-gpu

Base Xgboost在R和Python中都支持GPU(并且在容器内运行时nvidia-smi返回使用情况统计信息等)。在h2o.xgboost中启用GPU后端后,将返回以下错误。

Illegal argument(s) for XGBoost model: XGBoost_model_R_1548450637489_3.  Details: ERRR on field: _backend: GPU backend (gpu_id: 0) is not functional. Check CUDA_PATH and/or GPU installation.

最初,我没有在Dockerfile中添加CUDA_PATH,但是测试添加它没有任何效果。

Sys.getenv("CUDA_PATH")
[1] "/usr/local/cuda"

h2o启动日志显示xgboost模块没有问题(我可以看到)。我尝试回滚到CUDA 8.0,但是xgboost不支持最新的摇杆容器中的此错误,因为所使用的gcc版本不受支持。

由于我没有任何线索,所以任何帮助将不胜感激:)

0 个答案:

没有答案