【硬件知识】从零开始认识GPU

【硬件知识】从零开始认识GPU

  • 一、GPU的发展史简介
  • 二、GPU主要构成
  • 三、GPU与AI的关系

一、GPU的发展史简介

GPU(图形处理器)的发展史是一段充满创新与变革的历程,它不仅改变了计算机图形显示的方式,还推动了高性能计算、人工智能等多个领域的发展。以下是GPU发展史的概述及其中的一些趣闻。

GPU发展史

  1. 早期发展阶段
    起源:GPU的起源可以追溯到早期的图形显示控制器,如IBM在1981年发布的IBM 5150个人电脑中的黑白显示适配器和彩色图形适配器。这些设备虽然简单,但为后续的图形处理器发展奠定了基础。
    2D图形加速:1991年,S3 Graphics推出的“S3 86C911”标志着2D图形硬件加速时代的到来,它能够进行字符、基本2D图元和矩形的绘制。
    3D图形加速:1994年,3DLabs发布的Glint300SX是第一颗用于PC的3D图形加速芯片,它支持高氏着色、深度缓冲、抗锯齿等特性,开启了显卡的3D加速时代。然而,这个阶段的显卡大多没有执行统一的标准,加速功能也不尽相同。
  2. GPU概念的提出
    GeForce 256:1999年,NVIDIA公司在发布其标志性产品GeForce 256时,首次提出了GPU的**概念。**这款GPU整合了硬件变换和光照(T&L)、立方环境材质贴图和顶点混合等特性,极大减轻了CPU的负担,标志着GPU时代的正式到来。
  3. 统一渲染架构的兴起
    DirectX 8与Shader Model:2001年微软发布DirectX 8,提出了渲染单元模式(Shader Model)的概念,引入了顶点着色器(Vertex Shader)和像素着色器(Pixel Shader),标志着固定管线架构的终结和可编程渲染架构的开始。
  4. 统一渲染架构:随着DirectX 10的推出,shader不再扮演固定的角色,每一个shader都可以处理顶点和像素,这就是统一渲染着色器(Unified Shader)。第一款采用统一渲染架构的桌面GPU是NVIDIA在2006年发布的GeForce 8800 GTX(核心代号G80),它极大提高了GPU的利用率和性能。
  5. GPU的广泛应用与架构创新
    CUDA架构2006年NVIDIA发布了首个通用GPU计算架构Tesla,它采用全新的CUDA架构,支持使用C语言进行GPU编程,使GPU从专用图形处理器转变为通用数据并行处理器。
    架构演进:随后,NVIDIA推出了Fermi、Kepler、Maxwell、Pascal、Volta、Turing和Ampere等GPU架构,不断增强GPU的计算能力和程序性,推动GPU在图形渲染、人工智能和高性能计算等领域的应用。
  6. 趣闻
    像素窃取攻击:在GPU的发展过程中,也出现了一些有趣的安全挑战。例如,研究人员发现了一种称为“像素窃取”的攻击方法,通过在恶意网站嵌入iframe标签,利用GPU的数据压缩方法跨域获取敏感数据,如用户名和密码。这一发现揭示了GPU在安全领域的新挑战。
    GPU在抗疫中的应用:在2020年的新冠肺炎疫情中,GPU集群为超级计算机提供了强大的计算能力,加速了病毒研究和新药筛选的过程。例如,美国橡树岭国家实验室的研究人员利用IBM的Summit超级计算机(搭载了多个NVIDIA Volta V100 GPU)筛选出了77种可能与蛋白质结合并阻止病毒发挥作用的化合物。

GPU的发展史是一部充满创新与挑战的史诗,它不仅改变了我们的视觉体验,还推动了多个领域的技术进步。随着技术的不断发展,我们可以期待GPU在未来继续发挥更大的作用。

二、GPU主要构成

GPU(Graphics Processing Unit,图形处理单元)的内部结构相对复杂,但主要可以归纳为几个关键组成部分。以下是对GPU内部结构的一个详细概述:

  • 流式多处理器(Streaming Multiprocessors, SMs)
    核心组件GPU的核心计算单元是流式多处理器(SMs),它们负责执行并行计算任务每个SM包含多个CUDA核心(或称为流处理器,SPs),以及控制模块、寄存器、缓存和指令流水线等部件
    并行能力:每个SM都能支持数百个线程并发执行,这些线程被组织成线程束(Warp)线程块(Block),以实现高效的并行处理。
    计算能力:随着技术的发展,SM的计算能力不断提升,包括支持更复杂的指令集和更高的浮点运算性能。

  • 层级存储结构
    全局内存(Global Memory):类似于CPU的内存,容量大但访问速度相对较慢。GPU和CPU都可以访问全局内存,但GPU通常具有独立的显存来存储全局内存数据。
    L2缓存(L2 Cache):位于GPU芯片内部,用于缓存从全局内存读取的数据,以减少对全局内存的访问延迟。
    L1缓存/共享内存(L1 Cache/Shared Memory):通常位于SM内部,存取速度比全局内存快,用于存储线程间共享的数据或临时计算结果。
    寄存器(Registers):每个线程都有自己的寄存器组,用于存储操作数和中间结果,存取速度最快。

  • 其他关键组件
    特殊函数单元(Special Function Units, SFUs):执行特殊数学运算,如幂函数、对数函数、三角函数等。
    加载/存储单元(Load/Store Units, LD/ST Units):辅助线程从全局内存、共享内存或寄存器中加载或存储数据。
    纹理读取单元(Texture Units)和纹理缓存(Texture Cache):用于加速图形渲染中的纹理数据访问。

  • 内部连接网络(Interconnect Network)
    GPU内部各组件之间通过复杂的连接网络进行通信和数据传输,确保高效的并行计算和数据访问。

  • GPU RTX 4080结构图
    在这里插入图片描述

    • 供电模块:负责给GPU供电,保证有足够的电量驱动GPU正常工作
      在这里插入图片描述

    • 全局显存
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    • GPU核心

      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    • 其他模块,如1v8控制器、ARGB神光同步模块、STRIX功能单片机等

    • PCIe4.0接口:负责数据快速传输
      在这里插入图片描述

