今天在京东上逛显卡,不得不感叹 tm 显卡发展这么快,我的 750 才两年就渣的不行了,然后看新显卡的参数,看到了流处理器这一项。
然后脑袋就发热了一想:显卡流处理这么多,理论上并行能力应该也很高,那么能给网站的服务器当 cpu 使吗?(这里的 cpu 不是指纯粹的 cpu ,就是把网站请求交给显卡处理得意思)那么按理说并发能力也高了br> 脑袋发热想的,也不懂啥浮点运算整数啥的,不要喷我哈。
1 xenme 2016-10-16 21:38:37 +08:00 CPU 大多都是处理的通用计算,基本不行。 处理一些视频转码啥的还行 |
![]() | 2 binbinyouliiii OP @xenme 不能把复杂度不高的请求交给显卡干吗?显卡的一个流处理器能慢到什么程度?不太懂哈 |
![]() | 3 hadoop 2016-10-16 21:51:22 +08:00 @binbinyouliiii 和显卡的数据交换也耗时间 |
![]() | 4 a87150 2016-10-16 21:52:29 +08:00 ![]() |
![]() | 5 slixurd 2016-10-16 22:00:46 +08:00 然而大部分请求并不是 CPU 密集型,服务器能有多少 CPU 消耗.... |
![]() | 6 binbinyouliiii OP |
![]() | 7 binbinyouliiii OP @slixurd 那么并发高的时候处理速度减慢是为什么呢?并发高的具体瓶颈是在哪个地方 |
![]() | 8 JackBlack2006 2016-10-16 22:09:39 +08:00 楼上都没看新闻? AMD 和阿里合作了 “旗下的 Radeon Pro 显卡将为阿里提供云服务简单说就是阿里云将使用 AMD 的专业卡做加速。” |
![]() | 9 hadoop 2016-10-16 22:11:19 +08:00 @binbinyouliiii 还要考虑到 cpu 是通用计算, gpu 是专用计算,场景不适合 web 吧 |
![]() | 10 slixurd 2016-10-16 22:20:48 +08:00 ![]() |
![]() | 11 Zzzzzzzzz 2016-10-16 22:22:59 +08:00 ![]() @JackBlack2006 应该指这个吧? https://www.aliyun.com/product/hpc 但目前全是 nvidia 的产品, 而且通用计算领域, opencl 的生态也没 cuda 丰富啊. |
12 yangff 2016-10-16 22:33:13 +08:00 不能。 几个方面来看下吧, I/O , GPU 和 CPU 没差,甚至 cache 上显卡还不如 CPU 。有这闲工夫不如上几张万兆网卡和 RAID ,插满内存来得快 业务处理, GPU 可以做,首先你的模型得十分简单,太复杂的操作就不要想了。然后你把这个自动机编译成几个不同的 stage ,然后每个 stage 包含一堆数据并行地跑得到输出,然后再按照不同的输出分配到不同的 stage …… 啥语言支持呢…… 大概你得自己搞个了。 然后你发现瓶颈是 stage 数量,毕竟 stage 一多时间全浪费在调度上了,那么,举个简单的例子,你 3 个 if 嵌套还可以放进一个 stage 里,多了就不行,和外部 IO 交互(产生副作用)的必须打断。 然后你随便打开一个 xxx.php 读一下…… 压缩、加密,这个看算法,可以丢 GPU 上,但是,______ |
13 yangff 2016-10-16 22:34:32 +08:00 ![]() 总之,你简单的理解就是, GPU 的计算单元不支持 if ,每次对一堆数据只能进行相同的操作…… |
![]() | 14 won 2016-10-16 22:39:56 +08:00 via Android 网站服务器不行,游戏服务器可以。我记得魔兽世界好像就是。 存储的发展的好慢啊,为什么光存储还得不到普及呢 |
15 think2011 2016-10-16 22:56:20 +08:00 我知道有调用显卡运算能力爆破 wifi 的... |
![]() | 16 txlty 2016-10-16 22:57:03 +08:00 农企的有人发了。补上吊打它的。 http://www.nvidia.cn/object/cudazone-cn.html |
17 yzl0208994 2016-10-16 23:53:12 +08:00 GPU 的 IO 能力不行,而服务器多数 IO 比较多 |
![]() | 18 ryd994 2016-10-16 23:59:03 +08:00 via Android 服务器的并行和 GPU 的并行不是一回事啊 除非你攒到几百个一模一样的请求,然后同时进行操作 显卡指令都是处理一批数据,所以可以用来处理大批量数据 但是 Web 服务器每个请求都不一样,也不是同时到达 |
19 jhaohai 2016-10-17 01:16:42 +08:00 via iPhone web 不是计算密集型的,没必要 gpu 加速 |
![]() | 20 LazyZhu 2016-10-17 05:43:54 +08:00 网站服务器的瓶颈一般在 IO ,如磁盘读写,网络带宽等,而不是计算。 |
21 snnn 2016-10-17 08:46:27 +08:00 via Android @JackBlack2006 搞机器学习的没有谁用 a 卡 |
![]() | 22 lijsf 2016-10-17 10:21:45 +08:00 显卡适合做可并行的数值计算,如科学计算,图形计算,图像处理等,典型的大矩阵计算。业务服务器更多的是处理业务逻辑,实际上没啥数值计算需求。 |
![]() | 23 kaneyuki 2016-10-17 10:54:25 +08:00 可以把显卡认为是对某些特定算法进行硬件封装。。 比如显卡有 10 条管线跑 AES 解密,这自然是并行的,而且硬件计算效率也远比 CPU 软件算效率高。 但是很显然,这并不能做服务器用。 农企那个也不是说替代 CPU ,而是对特定算法走 GPU 算,比如频繁加解密,生成随机数等 |
![]() | 24 easing 2016-10-17 11:36:39 +08:00 显卡并不能做通用计算吧? |
![]() | 25 msg7086 2016-10-17 16:29:04 +08:00 via Android ![]() GPU 擅长的是提前载入大量固定数据,然后每秒对这些数据做相同的运算,最后输出到屏幕上。 所以不能用显卡的原因: 1. 你没法提前导入大量数据到显存。 2. 你对一份数据做几百次相同的运算无意义。 3. 你运算的结果不会放到屏幕上。 |