计算机架构的新黄金时代,GPU能否继续保持辉煌?

2023-11-06 17:11

本文主要是介绍计算机架构的新黄金时代,GPU能否继续保持辉煌?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

df31e4e84970e4524f8a601656eabdfb.png

撰文|吕坚平

2018年6月4日,John Hennessy和David Patterson以2017年图灵奖(被誉为“计算机界的诺贝尔奖”)的获得者身份发表了演讲《计算机架构新的黄金时代》。讲座有三个关键见解:

1、软件的进步将激发架构的创新。

2、硬件/软件接口的进化为架构创新创造了机会。

3、关于架构的争论最终将由市场需求解决。

我想再补充第四点,补全这个闭环:

在竞争中的首选架构将促进后续的软件进化。

在Hennessy/Patterson演讲之后,我们发现市场几乎已经在AI领域中实现了第三条见解 #3(关于架构的争论最终将由市场需求解决),并将图形处理单元(GPU)选为推动人工智能革命的“获胜”架构。在本文中,我将探讨AI革命是如何激发架构创新和重塑GPU的,我希望本文能够回答这个重要问题:GPU能否在计算机架构新的黄金时代继续保持辉煌?

1

特定领域架构

Henessy和Patterson提出了特定领域架构(DSA)的概念,旨在为计算机架构带来创新并努力迈向新的黄金时代。顾名思义,GPU是用于3D图形领域的 DSA。它的目标是在3D虚拟世界中渲染照片般逼真的图像;然而,几乎所有人工智能研究人员都使用 GPU 来探索超越3D图形领域的概念,并在人工智能的“软件”也就是神经网络架构方面取得了一系列的突破。

GPU在3D世界仍然是不可或缺的,同时因为它促进了AI的软件创新,已成为人工智能世界的“CPU”。除了3D用途之外,GPU架构师一直在努力将GPU的计算资源用于非3D用途。我们将这种设计理念称为通用GPU,即GPGPU。

如今,我们看到越来越多的AI DSA来抢占GPGPU的市场,试图用更好的性能来取代GPU。甚至GPU本身也在它的双重人格(即AI DSA和3D DSA)之间挣扎。原因是AI DSA需要加速张量运算,这在 AI 中是很常见的运算,但在3D世界中却不是;与此同时,3D固定功能硬件对于AI来说似乎是多余的。

因此,关于架构争论的主要方向应集中在以下几个方面:

1、GPU能否稳坐“AI世界CPU”的宝座?

2、GPU是否会分成两种DSA,一种用于AI,另一种用于3D?

我的预测如下:

1、GPU硬件/软件接口将继续使GPU成为“AI世界的CPU”。

2、基于 AI 的渲染会让张量加速成为GPU中的主流。

3、虚拟世界和现实世界互相映射的数字孪生理念将主导市场,最终解决架构争论。

2

GPU硬件/软件接口

我们可以将GPU在3D领域中的主导地位和在AI世界中取得的巨大成功归功于它的硬件/软件接口,GPU和3D图形软件架构师正努力采用这种接口。这种接口是解决以下悖论的关键: GPU社区正在继续优化GPU的通用性,但业界的其他人为应对摩尔定律消退的困境已开始转向更专用的硬件。

00c11f046eba9a3d8e2444b5b5d1b0cb.png

GPU管线(图片来源:本文作者)

3

双层可编程性

理论上讲,GPU是处理阶段的长长的线性管线(Pipeline)。不同类型的工作项(Work items)在通过管线时被处理。在早期,每个处理阶段都是一个固定的功能块,程序员对GPU的唯一控制就是调整每个区间的参数。

如今,GPU硬件/软件接口让程序员可以自由地处理每个工作项,无论是顶点还是像素。没有必要在每个顶点或像素循环中处理循环头,因为GPU架构师在一个固定的函数中实现了核心功能。这种架构选择让程序员仅仅关注他们自己的循环体或“着色器”,这通常以工作项的类型命名,如处理顶点的“顶点着色器”和处理像素的“像素着色器”。

