NVIDIA Tesla P40 跑Stable Diffuison和玩游戏快速避坑要点

先说结论,不推荐折腾这张卡,不值当

1. 硬件避坑

主板上凡是没有above 4G decoding或者above 4G XXXX选项的,请直接放弃尝试或者买新主板,就算是有的,太老的平台也不一定支持。比如我尝试过一张华硕的Z97-AR主板,虽然有这个选项,但还是不支持,插上显示代码12错误。此外Tesla P4和Tesla T4是另外两张不同的卡,新手勿弄错。

推荐100系以上的主板,AMD主板那边我很多年没关注了,如果你用的是A板,那你看看BIOS有没有上面的选项,如果有,越新的,支持概率越大。此外有些处理器因为PCIE通道和BIOS适配的问题,也有可能不兼容。

跑stable diffusion推荐至少16GB及以上内存,我尝试过8G,结果启动的时候模型载入系统卡得难受,内存不足。此外最好使用对称双通道方案比如8+8或者4+4+4+4,8+8+8+8这样的方案,不推荐8+4或者非对称双通道方案,可能会导致系统不稳定,或者系统启动有时过不了内存自检。或者开XMP容易产生故障。

散热:如果是加装弯道涡扇方案,那么整张卡出风口到弯道尾的长度有30cm左右,厚度有8cm,当P40插在顶上第一个PCIEx16插槽上,那么那个凸出来的涡扇就会挡住第二个PCIEx16插槽的后面,使得如果你没有核显要装一张亮机卡输出的话,那么长度必须控制在16.5cm以内,否则装不下。如果是非弯道涡扇方案,而是尾部风道加装风扇,那么整张卡会更长,达到35~40cm长大概,这就更加考验你的机箱是否能装下了。只要不是X79/X99/299这样的HEDT平台的主板,第二个PCIEx16插槽的实际针脚通常都只有x8或者x4,所以为了保障P40带宽吃满基本上的操作都把它放在满速的第一个PCIEx16插槽。

当然你可以用改散热的方案,比如也有把1080的涡轮散热器挪到P40上面用,不过这也是要增加预算,要一两百到几百不等。

就我个人来说,买的那个单涡轮风扇方案扛不住那个温度,分分钟上8/90度,所以又在机箱内加了一个12cm的风扇给那个涡扇送风,机箱外在出风口粘了一个风扇把P40产生的热风抽出去,这样总算是把满载温度压到5/60度了,不过这样那个抽风风扇把机箱背后PCI挡板区域给挡住后,要接亮机卡的线还得需要90度的弯头DP/HDMI延长线。

2. 软件安装与设置

硬件的问题都解决后,P40装官方默认驱动是TCC模式(纯计算用),装好驱动后在cmd窗口里可以用nvidia-smi指令查看到,而如果是想在任务管理器里看到,并且用来玩游戏,那就需要改WDDM模式,改WDDM模式的方法请参考:https://blog.csdn.net/qq_45673245/article/details/128555342

M40似乎是可以在CMD下用上面的nvidia-smi -g {M40的id} -dm 0这样的指令轻松转换TCC模式到WDDM模式,但是到P40这代就不行了,要么用皮衣黄的vGPU(收费的,不过有90天试用时间),要么就改注册表,像上面的办法一样。

上面csdn的方法是针对核显而言的,如果是Quadro亮机卡 + Tesla P40的组合,若Quadro非常老,已经停止支持了,但只要你的Quadro卡的驱动最后一版出来的时间是在P40第一版驱动发布之后,理论上Quadro卡的驱动都会包含Tesla卡的驱动,所以只要装好Quadro卡的驱动,那么P40同样也会被打上驱动,且能在NVIDIA控制面板里面看到两张卡和对其进行配置。极端情况是亮机卡没有驱动,只装P40的驱动那么设备管理器里面就会出现Microsoft基本显示器和下面的P40,用微软的基本显示器输出需要忍受屏幕闪烁图形功能不全,分辨率异常等问题。

