最近感觉P104SD跑图实在太慢,于是下单40HX和P102,收到几天了,基本了解这两张卡的情况,和我手里的P104做个对比:
一、关于40HX部分:
1. PCI-E带宽:补电容后PCI-E 1.1 x16带宽等同3.0x4 游戏水平与2060相当,但因为输出延迟不适合网游。优化好的单机大作可以2K高画质60帧:古墓丽影,地平线5等。1080P 2077可以跑60多帧,其余3A基本可跑1080P画质拉满60帧。
2. SD跑图相关半精度FP16:基本全被砍没,AI画图显存占用大,并且目前SD模型多是基于FP16,所以40HX效率较差和出图结果与使用FP16有些许差别。
以下优化感谢4tzR23大佬的帖子。
40HX基于目前测试结果,SD1.5目前我测试的最佳跑图设置:
设置方法就是修改源码及加参数--no-half --no-half-vae(如果使用lora和controlnet较多时还需要加--medvram),目的是关闭半精度设置以单精度为主的混合精度模式,载入显存模型是fp16,但计算以fp32为主。在SD根目录下modules\devices.py的最后一行,将return torch.autocast("cuda")改为torch.autocast("cuda", dtype=torch.float32, enabled=True),这样启动显存占用减半。
下面是N卡工作模式的相关资料,感谢星光2213大佬的帖子。
Nvidia显卡有两种工作模式:
TCC:Tesla 计算集群(Tesla Compute Cluster,简称 TCC)模式
WDDM:Windows 图形驱动模式(Windows Display Driver Model,简称 WDDM)模式。
两种模式有不同的适用场景
TCC:该模式下,GPU 完全用于计算,不能作为本地显示输出。
WDDM:该模式下,GPU 既用于计算又用于本地显示输出。
TCC模式适合运算,如AI跑图,WDDM模式适合玩游戏。
TCC模式与WDDM模式切换的具体操作方法如下:
按WIN+R打开运行,然后输入 cmd 打开命令行(必须是管理员身份打开才行,不然会提示无权限)然后输入 nvidia-smi 回车来查看你的显卡,显卡名字的前面会有0 和 1 来代表CUDA id。
假设CUDA id=0
切换至 WDDM 模式命令:nvidia-smi -dm 0 -i 0
切换至TCC模式命令:nvidia-smi -dm 1 -i 0
成功后需要重新启动电脑,重启后显卡的模式就改变了,这样操作可以不重装驱动来改变显卡的用途。
3. 光追与DLSS:
砍废了,开了DLSS帧数反而会下降,估计和单精度被砍正相关。
4. VBIOS问题:
VBIOS锁电压,无法使用小飞机这类软件降压降频操作。
5. 视频编解码:
没有这方面应用,没测试视频编解码能力,据说完整保留没被砍。
二、40HX P102 P104这三张卡SD跑图对比:
在同模型,同参数,pytorch以及xformers等版本均一致的前提下:
以P104为基准的话,40HX的出图效率,FP16模型高20%左右,FP32模型高30%左右。P102不论FP16/FP32都比P104快40-50%。另外由于P104/P102可以用FP16,显存占用明显更低。40HX打开SD使用模型首次画图,时间会非常久,后续画图正常,我猜测大概是需要将模型相关FP16数据转换为FP32载入显存,转换极为耗时。
三、最后关于价格:
40HX是330+包邮购于某多,PCB显示21年4月生产。考虑到半精度,光追,DLSS的被砍问题,40HX就是一个矿龄较短的P106+P104的结合体。如果有意玩1080P下的3A游戏,并且随便跑跑SD,补好电容300以内的40HX是可以考虑的。
P102是270+包邮购于某宝,PCB显示18年3月生产。之前188到付的车没赶上,270是给换好散热器保3个月(就是188车给加了类似技嘉Eagle 3050的前盖加风扇的半组散热器),3DMark通过率还不错,可以达到99.1%,实际比之前188的车贵几十块。这卡可以降压降频,单纯跑AI还可以,PCI-Ex4 1.1带宽太小,毕竟是18年生产的老矿渣,听说P102翻车率较高,其他用途就不建议了。
欢迎各位大佬指正和补充。
一、关于40HX部分:
1. PCI-E带宽:补电容后PCI-E 1.1 x16带宽等同3.0x4 游戏水平与2060相当,但因为输出延迟不适合网游。优化好的单机大作可以2K高画质60帧:古墓丽影,地平线5等。1080P 2077可以跑60多帧,其余3A基本可跑1080P画质拉满60帧。
2. SD跑图相关半精度FP16:基本全被砍没,AI画图显存占用大,并且目前SD模型多是基于FP16,所以40HX效率较差和出图结果与使用FP16有些许差别。
以下优化感谢4tzR23大佬的帖子。
40HX基于目前测试结果,SD1.5目前我测试的最佳跑图设置:
设置方法就是修改源码及加参数--no-half --no-half-vae(如果使用lora和controlnet较多时还需要加--medvram),目的是关闭半精度设置以单精度为主的混合精度模式,载入显存模型是fp16,但计算以fp32为主。在SD根目录下modules\devices.py的最后一行,将return torch.autocast("cuda")改为torch.autocast("cuda", dtype=torch.float32, enabled=True),这样启动显存占用减半。
下面是N卡工作模式的相关资料,感谢星光2213大佬的帖子。
Nvidia显卡有两种工作模式:
TCC:Tesla 计算集群(Tesla Compute Cluster,简称 TCC)模式
WDDM:Windows 图形驱动模式(Windows Display Driver Model,简称 WDDM)模式。
两种模式有不同的适用场景
TCC:该模式下,GPU 完全用于计算,不能作为本地显示输出。
WDDM:该模式下,GPU 既用于计算又用于本地显示输出。
TCC模式适合运算,如AI跑图,WDDM模式适合玩游戏。
TCC模式与WDDM模式切换的具体操作方法如下:
按WIN+R打开运行,然后输入 cmd 打开命令行(必须是管理员身份打开才行,不然会提示无权限)然后输入 nvidia-smi 回车来查看你的显卡,显卡名字的前面会有0 和 1 来代表CUDA id。
假设CUDA id=0
切换至 WDDM 模式命令:nvidia-smi -dm 0 -i 0
切换至TCC模式命令:nvidia-smi -dm 1 -i 0
成功后需要重新启动电脑,重启后显卡的模式就改变了,这样操作可以不重装驱动来改变显卡的用途。
3. 光追与DLSS:
砍废了,开了DLSS帧数反而会下降,估计和单精度被砍正相关。
4. VBIOS问题:
VBIOS锁电压,无法使用小飞机这类软件降压降频操作。
5. 视频编解码:
没有这方面应用,没测试视频编解码能力,据说完整保留没被砍。
二、40HX P102 P104这三张卡SD跑图对比:
在同模型,同参数,pytorch以及xformers等版本均一致的前提下:
以P104为基准的话,40HX的出图效率,FP16模型高20%左右,FP32模型高30%左右。P102不论FP16/FP32都比P104快40-50%。另外由于P104/P102可以用FP16,显存占用明显更低。40HX打开SD使用模型首次画图,时间会非常久,后续画图正常,我猜测大概是需要将模型相关FP16数据转换为FP32载入显存,转换极为耗时。
三、最后关于价格:
40HX是330+包邮购于某多,PCB显示21年4月生产。考虑到半精度,光追,DLSS的被砍问题,40HX就是一个矿龄较短的P106+P104的结合体。如果有意玩1080P下的3A游戏,并且随便跑跑SD,补好电容300以内的40HX是可以考虑的。
P102是270+包邮购于某宝,PCB显示18年3月生产。之前188到付的车没赶上,270是给换好散热器保3个月(就是188车给加了类似技嘉Eagle 3050的前盖加风扇的半组散热器),3DMark通过率还不错,可以达到99.1%,实际比之前188的车贵几十块。这卡可以降压降频,单纯跑AI还可以,PCI-Ex4 1.1带宽太小,毕竟是18年生产的老矿渣,听说P102翻车率较高,其他用途就不建议了。
欢迎各位大佬指正和补充。