linux CUDA安装(非ROOT用户)

Posted 存在computer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux CUDA安装(非ROOT用户)相关的知识,希望对你有一定的参考价值。

一、背景

跑一个18年Tensorflow的项目(中文、闽南语语音合成),报错ImportError: libcublas.so.9.0: cannot open shared object file: No such file,查询后,原因是CUDA版本不匹配导致,详见,于是安装CUDA9.0。

二、安装CUDA 9.0

CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。

下载地址:CUDA Toolkit Archive | NVIDIA Developer找到9.0下载,下载后是cuda_9.0.176_384.81_linux.run,然后sh cuda_9.0.176_384.81_linux.run命令进行安装。

注意:默认安装路径是/usr/local/cuda-9.0,当然也可以自定义,安装到自己文件夹下面去,之后在.bashrc中配置好就行。

 图片来自此博客

安装完以后CUDA-9.0文件夹下

三、安装CUDA9.0对应版本的cuDNN

 cuDNN是一个对于深度神经网络的CPU计算库。

下载地址:cuDNN Archive | NVIDIA Developer

找到对应版本下载后是cudnn-9.0-linux-x64-v7.5.0.56.tgz

用命令tar zxvf xxxx.tgz解压,默认解压的文件夹名字叫cuda,里面内容有

 下面就是将cuDNN里面的包拷贝到CUDA-9.0里面去

cp 复制的文件地址  复制到哪里去的地址

cp cuda/include/cudnn.h /usr/local/cuda-9.0/include

cp cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64

chmod a+r /usr/local/cuda-9.0/include/cudnn.h /usr/local/cuda-9.0/lib64/libcudnn*

其中/usr/local/要换成你的地址,我就是/home/xxx/CUDA-9.0。注意,~能表示/home/你的用户文件夹/  地址。  要是有root权限那就cp命令前加上sudo,其他命令也类似。root权限需要管理员开。

四、配置.bashrc文件

vi ~/.bashrc

打开后按i(insert),在最下方输入代码

export CUDA_HOME="$HOME/cuda11.2"
export PATH="$CUDA_HOME/bin:$PATH"
export LD_LIBRARY_PATH="$CUDA_HOME/lib64:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH="$CUDA_HOME/extras/CUPTI/lib64:$LD_LIBRARY_PATH"

最后一句是 tensorflow 要求的,它需要 cuda 的 CUPTI 库

然后按ESC  :wq!进行保存退出,

输入source ~/.bashrc激活环境配置文件

五、输入nvcc -V查看当前cuda版本

注意V必须大写,小写都不行

六、gcc安装

为什么要装gcc?gcc是编译用的,Ubuntu18自带的gcc是7,但是7并不跟CUDA9.0兼容,查询了此处gcc与CUDA的关系博客,发现我的gcc必须用6。注意,安装gcc必须得有root权限。

 命令先用 sudo apt install gcc-6 和 sudo apt install g++-6 安装 gcc,然后用以下命令把 gcc-6 设为默认

 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 100
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 50

七、总结

1、CUDA机器可以装多个,但就是你配置文件.bashrc中配置的哪个就调用哪个

2、cuDNN装与CUDA版本配套的即可

3、gcc同样可以有多个版本共存,就是通过命令设置默认使用的gcc编译器的版本

4、因为代码是18年的,我装了1.8.0gpu版本的Tensorflow,然后重新跑程序,成功。

八、项目问题

1.运行中报错,TypeError: get_pinyin() got an unexpected keyword argument 'show_tone_marks'

解决办法,里面的依赖包xpinyin版本高,18年左右大家用的版本是0.5.5,详细版本看这里

2.项目里面我的python用的3.6,Tensorflow-gpu==1.8.0

3.依赖包里面有一个包是yaml,安装应当是pip install pyyaml

参考:

1.Linux下非root用户安装多版本CUDA(超详细)_今天以后。。。的博客-CSDN博客_非root用户安装cuda

2.实验室内部gitee的资料

3.ubuntu查看系统版本_三颗草丶的博客-CSDN博客_ubuntu 查看版本

4.tensorflow 各版本_问简的博客-CSDN博客_tensorflow版本

5.tensorflow版本及其对应环境_虎大猫猫的博客-CSDN博客_tensorflow版本

Linux 非root 用户安装openresty

首先得用root用户安装依赖包

yum install perl

yum install gcc

yum install gcc-c++

yum install zlib

yum install zlib-devel;

 

接着 安装openresty

1,下载openssl 

wget https://www.openssl.org/source/openssl-1.0.2k.tar.gz

解压openssl

tar -zvxf openssl-1.0.2k.tar.gz

 

cd openssl-1.0.2k/

 

patch -p1 < /path/to/openresty/patches/openssl-1.0.2h-sess_set_get_cb_yield.patch

红色标注的是openresty下载包解压之后的路径

 

cd ..

下载prce 安装包

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz

解压pcre包

tar -xvf pcre-8.40.tar.gz wget https://openresty.org/download/openresty-1.11.2.5.tar.gz

解压openresty安装包

tar -zxvf openresty-1.11.2.5.tar.gz cd openresty-1.11.2.5/

 

 

## assuming your have 4 spare logical CPU cores

 

./configure --prefix=../opt/openresty   --with-openssl=../openssl-1.0.2k  --with-pcre=../pcre-8.40 -j4

gmake

 

gmake  install

 

以上是关于linux CUDA安装(非ROOT用户)的主要内容,如果未能解决你的问题,请参考以下文章

linux CUDA安装(非ROOT用户)

Linux 非root 用户安装openresty

linux 非root 用户安装redis 安装

linux-非root用户运行tomcat

linux非root用户安装nginx

linux非root用户安装perl及其基本用法