3分钟看完NVIDIA GPU架构及演进

近期随着 AI 市场的爆发式增长,作为 AI 背后技术的核心之一 GPU(图形处理器)的价格也水涨船高。GPU 在人工智能中发挥着巨大的重要,特别是在计算和数据处理方面。目前生产 GPU 主流厂商其实并不多,主要就是 NVIDIA、AMD、Intel、高通等厂家。本文将主要聊聊 NVIDIA GPU 的核心架构及架构演进。

在这里插入图片描述

在探讨 NVIDIA GPU 架构之前,我们先来了解一些相关的基本知识。GPU 的概念,是由 NVIDIA 公司在 1999 年发布 Geforce256 图形处理芯片时首先提出,从此 NVIDIA 显卡的芯就用 GPU 来称呼,是专门设计用于处理图形渲染的处理器,主要负责将图像数据转换为可以在屏幕上显示的图像。

与 CPU 不同,GPU 具有数千个较小的内核(内核数量取决于型号和应用),因此 GPU 架构针对并行处理进行了优化。GPU 可以同时处理多个任务,并且在处理图形和数学工作负载时速度更快。GPU 架构是赋予 GPU 功能和独特能力的一切,主要组成包括:

CUDA 核心:GPU 架构中的主要计算单元,能够处理各种数学和逻辑运算。

内存系统:包括 L1、L2 高速缓存和共享内存等,用于存储数据和指令,以减少 GPU 访问主存的延迟。

高速缓存和缓存行:用于提高 GPU 的内存访问效率。

TPC/SM:CUDA 核心的分组结构,一个 TPC 包含两个 SM,每个 SM 都有自己的 CUDA 核心和内存。

Tensor Core( 2017 年 Volta 架构引入):Tensor张量核心,用于执行张量计算,支持并行执行FP32与INT32运算。

RT Core(2018 年 Turing 架构引入 ):光线追踪核心,负责处理光线追踪加速。

此外,NVIDIA GPU 架构还包括内存控制器、高速缓存控制器、CUDA 编译器和驱动程序等其他组件,这些组件与SM 和其他核心组件协同工作,可以实现高效的并行计算和内存访问,提高 GPU 的性能和能效。下面我们来详细了解一下这些 GPU 架构每一部分的作用及功能。

在这里插入图片描述

从上图中可以看出 GPU 主要有许许多多的 SM 组成,SM 全称为 Streaming Multiprocessor 流式多处理器,是 NVIDIA GPU 架构中的重要组成部分,也是 GPU 的基本计算单元。每个 SM 由多个 CUDA 核心、纹理单元、Tensor Core、流控制器和存储器等辅助单元组成,可以同时执行多个计算任务,并具有高度的灵活性和性能。

最先支持 CUDA 的 GPU —— G80 或 GeForce 8800 GTX,包含 8 个 TPC,每一个 TPC 中有两个 SM,一共有 16 个 SM。接下来支持 CUDA 的 GPU 是 GT200 或 GeForceGTX 280,它增加了 TPC 中的 SM 数量,包含 10 个 TPC 并且每个 TPC 含有 3 个 SM,总共是 30 个 SM。每一代 GPU 架构所支持的 SM 核心数量都不相同,如在 2020 年 Ampere 架构的完整 GA102 核心中,总共有 92 个 SM,每个 SM 包含 128 个 CUDA 核心、4 个 Tensor 核心和 1 个RT 核心。

CUDA Core

看完 SM 的介绍,接下来我们看看构成 SM 最重要的组成部分 CUDA Core。
CUDA 全称为统一计算设备架构 (Compute Unified Device Architecture) ,是一个并行计算平台,同时也是一个应用程序编程接口 (API)。它是由 NVIDIA 专门设计,目的在于让软件开发人员能够更好地控制他们可以使用的物理资源。使用 C 或 C++ 编码的计算机程序员对资源分配有很大的控制权。CUDA 系统极大地促进了 OpenACC 和 OpenCL 等框架的普及和使用。CUDA 核心也是并行处理器,允许不同处理器同时处理数据。这与双核或四核 CPU 类似,只不过 GPU 有数千个 CUDA 核心。区别在于 CPU 更像是一个管理员,负责控制整个计算机,而 GPU 适合做具体的工作。

并行计算

CUDA 的巨大优势是任务并行化,允许通过扩展在 C 和 C++ 中并行工作,处理不同重要性级别的任务和数据。这些并行化任务可以使用各种高级语言来执行,例如 C 语言、C++以及 Python,或者简单地使用包含 OpenACC 指令的开放标准。

