使用Tesla P4显卡炼丹与游戏的环境配置(CUDA9.0 \ PyTorch1.1.0 \ DirectX 12.0) 您所在的位置:网站首页 如何开启sli设置 使用Tesla P4显卡炼丹与游戏的环境配置(CUDA9.0 \ PyTorch1.1.0 \ DirectX 12.0)

使用Tesla P4显卡炼丹与游戏的环境配置(CUDA9.0 \ PyTorch1.1.0 \ DirectX 12.0)

2023-10-15 16:26| 来源: 网络整理| 查看: 265

使用Tesla P4显卡炼丹与游戏的环境配置(CUDA9.0 \ PyTorch1.1.0 \ DirectX 12.0)

 

系统: Windows 10 (1909)

建议内存大小:>= 8 GB

Anaconda版本:Anaconda3-2021.05-Windows-x86_64

Nvidia 驱动版本:386.45

CUDA 版本:9.0

cuDNN 版本:9.0

PyTorch 版本:1.1.0

TorchVision: 版本:0.3.0

Python 版本:3.7.0

DirectX 版本:12.0

前言

目前(2021年8月),30系显卡的行情不是很美好,原本7月底可以¥3500买到一张12GB显存的入门级3060显卡,现在要¥4200左右,溢价¥1700+。当前的这个行情,不管是对游戏玩家,还是对我们这些炼丹童子,都极其不友好。因此,暂时放弃30系显卡,选择到闲鱼上淘一些二手的Tesla炼丹显卡,也不失为一种不算太糟糕的妥协。友情提示:Tesla类型的显卡,一般都用于服务器机房,有专门的散热设计,如果是想要用在家用主机上,需要进行一些bios设置、散热改装等,对于diy小白不是很友好。

       为此,我做了一张简易的对比表格,方便不同tesla显卡之间相互对比(主要考虑单精度运算能力、CUDA核心数、功耗、价格),表格仅供参考,各位按需考虑即可,更多的信息可以参考该维基百科链接(需要科学上网):

https://en.wikipedia.org/wiki/List_of_Nvidia_graphics_processing_units

    我目前入手的显卡是Tesla P4(8GB),考虑到的因素包括但不仅限于:

(1)最近的二手市场上P4较容易买到;

(2)P4无需更改BIOS即可适配Windows、Linux系统;

(3)P4的单精度运算能力不高不低,能够满足基本的炼丹需求(后文我会做简单的CNN网络训练速度对比);

(4)功耗方面,不需要外接显卡供电的75W功耗,能够在不更换电源的情况下实现双卡配置(大部分主板拥有两个PCIE接口,一个全速的x16,另一个低速的x4/x8);

(5)Tesla系列显卡基本都是被动散热,P4也不例外,但其75W的功耗决定了它的发热量不会太恐怖,意味着其散热修改难度对比其他型号低一点。

(PS:Tesla系列显卡是没有显示输出接口的,因此入手前请确保自己的CPU自带核显,或者手上有张亮机卡用作显示输出。)

 

       本文目录如下

 

       0前言

       1 Nvidia驱动安装

       2 CUDA安装

       3 PyTorch安装

       4 Tesla P4 游戏实测

       5 后话

       6 参考文献

 

       对于炼丹同学,推荐阅读0-4章(是的,炼丹需要玩游戏放松一下:),对于游戏玩家,推荐阅读0、1、4章。

       Tesla P4 实图:

1  Nvidia驱动安装

1.1 Nvidia驱动版本选择与下载

       驱动下载的官网地址为:https://www.nvidia.cn/Download/index.aspx?lang=cn

       百度网盘地址为:https://pan.baidu.com/s/1NMWxIEbzPbMkCWZGnKb3kA

提取码:2a17

    在官网下载页面中,可以根据自己的情况,灵活选择想要下载的版本。目前我比较推荐的是下载支持Pytorch 1.1.0 、CUDA 9.0的驱动版本, 毕竟目前GitHub上开源的深度学习代码,大部分基于Pytorch 1.1.0 、CUDA 9.0(不要杠,杠就是你说的对:),不推荐盲目地追求最新、最高版本,毕竟“新”不代表稳定、好用、Q&A丰富。

    在我分享的百度网盘中,直接选择 “386.45-tesla-desktop-win10-64bit-international” 进行下载。

    (Ps:版本号为386.45的驱动无法支持Tensorflow2.0,有深度学习、机器学习等需求Tensorflow2.0的小伙伴,可以选择我网盘里的“cuda_10.0.130_411.31_win10.exe”进行安装,这个exe能够让你同时安装nvidia驱动和cuda,有不清楚的地方可以私聊我进行交流)

    

