【硬件】waifu2x的硬件加速需要用很高级的显卡吗

最近经常用waifu2x超分辨率,只用CPU运算实在是太太太太太太太慢了 ○| ̄|_

我记得ffmpeg用核显硬件加速编码就能比CPU编码节省70%~80%。那超分辨率引擎是不是也这样,即便用一块性能非常弱的显卡,也能比纯CPU运算产生极大的提升呢?

这些深度学习的玩意全是矩阵运算 确实需要GPU加速 哪怕是个Quadro也比纯CPU强太多

哦这是我的专业领域,我可以介绍两句。

这个是这样的。intel nvidia amd 三家的显卡,都有视频编解码芯片。同时 ffmpeg 这个库对系统的 API(比方说 DXVA)和各家显卡自己的 API(比方说 NVDEC)都有很好的支持。所以 ffmpeg 很强,而且哪怕不抠配置细节随手用,也能比 CPU 编码快很多。

这个要分情况讨论了。主要问题在于,超分辨率引擎使用的是什么技术来实现的,或者说用的是 CPU/GPU 的什么指令集的运算来实现的。waifu2x 这个库我不了解,如果是按 @Debatrix 所说它是一个基于深度学习算法实现的库的话,那就要取决于它使用的深度学习算法库对显卡的支持程度了。

通常不这么做大范围的对比评价。原因是,GPU 的架构、指令集基本上每一两年都有不小的提升,再加上深度学习本身也是最近10年才火起来的,指令集还在为深度学习快速迭代。通常来说,深度学习库对显卡有一个最低的要求,低于某个架构下的显卡可能直接就不支持了。所以结论应该是说,只要是能支持该深度学习库的显卡,哪怕性能在显卡中同比非常弱,也能吊打 CPU。

6 个赞

哇,既专业又通俗易懂:+1:

买不到新电脑只能用GT540M(应该是不支持FFMPEG加速)的路过……Waifu2x更加是慢,只能靠i5-2450M慢慢爬,效果还不好……我想问的是,现在像MX450这种为移动平台开发的显卡也会具有Waifu2x需要的性能/条件?

ffmpeg可以看下这个,有些编码Intel核显比英伟达的支持还好

并不是这样的
GT540M太老了 只有96个CUDA核心 比起新一些的显卡动辄上千的CUDA核心(哪怕MX450也有八百多个) 这个数量几乎等于没有

好像 3090 有 10000 个 CUDA…太可怕了

GT540M 的 ffmpeg 加速应该还是支持的,具体看你需求是什么,如果是视频编解码的话,应该还是会有不错的性能提升的。

但如果是说 waifu2x 这种基于深度学习的应用的话,540m 肯定是无法支持的了。参考我上面的描述,540m 就是那种不支持深度学习库的显卡。

我就是看小众的文章下了一个VideoProc限免版,现在就用它做简单的快速剪辑压制,在过程界面它都只显示使用CPU而不能使用Intel/NVIDIA/AMD

我看了一下NVIDIA的官方页面和维基,有点晕,上面写MX系显卡都不支持NVENC和NVDNC视频解编码……意思是说没有这个API,ffmpeg需要通过别的方式调用来实现显卡加速,有NVENC的话是不占用CUDA性能?游戏直播好用?

我简单搜索了一下:

在 VideoProc 官网,这个 链接 有讲这个软件的 System requirements,其中关于 nvidia 显卡的描述是:

Nvidia GPU: Kepler-based GPU (2012 GeForce GT 630) or newer (hardware accelerated HEVC transcoding raises the threshold to Nvidia Maxwel GM206 GPUs GTX 960/950) , upto the newest RTX 3080.

你的 GT540M 我没有记错的话,应该是 Kepler 的上一代,Fermi 架构的,所以我估计 VideoProc 可能不支持你的显卡加速。另外在上面的链接里,也有写如何在软件中开启 GPU 加速,你可以看下那些选项你是否都开启了。

这个说法应该是不对的。我搜到了 nvidia 官网 论坛 里的一个描述,NVENC 是 Kepler 架构显卡引入的,只是你的显卡刚好不支持罢了。 :sweat_smile:

我最初的回复里说了,ffmpeg 支持很多 api,虽然你的显卡不支持 NVENC,但你仍然可以通过 ffmpeg 调用显卡 DXVA 等 api 实现显卡的加速。

大致明白了,非常感谢。

不过MX系显卡不支持NVENC也是官网的内容……
Video Encode and Decode GPU Support Matrix [NEW] | NVIDIA Developer

嗯官网这个链接写的挺清楚的,MX 的显卡确实都不支持 NVENC,笔记本上的数字系显卡是可以支持的