CUDA 是目前最常用的任务加速平台,并且技术的发展已经取得了巨大的进步。CUDA 技术是使用最广泛、最重要的技术之一。

应用范围

CUDA 应用范围包括加密哈希、物理引擎、游戏开发等相关项目,在科学行业,在测量、测绘、天气预报和其他等相关项目得到了很大改善和简化。目前,数以千计的研究人员可以在学术和制药领域从事分子动力学研究,这简化了药理学的开发和研究,从而在治疗癌症、阿尔茨海默病和其他当今无法治愈的疾病等复杂疾病方面在更短的时间内取得进展。

CUDA 还可以对有风险的金融操作进行预测,将效率加快至少十八倍或更多。其他例子包括 Tesla GPU 在云计算和其他需要强大工作能力的计算系统中广受好评。CUDA 还允许自动驾驶车辆简单高效地运行,能够进行其他系统无法完成的实时计算。这种计算敏捷性使车辆能够在很短的时间内做出重要决策,避开障碍物,顺利行驶或避免事故。

Tensor Core

随着 GPU 开始用于人工智能和机器学习工作,NVIDIA 从 2017 年开始在其数据中心 GPU 的 Volta 架构中引入了 Tensor Core。但是直到 NVIDIA Turing 架构的推出(RTX 20 系列 GPU)这些核心才出现在消费类 GPU 中。
CUDA 核心足以满足计算工作负载,但 Tensor Core 的速度明显更快。CUDA 核心每个时间周期只能执行一项操作,但 Tensor 核心可以处理多项操作,从而带来令人难以置信的性能提升。从根本意义上来说,Tensor Core 所做的就是提高矩阵乘法的速度。

计算速度的提升确实是以准确性为代价的,从这点上来说 CUDA 核心的准确度要高得多。但是在训练机器学习模型时,Tensor Core 在计算速度和总体成本方面要有效得多,此时准确性的损失常常被忽略。

较之 CUDA Core 专门处理图形工作负载,Tensor Core 更擅长处理数字工作负载。在它们同时工作的过程中,在某些场景下可以互换。

RT Core

2018 年 NVIDIA 发布了新一代的旗舰显卡 RTX 2080,搭载了全新的 Turing(图灵)架构。全新的架构也同时添加了名为 RT Core 的计算单元,相当于在 Volta 上增加的 Tensor Core,都是为了特殊应用架构而设计的计算单元。该计算单元的目的是为了让 GPU 拥有实时光线追踪的能力,一种可以让画面更换新的渲染演算法。
光线追踪(Ray Tracing)的原理是从用户端为起点,寻找光线反射和折射的路径并算出用户会看到的物体颜色及亮度。然而,由于使大量光线在空间中反射决策,且空间中实际的状况未知,每一张图所需的计算量极其巨大,无法即时计算出结果,因此游戏产业尚未大量采用该技术。在发布的 RTX 2080 显卡中,NVIDIA 正式将 RT Core 加入绘图卡,让实时光学渲染法(Rendering)不再是说说而已。

图片
在这里插入图片描述

在了解完 GPU 架构组成部分后,我们来看看 NVIDIA GPU 架构的演进。自 NVIDIA 成立之初,其 GPU 架构历经多次变革。从 G80、GT200 系列,到 Fermi、Kepler、Pascal 和 Volta 架构等,以及近期的 Ampere 和 Hopper 架构。值得一提的是架构命名方式从 Tesla 架构开始每一代以科学家命名,每一代都有其独特的设计和特点,简单介绍下其中几个架构。

G80 架构:英伟达第一个 GPU 架构,采用了 MIMD(多指令流多数据流)标量架构,拥有 128 个 SP(流处理器),核心频率范围从 250MHz 到 600MHz,搭配 DDR3 显存。该架构是当时最强大的 GPU 之一,但是功耗较高。

Fermi 架构:英伟达第一个采用 GPU-Direct 技术的 GPU 架构,它拥有 32 个 SM(流多处理器)和 16 个 PolyMorph Engine 阵列,每个 SM 都拥有 1 个 PolyMorph Engine 和 64 个 CUDA 核心。该架构采用了 4 颗芯片的模块化设计,拥有 32 个光栅化处理单元和 16 个纹理单元,搭配 GDDR5 显存。

