主板上来了一个新邻居,CPU慌了!
大家好,我是CPU工坊1号的Q,好久不见,好想你们~
主板上的新邻居
阿q,别忙,马上去会议室,领导有重要会议一大早,我们CPU厂的总线主任就挨个去八个车间通知大家开会,脸色有些凝重
什么事,这么着急。
听说主板上有新单位要抢我们CPU厂的饭碗,主任小声说。
有这种事吗我二话没说,赶紧起身出去了
当我来到会议室时,我没想到所有人都在这里,除了我。
看到我的到来,领导开始说话了:女士们,先生们,我想你们可能都听说了就在昨天,离我们CPU厂不远的地方,主板上来了一个叫GPU的新单元,公然抢我们的饭碗今天把大家召集在一起,就是为了商量对策
GPU,我知道,就是图形处理器,用于图形计算它怎么能夺走我们的工作你多虑了,我回头一看,原来是6号车间代表小刘在说话
哦,看来你很了解他们领导问小刘
刘腼腆地说:实话告诉你,我来这里之前,在另一家CPU厂工作,那里的主板上有一块GPU他们主要承担一些图形渲染相关的计算工作,但都是进行一些固定的运算,计算电路都是固定的,根本不具备编程的能力,这是我们的CPU无法比拟的
小六,三天没刮目相看了,你有多久没见过他们了现在他们不仅和我们一样可编程,据说团队规模还扩大了现在是通用计算架构,名字要改了GPGPU是什么连运算速度都比我们快!领导说了一声,会场静了下来
问,小刘,你们两个想办法进入他们的工厂,摸摸情况报告结束后,我们继续讨论你怎么看领导看了看大家
不知不觉,大家都说好看来这份工作我是避不开了
潜入GPU
那天晚上,我和小刘偷偷溜进了GPU工厂没想到虽然已是深夜,但这里依然灯火通明,一派繁忙景象
当我们进入他们工作的地方时,我和我的朋友都惊呆了!好家伙,这个尺度太大了放眼望去,全是作坊,一眼望不到尽头
Q哥,他们太凶了我们的CPU只有8核,只有8个车间我无法目测1000多个车间他们有没有1000多的内核,让我眼睛都花了!,小刘惊喜地说道
我觉得没那么简单你仔细看看他们的作坊,比我们的简陋多了
真的,那些橙色的地方应该是缓存,比我们的小很多而且好像大部分都是计算电路,逻辑控制电路很少
你不上班为什么躲在这里不,我们被巡逻队发现了!但是他好像没有认可我们的身份,把我们当成这里的员工
我们尴尬地点头,笑着说:休息一下,我们回去。
你们两个去1024车间,那里还缺人手
好,好,我走了,我走了。
q,CPU一车间的指令执行长,在这里其实是在向这个小巡警鞠躬行礼。想想都让我生气!
GPU的秘密
找了半天,我们终于来到了1024车间,一个小哥哥正在那里忙得不可开交看到我们的到来,小哥哥高兴地说:你们在这里,我在这里好忙
今天这么晚了,忙什么节目呢我试探地问
我今天有点回来了程序员下班前给我们留了一个深度学习神经网络训练任务今晚我们当然不能休息,也许还得熬通宵小哥一边忙着操作计算电路进行数据计算一边对我们说
小刘看了我一眼,然后对小哥哥说:你有空给我们讲讲你的工作吧,我们也干点活。
是的,是的,让我们帮你分享一些,我附和道。
你先坐下这一轮训练很快就要结束了等我有空再给你介绍,小哥说着擦了擦额头上的汗
趁我小哥忙的时候,我们转过身来,小刘,他们车间跟我们CPU比起来真寒酸我们每个车间都配备了一个标准的一级或二级缓存,至少几百KB他们没有这个待遇而且他们的计算资源电路要简单得多,比如我们的分支预测和乱序执行的逻辑控制电路,这里没有
Q大师,这里这么多电路你都能认出来。
我在CPU厂干了这么多年,连这都认不出来不是白干的。
不是,按照你说的,他们这里应该没几个电路,但是你看看有几个,小刘的话引起了我的注意。
仔细看看虽然计算电路没有我们复杂,但是ALU单元很多!要知道,在我们CPU厂,一个车间只有一个副本
正纳闷,小哥哥干完活过来了,终于可以喘口气了。
大哥辛苦了,想问一下这里怎么这么多重复计算的电路这不是浪费吗我冲上去问
小哥哥不同意这不是浪费在我们GPU工厂的车间里,每个车间都配备了很多计算单元,我可以操作它们同时进行批量数据计算,以加快速度
批量计算同时,小刘问
是的,我们GPU工厂承包的工作基本都是这种类型,比如3D图像渲染中每个像素的计算,深度学习中张量和矩阵的计算他们有一个特点,算法都是固定的,只是数据不一样同样的计算逻辑,我给他们喂不同的数据就可以并行计算了!这叫SIMT技术,小弟弟骄傲地说
SIMT这个技术怎么感觉这么熟悉我问
弟弟继续笑着说:不是这样的他们已经用过这种CPU招数了,我们也在借鉴
哦,我想起来了,Q哥,他说的应该是SIMD。一条指令可以批量操作多个数据以提高性能
小61一点把我叫醒原来如此!我们,哦不,是他们的CPU只是批量操作数据,GPU在这里批量执行计算
Q哥,听起来不错为什么我们的CPU做不到这一点,小刘悄悄问我
你这个笨蛋,我们的CPU里有八个车间各个车间同时执行一个线程不是并行的吗但是我们执行的多线程功能不同,有的是IO密集型,有的是计算密集型,有缓存和逻辑控制电路的构建成本,还得通用没有办法让他们中的很多人喜欢他们
接下来,小哥哥带我们来到运算平台,告诉我们如何操作这堆电路来执行运算自然就熟了,比我们那简单多了
那是寄存器,也是保存执行上下文的地方你以后会需要它的小哥指着一堆箱子说
嘿,兄弟,有这么多的执行上下文,比ALU还多,我问。
小哥拍了拍脑袋说:哎,你看我这记性,忘了跟你说了虽然我们的GPU擅长计算,但还是会遇到分支判断的场景我们没有CPU那样的分支预测和乱序执行能力你不知道内存那家伙可慢了,有时候难免会遇到暂停等待的情况,浪费计算资源后来领导交代,为了充分利用计算资源,让ALU不闲置,遇到这种暂停时,就把计算资源ALU搬出去执行其他计算代码所以需要预留更多的执行上下文来保存场景
卧槽,这不就是超线程技术吗!又在抄我们的CPU,我差点爆出来,然后看了一眼小刘。
怎么能叫抄袭呢借鉴就是借鉴小弟弟咧嘴笑了
小刘突然问:我们的GPU这么强大,以后他们的CPU会不会没问题。
小哥摇摇头:这有点吹牛我们连中断处理和虚拟内存都没有,需要CPU的帮助才能工作不可能取代它们他们忙于CPU,计算,IO执行,中断处理,各种复杂的逻辑判断处理我们比较简单,没有那么多顾虑,就是用人海战术做纯计算的工作人多力量大,我们可以并行做,所以数学计算速度快很多
听小哥这么一说,我们悬着的心终于放下了,这下我们回去,给领导一个交代。
我正想着陷入沉思,小刘从后面悄悄拍了拍我,使了个眼色。
顺着他所指的方向望去,只见巡逻队正带着几名保安朝我们走来。
来不及和我的小弟弟说再见了,所以我们俩赶紧跑开了。