APP下载

浅谈GPU到底是什么(上):不同的运算型态

消息来源:baojiabao.com 作者: 发布时间:2026-07-14

报价宝综合消息浅谈GPU到底是什么(上):不同的运算型态

如果有人劈头质问各位科科们:‘GPU’是什么?科科们可以马上回答出来吗?如果不行,那你就有硬著头皮继续看下去看到科科笑的必要。

指令流与数据流

很不幸的,即使是科班背景出身的技术人员,或著长期媒体打滚的科技编辑,碰到此类大哉问,也少有问答如流、简洁明了的答案,因为就学理上,GPU真的是一个定位很诡异的奇行种,自从2006年11月9日NVIDIA发表以SIMT (单指令多执行绪) 之名、引领GPU迈入通用运算领域的G80 (Tesla 1.0微架构),就更加的难以解释了。

传统计算机系统结构的分类方法,多半依循M.J.Flynn在1966年的“指令流 x 数据流”配对法,稍有技术知识的科科绝对不会忘记“单指令单资料流 (SISD)”、“单指令多资料流 (SIMD)”、“多指令多资料流 (MIMD)”,与因Google TPU的Systolic Array而实用化的“多指令单资料流 (MISD)”。

3种SIMD差异性

先将最简单的SISD和最诡异的MISD束之高阁,目前就“正统”教科书的观点,GPU、古老的向量电脑、遍布于各类泛用处理器的SIMD延伸指令集,共同列为“因单一指令就可启动大量运算,享有较优的能量效率,并让程式设计者可延续过去的循序性思考进行软件开发”的SIMD阵营,MIMD则以传统多处理器环境为典型,透过更加复杂的软件开发方式,换取最高的运算效能使用弹性。

跳出传统的定义,先进GPU的SIMT,则是企图在SIMD和MIMD之间寻求“兼顾易于开发软件与提高运算效能利用率”的平衡点,这在后面会深入介绍,各位科科请稍安勿躁。

我们先聚焦于三种SIMD的差异性,毕竟这三者很容易被笨蛋掺在一起做成撒尿牛丸,例如“追加SIMD指令集就等同将昔日的超级电脑塞入你在光华商场掏钱购入的CPU”、“GPU就是昔日超级电脑的单芯片版”之类的“真知灼见”,失之毫厘,差以千里,真正的超级电脑会哭泣。

其实诸多看似历史陈迹的向量超级电脑,至今仍是相当值得细细品味的艺术品,拜托,可闪避传统处理器惹人厌的条件判断、少少指令就可搞定一堆运算、运算方向固定利于打造超深管线和内存子系统、随意控制向量运算长度赋予无须更动指令集即可持续提升计算能力等等,光这几点就酷到让人不得不多看几眼。

向量电脑实在是二十世纪计算机工业最高贵成就中的一种,仿佛像一种温室植物,只能在特殊的环境中才能成长。换言之,那是从精炼化和简洁化的思想中所产生的观念。由于电脑的普及化、泛用化与低价化,今天除了少数超级电脑以外,今天不再存有此种可能性了,随着时代的演进,我们曾丧失了许多好东西,这也许是其中一件。

那我们把狙击枪的准心转向GPU,GPU的SIMT,难道只是“SIMD + 多执行绪”这么简单吗?假如此事成真,那支援硬件多执行绪的泛用CPU也可以叫做SIMT了吗?少笨了,各位科科,我们下期再会。

2018-05-14 01:33:00

相关文章