Volta 架构:采用了全新的设计理念和技术,拥有 256 个 SM 和 32 个 PolyMorph Engine 阵列,每个 SM 都拥有 64 个 CUDA 核心。该架构采用了全新的 Tensor 张量核心、ResNet 和 InceptionV3 加速模块等技术,搭配 GDDR6X 显存。

Turing 架构:代表产品为 GeForce RTX 20 系列。该架构首次引入了光线追踪(Ray Tracing)和深度学习超级采样(DLSS),为游戏和设计领域带来了革命性的视觉效果和性能提升。此外,图灵架构还优化了着色器性能,以提高渲染效率和能效比。Turing SM 设计采用全新架构,每个 TPC(Texture and Compute Cluster,纹理和计算集群)均包含两个 SM,每个 SM 共有 64 个 FP 32 核心和 64 个 INT32 核心。也就是说,每个 SM 都包含 128 个核心。这些核心可以并行执行 FP32 与 INT32 运算。每个 Turing SM 还拥有 8 个混合精度 Turing Tensor 核心和 1 个 RT(Ray Tracing,光线追踪)核心。

Ampere 架构:代表产品为 GeForce RTX 30 系列。该架构继续优化并行计算能力,并引入了更先进的 GDDR6X 内存技术,大幅提高了内存带宽和性能。相比 Turing 架构,Ampere 架构中的 SM 在 Turing 基础上增加了一倍的 FP32 运算单元,这使得每个 SM 的 FP32 运算单元数量提高了一倍,同时吞吐量也就变为了一倍。此外,安培架构还改进了着色器性能和张量核(Tensor Cores),进一步加速深度学习和人工智能任务的处理速度。

经过几十年的探索和发展,NVIDIA 的 GPU 架构以其层次化的内存设计、多线程技术、优化内存层次结构、混合精度计算技术和自动功耗优化技术,实现了高效、可扩展、灵活和能效比这几个关键目标。从最初的 GeForce 系列到最新的 Hopper 架构,NVIDIA 不断引领着 GPU 架构的发展,提供了强大的性能和创新的技术,从而在图形处理和人工智能等领域取得了显著的成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/200759.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySql 计算同比、环比

一、理论 国家统计局同比、环比计算公式 增长速度是反映经济社会某一领域发展变化情况的重要数据,而同比和环比是反映增长速度最基础、最核心的数据指标,也是国际上通用的指标。在统计中, 同比和环比通常是同比变化率和环比变化率的简称&…

ventoy安装操作系统

下载ventoy https://github.com/ventoy/Ventoy/releases/download/v1.0.96/ventoy-1.0.96-windows.zip 解压后执行 Ventoy2Disk 2、安装后将ISO放入U盘大的分区,通过U盘启动就可以识别到ISO镜像开始装系统

电商数据|淘宝商品数据接口接入|参数|获取商品订单物流|电商数据分析

授权认证 授权不是开放平台对服务商应用的授权 ,而是需要开放平台的客户(用户)对服务商应用的授予,比如ERP应用,也就是淘宝的店铺商家对应用进行授权,使其能够拉取到店铺的订单来完成订单履约。 淘宝授权页…

在Linux服务器中查找mysql的配置文件并修改其内容并保存,清空mysql8.0以上默认开启SSL的配置,防止odbc无法连接的问题

------每个命令输完记得按【enter】回车键------- 1、查找mysql的配置文件命令-mysql的配置文件默认名是my.cnf: find / -name my.cnf 2、查看显示的配置文件内容: cat /etc/my.cnf 3、修改配置文件的内容: 使用vi 或vim 命令 vi /etc…

微创机器人:CRM撬动售后服务数字化升级

一方面,我国医疗器械行业起步较晚,更注重产品的销售和业务的拓展,企业售后服务整体比较滞后。 另一方面,医疗器械售后服务环节数字化程度不足,一些企业仍通过传统的线下手段管理售后服务,进行数字化尝试的…

单例设计模式是什么?什么是 Singleton 单例设计模式?Python 单例(单件)设计模式示例代码

什么是 Singleton 单例设计模式? 单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来访问该实例。 主要思想: 单例模式确保某个类只有一个实例,并提供了一个访问该实例的全局访问点。它…

怎么做好品牌营销,小红书爆款笔记怎么做?

只要在小红书平台进行传播,能够尽可能多的创造爆款笔记,就是所有品牌方和达人的目标。今天来马文化传媒为大家分享下怎么做好品牌营销,小红书爆款笔记怎么做? 一、判断爆款笔记的三大指标 判断一篇笔记是否是爆款笔记,…

