GPU使用

GPU使用

Docker中使用GPU

参考:docker使用GPU总结

工作中经常遇到需要在容器中调度GPU的事情,比较早之前Docker调动GPU需要安装nvidia-docker,可以在容器中看到并使用宿主机的nvidia显卡。

https://github.com/NVIDIA/nvidia-docker

从docker 19版本之后不需要单独去下nvidia-docker这个独立的docker应用程序,只需要安装并配置一下nvidia-runtime,使用的时候用–gpus参数来控制。

#安装Docker和nvidia-container-toolkit
yum install docker-ce
yum install -y yum-utils
yum-config-manager --add-repo  https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin nvidia-container-toolkit

#docker run --help | grep -i gpus
--gpus gpu-request               GPU devices to add to the container ('all' to pass all GPUs)

#启动容器时,容器如果想使用gpu,镜像里必须有cuda环境,就是说,针对想使用gpu的容器,镜像在制作时必须吧cuda环境打进去

#--gpus '"device=1,2"',将ID是1,2的卡指定给容器使用
#docker run --gpus '"device=1,2"' nvidia/cuda:9.0-base nvidia-smi

https://github.com/NVIDIA/nvidia-container-toolkit

/etc/docker/daemon.json内容如下:

cat /etc/docker/daemon.json 
{
    "default-runtime": "nvidia",
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    },
    "registry-mirrors": [""],
    "insecure-registries" : [""],
    "data-root": "/disk1/docker",
    "exec-opts": ["native.cgroupdriver=systemd"]

}
1. docker run 的时候不加 --gpus参数,docker run -it --rm --name test ubuntu:latest
2.docker run 的时候加 --gpus参数,docker run -it --rm --name test --gpus all ubuntu:latest

K8S中使用GPU

参考:

k8s 调度 GPU

线上K8S集群使用的是gpu-operator, gpu-operator 里包含了 nvidia-device-plugin,具体详见:

Installing the NVIDIA GPU Operator

物理机上使用GPU

参考:https://zhuanlan.zhihu.com/p/669089641

CUDA是一种并行计算平台和编程模型,而CUDA Toolkit是包含用于CUDA开发的一系列软件工具和库的集合。

显示的驱动版本以及支持的CUDA版本

安装CUDA的时候需要升级一下内核,然后下载cuda_12.4.0_550.54.14_linux.run进行安装,安装完成后

写在最后

简单记录一下工作中遇到的使用GPU遇到的安装过程,后续遇到新的问题再进行补充。

留下回复

error: Content is protected !!