图1-1官网基础环境选择图1-2官网下载页面

1.2 Nvidia驱动安装

       双击或者右键运行驱动程序 “386.45-tesla-desktop-win10-64bit-international.exe”,接着完成驱动解压,解压路径选择默认的即可,单机OK进行解压。

图1-3驱动程序运行解压图1-4解压中

    同意英伟达驱动协议条款,进入下一步

图1-5选择同意

    进入安装选项,这一步选择“自定义”,单击“下一步”

图1-6安装选项

    进入自定义安装选项页面,这一页面中,把全部选项勾选,并将“执行清洁安装”勾选(这一选项视情况而定,若你使用的是核显,请勾选这一步,若你另外有一张Nvidia的显卡充当显示输出,这一步可以不勾选,以免不小心地删除亮机卡驱动),单击下一步进行驱动安装即可。

    

图1-7自定义驱动安装选项

点击下一步,进行安装

图1-8 驱动正在安装

安装完重启一下即可,重启过后在cmd输入 nvidia-smi 即可查看GPU情况,如下图。若安装结束后,输入nvidia-smi没有出现下图所示内容,驱动有可能安装失败了。

图1-9

2 CUDA 安装

2.1 CUDA和cuDNN版本选择与下载

CUDA的版本有很多,前面我也在1.1章节说过,可以根据自己的需要灵活选择,目前我比较推荐的是CUDA 9.0,因此本教程也是基于CUDA9.0,有其他版本需求的小伙伴可自行在官网选择。

(a)在我分享的网盘中,总共有两个CUDA,一个是CUDA9.0,对应“cuda_9.0.176_win10.exe”文件,另一个是CUDA10.0,对应“cuda_10.0.130_411.31_win10.exe”。

(b)CUDA官网下载地址为

https://developer.nvidia.com/cuda-toolkit-archive

在官网页面下,你能找到很齐全的各个版本CUDA,如下图所示:

