单核游戏也挑配置,GPU的尽头在何方?
作者丨Kurt Cagle
译者丨布加迪
策划丨云昭
我最近给女儿买了一台新电脑。我们把这台笔记本带回家,发现电脑开机后慢腾腾,本应花几分钟就能完成的设置却花了近一个小时。回到电脑店,这回对方指了指一台新的游戏本——键盘上有炫酷的彩色灯,更重要的是,还支持许多女儿爱玩的游戏,包括《我的世界》。
几天后,女儿把我叫到卧室,很快在《我的世界》中搭好了城堡。在上一台笔记本电脑上,同样的城堡会呈现更亮的橙黄色,从火的主色调反射出来。而通过她的新笔记本电脑(及中档 Nvidia RTX 图形卡),火焰在墙上投射了多个相互作用的阴影,包括角色站在火焰前投射到墙上的阴影。而当她把火扑灭,然后敬畏地站在那里,她的角色周围的房间在逐渐减弱的火光中真实地变暗时,我才意识到:GPU 让它的老 CPU 兄弟黯然失色。
图形处理单元(GPU),一开始作为处理器的一部分,负责在早期的 GUI 环境中渲染画面。这其中许多操作都涉及到诸如矩阵操作等数学运算,因此,把它从 CPU 核心中分离出来,可以完成开销更大的操作,而 CPU 只需负责协调。
随着计算机软件变得更复杂(尤其是在游戏领域),GPU 也变得功能更强大,因为需要大量的计算周期来管理 3D 渲染和合成。从最初的电子表格到后来的数据分析,再到现在的机器学习,已经围绕流程并行化而建的 GPU 架构承担了其他角色。类似地,比特币挖矿涉及到诸如解决大素数来作为秘钥之类的问题,把这种极度稀缺性作为工作量算法的证据。
这对于英伟达来说,透露出这样一种信息:计算机执行的常规操作中,越来越多的部分涉及复杂的计算能力。到 2010 年代,英伟达和其他 GPU 制造商已经向云服务提供商销售用于高性能计算 (HPC)的 GPU。这需要引入一个名为 CUDA 的软件层,它在充分利用高度并行处理的同时,模拟 CPU 的指令集。用 C++ 编写的 CUDA 层随后扩展到多种语言和平台,包括 Python、Java 以及最近的 Nodejs、Javascript。这意味着:无论哪种操作系统或语言,都可以执行大量的数据中心计算。
然而,硬币有两面。CUDA 的另一面日益突显出来。随着更多的应用程序、操作系统以及 Kubernetes 等容器迁移到云端,人们期望以数据为中心的硬件,不仅能处理图形的繁重任务,还能处理查询的繁重任务。的确,查询已日益从“简单”的文本查询,转而涵盖从不同数据集提取上下文相关图的能力、查询机器学习模块用于分类(或分类训练)的能力,以及将传感器数据云视为可以查询、了解特定配置状态的张量场(tensor field)的能力。
不难发现,这三种能力都需要图路径遍历的高速优化:从形成神经网络的递归图,到构成知识网络的超图,再到代表传感器网络的互连传感器节点。这些都是需要大规模并行性和高速计算的操作;由于它们在计算的各个方面变得越来越重要,组织对能将这些功能引入网络的硬件的需求也越来越大。
元宇宙最终也属于这一领域。如果将 AR/VR 的扩展现实(XR) 视为时空网络和相关联的网络元数据云的结合体,那么这将再次推动最适合网络遍历和计算的硬件。我在其他地方说过,游戏行业是元宇宙的前身,GPU 在很大程度上伴随游戏行业发展,成为最需要这些计算的“地方”。
与此同时,CPU 作为独立处理器的角色正在转变成为“后脑”处理器:它处理启动 GPU 云的“大脑皮层”的引导过程,管理虚拟化(当虚拟化也不是由 GPU 管理时),并与专用数字信号处理器(DSP)协调,以管理“感官”信号的采集,并将信号传输到这同一个 GPU 环境的更庞大语境中。
DPU、数据 pod 和 GPU 网络可能是 GPU 的下一大步
“感官”数据集成的原因,迫使 CPU 和 GPU 再次演进,但这并不算是巨大的飞跃。处理和聚合信号(在广义上)常常是一种综合功能,通常需手动完成,成本昂贵,十分复杂。因此,市面上开始流行自主数据处理单元(DPU)的概念,它可用于聚合信号,并转换成可查询的存储内容。
目前,这些 DPU 中的大多数都是独立处理的,但随着堆栈变得更加规范化,DPU 最终可能会被蚀刻在硅中,利用现有知识和软原型,以一致的面向硬件的方法实现深度数据处理。GPU 可以很好地处理这一问题,尤其是现代 GPU 可以很容易地将自己的一部分分割出来,专门用于特定但类似的任务,尽管 DPU 的要求也可能可以通过具有不同体系结构的芯片来解决。
W3C 提出了一个比较有趣的想法:Data Pod(又称 Solid Pod)。Pod 本质上是通过 GPU 控制和调解的虚拟图数据库,通过标准协议进行通信,这项创新有望深刻地改变数据处理格局。该类 Pod 有望成为数字孪生和物联网集成战略不可或缺的一部分(可能与 DPU 协同工作,而 DPU 本身就是 GPU 的定制化产品),因此数据存储方面的大多数理念都将被彻底改写。
业界一直在朝网络化的方向发展,网络化是扩建不同规模、不同延迟的功能单元网络的过程,以便解决单个单元无法解决的问题。毫无疑问,作为图形处理器,GPU 很好地契合这种用途。GPU 集群(具有相对较低的延迟协调连接)正在取代通用超级计算机和分布式 CPU 集群,而 GPU 则被分割出去,并专门用于渲染、深度学习、图形查询和协调等任务。
尽管图形数据库(一些运行在 GPU 上,如亚马逊的 Neptune)和即将出现的 W3C Solid 标准,使在分布式网络上存储此类设备之间的状态和元数据成为可能,但上述趋势仍在发生。到 2035 年,独立处理器的概念可能会像独立数据库的概念一样过时。相反,云计算很可能会成为动态、可配置网络中的 GPU 海洋——数据存储在基于图形的节点中,由 GPU 控制器进行调节,CPU 主要负责引导设备。
四、五年前,一提到 GPU,人们往往想到“挖矿”、人工智能、大型游戏等这些高端词汇。而如今大街小巷都在谈论“数字化转型”的今天,GPU 已经开始从“跑龙套”蜕变到“担纲主角”,迎来属于自己的时代。
关于 GPU,目前大家有什么看法呢,欢迎大家扫描下方海报二维码添加 51CTO 小助手,加入我们读者群和大家共同探讨。
原文链接:
??https://www.datasciencecentral.com/is-the-gpu-the-new-cpu/??