GKE – GPU Nvidia – CUDA驱动程序无法工作

85次阅读
没有评论

问题描述

在设置了一个带有Nvidia Tesla K80的Kubernetes节点后,按照教程尝试运行一个带有Nvidia驱动程序和CUDA驱动程序的PyTorch Docker镜像。他已经成功安装了Nvidia守护程序,并且可以看到以下的Pods:nvidia-driver-installer-gmvgtnvidia-gpu-device-plugin-lmj84。但是,即使使用了推荐的镜像nvidia/cuda:10.0-runtime-ubuntu18.04,他仍然无法在Pod中找到Nvidia驱动程序。他还尝试通过torch.cuda.is_available()来测试CUDA是否工作,但返回值为False。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

根据用户的回答,他最终解决了问题。他发现必须设置资源限制才能访问Nvidia驱动程序,这很奇怪,因为无论如何,他的Pod都在正确的节点上安装了Nvidia驱动程序。

方案2

如果方案1无法解决问题,请尝试以下操作。
1. 确保您的节点上已正确安装了Nvidia驱动程序。您可以通过运行以下命令来检查:

nvidia-smi

如果命令成功运行并显示了Nvidia GPU的信息,则表示驱动程序已正确安装。
2. 检查您的Pod是否正确地调度到了带有Nvidia GPU的节点上。您可以使用以下命令来检查Pod所在的节点:

kubectl get pods -o wide

确保Pod所在的节点具有Nvidia GPU。
3. 检查您的Pod的资源限制是否正确设置。您可以在Pod的配置文件中添加以下内容来设置资源限制:

resources:
  limits:
    nvidia.com/gpu: 1

这将确保Pod可以访问一个Nvidia GPU。
4. 如果您仍然无法找到Nvidia驱动程序或CUDA库,请尝试使用不同的镜像版本。您可以尝试使用其他版本的nvidia/cuda镜像,或者尝试使用不同的操作系统版本。
5. 如果您仍然无法解决问题,请参考Google Kubernetes Engine的文档,或者在相关的技术论坛上寻求帮助。
以上是一些常见的解决方案,希望能帮助您解决问题。如果您有其他问题,请随时提问。

正文完