如果说CPU是计算机的“大脑”,善于处理各种通用型计算任务,但在面对大规模并行计算时,CPU 就有点力不从心了。
尤其是在图形渲染、游戏画面处理、人工智能训练等场景中,需要处理成千上万的像素、顶点和矩阵运算,CPU 的串行处理方式明显效率不够。
于是,GPU 应运而生。最早的 GPU 被设计用于图形渲染,一说到图形渲染,聪明的你一定会想到显卡,没错,GPU就是显卡的核心元器件,
关于显卡,我们后续再说。GPU的目标就是通过成百上千个小而高效的运算单元,实现对图像的快速并行处理。
2.GPU制造流程简述
2.1 前言
之前我们在芯片制造过程那篇,详细讲了芯片的制造过程, GPU就是芯片的一种,跟CPU只是设计架构不同而已,制造过程类似。
2.2下面我们简要说一下GPU芯片的制造过程:
Step 1:电路设计与验证
GPU的架构极为复杂,通常包含数千个计算核心(CUDA Core、Stream Processor 等),需要大量EDA工具完成逻辑设计、版图布局(Layout)、验证等工作。
Step 2:光掩模制备
设计完成后生成“光掩模”(Mask),用于光刻。7nm以上的GPU使用DUV(深紫外光刻),而3nm/5nm级别的新一代GPU则采用EUV(极紫外)光刻。
Step 3:晶圆制造
使用300mm高纯度硅晶圆,通过以下步骤完成数十层电路叠加:
光刻(Photolithography)
刻蚀(Etching)
材料沉积(Deposition)
离子注入(Doping)
金属互联(Metallization)
GPU晶体管多、面积大(动辄500~800 mm²),良率控制更为困难,导致生产成本极高。
Step 4:切割与封装(Die Packaging)
制造完成的晶圆被切割成一个个独立的GPU裸芯(Die),然后进行封装。高端GPU常采用多芯片封装(MCM)或Chiplet架构,
通过TSV(硅通孔)或EMIB(嵌入式多芯片互联桥)进行互联。
Step 5:测试与验证
封装完成后需进行多轮测试,包括:
功能测试(确保每个核心能正常运算)
功耗测试(是否在热功率设计范围内)
频率测试(是否能稳定运行在标称频率)
良率筛选(决定是旗舰型号还是次级型号)
2.3 芯片巨兽的成长之路:GPU中的摩尔定律
3.1 GPU为什么快?
高计算并发:与CPU相比,GPU将更大比例的芯片面积分配给流处理器(如NVIDIA的CUDA核心),相应地减少控制逻辑(control logic)所占的面积,
从而在高并行负载下获得更高的单位面积性能。低内存延迟:内存访问导致的延迟也是影响性能的一大因素,GPU通过在其每个核心上运行大量线程的方式,
来应对并掩盖因全局内存访问导致的延迟。这种设计使得GPU即使在面临较慢的内存访问时,也能维持高效的计算性能。具体来说,
每个SIMT核心同时管理多组线程(多个warp,一个warp 32个线程),当某个warp因为等待内存数据而暂停时,GPU可以迅速切换到另一个warp继续执行。
这种快速切换使得GPU能够在等待内存数据返回的同时,保持高利用率,从而有效地“隐藏”了内存访问延迟。
特化内存与计算架构:GPU通常配备高带宽的显存(如GDDR6或HBM),能够快速读取和写入数据。如NVIDIA A100使用HBM2e显存最高可达到1.6TB/s带宽,
是普通DDR5内存(51.2GB/s)的31倍。计算架构方面,GPU集成专用计算单元实现硬件级加速,例如,NVIDIA的Tensor核心针对结构化稀疏计算做专门设计,
在低精度损失的情况下,可以极大地提升计算性能。
有多快?
理论算力计算:GPU算力常以FLOPS(Floating-Point Operations Per Second,每秒浮点运算次数)来表示,通常数量级为T(万亿),
也即是大家听到的TFLOPS。最常见的计算方式为CUDA核心计算法。
# CUDA核心计算法
算力(FLOPS)= CUDA核心数 × 加速频率 × 每核心单个周期浮点计算系数
# 以A100为例
A100的算力(FP32单精度)= 6912(6912个CUDA核心) × 1.41(1.41GHz频率) × 2(单周期2个浮点计算) = 19491.84 GFLOPS ≈ 19.5 TFLOPSGPU(图形处理器)最初是为图像渲染而设计,但如今早已演化为通用的并行计算平台,广泛应用于游戏、AI、大数据、科学计算等领域,说到这里,
突然想到天气预报,大家有没有觉得现在天气预报比小时候准了呢?没错,这就是芯片工艺的进步,制造出了更好的GPU,天气预报其实是需要大规模
的GPU去模拟的(全球大气层需划分成1公里级网格,单次模拟涉及10^15次(1000000000000000)运算),成本非常大,所以大家不要再骂天气预报了,它们是用爱在发电。
如果说CPU像一个精明强干的项目经理,那GPU就是一个拥有成百上千“螺丝钉工人”的大型流水线。来看一张对比图:
GPU核心结构主要包括:
流处理器(Streaming Processors / CUDA Cores)
GPU 的“螺丝钉工人”,负责执行浮点数运算、整数计算等基本指令,数量通常成百上千个。SM(Streaming Multiprocessor)流式多处理器
类似一个“小型CPU集群”,每个SM下辖多个CUDA核心,负责调度和执行指令。寄存器和共享内存
每个SM都有自己的高速寄存器和共享内存,用于线程之间的数据共享。显存(VRAM)
存储纹理、顶点、模型参数等数据,相当于CPU的内存。图形渲染专用单元
包括纹理单元、光栅化引擎、像素着色器等,专门服务于图形渲染任务。
GPU的工作方式:高度并行计算
1. 并行计算模型
GPU采用SIMT(Single Instruction, Multiple Threads)架构,也就是多个线程执行同一个指令,只是操作的数据不同。
这就像是一群工人在同时拧不同位置的螺丝,效率极高。在CUDA中(NVIDIA 的通用计算平台),你可以将任务切成若干个“线程块”(Thread Block),
每个块分配到一个SM中,每个SM再调度执行这些线程。整个过程高度自动化,极大地提升了并行效率。
2. 图形渲染流程
在图形渲染中,GPU大致遵循以下流程:
顶点处理:将3D物体的顶点坐标投影到2D屏幕坐标。
图元装配与光栅化:将几何图形转化为像素。
像素着色:根据光照、材质等信息决定像素颜色。
帧缓冲输出:最终图像输出到屏幕。
这整个过程对浮点运算要求极高,恰好是GPU的强项。
如上如所示:CPU与GPU的架构图,可以看到CPU的架构运算单元少,GPU的架构运算单元非常多,而且缓存单元、控制单元也被分的更小更多。
举个例子再解释一下,如下图,有这样一张一亿像素的图片需要渲染:
1. CPU处理方式
SIMD指令集(如AVX-512):单条指令同时处理多个像素(例如一次处理16个像素) 多核并行:现代CPU通常有4-32个核心,可分割任务到多个核心 CPU以顺序执行为主,但会通过以下方式优化: 例如:若使用16核CPU + AVX-512(16个像素/指令),处理1亿像素的理论最低周期数为:
2. GPU处理方式
例如A100 GPU有6912个CUDA核心,但实际并行度更高(通过线程级并行) GPU采用 SIMT(单指令多线程) 模式,每个核心可同时管理多个线程 实际执行流程:
线程组织:将1亿像素划分为 线程块(如每块256线程)
硬件调度:即便物理核心只有6912个,GPU通过 Warp调度器 动态分配线程块到流多处理器(SM) 执行效率:每个SM可同时处理多个Warp(32线程为一组),通过隐藏内存延迟实现高吞吐 时间估算举例:
假设A100的每个SM每周期完成1个Warp(32线程):
实际受内存带宽限制(A100显存带宽1.6TB/s,处理1亿像素需约0.25毫秒)
看到了吗,CPU需要串行39万次,而GPU只需要串行72次,这就是GPU的优势。
4.总结:GPU 与 CPU,谁更强?
实际上,GPU 并不是用来“取代” CPU 的,而是用来“协同”工作的。在未来的计算架构中,CPU 继续负责任务调度、逻辑控制,GPU 负责高吞吐的数据处理,二者缺一不可。
正如 CPU 是大脑,GPU 就是“肌肉”,在面对图像处理、AI 模型训练、科学模拟等“体力活”时,GPU 是不可或缺的生产力工具。
部分术语解释:
✅ 什么是 CUDA Core?
CUDA Core 是 NVIDIA GPU 中的最小运算单元,类似 CPU 的“核心”,但体积更小、数量更多。上百甚至上千个 CUDA Core 可以同时运行任务,实现强大的并行处理能力。
✅ 什么是 SM(Streaming Multiprocessor)?
SM 是 GPU 中的“计算小组”,每个 SM 负责调度多个 CUDA Core 和寄存器资源,就像一个独立的小型CPU集群。
✅ 什么是 SIMT?
SIMT(Single Instruction, Multiple Threads)是一种执行模型,意思是多个线程同时执行同一个指令。GPU 正是通过 SIMT 模型实现高并行计算效率。
✅ 什么是显存(VRAM)?
显存是GPU专属的内存,用来存放图形数据、模型参数、缓存等。其带宽和容量直接影响GPU性能。