GPU搞计算现在是什么情况?# Hardware - 计算机硬件t*82010-11-08 08:111 楼问问这里的牛人:如何把iPhone接到电话插头上?这样就可以直接在iPhone上拨号打电话了,也不用每月的分钟,有人知道吗?
t*g2010-11-08 08:114 楼搞计算还是N卡,不过支持CUDA的商用软件业没几个。所以除非自己写程序,否则都一样。【在 m*****r 的大作中提到】: A卡横行还是N卡?好像看到很多用CUDA做的
c*m2010-11-08 08:115 楼ATI: StreamingNVidia: CUDAGeneral: OpenCL,etc...目前CUDA领先,毕竟Nvidia当年试图转型在CUDA上投了很多时间和钱,直接导致GPU方面后来被ATI赶超。【在 m*****r 的大作中提到】: A卡横行还是N卡?好像看到很多用CUDA做的
m*r2010-11-08 08:116 楼你的意思说如果自己写程序,CUDA支持更好?AMD现在显卡不是很NB么?将来会不会统一接口?【在 t****g 的大作中提到】: 搞计算还是N卡,不过支持CUDA的商用软件业没几个。所以除非自己写程序,否则都一: 样。
t*g2010-11-08 08:117 楼Nvidia那也是没有办法,ATI有AMD买了,Nvidia不愿意从了Intel,在今后融合的大趋势下,不搞点新路子,单做独立显卡基本上就是死路一条。方面【在 c*m 的大作中提到】: ATI: Streaming: NVidia: CUDA: General: OpenCL,etc...: 目前CUDA领先,毕竟Nvidia当年试图转型在CUDA上投了很多时间和钱,直接导致GPU方面: 后来被ATI赶超。
x*c2010-11-08 08:118 楼用CUDA还是比较多。【在 m*****r 的大作中提到】: 你的意思说如果自己写程序,CUDA支持更好?: AMD现在显卡不是很NB么?将来会不会统一接口?
r*n2010-11-08 08:119 楼CUDA我试着用了用,觉得最大的问题还是在内存,尽管运算单元很多,可内存就那么点儿还是share的。所以除了并行外,还得做很多内存存取的优化,有些应用做得到,但更多的太难甚至不可能。相比较而言,用cloud象Amazon EC2这些就容易的多,这可能也是为什么商业上运用GPU的还是很少。
a92010-11-08 08:1110 楼好像天河一号里有一堆gpu吧?【在 r******n 的大作中提到】: CUDA我试着用了用,觉得最大的问题还是在内存,尽管运算单元很多,可内存就那么点: 儿还是share的。所以除了并行外,还得做很多内存存取的优化,有些应用做得到,但: 更多的太难甚至不可能。相比较而言,用cloud象Amazon EC2这些就容易的多,这可能: 也是为什么商业上运用GPU的还是很少。
r*n2010-11-08 08:1111 楼嗯,这个拿来堆纯运算能力,每秒做多少亿次1.0+1.0之类的性价比还是很高的,还省电。实际运用就不是那么回事儿。【在 a9 的大作中提到】: 好像天河一号里有一堆gpu吧?
m*r2010-11-08 08:1112 楼好像cuda应用还挺多,AMD网上就没看到什么。如果自己玩还是搞N卡了?但是我又想买A卡玩游戏,最好是鼓动公款买。。【在 r******n 的大作中提到】: CUDA我试着用了用,觉得最大的问题还是在内存,尽管运算单元很多,可内存就那么点: 儿还是share的。所以除了并行外,还得做很多内存存取的优化,有些应用做得到,但: 更多的太难甚至不可能。相比较而言,用cloud象Amazon EC2这些就容易的多,这可能: 也是为什么商业上运用GPU的还是很少。
kn2010-11-08 08:1113 楼你说的太对了,很多应用的瓶颈都是shared memory,每个流处理器才共享16k的sharedmemory,这个卡住了很多应用,导致不少应用的并行度无法继续提高,只能眼睁睁看着ALU白白闲置而无法使用。CUDA适合计算那种计算密集型但是访存很少的任务。CUDA今后一定会解决这个问题。不过这个不是那么容易解决,毕竟流处理器太多了,shared memory占用的面积太大。【在 r******n 的大作中提到】: CUDA我试着用了用,觉得最大的问题还是在内存,尽管运算单元很多,可内存就那么点: 儿还是share的。所以除了并行外,还得做很多内存存取的优化,有些应用做得到,但: 更多的太难甚至不可能。相比较而言,用cloud象Amazon EC2这些就容易的多,这可能: 也是为什么商业上运用GPU的还是很少。
m*r2010-11-08 08:1114 楼现在什么样的应用在GPU上效果最好?shared看着sh【在 kn 的大作中提到】: 你说的太对了,很多应用的瓶颈都是shared memory,每个流处理器才共享16k的shared: memory,这个卡住了很多应用,导致不少应用的并行度无法继续提高,只能眼睁睁看着: ALU白白闲置而无法使用。CUDA适合计算那种计算密集型但是访存很少的任务。: CUDA今后一定会解决这个问题。不过这个不是那么容易解决,毕竟流处理器太多了,sh: ared memory占用的面积太大。
kn2010-11-08 08:1115 楼具体有啥商业应用不清楚,不过从research的角度看,CUDA比较适合符合下面条件的计算:1、并行线程之间数据依赖比较少,2、访问一次内存,做大量计算。也就是computation/(memory access) ratio比较大。【在 m*****r 的大作中提到】: 现在什么样的应用在GPU上效果最好?: : shared: 看着: sh
m*r2010-11-08 08:1116 楼这个scenario和传统cluster并行效率差不多啊。现在就是gpu core之间通讯比较慢?【在 kn 的大作中提到】: 具体有啥商业应用不清楚,不过从research的角度看,CUDA比较适合符合下面条件的计: 算:: 1、并行线程之间数据依赖比较少,: 2、访问一次内存,做大量计算。也就是computation/(memory access: ) ratio比较大。
y*b2010-11-08 08:1117 楼现在cpu单核同gpu非并行相比,运算能力是在一个级别上吗?【在 kn 的大作中提到】: 具体有啥商业应用不清楚,不过从research的角度看,CUDA比较适合符合下面条件的计: 算:: 1、并行线程之间数据依赖比较少,: 2、访问一次内存,做大量计算。也就是computation/(memory access: ) ratio比较大。
r*n2010-11-08 08:1118 楼看什么级别的卡了,我在GT240上用自己的程序比较过,同样的C代码,主要是些整数运算、排序比较,单core,不包括从host移到GPU内存的时间,GT240上差不多用了Q6600 20倍的时间。470/480应该更快,但i7也比Q6600快多了。【在 y**b 的大作中提到】: 现在cpu单核同gpu非并行相比,运算能力是在一个级别上吗?
m*r2010-11-08 08:1119 楼你是说gpu更慢?【在 r******n 的大作中提到】: 看什么级别的卡了,我在GT240上用自己的程序比较过,同样的C代码,主要是些整数运: 算、排序比较,: 单core,不包括从host移到GPU内存的时间,GT240上差不多用了Q6600 20倍的时间。: 470/480应: 该更快,但i7也比Q6600快多了。
k*d2010-11-08 08:1120 楼因为是只用了GPU单核的缘故吧,所以GPU慢我觉得具体应用还得看具体的算法,比如LDPC decoder就是内存用的少,计算量很大,而且很适合并行化的,据说在GPU上快很多
m*r2010-11-08 08:1122 楼现在gpu core数目怎么算?比如460,336 processor cores,就是336?如果单核慢十倍,理论上总体应该是快33倍?【在 a***e 的大作中提到】: 单核比显然CPU快啊: 要不intel的年纪都活狗身上去了
kn2010-11-08 08:1123 楼core的数目就是看Stream processor的数目。至于GPU和CPU的比较,Intel的人发了篇paper,叫做“Debunking the 100X GPU vs. CPU Myth”。今年6月ISCA的新paper。如果CPU上的程序用SSE指令优化和并行编程,实际speedup没有传说中那么巨大。一般说GPU比CPU加速几十上百倍,大多是GPU厂商的市场宣传。用GPU的并行程序、特殊指令和CPU的普通c程序相比,有失公平。倍?【在 m*****r 的大作中提到】: 现在gpu core数目怎么算?: 比如460,336 processor cores,就是336?如果单核慢十倍,理论上总体应该是快33倍?
kn2010-11-08 08:1124 楼实际LDPC Decoder也算是内存访问相对频繁的应用,LLR value每个iteration都需要写回memory。如果用通信算法来比较的话,基于trellis的MIMO detection算法比较适合用GPU实现,每拿一批数据算很久然后才写回。加速就能很大。【在 k*******d 的大作中提到】: 因为是只用了GPU单核的缘故吧,所以GPU慢: 我觉得具体应用还得看具体的算法,比如LDPC decoder就是内存用的少,计算量很大,: 而且很适合并行化的,据说在GPU上快很多
k*d2010-11-08 08:1125 楼也不能完全说是有失公平,论价格二者差不多,文章中提到Nvidia GTX280 processor and the Intel Core i7-960 processorCPU明显是用顶级的,GTX280比它应该便宜(460都比i7960便宜)二者各有所长罢了
o*r2010-11-08 08:1126 楼同一级别的N A卡游戏差不多的,某些游戏为可能为某卡稍微优化点而已。N卡玩游戏不见得比A卡差啊【在 m*****r 的大作中提到】: 好像cuda应用还挺多,AMD网上就没看到什么。: 如果自己玩还是搞N卡了?但是我又想买A卡玩游戏,最好是鼓动公款买。。
m*r2010-11-08 08:1127 楼想买新的6850啊,功耗低。为了玩玩gpu还是搞个460吧。【在 o*******r 的大作中提到】: 同一级别的N A卡游戏差不多的,某些游戏为可能为某卡稍微优化点而已。: N卡玩游戏不见得比A卡差啊
k*d2010-11-08 08:1128 楼哦,我没有仔细思考过,能不能放在shared memory里面?我知道有人在GPU上做了,速度提高了20倍Viterbi貌似也可以【在 kn 的大作中提到】: 实际LDPC Decoder也算是内存访问相对频繁的应用,LLR value每个iteration都需要写: 回memory。: 如果用通信算法来比较的话,基于trellis的MIMO detection算法比较适合用GPU实现,: 每拿一批数据算很久然后才写回。加速就能很大。
k*d2010-11-08 08:1129 楼哦,我没有仔细思考过,能不能放在shared memory里面?我知道有人在GPU上做了,速度提高了20倍Viterbi貌似也可以【在 kn 的大作中提到】: 实际LDPC Decoder也算是内存访问相对频繁的应用,LLR value每个iteration都需要写: 回memory。: 如果用通信算法来比较的话,基于trellis的MIMO detection算法比较适合用GPU实现,: 每拿一批数据算很久然后才写回。加速就能很大。
kn2010-11-08 08:1130 楼LLR value,包括CTV和VTC的值是放在shared memory里面,但是shared memory的读写也需要上百个cycle,非常耗时。最要命的是只有16KB/核。不考虑很长的codeword,就说802.11n(或者WiMAX)的1944bits(2304bits)的LDPC,就至少需要存2k个channel LLR和2k个APP value,如果都用浮点存,加起来已经16KB了。这都还没考虑各种中间变量。所以shared memory确实是限制了这类应用,实际做的时候要用各种trick来优化内存访问。【在 k*******d 的大作中提到】: 哦,我没有仔细思考过,能不能放在shared memory里面?我知道有人在GPU上做了,速: 度提高了20: 倍: Viterbi貌似也可以
L*n2010-11-08 08:1131 楼gpu不是干这个的吧,主要还是并行浮点运算【在 r******n 的大作中提到】: 看什么级别的卡了,我在GT240上用自己的程序比较过,同样的C代码,主要是些整数运: 算、排序比较,: 单core,不包括从host移到GPU内存的时间,GT240上差不多用了Q6600 20倍的时间。: 470/480应: 该更快,但i7也比Q6600快多了。
L*n2010-11-08 08:1132 楼这篇文章很搞笑,实际上是替GPU做广告, 声称"GPU technology is *only* up to 14times faster than theirs",靠 14倍已经够impressive了,还真非要100倍才要阿C般说【在 kn 的大作中提到】: core的数目就是看Stream processor的数目。: 至于GPU和CPU的比较,Intel的人发了篇paper,叫做“Debunking the 100X GPU vs. C: PU Myth”。今年6月ISCA的新paper。: 如果CPU上的程序用SSE指令优化和并行编程,实际speedup没有传说中那么巨大。一般说: GPU比CPU加速几十上百倍,大多是GPU厂商的市场宣传。用GPU的并行程序、特殊指令和: CPU的普通c程序相比,有失公平。: : 倍?
r*n2010-11-08 08:1133 楼Source是浮点的,我为了performance还有省内存先转成整数了,不管CPU还是GPU,浮点都比整数慢。我现在用1090T跟i7, 同时跑6-8个thread, 要是乘20也相当于120-160个GPUthread了,还没内存瓶颈,要想再快就用multi server, 租EC2。【在 L***n 的大作中提到】: gpu不是干这个的吧,主要还是并行浮点运算
L*n2010-11-08 08:1134 楼你是parallel computing还是distributed computing? EC2可以处理parallel computing么? 那真倒是很有用了【在 r******n 的大作中提到】: Source是浮点的,我为了performance还有省内存先转成整数了,不管CPU还是GPU,浮: 点都比整数: 慢。我现在用1090T跟i7, 同时跑6-8个thread, 要是乘20也相当于120-160个GPU: thread了,: 还没内存瓶颈,要想再快就用multi server, 租EC2。
r*n2010-11-08 08:1135 楼我的是个用GA算法的optimizer. 每代个体的Fitness计算相互间无关联,本来最适合并行的,可是数据量大,CUDA就不行了。要用CUDA的话得横过来干,把数据劈成无关联的小片然后每个core只计算自己那一片最后host来汇总。我这个是trading system, 数据间不可能无关联。【在 L***n 的大作中提到】: 你是parallel computing还是distributed computing? EC2可以处理: parallel computing么? 那真倒是很有用了