三、GPU与AI的关系

AI与GPU之间存在密切的关系,这主要源于GPU在并行计算方面的卓越性能,这恰好满足了AI大模型在处理海量数据和进行复杂计算时的需求。以下详细解释为何AI与GPU有关系:

  1. GPU的并行计算能力
    核心数量:GPU拥有成百上千的处理核心,这使得它能够同时执行多重计算任务。相比之下,CPU的核心数量较少,通常不超过100个。
    计算效率:GPU的并行计算能力使得它在处理大规模数据和复杂计算任务时表现出色,尤其适合进行大量的矩阵运算和张量操作,这是AI模型训练和推理过程中的关键计算任务。
  2. GPU在AI中的应用
    深度学习模型训练:AI大模型,如深度学习神经网络,需要进行大量的矩阵运算和数据处理。GPU通过其强大的并行计算能力,能够显著加速这些计算过程,从而缩短模型训练时间,提高训练效率。
    推理加速:在模型推理阶段,GPU同样能够提供高效的计算能力,使得AI模型能够更快地处理输入数据并给出结果。
  3. GPU与AI的协同发展
    硬件升级:随着AI技术的不断发展,对计算能力的需求也在不断增加。为了满足这些需求,GPU的性能也在不断提升,新的GPU产品不断涌现,为AI大模型提供了更加强大的计算支持。
    软件优化:主流的深度学习框架,如TensorFlowPyTorch,都进行了针对GPU的优化,以确保深度学习模型能够在GPU上高效运行。这些优化包括针对GPU架构的特定指令集、内存管理和数据流优化等。
  4. GPU与CPU的区别
    任务类型:CPU更适合处理日常的单线程任务,如操作系统管理、文件处理等。而GPU则更适合处理并行计算任务,如图像处理、视频渲染和AI计算等。
    计算模式:CPU通常采用串行计算模式,即按照指令顺序逐一执行。而GPU则采用并行计算模式,能够同时处理多个计算任务。

GPU以其强大的并行计算能力成为AI大模型实现高效计算的重要工具之一。AI与GPU之间的紧密联系不仅推动了AI技术的快速发展,也促进了GPU技术的不断创新和升级。

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

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

相关文章

盘点大模型中转 API 平台,并比较费用

1. 大模型中转 API 平台集合 1.1 DevAGI DevAGI开放平台 Open AI 价格 1.2 Deepbricks 官网价格 1.3 AiHubMix AiHubMix 官网 使用教程 价格: 1.4 WildCard 开卡订阅 WildCard官网 价格 有3.5% 的充值手续费,API 价格与 Open AI 一样 2. 价…

机器学习:opencv--图像边缘检测

目录 前言 一、图像边缘检测 1.边缘检测 2.边缘检测的方法 二、Sobel算子 1.Sobel算子 2.计算 3.代码实现 4.代码步骤解析 1.导入图片 2.处理x轴和y轴的边缘并相加 三、Scharr算子 1.Scharr算子 2.计算 3.代码实现 四、Laplacian算子 1.Lapla…

PHP 项目流水线部署与错误问题解决

在现代软件开发中,持续集成(CI)和持续部署(CD)已成为确保代码质量和加快发布速度的关键实践。本文将介绍如何构建一个 PHP 项目的流水线部署,涵盖从代码提交到生产环境的自动化流程。 #### 1. 什么是流水线…

高效能低延迟:EasyCVR平台WebRTC支持H.265在远程监控中的优势

TSINGSEE青犀视频EasyCVR视频汇聚平台在WebRTC方面确实支持H.265编码,尽管标准的WebRTC API在大多数浏览器中默认并不支持H.265(也称为HEVC,高效视频编码)编码。EasyCVR平台通过一系列创新的技术手段,实现了在WebRTC协…

深入Redis:细谈持久化

Redis的数据是保存在内存中的,内存里面的数据是不持久的,要想做到持久化,必须要把在内存中的数据储存到硬盘上。 Redis速度非常快,数据只有在内存中才有这样的速度,但是为了持久,数据还是要想办法保存到硬…