【攻防世界-misc】simple_transfer

1.下载并打开文件, 2.这个文件是一个pcap文件, 用wireshark打开,并按上图步骤操作, 会自动定位到有flag的这个信息行,这时需要右键追踪该信息的tcp流即可。 向下查找时,可以看到有一个pdf文件在这个里面&…

C++医学影像PACS系统源码,影像归档和通信系统全套源码

C医学影像PACS系统源码 PACS系统,意为影像归档和通信系统。它是应用在医院影像科室的系统,主要的任务就是把日常产生的各种医学影像(包括核磁,CT,超声,各种X光机,各种红外仪、显微仪等设备产生的…

许战海战略文库|三步成就技术品牌:奥迪如何打造Quattro技术品牌?

引言:在当前全球化和信息化快速发展的背景下,技术品牌的打造不仅是企业竞争力提升的重要途径,也是企业实现长远发展的基石。技术品牌的建设并非一蹴而就的过程,而是需要企业准确把握市场趋势发掘自身核心竞争力,并通过长期的积累和推广逐渐在市场中树立起良好的技术…

13.真刀实枪做项目---博客系统(页面设计)

文章目录 1.预期效果1.1博客列表页效果1.2博客详情页效果1.3博客登陆页效果1.4博客编辑页效果 2.实现博客列表页2.1实现导航栏2.2实现版心2.3实现个人信息2.4实现博客列表2.5博客列表页完整代码 3.实现博客正文页3.1引入导航栏3.2引入版心3.3引入个人信息3.4实现博客正文3.5博客…

uniapp和vue3+ts创建自定义下拉选择框组件

使用uniapp开发小程序的时候,使用了uview的ui组件,但是里面没有下拉选择组件,只有Picker 选择器,但是我们想要使用下拉选择的组件,所以需要自定义个一个下拉选择的自定义组件,我就只能自己动手创建这个自定…

【C++进阶之路】第四篇:set和map

文章目录 一、关联式容器健值对二、set & multiset三、map & multimap在这里插入图片描述 四、set和map底层原理 一、关联式容器健值对 关联式容器 & 键值对 二、set & multiset set & multiset 三、map & multimap map & multimap 四、set和…

Spring Framework IoC依赖注入-按Bean类型注入

Spring Framework 作为一个领先的企业级开发框架,以其强大的依赖注入(Dependency Injection,DI)机制而闻名。DI使得开发者可以更加灵活地管理对象之间的关系,而不必过多关注对象的创建和组装。在Spring Framework中&am…

将kali系统放在U盘中插入电脑直接进入kali系统

首先准备一个空白的 U 盘。 Kali Linux | Penetration Testing and Ethical Hacking Linux Distribution 在 Windows 上制作 Kali 可启动 USB 驱动器 Making a Kali Bootable USB Drive on Windows | Kali Linux Documentation 1. 首先下载 .iso 镜像 Index of /kali-images…

单链表OJ题--9.环形链表

9.环形链表 141. 环形链表 - 力扣(LeetCode) /* 解题思路: 定义快慢指针fast,slow, 如果链表确实有环,fast指针一定会在环内追上slow指针。 */typedef struct ListNode Node; bool hasCycle(struct ListNode *head) {Node* slow …

设计模式—结构型模式之享元模式

设计模式—结构型模式之享元模式 享元模式(Flyweight Pattern),运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。对象结构型。 在享元模式中可以共…

Arduino库之U8g2lib

某些图片、表格在手机竖屏状态下会显示不全,横屏显示即可。最好是用平板或电脑看。大部分内容摘自官网。 简介 U8g2 U8glib是用于单色显示屏的图形库,它可以用于51、Arduino、ARM控制显示屏,目前作者olikraus已经更新到version2了&#xff0…

瑞格心理咨询系统设置多个管理员的操作方法

使用瑞格心理咨询系统,需要设置多个admin权限的管理员账号来管理,咨询厂家答复只能有1个管理员,个人觉得不可能,于是开始折腾。 解决办法: 在没有数据字典的情况下, 通过遍历数据库,发现用户信…

16. @PostConstruct注解和开关原理(验证码开关、IP开关)

1►PostConstruct注解 PostConstruct是java自带的注解,会在java项目启动的时候先执行下面的方法 2►开关原理(验证码开关) 我们的项目具有验证码功能,旧版不支持关闭,新版已经支持关闭了。 我们打开页面“参数管…