当前位置: 首页 > news >正文

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

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

深入了解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 架构每一部分的作用及功能。

Streaming Multiprocessor(SM)

从上图中可以看出 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。但是直到NVIDIATuring 架构的推出(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架构演进

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

  1. G80 架构:英伟达第一个 GPU 架构,采用了 MIMD(多指令流多数据流)标量架构,拥有 128 个 SP(流处理器),核心频率范围从 250MHz 到 600MHz,搭配 DDR3 显存。该架构是当时最强大的 GPU 之一,但是功耗较高。
  2. Fermi 架构:英伟达第一个采用 GPU-Direct 技术的 GPU 架构,它拥有 32 个 SM(流多处理器)和 16 个 PolyMorph Engine 阵列,每个 SM 都拥有 1 个 PolyMorph Engine 和 64 个 CUDA 核心。该架构采用了 4 颗芯片的模块化设计,拥有 32 个光栅化处理单元和 16 个纹理单元,搭配 GDDR5 显存。
  3. Volta 架构:采用了全新的设计理念和技术,拥有 256 个 SM 和 32 个 PolyMorph Engine 阵列,每个 SM 都拥有 64 个 CUDA 核心。该架构采用了全新的 Tensor 张量核心、ResNet 和 InceptionV3 加速模块等技术,搭配 GDDR6X 显存。
  4. 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,光线追踪)核心。
  5. Ampere 架构:代表产品为 GeForce RTX 30 系列。该架构继续优化并行计算能力,并引入了更先进的 GDDR6X 内存技术,大幅提高了内存带宽和性能。相比 Turing 架构,Ampere 架构中的 SM 在 Turing 基础上增加了一倍的 FP32 运算单元,这使得每个 SM 的 FP32 运算单元数量提高了一倍,同时吞吐量也就变为了一倍。此外,安培架构还改进了着色器性能和张量核(Tensor Cores),进一步加速深度学习和人工智能任务的处理速度。

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

又拍云近期联合厚德云推出 GPU 产品,现活动期间新用户注册即可免费体验 RTX4090 GPU,暂不限体验时长哦! 有兴趣的同学点击下方链接即可免费体验~

传送门:RTX4090 0元体验入口

相关文章:

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

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

SMART PLC 和S7-1200PLC MODBUSTCP通信速度测试

SMART PLC MODBUSTCP通信详细介绍请参看下面文章链接: S7-200SMART PLC ModbusTCP通信(多服务器多从站轮询)_matlab sumilink 多个modbustcp读写_RXXW_Dor的博客-CSDN博客文章浏览阅读6.4k次,点赞5次,收藏10次。MBUS_CLIENT作为MODBUS TCP客户端通过S7-200 SMART CPU上的…...

C++文件操作知识点总结

文件流操作文本文件 文件流 在 C 中&#xff0c;对文件的操作是通过 stream 的子类 fstream&#xff08; file stream &#xff09;来实现的&#xff0c;所以&#xff0c;要用这种方式操作文件&#xff0c;就必须加入头文件<fstream>&#xff0c;代码如下&#xff1a; …...

开发vue3 UI组件库,并且发布到NPM

目录 1.创建vue3工程 2.创建package文件 3.编写组件&#xff0c;并且导出 4.编写package.json 5.npm账号注册登录并发布 6.从npm安装使用 7.注意事项 1.创建vue3工程 &#xff08;1&#xff09;初始化Vue项目 cnpm create vite &#xff08;2&#xff09;进入文件夹…...

雷达测角原理、测角精度、测角分辨率以及3DFFT角度估计算法汇总

1.角度测量方法 依据&#xff1a;电磁波的直线传播和雷达天线的方向性。 分类&#xff1a;振幅法测角、相位法测角 1.1 相位法测角 相位法测角利用多个天线所接收回波信号之间的相位差进行测角。如下图所示&#xff1b; 图 1 设在θ方向有一远区目标&#xff0c;则到达接收点…...

金财数科无代码开发平台:轻松实现电商、CRM、广告推广系统的集成连接

连接与集成&#xff1a;挖掘电商平台的潜力 金财数科是一家领先的信息技术公司&#xff0c;专注于利用前沿技术如互联网、人工智能、大数据和区块链等&#xff0c;为传统财税信息化方案和产品提供升级改造&#xff0c;并打造新一代智能财税SaaS平台。我们的目标是帮助企业通过…...

JavaWeb篇_09——Tomcat运行过程以及Servlet继承结构

Tomcat运行过程 用户访问localhost:8888/test/helloword.do&#xff0c;请求被发送到Tomcat&#xff0c;被监听8888端口并处理 HTTP/1.1 协议的Connector获得。Connector把该请求交给它所在的Service的Engine来处理&#xff0c;并等待Engine的回应。Engine获得请求localhost/t…...

Python中的异常与错误处理

一、基础知识 1、一个try语句支持多个except子句&#xff0c;但请记得将更精确的异常类型放在前面。 2、try语句的else分支会在没有异常时执行&#xff0c;因此它可以用来替代标记变量&#xff08;flag变量&#xff09;。 3、不带任何参数的raise语句会直接重复抛出当前异常。…...

sqli-labs关卡16(基于post提交的双引号加括号闭合的布尔盲注)通关思路