WordPress 资源展示型下载类主题 CeoMax-Pro_v7.6 开心版

WordPress 资源展示型下载类主题 CeoMax-Pro_v7.6 开心版; CeoMax-Pro是一款极致美观强大的WordPress付费资源下载主题,它能满足您所有付费资源下载的业务需求! 你的想法与业务不能被主题所限制!CeoMax-Pro强大的功能&#xff0…

Unity(2022.3.41LTS) - UI详细介绍- Button(按钮)TMP

目录 零.简介 一、基本功能与重要性 二、属性和设置详解 三、使用方法深入探讨 四、优化和注意事项 零.简介 在 Unity 中,按钮(Button)是用户界面中非常重要的交互元素之一。以下是对 Unity 中按钮的更详细介绍: 一、基本功…

使用session实现单用户多端登录限制

基本流程: 首先获得当前浏览器访问服务器的session,然后根据用户的信息(如id等)在redis中查找,如果找到,并且和查找对应的session不同,则可以判断已经有其他设备登录过了,这个时候就…

基于生成对抗模型GAN蒸馏的方法FAKD及其在EdgesSRGAN中的应用

文章目录 FAKD系列论文paper1: FAKD:用于高效图像超分辨率的特征亲和知识蒸馏(2020)ABSTRACT1. INTRODUCTION2. PROPOSED METHOD2.1. Feature Affinity-based Distillation (FAKD) 2.2. Overall Loss Function3. EXPERIMENTAL RESULTS3.1. Ex…

【读书笔记-《30天自制操作系统》-14】Day15

本篇内容开始讲解多任务。本篇内容结构很简单,先讲解任务切换的原理,再讲解任务切换的代码实践。但是涉及到的知识不少,理解上也有些难度。 1. 任务切换与多任务原理 1.1 多任务与任务切换 所谓多任务,指的是操作系统同时运行多…

【python因果推断库2】使用 PyMC 模型进行差分-in-差分(Difference in Differences, DID)分析

目录 使用 PyMC 模型进行差分-in-差分(Difference in Differences, DID)分析 导入数据 分析 使用 PyMC 模型建模银行业数据集 导入数据 分析 1 - 经典 22 差分-in-差分 (DiD) 分析 2 - 具有多个干预前后观测值的差分-in-差分 (DiD) 分析 使用 PyMC…

设计模式之生成器方法

一、生成器模式概念 Builder模式也叫建造者模式或者生成器模式,是由GoF提出的23种设计模式中的一种。Builder模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式…

MySQL:约束

目录 一、概述二、创建测试三、外键约束3.1 数据准备3.2 添加外键3.3 删除外键3.4 增加外键约束 一、概述 约束主要用于作用在表中字段上的规则,用于限制存储在表中的数据。 保证数据库中数据的正确性、有效性和完整性。 约束描述关键字主键约束非空并且唯一PRIMARY…

代码随想录算法训练营第三十四天| 62.不同路径 63. 不同路径 II

62.不同路径 题目: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少…

ESD防静电监控系统助力电子制造行业转型升级

在电子制造行业中,静电危害不容小觑。ESD 防静电监控系统的出现,为行业转型升级带来强大助力。电子元件对静电极为敏感,微小的静电放电都可能损坏元件,影响产品质量。ESD 防静电监控系统能够实时监测生产环境中的静电状况&#xf…

rknntoolkitlite2环境搭建

目录 前言 0、要下载的软件包 一、环境搭建步骤 1.1 安装Miniconda 1.2创建RKNN虚拟环境 1.3 安装rknntoolkitlite2软件包 1.4 安装opencv 前言 RKNN Toolkit Lite2 工具支持运行在 RK3568: Debian10/Debian11(aarch64)、Ubuntu20/22(…

Java分布式架构知识体系及知识体系图

Java分布式架构整体知识体系是一个庞大而复杂的领域,它涵盖了多个方面,旨在帮助开发者构建高性能、高可用、可扩展的分布式系统。以下是对Java分布式架构整体知识体系的概述: 一、分布式理论基础 CAP理论: 一致性(Con…

线性代数 第五讲:线性方程组_齐次线性方程组_非齐次线性方程组_公共解同解方程组_详解

线性方程组 文章目录 线性方程组1.齐次线性方程组的求解1.1 核心要义1.2 基础解系与线性无关的解向量的个数1.3 计算使用举例 2. 非齐次线性方程的求解2.1 非齐次线性方程解的判定2.2 非齐次线性方程解的结构2.3 计算使用举例 3.公共解与同解3.1 两个方程组的公共解3.2 同解方程…

三(五)子棋实现

设计一个小游戏其实是对自己掌握一门编程语言的一个升华,几百行代码分项目进行这种很让人着迷的感觉哦! 与五子棋游戏其实本质区别只不过是判输赢的条件不同,这里我打算写写三子棋小游戏。 代码的最后我将所有源代码整理了,大家急…

物联网之MQTT

一,MQTT 及其在物联网中的应用 MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,设计用于低带宽、延迟高、不稳定的网络环境,特别适合物联网(IoT)应用。它采用了发布/订…