GPU微架构

GPU微架构

第一章 GPU架构设计的目标


文章目录


GPU与多线程

GPU与CPU架构的典型特征在于并行计算,以及计算控制方法

GPU采用多线程架构的原因

  • 处理需求具有一致性(最典型的属于渲染管线:典型的渲染过程包括)
  • 针对AI计算便于多粒度组合计算(一方面支持多Batch;另一方面支持变化规模,例如feature size的变化或者MatMul的矩阵规模变化)

GPU采用多线程架构的方法

理论上,当前处理器均采用多级流水线的方法,每条指令依次通过各阶段的处理(F、D、S、E、W)。然而在顺序处理器中,如果指令数据缓存未命中,那么后续指令必须等待。而实际上存在大量情况下后续指令并不依赖当前指令。此次引入两种处理策略

  • 在多线程方法中,处理器简单切换到另一个线程,不管前一条指令是否产生阻塞。GPU采用多线程技术,灵活切换线程执行指令
  • CPU采用乱序、缓存系统和指令级并行(ILP)来应对延迟
    [备注] 更长的内存延迟一般需要更懂数量的线程来隐藏

GPU的多线程前端拓展

GPU通过程序计数器(PC)值来标记每个线程束。除了PC,每个线程束一般还需要独立的寄存器。所以,GPU中的上下文切换意味着在多个PC寄存器和寄存器文件之间的指针切换,而CPU的上下文切换一般需要把调用线程的内容重新加载寄存器文件之中,继而产生显著的时间开销
[备注] 典型的,K个线程束,每个线程具有N个寄存器,那么总寄存器文件大小为 K × N K \times N K×N

相关推荐
Tadas-Gao1 小时前
缸中之脑:大模型架构的智能幻象与演进困局
人工智能·深度学习·机器学习·架构·大模型·llm
晚霞的不甘2 小时前
Flutter for OpenHarmony 可视化教学:A* 寻路算法的交互式演示
人工智能·算法·flutter·架构·开源·音视频
代码改善世界3 小时前
CANN深度解构:中国AI系统软件的原创性突破与架构创新
大数据·人工智能·架构
晚霞的不甘3 小时前
Flutter for OpenHarmony 实现计算几何:Graham Scan 凸包算法的可视化演示
人工智能·算法·flutter·架构·开源·音视频
Tadas-Gao3 小时前
TCP粘包现象的深度解析:从协议本质到工程实践
网络·网络协议·云原生·架构·tcp
礼拜天没时间.4 小时前
深入Docker架构——C/S模式解析
linux·docker·容器·架构·centos
啊森要自信4 小时前
CANN runtime 深度解析:异构计算架构下运行时组件的性能保障与功能增强实现逻辑
深度学习·架构·transformer·cann
WindrunnerMax4 小时前
从零实现富文本编辑器#11-Immutable状态维护与增量渲染
前端·架构·前端框架
vx-bot5556665 小时前
企业微信接口在金融级业务场景下的合规架构与实践
金融·架构·企业微信
jerwey5 小时前
OpenClaw 架构与组件说明
架构·openclaw