图2-1 Nvidia官网下载CUDA页面

    以上是CUDA的选择与下载,要想使用GPU进行深度学习,光有CUDA是不行的,我们还需要安装cuDNN,CUDA和cuDNN的关系就类似于工作台和工作台上的扳手之间的关系(ref: https://www.jianshu.com/p/622f47f94784)。cuDNN的版本需要与CUDA的版本相匹配,否则无法正常工作。因此这里我们选择的是对应的cuDNN9.0,其同样可以在我分享的网盘中进行下载,文件名为“cudnn-9.0-windows10-x64-v7.6.5.32.zip”。

       此外,若需要到其他版本的cuDNN,可以到Nvidia官网进行下载,下载地址为:

       https://developer.nvidia.com/rdp/cudnn-archive

       在官网页面下,你能找到很齐全的各个版本的cuDNN,如下图所示

图2-2 Nvidia官网下载cuDNN页面

2.2 CUDA9.0与cuDNN9.0安装

2.2.1 CUDA9.0的安装

CUDA9.0的安装较为简单,首先双击打开CUDA9.0的exe安装包“cuda_9.0.176_win10.exe”,进入自动解压界面,如下图所示

图2-3 CUDA9.0解压

解压结束后,自动开始检查系统的兼容性(大部分情况下,电脑的兼容性检查都能通过),如下图所示

图2-4 检查系统兼容性

接着,同意安装协议并继续

图2-5 同意安装协议

正式进入安装界面,选择“自定义安装选项”,点击进入下一步

图2-6 选择“自定义”安装选项

在自定义安装界面中,勾选全部的安装选项(默认是全勾选),如下图所示

图2-7 勾选安装选项

勾选完成以后,点击下一步,即进行CUDA9.0的安装,安装结束后重启计算机。

 

2.2.2 cuDNN9.0的安装

等待计算机在安装CUDA9.0结束并重启成功后,我们开始下面的cuDNN9.0的安装。cuDNN9.0的安装较为简单,直接对cuDNN9.0的文件进行解压,解压以后得到如下图所示的文件。

图2-8 cuDNN9.0解压文件

       接着,我们打开CUDA9.0的安装路径,若你在安装CUDA9.0的时候,没有对安装路径进行特殊设置,一般默认的路径为“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0”,如下图所示

图2-9 CUDA9.0安装路径

定位到CUDA9.0的安装路径以后,我们将前一步对cuDNN解压得到的三个文件“bin”、“include”、”lib”,全部复制到当前安装路径,若询问已存在相同文件,选择覆盖即可。

       完成以上步骤以后,我们还需要检查一下CUDA9.0和cuDNN是否已加入系统PATH环境路径,若无,我们需要手动添加。首先,我们打开系统的“属性“,如下图所示

图2-10 右键单击“此电脑“打开”属性“

进入“属性“后,找到”高级系统设置“,如下图所示

图2-11 进入“高级系统设置“

接着,我们进入系统的“环境变量“,如下图所示

图2-12 进入“环境变量“

在“环境变量“页面,我们选择”系统变量“的”Path“,并点击”编辑“对其进行编辑,如下图所示

图2-13 选择Path进行编辑

在“Path“的编辑界面中,我们查找是否已有CUDA和cuDNN的路径存在,一般会又下图所示的三项路径,若无,请点击右上角的”新建“进行手动添加。

图2-14 检查CUDA和cuDNN路径是否存在

到此,CUDA9.0和cuDNN9.0的安装差不多结束了,我们最后要做的是检查是否已成功安装,检查的方法也较为简单。首先,打开cmd命令行界面,接着我们在命令行界面输入”nvcc -V”进行cuDNN的版本查询,若能成功查询到cuDNN的版本(图中所示版本不是9.0,原因在于我自己安装9.0的时候忘记截图了,现在拿10.0的截图滥竽充数,请读者海涵:),则说明已成安装CUDA和对应的cuDNN,如下图所示,若提示无”nvcc -V”命令,说明cuDNN未能成功安装。

图2-15 检查cuDNN安装是否成功

3 PyTorch 1.1.0 安装

3.1 PyTorch版本选择与下载

       关于版本的选择,一直以来,我都强调版本的选择主要看个人需求,除非是很老或者很新的版本,不然差别不是很大。这里,考虑目前我接触的代码,大部分都基于PyTorch 1.x,因此这里我演示的是PyTorch1.1.0搭配TorchVision0.3.0。

       在我分享的网盘链接中,里边有PyTorch安装文件“torch-1.1.0-cp37-cp37m-win_amd64.whl”和TorchVision安装文件“torchvision-0.3.0-cp37-cp37m-win_amd64.whl”。可以直接下载。嫌麻烦的同学,如若以前已经配置了Anaconda环境,那么可以略过下载这一步,交给热心的Anaconda来做,后文安装部分也介绍无需下载的安装方式。没有配置Anaconda环境,但是又想偷懒的同学,可以访问我以前发布的Anaconda配置教程,链接为“https://www.bilibili.com/read/cv12311215?spm_id_from=333.999.0.0”。

       若有其他版本的需求,可以访问官网,链接为:

       https://download.pytorch.org/whl/torch_stable.html

       进入官网以后,可以浏览所有历史版本的PyTorch和TorchVision,如下图所示,图中我也进行了一些备注,解释下载文件名代表的意思。

图3-1 PyTorch和TorchVision官网下载

3.2 PyTorch 和 TorchVision 安装

       安装的方式有两种,一是下载安装包以后进行离线安装,另一种是无需下载安装包的在线安装方式,这里我们两种方式都进行介绍。

3.2.1 离线安装

       在我们已经下载完xxx.whl的安装文件以后,打开cmd,运行”conda create –n tmp-py37 python=3.7”,利用conda新建一个python3.7的环境“tmp-py37”,如下图

图3-2 利用conda创建python3.7环境

创建完以后,运行“conda env list”列出你现有的所有环境,查看一下”tmp-py37”是否已经在列表中,接着运行“conda activate tmp-py37”激活进入到环境当中。

       接着,在正确的python3.7环境“tmp-37”中,先进入到你的安装包所在目录,然后运行”pip install torch-1.1.0-cp37-cp37m-win_amd64.whl”,如下图所示

图3-3 安装PyTorch1.1.0

类似地,TorchVision也是按照这样的方式安装,紧接着运行“pip install torchvision-0.3.0-cp37-cp37m-win_amd64.whl”

图3-4 安装TorchVision 0.3.0

上述两个安装步骤进行结束以后,我们需要检查一下是否已正确地、成功地安装,如下图所示,运行python,在python中对torch和torchvision进行import,然后查看他们的版本(version),一般正确的显示版本号,即表示成功安装。还可以新建一个tensor变量,查看是torch能正常使用,下图中我新建了一个2*3维度的dd,并将dd放到了GPU中,dd能够成功被创建,且放到了0号GPU中,表示torch被正确安装。

图3-5 检查PyToch和TorchVision是否成功安装。

3.2.2 在线安装

       在上一节,我们介绍了离线安装的方式,这里我们介绍一种在有网状态下更加灵活的安装方式。类似地,我们先新建一个基于python3.7的环境“tmp-py37-online”,如下图

图3-6 新建一个空环境,用以演示

接着,第一步是进入Pytorch官网(估计不少人会被官网的网速劝退:),官网地址为“https://pytorch.org/”,进不去官网的同学,可以搭梯子进去,或者选择放弃:)。打开官网以后,可以看到如下图的橘红色首页

图3-7 Pytorch官网首页

在首页中,往下翻,可以找到Pytorch和tochvision的在线安装命令,如下图所示,在界面中可以根据自己实际情况选择具体选项,即可在“Run this Command”一栏看到官网推荐的在线安装命令,复制这条命令下来。

图3-8 选择环境,复制在线安装命令

运行复制下来的在线安装命令,便开始了在线下载+安装的进程,如下图所示

图3-9 开始在线下载与安装

同样的,在安装完以后,我们需要检查是否安装成功,如下图所示

图3-10 检查torch和torchvision是否成功安装

很不幸的是(我故意的:),在检查过程中,我们发现torch和torchvision都已安装,但是却不能正常使用,并且报了一个“RuntimeError”类型的错误。从错误信息可以看到,这是因为我们在线安装的torch和torchvision与我们现有的CUDA版本不匹配,我们前面安装的CUDA版本过低,为CUDA9.0,而现在需要的是CUDA10.2。这怎么办呢?细心的同学可能在前边的PyTorch官网已经发现了,其实官网给你推荐的往往都是最新的torch,而我们实际并不需要最新的,可以在之前的获取安装命令时,点击下方的“Previous version of PyTorch”,即可找到历史版本的torch和torchvision在线安装命令,灵活地选择符合你电脑环境、CUDA版本的torch和torchvision。

 

4 Tesla P4 游戏实测

       前边叭叭了那么多,现在我们进入正题。

       我们知道,Tesla P4原本是用于服务器环境下的GPU,没有设计显示输出,因此不能直接连接显示器进行游戏。有同学可能就会说了,没有输出接口,我们给他焊一个上去不就行了?是的,理论上是可以的,实际上也是可以的,毕竟核弹都可以用算盘打出来:)。先来看看,我们的Tesla P4信息是怎样的,如下图

