Amazon web services AWS DL AMI上带GPU支持的docker image xgboost
我试图在AWS GPU机器(p3系列)上托管的docker映像中运行支持GPU的XGBoost,但我一直得到:Amazon web services AWS DL AMI上带GPU支持的docker image xgboost,amazon-web-services,docker,amazon-ec2,xgboost,Amazon Web Services,Docker,Amazon Ec2,Xgboost,我试图在AWS GPU机器(p3系列)上托管的docker映像中运行支持GPU的XGBoost,但我一直得到: xgboost.core.XGBoostError: [05:48:26] ../src/tree/updater_gpu_hist.cu:786: Exception in gpu_hist: [05:48:26] ../src/tree/updater_gpu_hist.cu:795: Check failed: device_ >= 0 (-1 vs. 0) : Must
xgboost.core.XGBoostError: [05:48:26] ../src/tree/updater_gpu_hist.cu:786: Exception in gpu_hist: [05:48:26] ../src/tree/updater_gpu_hist.cu:795: Check failed: device_ >= 0 (-1 vs. 0) : Must have at least one device
i、 e.xgboost在我的docker映像中找不到GPU。主机运行此AWS AMI:
amzn2-ami-ecs-gpu-hvm-2.0.20210301-x86_64-ebs
它附带NVIDIA CUDA、cuDNN、NCCL、英特尔MKL-DNN、Docker、NVIDIA Docker支持。
我使用以下命令运行docker映像:
docker run --rm --gpus all --runtime nvidia <imageid> someparameter
docker-run--rm--gpus-all--runtime-nvidia-someparameter
它运行一些与tree\u method='gpu\u hist'
匹配的xgboost,但由于上面提到的错误消息而崩溃。代码本身在主机上运行良好,所以我一定在Docker映像中做了一些愚蠢的事情
我的docker基本图像来自ubuntu:18.04
另外,当我登录到docker映像时,我可以运行nvidia smi
,GPU似乎被正确检测到,但XGBoost似乎没有找到它。
我认为,对于特定的AMI,我在运行docker时使用的“--runtime nvidia”
应该负责加载GPU支持所需的所有LIB,但情况似乎并非如此。我是一个码头工人初学者,所以我可能错过了一些明显的东西。我也找不到支持xgboost w/GPU的公共docker镜像,但如果有人能给我指一个,那也太好了