现代游戏如何使用这种线性管线制作出令人惊叹的画面?除了通过管线一次控制不同类型的着色器,程序员可以多次通过同一个管线产生中间图像,最终产生在荧幕上看到的最终图像。程序员还可以创建一个计算图,描述中间图像之间的关系,图中的每个节点表示通过GPU管线一次。

4

中心化的通用计算资源池

一个中心化的通用计算资源池可以在多个处理阶段之间共享,完成繁重的工作。这种方案的最初动机是负载均衡;在不同的使用场景中,各个处理阶段的工作负载可能有很大的变化。

因此,计算资源,也就是被称为着色器核心的部件逐渐变得更具通用性,以实现灵活性和产品差异化。GPU架构师尝试将中央着色器池提供给非3D应用程序,如GPGPU,这种设计方案使GPU能在兼顾运行人工智能任务方面取得突破。

5

平衡专门器件的比例

GPU架构师经常在不改变硬件/软件接口的情况下添加协同处理单元“加速”或“特殊优化”着色器池。纹理单元就是这样一个协处理单元,可以用来把纹理元素从纹理贴图中提取并过滤到着色器池中。特殊函数单元(SFU)是负责执行超越数学函数的另一种协处理单元,处理对数、平方根倒数等函数。


虽然有多个功能单元听起来很像CPU中的超标量设计,但它们有一个显著区别:GPU 架构师根据着色器程序使用协处理单元的平均频次来配置协处理单元的吞吐量。例如,如果我们假设纹理操作出现在基准测试或游戏中的时间平均为八分之一,就可以为纹理单元提供着色器池吞吐量的八分之一。当协处理单元处于繁忙状态时,GPU会切换任务以让自己的资源被充分利用。

6

张量如何加速3D应用

在前文中,我提到了GPU在3D用途中难以利用张量加速。让我们看看如果改变GPU 渲染典型游戏帧的方式,这种状况能否改变。GPU首先生成并存储所有必要的信息,以便为每个像素在G-buffer中着色。从 G-buffer中,我们会计算如何点亮一个像素,紧随其后的是几个处理步骤,包括:

1.去除锯齿边缘(抗锯齿(AA))

2.将低分辨率图像升级为高辨率图像(超分辨率(SR))

3.将整帧画面添加一些特定视觉效果,例如环境光遮蔽、运动模糊、布隆过滤器或景深等。

因为对像素的着色是“延迟”的,直到每个像素都获得所需的信息后才开始,我们称这种渲染方案为延迟着色。我们将光照之后的处理步骤称为后处理。今天,后处理消耗了大约 90% 的渲染时间,这意味着 GPU 的荧幕时间主要用在2D而非3D上!

NVIDIA已经为AA和SR演示了基于AI的DLSS 2.0,声称可以生成比没用DLSS 2.0的原生渲染更好看的图像。此外,NVIDIA 还为光线追踪提供了基于 AI 的蒙特卡罗去噪算法,这样我们就可以使用很少的光线来实现原本需要更多光线才能做到的画面质量。另外,AI技术为其他许多后处理类型提供了一类新的解决方案,例如用于环境遮蔽的NNAO 和用于景深的 DeepLens。

如果基于AI的后处理成为主流,张量加速将成为GPU在3D用途上的支柱,GPU 分化为 3D DSA和AI DSA的可能性也会降低。

7

3D/AI融合

为了解决架构争论,我们需解决最后一个难题:我们最后是否应该移除3D渲染中的专用功能硬件,尤其是在用于 AI 用途时是不是更需要这样做?请注意,通过GPGPU, GPU可以作为纯“软件”来进行3D渲染,而不需要使用任何专用功能硬件。

严格意义上讲,在给定场景参数的情况下,3D渲染模拟了光子如何从光源穿越空间传输到3D虚拟世界中与物体交互。GPU的传统3D渲染过程是这个方法的一个非常粗略的近似。因此,微软将光线追踪宣传为“未来的完整3D效果”时表示,“[基于传统光栅化的]3D图形是一个谎言”。然而,3D 渲染纯粹主义者可能仍然不会接受光线追踪技术,因为在光线追踪过程中,我们是从像素到 3D 虚拟世界来反向追踪光线来实现 3D 渲染的,这也不是真实的。

