POPPUR爱换

标题: GPU通用运算在桌面是不是已经遇到一个瓶颈了? [打印本页]

作者: slice    时间: 2010-8-21 10:41
标题: GPU通用运算在桌面是不是已经遇到一个瓶颈了?
本帖最后由 slice 于 2010-8-21 14:29 编辑

就拿GPU比较适合的视频压缩来说吧,这么这么久了还是这个老样子。

B帧,2Pass等,是程序员不敬业么?为啥子从第一版出来到现在一点进步都没有,是不是GPU本身不适合逻辑太复杂的运算?本来GPU和CPU就是同时使用的,如果一定要在GPU上实现这些功能或者说GPU参与更多运算,会不会比CPU的速度还糟糕或者说加速作用已不明显?

一开始这样子可以理解,一年多了还是这样子我就考虑是不是目前GPU本身无法做好这些事情了。
这里神仙比较多,望大们解惑。
作者: tomsmith123    时间: 2010-8-21 10:47
并行计算,总有串行部分,GPU 串行计算的性能还是太低了;
在视频压缩中,是有少量分支的,这样的分支,对于GPU 的效率是毁灭性的。
短期内,这样的局面,很难改变,需要CPU GPU 合作,而目前二者之间的互联带宽还很不理想。
从异构众核的角度,几个个大核和若干并行小核的性能,会更好一点,当然,核间的互联网络,现在还是很困难的。
作者: wzlps    时间: 2010-8-21 11:06
开启GPU压制视频 视频质量有时候真的不是那么尽人意

虽然速度有点提升 但是我感觉质量却差了点

这并不是我想要的效果 作为N卡的用户
作者: 开普勒    时间: 2010-8-21 11:17
GPU压片子不好使,顶多也就空间转换、频域变换、宏块预测能秒一下CPU,遇到熵编码部分照样杯具。要想GPU视频编码有大发展除非以后直接在GPU里塞进CPU核吧。

不过GPU做图像和视频处理无敌,之前用过Musemage,比PS猛N倍,估计会是以后的趋势。
作者: slice    时间: 2010-8-21 21:56
并行计算,总有串行部分,GPU 串行计算的性能还是太低了;
在视频压缩中,是有少量分支的,这样的分支,对 ...
tomsmith123 发表于 2010-8-21 10:47


谢谢~~~
作者: vitasxp    时间: 2010-8-22 02:13
长见识了啊
作者: 66666    时间: 2010-8-22 08:52
视频压缩方面不仅GPU,对于多线程CPU也是个难点,到目前为止X264最高质量下编码模式仍然推荐单线程模式,线程开的越多画质越烂,到8线程乃至16线程下X264的画质可以跟CUDA一比高下了。

所以现在国内的rip组一般压缩最多也就开2线程
作者: tomsmith123    时间: 2010-8-22 09:22
回复 11# 66666
X264 多线程支持是有些小问题的,不过质量下降是非常细微的,比如单线程PSNR 是38.438 到8线程也仅仅下降到38.397,要到CUDA 的水平,估计的128线程以上。
作者: tomsmith123    时间: 2010-8-22 09:45
回复 13# tomsmith123

另外X264 的多线程收益,是随着线程数增加,越来越低,8线程以上,也没什么意义了。
比较理想是8物理核心的8线程编码。
作者: 66666    时间: 2010-8-22 10:25
回复  66666


少危言耸听, x264开16线程以内都不会有明显质量下降, 这是Dark Shikari说的, 你不信可以 ...
brl 发表于 2010-8-22 10:18




不好意思,我管你是谁,现在国内字幕组几乎没有人用超过4线程压1080P H264,双线程的最多。

国外很多人还在用XVID,X264对多线程的支持如何用得着我自己编造?好笑
作者: Katmai    时间: 2010-8-22 17:30
难得的技术贴,支持
作者: itany    时间: 2010-8-22 17:41
少出来恶心人, 用什么参数大家又不是看不到, mediainfo一看就知道了
没见过一个有"--threads 2"参数 ...
brl 发表于 2010-8-22 11:00


支持踢爆
Cuda的愚忠支持者要反省了
作者: itany    时间: 2010-8-22 17:42
只有Larrabee能拯救压片,AN都不行
作者: saskey7    时间: 2010-8-22 20:30
貌似有人妖言耸听被爆了
作者: slice    时间: 2010-8-22 21:58
本帖最后由 slice 于 2010-8-22 22:12 编辑

我不认为CPU处理线程多了会影响画质,因为CPU的每一个线程都和一个线程没有啥子区别,都能应付复杂的运算,每一个线程都不需要也不必要在算法上妥协,因为分配任务到多个线程应该不算难,因为每一个线程都能高效的完成复杂的运算。

