计算机 - 图形处理单元 (GPU)



什么是图形处理单元 (GPU)?

图形处理是一种专门为计算而发展起来的高级技术。图形处理单元 (GPU) 是一种先进且专门的处理器,它为机器学习、深度学习、游戏、内容创作以及许多其他相关技术提供了计算可能性。

图形处理单元 (GPU) 是一种专门的电子电路,可加速计算机图形和图像处理。GPU 可用于非图形计算,例如神经网络和加密货币。

GPU 最初是为了加快 3D 图像的渲染而开发的。它们逐渐变得更加适应性和可编程性,并扩展了其功能。这使图形程序员能够使用先进的照明和阴影方法生成更引人入胜的视觉效果和逼真的场景。在其他应用程序中,GPU 最广泛地用于显着处理高性能计算 (HPC)、深度学习和其他领域。

GPU 的重要意义

GPU 主要用于加速实时 3D 图形应用程序,例如游戏。然而,随着 21 世纪的开始,计算机专家认识到 GPU 可以解决世界上一些最复杂的计算问题。

这一认识开启了通用 GPU 时代。图形技术现在正被用于解决更广泛的挑战。如今的 GPU 比以往任何时候都更具可编程性,使它们能够为标准图形渲染之外的广泛应用程序提供动力。

GPU 具有以下重要意义 -

游戏中的 GPU

电子游戏变得越来越计算密集,具有超逼真的图形和广阔、复杂的虚拟游戏世界。随着 4K 屏幕和高刷新率等先进显示技术的出现,以及虚拟现实游戏的兴起,对图形处理的需求正在迅速增长。GPU 能够渲染 2D 和 3D 图形。凭借更好的图形性能,游戏可以在更高的分辨率、更快的帧速率或两者兼具的情况下进行播放。

视频编辑和内容创作中的 GPU

GPU 为并行处理提供了一种计算解决方案,具有内置的 AI 功能和复杂的加速功能,可更快地执行并在更高定义的格式中更轻松地渲染视频和图形。

机器学习中的 GPU

人工智能和机器学习是 GPU 技术最有趣的应用之一。由于 GPU 具有巨大的计算能力,因此它们可以在利用 GPU 高度并行性质的工作负载(例如图像识别)中提供显著的加速。当今许多深度学习解决方案都依赖于 GPU 与 CPU 协同工作。

GPU 如何工作?

GPU 非常适合需要大量数据和重复计算的任务或程序。GPU 具有类似的取指令-译码-执行周期,其设计方式使其能够同时处理数千个线程,使其非常适合并行处理任务 -

GPU
  • 取指令 - GPU 从其内部存储器 (VRAM) 中获取要执行的指令。
  • 译码 - 流式多处理器 (SM) 的控制单元对指令进行译码。每个 SM 可以同时处理多个指令并将它们分配给可用的核心。
  • 执行 - 译码后的指令由 SM 中的多个小型核心执行。这些核心执行诸如矩阵乘法和向量运算之类的操作,以进行图形渲染和机器学习。
  • 写回 - 结果要么返回到 GPU 内存,要么传输到显示输出。

总体而言,GPU 工作包括 -

  • 并行处理 - 与 CPU 不同,GPU 具有数千个小型核心,这些核心与系统集成以进行并行处理。这使得它对于可以分解成更小部分并对其应用并行处理的更大更复杂的任务非常有效。
  • CUDA 核心 (NVIDIA) 或流处理器 (AMD) - 这些是 GPU 的基本处理单元,可以自行执行进程。现代 GPU 拥有数千个这样的核心。
  • 内存 - GPU 具有自己的内存,称为图形内存或 VRAM(视频 RAM)。VRAM 能够同时执行多项任务。这使它们能够快速处理和渲染图像。
  • 着色器 - 着色器是 GPU 中的专用处理单元。它们专门设计用于执行顶点着色、几何着色、像素着色和计算。这些单元支持渲染图形和计算。
  • API - 为了优化 GPU,软件应用程序使用诸如 CUDA 或 OpenCL 之类的编程接口来管理和执行并行活动。这些 API 为开发人员提供工具、框架和库,以帮助他们设计充分利用 GPU 功能的程序。
  • 数据和任务并行性 - GPU 能够在不同的数据集上同时执行数据并行和任务并行。
  • SIMD(单指令多数据) - 此范例使 GPU 能够对多个数据点同时执行相同的操作,使其可用于图像处理和科学计算。
  • 任务分配 - 图形渲染或科学模拟的工作负载被分成不同的较小作业;每个作业都分配给一个单独的线程,然后 GPU 并发运行这些线程。此策略大大减少了总处理时间。
  • 线程执行 - 线程是允许并发处理的工作的较小单元;此过程显示了 GPU 的工作原理。GPU 每次可以支持数千个线程。

GPU 的特性

GPU 的一些关键特性如下 -

  • 并行处理 - GPU 包含数千个专门用于同时执行多个任务的单元。GPU 包含 SIMD,此功能允许 GPU 并行对多个数据点应用相同的操作。
  • 内存 - GPU 具有自己的内存。GPU 视频 RAM 能够快速访问数据并更快地传输数据。
  • 高吞吐量 - GPU 的并行处理功能提供了高吞吐量。
  • 着色器 - 着色器允许进行转换和照明、纹理、阴影和超越图形渲染的计算任务
  • 可扩展性 - GPU 可以将系统从几个核心扩展到数千个。
  • 软件生态系统 - GPU 生态系统支持 OpenGL、DirectX 和 Vulkan 等 API,以及 CUDA (NVIDIA) 和 OpenCL 等框架,使开发人员能够将 GPU 功能用于图形和通用计算。

GPU 的应用

GPU 最广泛使用的一些常见应用领域如下 -

  • 游戏 - 游戏最广泛地用于实时渲染高分辨率和复杂图形。
  • 视觉效果 - 它用于电影和电视节目中,以产生逼真的模拟、3D 动画和复杂的特效,
  • 3D 建模 - CAD 和 3D 渲染应用程序完全依赖于 GPU 进行 3D 建模。
  • 人工智能和机器学习 - 由于 GPU 可以处理复杂的计算;因此,GPU 用于人工智能和机器学习中以训练和推断神经网络。
  • 科学计算 - GPU 在物理学、化学、生物学、模拟和数据分析领域非常有用。
  • 加密货币挖矿 - GPU 用于验证区块链网络上的交易,解决加密难题。
  • 科学计算 - 科学计算包括模拟和数据分析。

GPU 的优势

GPU 的一些主要优势如下 -

  • 更快的执行速度 - GPU 计算执行速度快,并提供更快的结果。
  • 强大的处理能力 - GPU 由数千个小型处理核心组成,这些核心以并行模式执行任务。这种并行处理使 GPU 能够一次执行多个复杂的处理。
  • 可扩展性 - GPU 具有很高的可扩展性。
  • 经济高效的解决方案 - 图形处理单元是各种计算任务的经济高效的解决方案,因为它们消除了对专用处理器或硬件的需求。

  • 图形渲染 - 动画、电子游戏和模拟中的高质量3D视觉效果和视觉特效都是使用GPU计算进行渲染的。

GPU的缺点

GPU的一些主要缺点如下:

  • 复杂性 - 开发能够充分利用GPU功能的应用程序非常困难,需要掌握专业的编程语言和框架。
  • 单线程性能有限 - GPU的小核心在单线程任务方面不如CPU核心强大。
  • 内存限制 - GPU内存有限,这可能会阻碍需要大量内存访问的任务。
  • 兼容性和驱动程序问题 - 更新GPU驱动程序对于优化GPU性能至关重要。
广告