一、问题
前两天升级rtx2070至rtx3090,出现了一系列的问题,后面干脆全面升级,现将基本过程记录下来,备用,也供参考(七彩虹 战斧rtx3090 24G,不是打广告,确实是这个卡,别的牌子有些没有货,自己的机箱长度和宽带也有限制,还觉得这卡的温度有点高)
二、过程
1、升级centos dnf update,正常完成
centos8升级到8.3.2011,没有报任何错误(python版本为3.6.8,64位)
2、升级显卡的驱动至460.32.3
卸载原有的驱动,在官网下载支持rtx30系列的驱动程序,升级显卡驱动
我安装的是460.32.03,后面证实,匹配完美,安装过程略(增加可执行属性,./run。
3、升级tensorflow2.3到2.4版本
pip install -U -I setuptools
pip install -U tensorflow
为了提高安装速度,我使用了清华大学的pypi源,那个真的快,几百兆的文件,下载安装一气呵成。
看看是否支持gpu
显示正常,OK。
4、安装cuda和cudnn
下载对应的cuda和cudnn
我安装的是cuda11.1 cudnn11.1对应的cudnn8.04.30
四步:
./cuda_…run
tar -xvzf cudnn-11.1…tgz
cp include下的文件和lib64下面的文件至cuda-11.1对应的目录下。
官网下载太慢,为了日后使用,我上传的网盘了,下载地址如下
链接: https://pan.baidu.com/s/1FiULNAo5gmAdgZ-UYXDnAg 提取码: zane
小插曲一个:
刚开始时运行发现gpu没有启用,因为tensorflow2开始是自动甄别系统是否有GPU支持,默认CPU模式,查找原因,根据提示:
Could not load dynamic library ‘libcusolver.so.10’
处理方法:
进入/usr/local/cuda-11.1/lib64目录,执行下述操作后完美解决。
三、试运行几个程序,一切ok
测试cpu和gpu对应时间,快了很多很多很多,真的很多
程序来自网上,贴出来
‘’’
Created on 2021-1-21
@author: root
‘’’
import tensorflow as tf
import timeit
with tf.device(’/cpu:0’):
cpu_a = tf.random.normal([10000, 1000])
cpu_b = tf.random.normal([1000, 2000])
print(cpu_a.device, cpu_b.device)
with tf.device(’/gpu:0’):
gpu_a = tf.random.normal([10000, 1000])
gpu_b = tf.random.normal([1000, 2000])
print(gpu_a.device, gpu_b.device)
def cpu_run():
with tf.device(’/cpu:0’):
c = tf.matmul(cpu_a, cpu_b)
return c
def gpu_run():
with tf.device(’/gpu:0’):
c = tf.matmul(gpu_a, gpu_b)
return c
cpu_time = timeit.timeit(cpu_run, number=10)
gpu_time = timeit.timeit(gpu_run, number=10)
print(‘warmup:’, cpu_time, gpu_time)
cpu_time = timeit.timeit(cpu_run, number=10)
gpu_time = timeit.timeit(gpu_run, number=10)
print(‘run time:’, cpu_time, gpu_time)
从上图可以看出,使用cpu的时间为4.89多,而使用gpu花费的时间只有0.00121多,快了多少倍喔