图4-1 Tesla P4的GPU-Z信息

如图中可以看到,Tesla P4是支持DirectX12.0、OpenCL、OpenGL的(如果你的tesla显卡在GPU-Z中显示不支持以上这些运算,大概率是因为没有进行我后边的修改,这是我修改后截的图),说人话,Tesla P4能玩游戏,但不能显示。就类似于,一个动物,他能生产水,却没有排解水的器官。为了能够让P4顺利显示,我们需要借助其他显卡的帮助,可以是核显,也可以是RTX 3090。很显然,核显更好一点,因为空气不能显示东西:)。

打开任务管理器和Nvidia控制面板,可以看到,除了核显,我们是看不到插在主机上的Tesla P4的,并且在Nvidia控制面板中,也无法设置P4用于游戏运算。

图 4-2 任务管理器和Nvidia控制面板信息

接下来,我们打开注册表(win10系统下,左下角搜‘注册表‘即可打开),进入到路径

“计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}”

       在路径中,我们可以看到当前的显卡情况,如下图

图4-3 注册表信息

在注册表中,经过我阅读其他人的尝试(参考链接已给出,有些需梯子),以及结合自己实际情况,找到了不同显卡对应参数项,不同机器可能会略有差别,但大差不大,图中所示的001参数项应该属于我的核显,002和003分别对应我的两张P4。我们现在要做的是修改002和003的AdapterType、EnableMsHybrid参数,使得P4支持Drectx和OpenGL运算,并且通过核显进行显示输出。

       一步步来,首先,分别对002和003的AdapterType进行修改,如下图