这两种方法都是基于模拟的3D渲染的近似方案。在两种方案下,我们都会将 3D 虚拟世界的建模或者说内容创建与渲染分离开来。第一步,,对 3D 虚拟世界建模需要工程师和艺术家进行大量艰苦而富有创造性的工作,以描述每个对象及其与光线交互的物理属性。第二步,因为我们需要彻底简化3D渲染以在资源预算内满足多个性能目标,通过渲染做到完全真实是不可能的。

相比使用广为人知的科学知识和数学理论为给定问题寻找解决方案,人工智能方法是从数据中“学习”计算模型,或者说神经网络。我们通过反复试验迭代地调整网络参数,通过上一个版本的参数估计向前运行网络并测量不匹配或“损失”。然后根据其梯度调整参数以减少损失,有效地引导损失景观向与梯度相反的方向移动。这种机制称为反向传播,它要求沿着前向路径的所有计算都是可微的,以参与计算梯度。

神经渲染是一个新兴的人工智能研究领域,它使用上述方法来研究3D渲染。下面是我用来跟踪神经渲染进展的思维导图:

74b1a8ae4f3e2e082ce2800266b665ab.png

这个 3D 虚拟世界模型被隐含地表示为神经网络参数(参见 NeRF、GRAF、GIRAFFE),这些参数是我们通过比较真实世界的图像和我们从虚拟世界渲染的图像来推断的。我们反向传播比较梯度来调整神经网络参数。或者,我们可以从数据中学习显式 3D 网格(参见 DeepMarching Cube,GAN2Shape)。实际上,对 3D 虚拟世界建模与学习神经网络参数是一回事。这个过程要求我们在前向路径中包含一个 3D 渲染管线,并在紧密的循环中集成3D虚拟世界的建模和渲染。通过对真实世界图像的迭代渲染和测试,我们获得了可用于渲染虚拟世界新视图的所需模型和场景参数。

在这个框架内,我们可以选择性地不对所有参数进行调整,例如,保持物体的形状不变但估计其位置(参见 iNeRF)。这样,我们可以高效地尝试识别和定位问题中的对象,而不是对其建模。建模和识别任务之间不再存在区别。相反,问题在于我们想要“学习”或“估计”哪些场景参数。

8

结论

因此,在人工智能解决问题的范式下,3D渲染的目标不仅是生成 3D 虚拟世界的逼真图像,还可以根据现实世界来构建虚拟世界。此外,新框架通过以下方式重新定义了3D和AI:

1. 3D渲染成为AI训练流程中必不可少的操作。

2. 训练或“梯度下降”,过去只出现在云端神经网络训练过程,现在则是推理的一部分。

3. 真实渲染的真实感是为了保持真实世界和虚拟世界之间的一致性,从而看起来很棒。

数字孪生理念要求将庞大且不断变化的现实世界带到其尚未开发的孪生虚拟世界中,并保持孪生之间的一致性。通过神经渲染获得的虚拟对象需要与通过经典方法构建的虚拟对象共存。因此,我相信神经渲染和传统渲染将利用其成熟和高性能的3D管线在GPU上融合。数字孪生的需求将落在未来GPU的肩上。我们还需要在GPU端做很多工作来实现“可微”,以参与AI训练流程的梯度计算。

假设GPU因满足3D世界中的AI方法的进展而获得原生可微和张量加速能力,我预计GPU的“双重人格”将化为一体。

最终,GPU会卫冕其首选架构的宝座,以促进AI软件的进一步发展,并最终成为计算机架构新的黄金时代的明星。

(本文由作者吕坚平博士授权后发布,原文:

https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Ftowardsdatascience.com%2Fwill-the-gpu-star-in-a-new-golden-age-of-computer-architecture-3fa3e044e313)

08d8ddecc71aa2934c1bcced65c3d553.png

作者简介:吕坚平毕业于耶鲁大学并获计算机科学博士学位,曾在英伟达、英特尔、三星等跨国半导体巨头担任要职,是GPU领域的著名专家,去年九月,吕博士正式加盟上海天数智芯半导体有限公司,任首席技术官(CTO)。

