CUDA编程:从基础到应用
1. CUDA编程基础
在GPU架构中,GPC(Graphics Processing Cluster)将一组物理上相邻的SIMD(Single Instruction, Multiple Data)处理器组合在一起,其目标是实现多SIMD处理器间线程的高效协作。硬件提供了专用网络,用于集群内线程间的快速数据交换。例如,Hopper架构支持分布式共享内存(DSM),它将不同SIMD处理器的共享内存组合成单一虚拟地址空间,使SIMD处理器间可直接进行数据交换,无需通过全局内存。
Nvidia GPU | P100 (Pascal) | V100 (Volta) | A100 (Ampere) | H100 (Hopper) |
---|---|---|---|---|
number of transistors | 15.3·10⁹ | 21.1·10⁹ | 54.2·10⁹ | 80·10⁹ |
GPU die size | 610 mm² | 828 mm² | 815 mm² | 814 mm² |
SIMD processors | 56 |