就我外行来说,就算我能想到的最肤浅的任务分配方式,例如每隔多少关键帧或者多少时间,例如40分钟的视频每10分钟一段分成4段然后4个线程同时压,画质无需任何妥协,却可以轻松得到接近4倍的速度(当然你得是4核+),当然我这种任务分配方式现实中肯定是不可能的,我只是想说,分配任务到多线程的时候,在画质上不妥协是很容易做到的,因为每一个线程都和你单线程的时候一样的灵活无需算法上妥协,而且多一个线程就几乎多一倍的提升。

实际上的表现也是,单线程和8线程基本上没有区别,这里黑CPU的可以洗洗睡了。

我不了解他们任务分配的方式,这里有大愿意说说的话我洗耳恭听。
作者: w7231665    时间: 2010-8-22 23:49
现在的GPU只能在大规模的运算中提升很明显,相比民用级别更适合做科研。。。
作者: 左脚选手    时间: 2010-8-23 11:08
本帖最后由 左脚选手 于 2010-8-23 11:51 编辑
只有Larrabee能拯救压片,AN都不行
itany 发表于 2010-8-22 17:42

Larrabee还没出来,没出的东西没资格和已出来的比较,有的东西就算再差,也比没有好。
作者: goodayoo    时间: 2010-8-23 11:35
楼主,Fusion可以解决一切问题。。。
作者: whhwhhwhh    时间: 2010-8-23 11:46
这个关键是压片也只是个小众的应用,操作系统和OFFICE之类软件中大量应用GPGPU才是GPGPU的真正春天的到 来,不过。。。。。。。。。。。。。。。。。。。。。
作者: itany    时间: 2010-8-23 20:41
Larrabee还没出来,没出的东西没资格和已出来的比较,有的东西就算再差,也比没有好。
左脚选手 发表于 2010-8-23 11:08


Knights Ferry已经出货了。
作者: 左脚选手    时间: 2010-8-23 21:17
本帖最后由 左脚选手 于 2010-8-23 21:20 编辑
Knights Ferry已经出货了。
itany 发表于 2010-8-23 20:41

Knights Ferry不是用来压片的。Software development platform,软件开发平台而已,根本不会被用到压片领域。