图4-4 修改AdapterType参数

接着,我们需要对002和003的EnableMsHybrid参数设置,如果你没有找到这个参数,需要先手动创建这个参数。创建这个参数,以002为例,右键002,单击新建,单击“DWORD(32)位值(D)“,

图4-5 创建新参数EnableMsHybrid

创建成功后,会在列表中出现一个新值,对这个新值右键,

图4-6 002的参数列表中出现新值

右键修改新值的名称位EnableMsHybrid,并且将其值设置为1。与002一致,003当中的AdapterType和EnableMsHybrid也如此设置即可。

图4-7 修改新值名称和值

到这里,我们就快成功了。设置完成以后,我们重启电脑(建议)打开设备管理器(也还行),对P4进行禁用、再启用操作,如下图所示对P4进行禁用(我就不演示了,后台正跑着实验,不好禁用再启用:)。

图4-8 对P4进行禁用

进行这个操作以后,便可以在任务管理器中看到P4了,如下图,温度高是因为我在跑实验,略过:)。

图4-9 任务管理器中出现P4

接着,我们还需要指定电脑的图形运算使用P4而不是核显。具体做法,在桌面上右键,进入“显示设置“,

图 4-10 显示设置

在显示设置中找到“图形设置”,

图4-11 图形设置

在图形设置中,选择P4用作图形运算设备

图4-12 选择P4用作图形运算设备

       到这里,便算是大功告成了,我们可以打开自己的游戏,体验一下Tesla P4用作游戏显卡的快乐:)。如果你的Nvidia版本较新的话,还可以在Nvidia控制面板找到3D设置,进行更灵活的设置(本教程的386.45不可以,但是如果你在前边的教程中安装的是cuda10.0,那你的Nvidia驱动版本为412,可以找到3D设置)。

       因为我只玩LOL,所以我这里只给一下LOL的游戏帧数,以作参考:2K环境,最高画质,极地大乱斗泉水220FPS、团战150FPS,峡谷泉水200FPS、团战120-140,这些帧数仅作参考,因为我是一边跑实验一边打游戏测的。3DMark我也买来测了一下,打算后续出一篇Tesla P4散热、频率调整(不算超频,毕竟75W的卡没啥超频意义)相关的文章,到时再详细给出跑分结果,欢迎关注。

       Have your joy :)。

5 后话

       首先,我跟大家说个抱歉,虽然也没啥人看哈哈哈哈,其实从以往的动态中可以看到,Tesla P4是我在2021.08.12就已经购入了的,拖到现在2021.10.04才出相关的教程,原因有几个,一是最近公司的工作较忙,二是毕业前投出的文章修改,三是对Tesla P4的散热、稳定性进行了探索(不稳定的话,怎么敢推荐,涨价的话别骂我,我真的没收任何一分钱),四是粉丝少、没人催更哈哈哈哈哈哈。

       其次,我是个比较懒的人,做事情比较需要外部动力,自驱力略微欠缺,说人话,不点赞没动力啊:)。想想就心酸,老早以前搬运+翻译的两个深度学习教学视频,观看10000+,收藏800+,但是点赞数却只有100,属实把我心态搞崩了,所以这两个视频我也就没有继续翻译,莫怪我,我懒。

       各位小伙伴,但凡觉得这篇文章有一点点帮助,麻烦给个赞吧,谢谢各位。

6 参考文献

【1】     https://www.bilibili.com/read/cv5352899/

【2】      https://superuser.com/questions/268901/how-do-i-determine-which-graphics-card-im-using

【3】      https://forum.level1techs.com/t/gaming-on-my-tesla-more-likely-than-you-think/171185/200

【4】      https://linustechtips.com/topic/1029382-hacking-nvidias-drivers/page/8/

【5】      https://blog.csdn.net/qq_18620653/article/details/105329219



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有