有些事情我不看透,不是我笨,只是我太善良。 收藏本站
登陆 / 注册 搜索

阅读:1.2万   回复: 3

为什么现在更多用的是GPU而不是CPU,如挖矿甚至破解密码

[复制链接]
小执念 古黑浩劫论坛大牛 2015-12-8 22:38 |显示全部楼层

可遇不可求的事:故乡的云,上古的玉,随手的诗,十九岁的你。

管理员
  我只想说就目前的计算机架构,GPU只能称作是小众。GPU作为后来者,出现的太晚了,计算机架构已经定型,不太可能撼动 Intel 的霸主地位,而且Intel 一定会借着先天优势打压其他竞争对手。


  最近bitcoin被媒体炒作的太过了,出现在了公众的视野中。媒体写新闻的那群人只要是写点和技术沾边的文章,就能暴露他们的无知,倒霉的还是无辜的群众。我简单提一下为什么GPU只能算作是小众。
👨‍🎨‎🩳🎺😆🖐

  在计算机上运行的程序从性能的角度来说大致可分为三类:


  (1) I/O intensive;
💅🌡🥩❗🐥‌  (2) Memory intensive
  (3) Compute-intensive


  (1)I/O intensive的程序其性能瓶颈是I/O,也就是说程序运行的大部分时间花在了硬盘读写/网络通信上,而I/O处在计算机体系结构金字塔的最底层,速度非常慢。
🤛🧳🉑🦄‎

  最近炒的很火的big data 讨论的就是这一类应用程序。几百TB 甚至到PB级别的数据往哪搁,只能放在硬盘上。一台机器容量太小CPU太少怎么办,搞几百台甚至上千台机器用网线连起来分布处理。所以这块全是I/O, 现在大的互联网公司不多搞几个上千节点的集群肯定撑不住。


🧠⛪🥛🉑🐴‏  (2)Memory intensive的程序其性能瓶颈在内存访问,程序中有大量的随机访问内存的操作,但是基本没有I/O,  这类程序已经比第一类程序快一个数量级了,但是和寄存器的速度还是没法比。目前大部分应用程序都属于这类。个人电脑里装的的各种软件基本就是这类,如果有点I/O,  立刻就会非常得卡。


  以上提到的这两类程序的应用最广泛,涵盖了大部分有用的计算机软件,但遗憾的是GPU在这两块毫无用处, GPU只有在计算密集型的程序有些作用。I/O是瓶颈的程序,花在计算的时间可以忽略不计,再怎么用GPU加速也没用。 含有大量内存随机访问的程序也不适合在GPU上执行,大量的随机访问甚至可以使GPU的行为由并行变为串行。什么类型的程序适合在GPU上运行?

👮‍♂️‎🩴🔌😪✌



  (1)计算密集型的程序。所谓计算密集型(Compute-intensive)的程序,就是其大部分运行时间花在了寄存器运算上,寄存器的速度和处理器的速度相当,从寄存器读写数据几乎没有延时。可以做一下对比,读内存的延迟大概是几百个时钟周期;读硬盘的速度就不说了,即便是SSD, 也实在是太慢了。


  (2)易于并行的程序。GPU其实是一种SIMD(Single Instruction Multiple Data)架构, 他有成百上千个核,每一个核在同一时间最好能做同样的事情。满足以上两点,就可以用GPU做运算了。 不过你还得先用CUDA或者Open CL 把能在GPU上运行的程序写出来, 这也是很麻烦的,写一下就知道了。🧑‍🎤‌🎩🎺😷🦴


   而且GPU的架构比较特殊,要想写出高效率的程序,要花很多很多时间。我想说写GPU程序是一件很蛋疼的事情。GPU在某些地方很有用,但应用面比较窄,远远没有某公司声称的那么有用。


👈🚂🥛♑🐮‏  当今还是Intel的天下, 现在计算机的速度已经很快了,计算其实已经不是什么大问题。I/O才是最需要解决的问题。 记得曾经看过N家的GTC峰会,黄某人吹得神乎其神,连我都被感动了,多少多少T FLOPS的计算速度。 程序运行时间从100 秒 变成 1秒。


  其实没多重要,你倒杯水的功夫就100秒了。运行时间从100天缩短到1天才是大贡献。 前者就是GPU做的事情,后者才是我们真正需要的。
上一篇
下一篇
帖子热度 1.3万 ℃
小执念发帖时在路边捡到 1 个 金币,偷偷放进了口袋.

雾月 「出类拔萃」 2017-9-1 20:15 来自手机 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

感谢分享~
左岸云烟 「出类拔萃」 2018-6-3 22:51 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

学海无涯,回头是岸!
那一缕微光 「龙战于野」 2018-6-13 06:29 来自手机 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

有空一起交流一下
您需要登录后才可以回帖 登录 | 免费注册  

本版积分规则

快速回复 返回列表