通用图形处理器设计GPGPU基础与架构(一)

GPGPU背景        

        GPGPU(General Purpose Graphics Processing Unit,通用图形处理器)脱胎于GPU  (Graphics Processing Unit,图形处理器)。GPGPU由于其强大的运算能力和高度灵活的可编程性,已经成为深度学习训练和推理任务最重要的计算平台。这主要得益于GPGPU的体系结构很好地适应了当今并行计算的需求。

  • 并行计算机是一些理单元的集合,它们通过通信协作快速解决一个大的问题。
  1. 处理单元可以是一个算术逻辑功能单元,也可以是一个处理器核心或整个计算节点。
  2. “通信”是指处理单元彼此之间的数据交互。通信的机制则明确了两类重要的并行体系结构,即共享存储结构消息传递结构
  3. “协作”是指并行任务在执行过程中相对于其他任务的同步关系,约束了并行计算机进行多任务处理的顺序,保障其正确性。

        指令流是由单个程序计数器产生的指令序列数据流是指令所需数据及其访问地址的序列。根据指令流数据流可以将并行计算机定义为以下四类:

        (1)单指令流单数据流Single Instruction Stream &.Single Data Stream,SISDSISD并不是并行体系结构。传统的单核CPU就是SISD的代表,它在程序计数器的控制下完成指令的顺序执行,处理一个数据。

        (2)单指令流多数据流(Single Instruction Stream &.Multiple Data Stream,SIMDSIMD 是一种典型的并行体系结构,采用一条指令对多个数据进行操作,向量处理器就是SIMD的典型代表。

        (3)多指令流单数据流(Multiple Instruction Stream &.Single Data Stream,MISDMISD是指采用多条指令(处理单元)来处理单条数据流,数据可以从一个处理单元传递到其他处理单元实现并行处理。通常认为脉动阵列(Systolic Array)结构是MISD的一种实例。

        (4)多指令流多数据流Multiple Instruction Stream &.Multiple Data Stream,MIMDMIMD是最为通用的并行体系结构模型。它对指令流和数据流之间的关系没有限制,通常包含多个控制单元多个处理单元各个处理单元既可以执行同一程序,也可以执行不同的程序目前大多数多核处理器就属于MIMD的范畴。

        指令级并行和数据级并行更适合在核内实现,因为它所需要的寄存器传输级(Register Transfer Level,RTL)通信和协作可以在核内以极低的延迟完成。因此,现代微处理器中每个核心都会综合运用流水化、超标量、超长指令字、分支预测、乱序执行等技术来充分挖掘指令级并行。相对来讲,MIMD的并行层次更高,会更多地利用多个处理单元、多个处理核心和多个处理器或更多的节点来实现。

        和4核、8核CPU相比,GPU则由数以千计的更小、更高效的核心组成。这些核心专为同时处理多任务而设计,因此GPU也属于通常所说的众核处理器。

        如图所示,CPU中大部分晶体管用于构建控制电路和存储单元,只有少部分的晶体管用来完成实际的运算工作,这使得CPU在大规模并行计算能力上极受限制,但更擅长逻辑控制,能够适应复杂的运算环境。GPU的控制则相对简单,对高速缓存的需求相对较小,所以大部分晶体管可以组成各类专用电路、多条流水线,提升了GPU的计算能力。同时,图形渲染的高度并行性也使得GPU可以通过简单增加并行处理单元和存储器控制单元的方式来提高处理能力和存储器带宽。

相关推荐

  1. 系统架构设计基础

    2024-07-10 14:00:06       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 14:00:06       4 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 14:00:06       5 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 14:00:06       4 阅读
  4. Python语言-面向对象

    2024-07-10 14:00:06       5 阅读

热门阅读

  1. 数据库的优点和缺点分别是什么

    2024-07-10 14:00:06       10 阅读
  2. SQL语句分类

    2024-07-10 14:00:06       10 阅读
  3. vue安装总是失败原因剖析

    2024-07-10 14:00:06       12 阅读
  4. 使用Spring Cloud构建微服务架构下的淘客返利系统

    2024-07-10 14:00:06       8 阅读
  5. TCP/IP协议族结构和协议

    2024-07-10 14:00:06       10 阅读
  6. 重读AI金典算法模型-GPT系列

    2024-07-10 14:00:06       9 阅读
  7. win10使用小技巧三

    2024-07-10 14:00:06       9 阅读
  8. 根据关键词query获取google_img(api方式)

    2024-07-10 14:00:06       7 阅读