基础的ubuntu的docker容器安装cuda

导言

        最近发现我们服务器上基于已经创建好的cudu/nvidia镜像的容器在新建容器的时候联网有点问题,所以之前写的那篇博客可能就不太适应了。这里写一篇博客来记录一下如何在服务器上最基础的ubuntu镜像容器里面安装cuda。

        其实也挺好理解的,因为一个容器就可以当作是一个独立的linux计算机,在里面是可以随便造的。那么让我们从一个只装了ubuntu系统的容器开始我们cuda的安装。

一、容器的创建

        首先要先连接服务器,用xshell,这个不教,网上教程一堆,也简单无脑。不过是要注意你那个服务器是不是在局域网里面,如果那样,那你们会有自己的vpn工具,要事先连接一下(我们用的是easyconnect)。

        其次,查看镜像,选对你要的镜像:

docker images

REPOSITORY                   TAG                               IMAGE ID       CREATED        SIZE

ubuntu                       latest                            bf3dc08bfed0   6 weeks ago    76.2MB

        上面的返回结果就是我所需要的ubuntu镜像的相关信息。好,接下来建立容器:

docker run --gpus all -d -p 0.0.0.0:10794:22 -itd --name=nps -v /data/fuyp/nps:/root bf3dc08bfed0 /bin/bash

        这一行代码有一些小的注意点:①端口映射问题(映射合适的端口)②名字问题(一开始要想好,因为容器建立之后是不能修改名字的)③数据卷的挂载问题(用容器外的一个文件夹挂载容器内的root文件夹,老师要求挂在data文件夹下的子文件夹里面,千万别挂home下了)④镜像名称(其实可以用镜像的名字,但是可能你的镜像列表里面有重复的镜像名称,建议用id)

        输入上面的命令后就创建好容器了,现在查看建立的容器:

docker ps

        这样可以看到容器的id,然后进入容器:

docker attach 容器id
或者下面这句
docker exec -it 容器id /bin/bash

        下面这句是进入正在运行的容器的,一般是配合挂后台运行容器的命令ctrl+p+q组合使用的。

二、cuda的安装

        首先确定自己的ubuntu的版本,使用命令:

cat /proc/version

可以看到这样的情况:
Linux version 5.4.0-172-generic (buildd@lcy02-amd64-053) (gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2)) #190-Ubuntu SMP Fri Feb 2 23:24:22 UTC 2024

        那么我们的ubuntu版本就是20.04,这个记住(不同的服务器可能不同,按照你的实际来)。那么,接下来让我们查看英伟达的驱动版本:

nvidia-smi

        可以很清楚地看到此服务器的CUDA Version是12.4,这意味着,安装的 CUDA 版本必须 <= 12.4。笔者安装的就是12.4的。而pytorch经过笔者是实际测试,12.4的,最好安装12.x版本的,不要去装11.x版本的(一般而言就是12.1了)。

        确定上述的信息之后,就可以前往英伟达的驱动官网了:CUDA Toolkit Archive | NVIDIA Developer

        选择打开对应版本的cuda链接,然后如下图进行选择:

        会出现两行命令,然后需要分别执行(不同服务器的可能会不一样,读者的服务器配置和笔者不一样是很正常的)。注意,在执行的时候可能会出现一些提示报错,先记得用下面的命令排除一下:

apt-get update
apt-get install -y wget
apt-get install vim
apt-get install sudo

        如果出现了这样的错误,则使用下面的命令解决:

安装cuda报错:./cuda-installer: error while loading shared libraries: libxml2.so.2
解决:apt install libxml2

安装cuda出错Failed to verify gcc version. See log at /var/log/cuda-installer.log for details.
解决:这是由于gcc版本不匹配的问题!一般简易解决方法是忽略,使用 --override 参数,即:sudo sh cuda_11.0.2_450.51.05_linux.run --override

        然后基本上运行两行命令就不会报错了:

wget https://developer.download.nvidia.com/compute/cuda/12.4.1/local_installers/cuda_12.4.1_550.54.15_linux.run

sudo sh cuda_12.4.1_550.54.15_linux.run

        成功运行会出现下面的情况:

        输入accpet即可进入下一个对话框:

        这里可以用“↓”键直接移动到下面的install进行安装(图是笔者盗的网上的,自己不再装一遍了),但是笔者实验的时候发现,最好在Driver那边按一下空格,也就是取消Driver这个选项,使之成为空格的状态,而不是下面几行带X的选中状态(没安装成功就选中试试,总能试成功的)。安装成功后会是这个界面:

       下面需要配置一下环境变量(没有.bashrc文件就自己用vim写一个):

export PATH=/usr/local/cuda-12.4/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda-12.4

        记得用source命令激活一下:

source ~/.bashrc
sudo ldconfig

        为了确定是不是真的安装好了驱动,可以使用下面的这个命令查看:

nvcc -V

结果是:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Thu_Mar_28_02:18:24_PDT_2024
Cuda compilation tools, release 12.4, V12.4.131
Build cuda_12.4.r12.4/compiler.34097967_0

        那么安装成功!

三、引申

        笔者最近干的事情是有用anaconda建立虚拟环境,安装rdkit库和pytorch库来做试验,下面的部分就无关cuda了,有相关需要的看一下。

        其实没有别的需要注意的点,就是pytorch需要python版本3.8及以上,rdkit则是默认3.7,记得协调一下,笔者是采用的3.8版本的python。

        关于这两个库的安装可以参照下面的命令:

# 创建环境并安装rdkit
conda install -c conda-forge rdkit python=3.8
# 激活环境
conda activate my-rdkit-env
# 安装pytorch
# 这个网上很多了,要依据服务器或者电脑的不同情况来去pytorch官网上确定下载命令了
# 笔者服务器上所需驱动版本是12.4,而pytorch只适合安装12.1的,已经验证过可行性

  • 17
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值