其他人都在看

  • OneFlow实习岗位热招

  • 计算机架构的新黄金时代

  • 那些在开源世界顶半边天的女同胞们

  • 黄仁勋口述:英伟达的发展之道和星辰大海

  • Tenstorrent虫洞分析:挑战英伟达的新玩家

  • 30年做成三家独角兽公司,AI芯片创业的底层逻辑

欢迎下载体验OneFlow新一代开源深度学习框架:GitHub - Oneflow-Inc/oneflow: OneFlow is a performance-centered and open-source deep learning framework.icon-default.png?t=M276https://github.com/Oneflow-Inc/oneflow/

这篇关于计算机架构的新黄金时代,GPU能否继续保持辉煌?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/357969

相关文章

mybatis的整体架构

mybatis的整体架构分为三层: 1.基础支持层 该层包括:数据源模块、事务管理模块、缓存模块、Binding模块、反射模块、类型转换模块、日志模块、资源加载模块、解析器模块 2.核心处理层 该层包括:配置解析、参数映射、SQL解析、SQL执行、结果集映射、插件 3.接口层 该层包括:SqlSession 基础支持层 该层保护mybatis的基础模块,它们为核心处理层提供了良好的支撑。

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

高并发环境中保持幂等性

在高并发环境中保持幂等性是一项重要的挑战。幂等性指的是无论操作执行多少次,其效果都是相同的。确保操作的幂等性可以避免重复执行带来的副作用。以下是一些保持幂等性的常用方法: 唯一标识符: 请求唯一标识:在每次请求中引入唯一标识符(如 UUID 或者生成的唯一 ID),在处理请求时,系统可以检查这个标识符是否已经处理过,如果是,则忽略重复请求。幂等键(Idempotency Key):客户端在每次

AI Toolkit + H100 GPU,一小时内微调最新热门文生图模型 FLUX

上个月,FLUX 席卷了互联网,这并非没有原因。他们声称优于 DALLE 3、Ideogram 和 Stable Diffusion 3 等模型,而这一点已被证明是有依据的。随着越来越多的流行图像生成工具(如 Stable Diffusion Web UI Forge 和 ComyUI)开始支持这些模型,FLUX 在 Stable Diffusion 领域的扩展将会持续下去。 自 FLU

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

如何用GPU算力卡P100玩黑神话悟空?

精力有限,只记录关键信息,希望未来能够有助于其他人。 文章目录 综述背景评估游戏性能需求显卡需求CPU和内存系统需求主机需求显式需求 实操硬件安装安装操作系统Win11安装驱动修改注册表选择程序使用什么GPU 安装黑神话悟空其他 综述 用P100 + PCIe Gen3.0 + Dell720服务器(32C64G),运行黑神话悟空画质中等流畅运行。 背景 假设有一张P100-

系统架构设计师: 信息安全技术

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 系统架构设计师: 信息安全技术前言信息安全的基本要素:信息安全的范围:安全措施的目标:访问控制技术要素:访问控制包括:等保

利用命令模式构建高效的手游后端架构

在现代手游开发中,后端架构的设计对于支持高并发、快速迭代和复杂游戏逻辑至关重要。命令模式作为一种行为设计模式,可以有效地解耦请求的发起者与接收者,提升系统的可维护性和扩展性。本文将深入探讨如何利用命令模式构建一个强大且灵活的手游后端架构。 1. 命令模式的概念与优势 命令模式通过将请求封装为对象,使得请求的发起者和接收者之间的耦合度降低。这种模式的主要优势包括: 解耦请求发起者与处理者

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础

创业者该如何设计公司的股权架构

本文来自七八点联合IT橘子和车库咖啡的一系列关于设计公司股权结构的讲座。 主讲人何德文: 在公司发展的不同阶段,创业者都会面临公司股权架构设计问题: 1.合伙人合伙创业第一天,就会面临股权架构设计问题(合伙人股权设计); 2.公司早期要引入天使资金,会面临股权架构设计问题(天使融资); 3.公司有三五十号人,要激励中层管理与重要技术人员和公司长期走下去,会面临股权架构设计问题(员工股权激