文章目录 前言一、回顾上一关知识点二、靶场第十六关通关思路1、判断注入点2、猜数据库长度3、猜数据库名字4、猜表名长度5、猜表名名字6、猜列名长度7、猜列名名字8、猜数据长度9、猜数据名字 总结 前言 此文章只用于学习和反思巩固sql注入知识&#xff0c;禁止用于做非法攻击…...

2.5k的ChatGPT-Java版SDK升级1.1.2-beta0支持GPT-4V、Dall-e-3模型、ToolCalls、微调Job、TTS...

1、项目简介 Chatgpt-Java是OpenAI官方Api的Java SDK&#xff0c;可以快速接入项目使用。支持OpenAI官方全部接口。 目前收获将2500star&#x1f31f;。 开源地址&#xff1a;https://github.com/Grt1228/chatgpt-java官方文档&#xff1a;https://chatgpt-java.unfbx.com/最…...

k8s二进制(ETCD的部署安装)

角色ip组件k8s-master192.168.11.169kube-apiserver,kube-controller-manager,kube-scheduler,etcdk8s-node1192.168.11.164kubelet,kube-proxy,docker,etcdk8s-node2192.168.11.166kubelet,kube-proxy,docker,etcd 1、为etcd签发证书 1、证书的下载(任意机器上执行都可以) …...

【rl-agents代码学习】02——DQN算法

文章目录 Highway-env Intersectionrl-agents之DQN*Implemented variants*:*References*:Query agent for actions sequence探索策略神经网络实现小结1 Record the experienceReplaybuffercompute_bellman_residualstep_optimizerupdate_target_network小结2 exploration_polic…...

关于使用 Java 反射技术来实现解耦?

关于使用 Java 反射技术来实现解耦&#xff1f; 文章目录 关于使用 Java 反射技术来实现解耦&#xff1f;一、基本说明二、代码示例三、注意 一、基本说明 Java 反射技术允许程序在运行时加载、探索和使用类和对象。通过反射&#xff0c;我们可以在程序运行期间动态地创建对象…...

使用清华智谱ChatGLM2大模型搭建本地私有知识库

首先放上该方案项目的git地址&#xff1a;https://github.com/chatchat-space/Langchain-Chatchat 以下是我的搭建和踩坑经验记录 一、环境准备 1、python安装 在环境中安装python&#xff0c;我安装的是3.9版本的python&#xff0c;官方要求的是Python 3.8 - 3.10 版本。不知…...

MES系统如何赋能制造企业实现4M防错追溯?

生产过程4M管理和MES系统的结合是现代制造业中关键的质量管理实践&#xff0c;它有助于提高生产效率、降低生产成本并保证产品质量。本文将深入探讨4M管理的概念&#xff0c;以及MES系统如何赋能制造企业实现4M防错追溯。 一、4M管理的概念 4M管理是指在制造过程中管理和控制四…...

Mybatis保存时参数携带了逗号和空格导致SQL保存异常

起初发现这个问题是因为导入文件时&#xff0c;用户输入的导入参数不规范&#xff0c;在字段中有逗号和空格一起出现&#xff0c;就会导致mybatis保存时发生sql异常。 异常数据张这样&#xff1a; INSERT INTO enterprise_stratification (id,create_date,create_by,update_da…...

vscode launch.json

有时新的服务器进行调试时&#xff0c;需要设置调试的launch.json的结果 然后就可以打开一个launch.json 其内容如下 {// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息&#xff0c;请访问: https://go.microsoft.com/fwlink/?linkid83…...

绿盟远程安全评估系统 RSAS 使用体验-难用

最近领导让我用公司采购的RSAS对产品进行漏洞扫描&#xff0c;学习并使用了这个软件&#xff0c;体验就是真的很难用。使用遇到问题时&#xff0c;咨询售后服务&#xff0c;机器人需要有公司认证&#xff0c;不能随便问问题&#xff0c;也是无语了。咨询客服&#xff0c;客服回…...

【Linux】 mdir命令使用

mdir 为mtools工具指令&#xff0c;模拟MS-DOS的dir指令&#xff0c;可显示MS-DOS文件系统中的目录内容。 语法 mdir [参数][目录] mdir命令 -Linux手册页 命令选项及作用 执行令 mdir--help 执行命令结果 参数 -a  显示隐藏文件。-f  不显示磁盘所剩余的可用空间。-w…...

解压游戏资源,导出游戏模型

游戏中有很多好看的角色&#xff0c;地图等等资源。 你有没有想过&#xff0c;把他们导出到自己的游戏中进行魔改又或则玩换肤等操作呢&#xff1f; 相信很多同学都喜欢拳皇中的角色&#xff0c; 那么我们今天就拿拳皇15举例子&#xff0c;导出他的资源。 首先要先安装好这个…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

NFT模式:数字资产确权与链游经济系统构建

NFT模式&#xff1a;数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新&#xff1a;构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议&#xff1a;基于LayerZero协议实现以太坊、Solana等公链资产互通&#xff0c;通过零知…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别

【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而&#xff0c;传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案&#xff0c;能够实现大范围覆盖并远程采集数据。尽管具备这些优势&#xf…...

C# 表达式和运算符(求值顺序)

求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如&#xff0c;已知表达式3*52&#xff0c;依照子表达式的求值顺序&#xff0c;有两种可能的结果&#xff0c;如图9-3所示。 如果乘法先执行&#xff0c;结果是17。如果5…...