V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Actrace
V2EX  ›  程序员

CUDA 用来写服务器程序会咋样?

  •  
  •   Actrace · Jul 6, 2014 · 4413 views
    This topic created in 4316 days ago, the information mentioned may be changed or developed.
    19 replies    2014-07-06 21:43:50 +08:00
    echo1937
        1
    echo1937  
       Jul 6, 2014
    CUDA 你不上专业计算卡的话,会有精度问题吗?
    fredcc
        2
    fredcc  
       Jul 6, 2014
    请问除了特定应用,cuda哪里比cpu强了。
    yangff
        3
    yangff  
       Jul 6, 2014
    几乎不可行。
    yangff
        4
    yangff  
       Jul 6, 2014
    瓶颈不在这里。
    loading
        5
    loading  
       Jul 6, 2014 via Android
    然后你会遇到浮点数
    wy315700
        6
    wy315700  
       Jul 6, 2014
    服务器的瓶颈 一般在IO吧
    Zhang
        7
    Zhang  
       Jul 6, 2014
    不怎样,估计会更慢。
    wy315700
        8
    wy315700  
       Jul 6, 2014
    想起来了,GPU适合的不是高并发,而是高并行。
    VYSE
        9
    VYSE  
       Jul 6, 2014 via Android
    GPU的特长在于较短简单指令的反复执行,适合流水作业,复杂逻辑频繁从BUS MOVE数据还是算了吧。
    所以超算里GPU只是作为某些算法的加速器。
    当然后端需要某些用途加速的话肯定会用,例如某些视频网站
    chaixl
        10
    chaixl  
       Jul 6, 2014
    GPU通用计算的强项是高度密集的并行运算。不是高并发,两回事。
    gateswong
        11
    gateswong  
       Jul 6, 2014
    CUDA并行处理是特么快

    但是数据的传递拷贝太特么太特么太特么太特么慢了……
    chenha0
        12
    chenha0  
       Jul 6, 2014
    并发和并行怎么能简单画等号
    wdlth
        13
    wdlth  
       Jul 6, 2014
    我认为完全就是南辕北辙,缘木求鱼,首先CUDA的重点是高并行的密集的浮点计算,比如视频转换、科学计算,而大部分的程序并不是这类领域的,用CUDA只会是适得其反。
    Actrace
        14
    Actrace  
    OP
       Jul 6, 2014
    @gateswong 也就是说,GPU解决了数据的传递拷贝速度慢问题,就可以完爆CPU了?

    @chenha0 其实也不是想说简单划等号,只不过GPU这种大规模流水核心更加符合多路执行的理念.我个人是比较看好CUDA的,如果英伟达能专心把GPU计算的核心架构向CPU方向平移,也许能在某一天取代CPU也说不定,分时操作系统切换任务的性能代价是很大的.
    dndx
        15
    dndx  
       Jul 6, 2014
    对于大多数网络应用来说,瓶颈都是在 IO ,除非是特殊领域,CPU 从来就不是瓶颈。
    madeye
        16
    madeye  
       Jul 6, 2014
    对于服务器类的应用,特别是数据库、文本处理相关的应用,现在的主要瓶颈在 PCI-E,即 HOST 到 GPU 的带宽。而下一代 Power(NVLINK) 和 SoC (Denver)量产以后,有希望解决这个问题。

    一些数据可以参考我们组之前做的加速海量网页索引性能的尝试: http://on-demand.gputechconf.com/gtc/2014/presentations/S4506-indexing-documents-on-gpu-web-rt.pdf
    akfish
        17
    akfish  
       Jul 6, 2014
    除了楼上说的原因以外,GPU能做的事情并不那么通用,虽然CUDA、OpenCL都是用于通用计算的,但核心显然是在“计算”,而非“通用”。
    曾经看到一个项目,尝试在GPU上跑JS解释器,结果性能非常惨淡。
    http://www.slideshare.net/jarrednicholls/javascript-on-the-gpu
    而另外的项目,只着重用GPU对JS里并行计算进行加速,对于较小的数据反而较慢,只有较大的数据才会有加速:
    http://on-demand.gputechconf.com/gtc/2014/presentations/S4168-accelerated-javascript-accessing-gpus.pdf
    Actrace
        18
    Actrace  
    OP
       Jul 6, 2014
    @akfish
    我只是举个例子。
    其实最想表达的是"GPU这种架构更适合作为现代计算机系统的硬件架构"。
    并不是指现在就要拿CUDA的GPU去跟CPU做何种对比,甚至取代。
    所以我相信未来GPU会成为整个计算机系统的核心,这个就只能等时间来验证一切了。
    在没有机动车之前,人们总是想着让马跑得更快。
    akfish
        19
    akfish  
       Jul 6, 2014
    @Actrace 好吧。

    个人认为GPU成为计算系统核心不现实,快不是一切。OS内核跑在哪里,哪里才是核心。而OS的任务,是不符合GPU的计算模型的。即使这一点能突破,整个产业也不会花费大量的时间和精力去把已有的大量软件、硬件资源,向GPU中心的计算架构上移植。

    GPU和CPU并不是机动车和马的关系。GPU会越来越重要,但不会成为核心。只会作为增强计算性能、完成特定任务的外设出现(包括量子计算机,目前也是按这种计算模型在发展)。

    以后的发展更有可能是淡化GPU与CPU在编程模型上的差异,比如在底层(如OS层)把适当的代码JIT到GPU上执行。取代现在不可能,以后也不可能,融合才是唯一的可能。

    文字游戏一点的话,要是真有作为系统核心的GPU,在逻辑上会自动更名为CPU,CPU里的C不是白叫的。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2584 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 79ms · UTC 15:28 · PVG 23:28 · LAX 08:28 · JFK 11:28
    ♥ Do have faith in what you're doing.