https://www.youtube.com/watch?v=aE0onltJlOo

YouTube AI Channels 论文

摘要

该讲座介绍了GPU架构作为SIMD(向量/数组)处理器的灵活演化,讨论了数据并行性、存储体分组、体冲突、串行瓶颈以及SIMD指令历史(如MMX),强调GPU如何利用数据并行性并应对串行瓶颈。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/05/21 14:02

TL;DR: This lecture introduces GPU architecture as a flexible evolution of SIMD (vector/array) processors, highlighting how GPUs exploit data parallelism while facing memory bandwidth and serial bottleneck challenges. ## 第20讲:GPU架构概述 我们正在进入存储系统的专题,但本节课先讨论GPU架构——这是基于上节课Muhammad讲授的SIMD处理器(阵列和向量处理器)的延伸。GPU本质上是更灵活的阵列和向量处理器,尤其在编程模型上提供了线程移动的灵活性。 ### 核心概念回顾 - **数据并行性**:利用规则的数据并行性,即对大量数据元素执行相同的操作。 - **四种架构分类**:单指令单数据(SISD)、单指令多数据(SIMD)、多指令流单数据(MISD,如脉动阵列)、多指令多数据(MIMD)。GPU以一种好的方式结合了这些范式。 - **时空对偶性**: - **阵列处理器**:同一时间执行相同指令,不同空间(功能单元)执行不同操作。 - **向量处理器**:同一空间(功能单元)在不同时间执行不同操作。 - 现代SIMD处理(含GPU)同时利用时间和空间上的并行性。 ### 存储体分组与体冲突 - **分组目的**:在不同存储体之间同时服务多个访问,以容忍单一访问的延迟。例如Cray处理器中,内存访问延迟11个周期,因此需要至少11个体来保证每个周期取一个字。 - **体冲突**:两个访问映射到同一存储体时会延迟数据,导致处理器停顿。如何避免冲突是一个重要的数学问题,现有GPU采用Bob Rau等人35年前开发的许多技术。 ### 从向量处理到GPU 向量指令示例:`vector C = vector A + vector B` 每个元素在一个功能单元上操作。实际硬件通常将向量长度拆分为多个并行通道(例如4个元素在4个功能单元上并行,后续元素流水线执行)。 分区向量寄存器:数组的不同元素只能从特定的功能空间访问,这会导致线程必须映射到特定处理通道——GPU也有类似问题。 ### 向量化的潜力与限制 - **完全可向量化的循环**:循环迭代间无依赖,编译器可自动向量化。例如对图像每个像素做相同操作,非常适合SIMD。 - **性能提升受限于可向量化程度**:阿姆达尔定律指出串行瓶颈不可忽视。Cray机器同时拥有强大的SIMD和标量单元;GPU也试图高效执行标量代码,有时内部添加类似CPU的单元或与CPU异构计算。 ### 串行瓶颈 串行瓶颈指无法并行化的单线程部分。即使投入无限并行单元,这部分代码也无法加速。GPU同样受此限制。 ### SIMD指令的历史:MMX的故事 x86 ISA作为顺序的冯·诺依曼ISA,通过添加SIMD扩展(从1990年代的MMX开始)实现并行操作。一个关键例子是矩阵向量乘法——1990年Intel MMX的论文,而如今(2026年)矩阵乘法因其他原因再次成为热点。 MMX的引入在Intel内部曾遭激烈反对:“没有工作负载使用它”。但设计者Uri Weiser和Alex Peleg下注未来,最终成功,使CPU在多年内成为图形和许多操作的加速器,甚至推迟了GPU的成功。这展示了架构师决策的不确定性——不知道未来工作负载是否会使用提供的指令扩展。 (转录在此处中断,但原文提到这些扩展不像一个巨大的向量处理器那样通用。) --- Source: [YouTube视频链接](https://www.youtube.com/watch?v=aE0onltJlOo)

相似文章

@snowboat84: https://x.com/snowboat84/status/2061962883651731602

X AI KOLs Timeline

本文是AI工程全景系列的上篇,从历史角度梳理了GPU从游戏显卡到AI加速器的演化、CUDA的豪赌、谷歌TPU的独立路径,以及英伟达为何最终胜出,详细剖析了芯片、供应链、网络、电力等AI基础设施的底层逻辑。