V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
binbinyouliiii
V2EX  ›  硬件

显卡的并行能力这么高,那么能给网站服务器使吗

  •  
  •   binbinyouliiii · 2016-10-16 21:35:02 +08:00 · 6455 次点击
    这是一个创建于 2964 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天在京东上逛显卡,不得不感叹 tm 显卡发展这么快,我的 750 才两年就渣的不行了,然后看新显卡的参数,看到了流处理器这一项。
      然后脑袋就发热了一想:显卡流处理这么多,理论上并行能力应该也很高,那么能给网站的服务器当 cpu 使吗?(这里的 cpu 不是指纯粹的 cpu ,就是把网站请求交给显卡处理得意思)那么按理说并发能力也高了
      脑袋发热想的,也不懂啥浮点运算整数啥的,不要喷我哈。

    25 条回复    2016-10-17 16:29:04 +08:00
    xenme
        1
    xenme  
       2016-10-16 21:38:37 +08:00
    CPU 大多都是处理的通用计算,基本不行。
    处理一些视频转码啥的还行
    binbinyouliiii
        2
    binbinyouliiii  
    OP
       2016-10-16 21:45:35 +08:00 via Android
    @xenme 不能把复杂度不高的请求交给显卡干吗?显卡的一个流处理器能慢到什么程度?不太懂哈
    hadoop
        3
    hadoop  
       2016-10-16 21:51:22 +08:00
    @binbinyouliiii 和显卡的数据交换也耗时间
    a87150
        4
    a87150  
       2016-10-16 21:52:29 +08:00   ❤️ 1
    slixurd
        5
    slixurd  
       2016-10-16 22:00:46 +08:00
    然而大部分请求并不是 CPU 密集型,服务器能有多少 CPU 消耗....
    binbinyouliiii
        6
    binbinyouliiii  
    OP
       2016-10-16 22:03:03 +08:00
    @hadoop 在高并发, cpu 核心数不够用的情况下,处理的时间也会同时上升吧

    @a87150 农企,在我心中一直都是有实力的存在,但是每次都被两家吊打
    binbinyouliiii
        7
    binbinyouliiii  
    OP
       2016-10-16 22:07:39 +08:00
    @slixurd 那么并发高的时候处理速度减慢是为什么呢?并发高的具体瓶颈是在哪个地方
    JackBlack2006
        8
    JackBlack2006  
       2016-10-16 22:09:39 +08:00
    楼上都没看新闻? AMD 和阿里合作了

    “旗下的 Radeon Pro 显卡将为阿里提供云服务——简单说就是阿里云将使用 AMD 的专业卡做加速。”
    hadoop
        9
    hadoop  
       2016-10-16 22:11:19 +08:00
    @binbinyouliiii 还要考虑到 cpu 是通用计算, gpu 是专用计算,场景不适合 web 吧
    slixurd
        10
    slixurd  
       2016-10-16 22:20:48 +08:00   ❤️ 1
    @binbinyouliiii
    瓶颈很多啊。
    不同类型业务的瓶颈也不一样。
    大致有锁,数据库, IO ,外部接口(毕竟什么也比不过猪队友
    Zzzzzzzzz
        11
    Zzzzzzzzz  
       2016-10-16 22:22:59 +08:00   ❤️ 1
    @JackBlack2006 应该指这个吧? https://www.aliyun.com/product/hpc 但目前全是 nvidia 的产品, 而且通用计算领域, opencl 的生态也没 cuda 丰富啊.
    yangff
        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 上,但是,______
    yangff
        13
    yangff  
       2016-10-16 22:34:32 +08:00   ❤️ 1
    总之,你简单的理解就是, GPU 的计算单元不支持 if ,每次对一堆数据只能进行相同的操作……
    won
        14
    won  
       2016-10-16 22:39:56 +08:00 via Android
    网站服务器不行,游戏服务器可以。我记得魔兽世界好像就是。
    存储的发展的好慢啊,为什么光存储还得不到普及呢
    think2011
        15
    think2011  
       2016-10-16 22:56:20 +08:00
    我知道有调用显卡运算能力爆破 wifi 的...
    txlty
        16
    txlty  
       2016-10-16 22:57:03 +08:00
    农企的有人发了。补上吊打它的。
    http://www.nvidia.cn/object/cudazone-cn.html
    yzl0208994
        17
    yzl0208994  
       2016-10-16 23:53:12 +08:00
    GPU 的 IO 能力不行,而服务器多数 IO 比较多
    ryd994
        18
    ryd994  
       2016-10-16 23:59:03 +08:00 via Android
    服务器的并行和 GPU 的并行不是一回事啊
    除非你攒到几百个一模一样的请求,然后同时进行操作
    显卡指令都是处理一批数据,所以可以用来处理大批量数据
    但是 Web 服务器每个请求都不一样,也不是同时到达
    jhaohai
        19
    jhaohai  
       2016-10-17 01:16:42 +08:00 via iPhone
    web 不是计算密集型的,没必要 gpu 加速
    LazyZhu
        20
    LazyZhu  
       2016-10-17 05:43:54 +08:00
    网站服务器的瓶颈一般在 IO ,如磁盘读写,网络带宽等,而不是计算。
    snnn
        21
    snnn  
       2016-10-17 08:46:27 +08:00 via Android
    @JackBlack2006 搞机器学习的没有谁用 a 卡
    lijsf
        22
    lijsf  
       2016-10-17 10:21:45 +08:00
    显卡适合做可并行的数值计算,如科学计算,图形计算,图像处理等,典型的大矩阵计算。业务服务器更多的是处理业务逻辑,实际上没啥数值计算需求。
    kaneyuki
        23
    kaneyuki  
       2016-10-17 10:54:25 +08:00
    可以把显卡认为是对某些特定算法进行硬件封装。。
    比如显卡有 10 条管线跑 AES 解密,这自然是并行的,而且硬件计算效率也远比 CPU 软件算效率高。
    但是很显然,这并不能做服务器用。

    农企那个也不是说替代 CPU ,而是对特定算法走 GPU 算,比如频繁加解密,生成随机数等
    easing
        24
    easing  
       2016-10-17 11:36:39 +08:00
    显卡并不能做通用计算吧?
    msg7086
        25
    msg7086  
       2016-10-17 16:29:04 +08:00 via Android   ❤️ 1
    GPU 擅长的是提前载入大量固定数据,然后每秒对这些数据做相同的运算,最后输出到屏幕上。
    所以不能用显卡的原因:
    1. 你没法提前导入大量数据到显存。
    2. 你对一份数据做几百次相同的运算无意义。
    3. 你运算的结果不会放到屏幕上。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5243 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 09:34 · PVG 17:34 · LAX 01:34 · JFK 04:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.