Quadro卡和Tesla卡共存相对简单。就当我以GTX/RTX卡和P40共存十分困难之时,看某位UP主放的方法操作起来也挺简单的?还是改注册表的方法,GTX/RTX卡和P40共存方法视频链接请参考:

https://www.bilibili.com/video/BV13W4y1s7so

原视频是实况录制,为了节省时间我把过程精简一下放下面:

2.1 确认GTX/RTX卡的驱动里是否包含Tesla的驱动

下载驱动后在运行诸如527.56-xxx···xxx-whql.exe这样的程序后,它会先让你找个地方提取文件,提取好到运行安装程序让你点安装按钮的期间,进驱动文件提取后存储的目录,找到\Display.Driver\nv_dispsig.inf 这个文件打开,然后在里面搜有没有你的GTX/RTX卡和P40的型号,如果有,那说明这个驱动是支持两块卡共存的。那么就可以放心大胆地装GTX/RTX卡的驱动,装好了之后,两张卡都是能正常在设备管理器里看到的。

2.2 修改注册表切换WDDM模式

这一步其实和前面CSDN里的那个内容大体上相似。

打开注册表管理器,直接Windows搜索框里输入regedit,找到计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}

然后在下面的子文件夹诸如“0001”,“0002”等文件夹里找,在右侧内容窗口里找项的名称叫DriverDesc的然后值为NVIDIA Tesla P40的,找到了就在这里操作。

修改AdapterType,改为1

右键新建DWORD(32-位)(值),命名为GridLicensedFeatures,值改为 7

右键新建DWORD(32-位)(值),命名为EnableMsHybrid,值改为 1

然后参考上面同样的方法找到亮机卡GTX/RTX的子文件夹,转到这下面操作

右键新建DWORD(32-位)(值),命名为EnableMsHybrid,值改为 2

刷新注册表(F5),然后重启电脑,这个时候启动就可以看到P40在任务管理器里了,说明其已经切换到了WDDM模式。

上面的UP主是装了GTX750的驱动后发现P40没有驱动然后通过手动查找驱动目录安装的T4的驱动,再改的注册表,我个人测试时用的是3060TI+P40的组合,没有出现P40需要手动安装驱动的这步,直接就装上了,驱动是531.41 NSD版本。

要指定程序的运行在哪张卡上的话,在Windows图形设置里面把应用程序的exe执行文件添加进去,然后选择对应的显卡即可,比如下面的山谷跑分软件我指定在P40上运行:

3 后记&附言

其实P40这张卡真不咋地,除了那24G显存外,真没有什么让人垂涎的地方,价格7/800多,改个散热少则几十,多则几百,有的主板用核显内存延迟猛增,画面走核显输出性能损失也比较明显。没有核显的X79/99/299平台还需要张亮机卡,同时,由于帕斯卡架构实属有些老了,而这张P40对fp16支持=0,同时也没有tensor core,玩DL/AI的效率着实有点低,我也测试过P40和3080的性能差距,3080的性能是P40的好几倍,比如跑SD一张图,同样的参数设置,P40用了4/5分钟,而3080用了4/50秒。刚需人士想要大显存嫌3090/4090太贵的话,其实2080Ti改22G这样的折衷方案也勉强可以接受,前提是要找个好点的改方。

万一你这些都不听,就馋它24G的显存,平时你用SD老是提示显存不足,或者是使用SD困难的A卡的玩家,某天终于下定决心冒险买回来,结果发现主板不兼容,是忍痛再买一套板U套装,还是把卡退了洗手?结果发现机箱太短?结果发现卡太热?等等问题层出不穷,若你的时间不值钱,或者是仅仅出于兴趣折腾,那么买来玩倒是无所谓,如果确实是预算捉襟见肘又想体验SD绘图,以及有些需要大显存场合的需求,那么折腾的方案如上所述,坑基本已经被前面的人踩平,可以放心大但地买,不过M40比P40更便宜些,而且驱动模式切换更方便,性能相比P40是相对落后些,但是在图灵和安培以及后面的核心面前它们都是弟弟。

希望入手这张卡的能玩得开心,没有入手而想入手的慎重考虑。

先写到这,有必要再更新。