作者: westlee    时间: 2010-8-23 21:24
提示: 作者被禁止或删除 内容自动屏蔽
作者: whoAU    时间: 2010-8-23 22:36
那你就永远呆在冬天吧, 春天永远不会来临. GPGPU永远不可能用在这些基本的应用里(除了Excel/Access还 ...
brl 发表于 2010-8-23 20:35



   X86平台不行,还有其它平台了,天下也不是只有一种操作系统,GPGPU也不是只用来压片的,能用的地方多了.
只有在各个领域中广泛应用了,GPGPU才会正真在你不知不觉中进入你所谓的永远不可能用的基本应用里。
作者: itany    时间: 2010-8-23 23:38
Knights Ferry不是用来压片的。Software development platform,软件开发平台而已,根本不会被用到压片领 ...
左脚选手 发表于 2010-8-23 21:17


Encoder重新编译一下可能就能用在Knights Ferry上边了
没准已经有开发者在上边跑过压片了。
作者: itany    时间: 2010-8-23 23:41
请问,售价多少,如何才能买到?国内啥时候可以登录x东,x蛋这样的网购平台?
westlee 发表于 2010-8-23 21:24


请问x东、x蛋能买到Xeon MP不?
作者: 左脚选手    时间: 2010-8-23 23:45
本帖最后由 左脚选手 于 2010-8-23 23:46 编辑
Encoder重新编译一下可能就能用在Knights Ferry上边了
没准已经有开发者在上边跑过压片了。
itany 发表于 2010-8-23 23:38

原来是“可能”“没准”,“可能”“没准”的东西有什么好说的。
作者: itany    时间: 2010-8-24 00:16
本帖最后由 itany 于 2010-8-24 00:18 编辑
原来是“可能”“没准”啊,“可能”“没准”的东西有什么好说的。
左脚选手 发表于 2010-8-23 23:45


1 理论上是完全可以的,实践上是完全值得的
2 Knights确实以开发套件的形式发售了

说Knights来压片比说Ivy Bridge用来压片怎么样?
比一年前说Sandy Bridge用来压片有怎么样呢?
人非要事到临头才能有觉悟么?
作者: 左脚选手    时间: 2010-8-24 00:44
本帖最后由 左脚选手 于 2010-8-24 00:59 编辑
1 理论上是完全可以的,实践上是完全值得的
2 Knights确实以开发套件的形式发售了

说Knights来压片 ...
itany 发表于 2010-8-24 00:16

Knights压片的测评呢?没有吧,等有了真实可信的测评,并且的确在速度和质量上比A/N优秀,才有资格叫嚣“只有Larrabee能拯救压片,AN都不行”。我只相信真实可信的结果,而不是“可能”“没准”,要是这样我也可以说“可能”“没准”Knights的压片还不如AN,大家都是拿不出证据来,那就都空对空的空口说白话好了。Knights有128个线程,谁知道128个线程压片结果是什么?而且Knights的32个core又不是完全等同于常规X86内核,没有真实可信的测评,你也只是“可能”“没准”。
作者: itany    时间: 2010-8-24 01:26
本帖最后由 itany 于 2010-8-24 01:28 编辑
Knights压片的测评呢?没有吧,等有了真实可信的测评,并且的确在速度和质量上比A/N优秀,才有资格叫嚣“ ...
左脚选手 发表于 2010-8-24 00:44


就是不看结果,能不能直接说Sandy Bridge比Llano强呢? 我认为是可以的
人关键是有一定的前瞻性

证据就是,Knights更像是x86,不管是AVX,还是内存模型。而且处理分支也更像是x86
用得起Larrabee的,比如说字幕组,完全可以上Larrabee同时压几个片子
如果Larrabee能塞1G-2G本地内存的话,完全可以搞定多路压片的
作者: 左脚选手    时间: 2010-8-24 01:57
本帖最后由 左脚选手 于 2010-8-24 02:17 编辑
就是不看结果,能不能直接说Sandy Bridge比Llano强呢? 我认为是可以的
人关键是有一定的前瞻性

证据就是,Knights更像是x86,不管是AVX,还是内存模型。而且处理分支也更像是x86
itany 发表于 2010-8-24 01:26

只是更像,不是等于?
还这就是证据,黑猩猩的基因和人类基因相似度达到96%以上呢。
任你说的天花乱坠,没有实物测评的结果,一切都是浮云,人的确是要有前瞻性,但是最终结果必须要证明确认,歌德巴赫猜想,在没有被证明确认前,它只是个猜想而不是被证明的理论。
还多路压片,到底速度如何?现在的I7 980都是3.33G的6核,你的Knights才1.2G 32核,真以有强很多?
前面brl人家有理有据,才能让人信服,你满口“可能”“没准”,一句前瞻性什么都拿不出来就想别人认同?算了,不和你打无谓的口水仗了。
作者: stalker-cop    时间: 2010-8-24 15:24
给某个石油单位做了GPU并行计算项目,有些经验和总结:
1.并行化严重依赖具体的算法,有些算法天生并行度就很小,再优化提升都极为有限。这个和CPU,GPU没有关系。
2.并行化与数据量也有关系,很小的数据量就不要费力去做什么GPU了,内存-显存的I/O时间都比计算时间长的多。
3.如果算法和数据都合适,性能提升几十倍也不是什么困难的事。
3.GPU的精度累计误差是个很大的问题,迭代几千次后,误差都有可能跑到小数点前面去了。
4.cuda编码本身并不复杂,一合格的程序员再加点空间想象力。培训几天都基本能入门。困难的在于选择合适的数据拆分方式和确定并行的粒度。
5.总体来说GPU并行计算目前能应用的面还很窄,主要还是集中在石油等行业,民用级还很少能用上(除了视频转换外)。
6.不同的显卡必须设置不同的参数,才能做到性能的最大化,比如FX1800和GTX480,遗憾的是这些都必须手工调整。
GPU并行计算必须解决以下几个问题,才能有更好的前景。
1.cpu、gpu统一的编程模型
2.统一的内存地址访问
3.与cpu一样的精度
作者: slice    时间: 2010-8-24 17:23
给某个石油单位做了GPU并行计算项目,有些经验和总结:
5.总体来说GPU并行计算目前能应用的面还很窄,主要还是集中在石油等行业,民用级还很少能用上(除了视频转换外)。
stalker-cop 发表于 2010-8-24 15:24

问题是就算视频转换它也没有干好,所以我才发这个帖子,是没有干好呢,还是根本没能力干好呢?我指目前的GPU,未来都会越来越强不再探讨之列。
作者: stalker-cop    时间: 2010-8-24 18:06
本帖最后由 stalker-cop 于 2010-8-24 18:08 编辑

回复 49# slice


  我没有用过gpu视频转换不敢妄加评论,不过我估计效果不好会不会有以下几个方面的原因:
1.精度的问题
2.为了并行化,修改了视频转换的算法,导致画面质量下降。
补充一下,个人认为是没有能力干好。
作者: stalker-cop    时间: 2010-8-25 09:09
回复 51# darkstorm


学习了, 谢谢。
作者: welva    时间: 2010-8-27 01:49
牛人蛮多  各种专业术语  我只能看看了
作者: sunrising    时间: 2010-8-28 08:28
新手学习了。
作者: zxl7288436    时间: 2010-8-28 22:27
通用运算不是只有压片能用啊,下一代浏览器不是都有GPU加速了嘛,现在的问题是GPU和软件都还不怎么成熟,效率也不如意,而NV希望通吃的femi也成了杯具,估计短期内GPU应用还是雷声大雨点小
作者: caca1    时间: 2010-8-28 23:37
凑凑热闹 从5楼开始就看不懂了




欢迎光临 POPPUR爱换 (https://we.poppur.com/) Powered by Discuz! X3.4