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

2024-09-03 02:20

本文主要是介绍【硬件知识】从零开始认识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技术的不断创新和升级。

这篇关于【硬件知识】从零开始认识GPU的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

每天认识几个maven依赖(ActiveMQ+activemq-jaxb+activesoap+activespace+adarwin)

八、ActiveMQ 1、是什么? ActiveMQ 是一个开源的消息中间件(Message Broker),由 Apache 软件基金会开发和维护。它实现了 Java 消息服务(Java Message Service, JMS)规范,并支持多种消息传递协议,包括 AMQP、MQTT 和 OpenWire 等。 2、有什么用? 可靠性:ActiveMQ 提供了消息持久性和事务支持,确保消

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

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

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

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

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

【STM32】SPI通信-软件与硬件读写SPI

SPI通信-软件与硬件读写SPI 软件SPI一、SPI通信协议1、SPI通信2、硬件电路3、移位示意图4、SPI时序基本单元(1)开始通信和结束通信(2)模式0---用的最多(3)模式1(4)模式2(5)模式3 5、SPI时序(1)写使能(2)指定地址写(3)指定地址读 二、W25Q64模块介绍1、W25Q64简介2、硬件电路3、W25Q64框图4、Flash操作注意事项软件SPI读写W2

生信代码入门:从零开始掌握生物信息学编程技能

少走弯路,高效分析;了解生信云,访问 【生信圆桌x生信专用云服务器】 : www.tebteb.cc 介绍 生物信息学是一个高度跨学科的领域,结合了生物学、计算机科学和统计学。随着高通量测序技术的发展,海量的生物数据需要通过编程来进行处理和分析。因此,掌握生信编程技能,成为每一个生物信息学研究者的必备能力。 生信代码入门,旨在帮助初学者从零开始学习生物信息学中的编程基础。通过学习常用

【Python知识宝库】上下文管理器与with语句:资源管理的优雅方式

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言一、什么是上下文管理器?二、上下文管理器的实现三、使用内置上下文管理器四、使用`contextlib`模块五、总结 前言 在Python编程中,资源管理是一个重要的主题,尤其是在处理文件、网络连接和数据库