GF100流处理器群可调配的共享存储器与L1缓存
作为一种高速、可编程的片上存储器,共享存储器是第一代CUDA架构中的一项重要架构创新。通过促进线程间的通信,共享存储器让各种各样的应用程序均能够在GPU上高效地运行。从此共享存储器便被所有主要的GPU计算标准与同类架构所采用。
在GF100架构中,每个SM均包含了一个专用的1级高速缓存。1级高速缓存能够起到与共享存储器互补的作用,共享存储器能够为明确界定存储器存取的算法提升存储器存取速度,而1级高速缓存则能够为这些不规则的算法提升存储器存取速度。在这些不规则算法中,事先并不知道数据地址。
每个SM均拥有64KB容量的片上存储器,这部分存储器可配置为16KB的1级高速缓存外加48KB共享存储器,或配置为16KB共享存储器外加48KB的1级高速缓存,这就是可调配性。
对于图形程序,GF100能够利用16KB的1级高速缓存配置。1级高速缓存的作用是充当用于寄存器溢出的缓冲区,让寄存器的使用能够实现不俗的性能提升。而如果针对计算程序,1级高速缓存以及共享存储器让同一个线程块中的线程能够互相协作,从而促进了片上数据广泛的重复利用并减少了片外的通信量。共享且可调配的存储器是使许多高性能CUDA应用程序成为可能的重要促成因素。