CUDA学习--内存处理之概述(1)

本文探讨了高速缓存的速度与大小的关系,介绍了不同层级缓存在CPU与GPU中的应用,并对比了寄存器、共享内存、纹理内存等存储类型的带宽与延迟特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 高速缓存

高速缓存的最大速度与缓存的大小成反比关系。一级缓存是最快的,但他的大小一般限制在16k、32k或者64k。通常每个CPU核会分配一个单独的一级缓存。二级缓存相对而言慢一些,但他更大,通常有256k~512k。二级缓存或者三级缓存一般在处理器的核之间是共享的,或者作为连接于特定处理器核的独立缓存来维护。

与CPU不同,GPU主要依赖基于程序员托管的缓存或者共享内存区。在费米架构的GPU实现中,每个SM有一个一级缓存,这个一级缓存既是基于程序员托管的又是基于硬件托管的。在所有的SM之间有一个共享的二级缓存。缓存在处理器的核或者SM之间共享主要是为了让设备之间能够通过相同的共享缓冲进行通信,允许处理器之间不需要每次都通过全局内存进行通信。

不同存储类型的访问时间:

存储类型寄存器共享内存纹理内存常量内存全局内存
带宽~8TB/s~1.5TB/s~200MB/s~200MB/s~200MB/s
延迟1个周期1~32个周期400~600个周期400~600个周期400~600个周期

因此,如表所示,我们在进行CUDA程序开发的过程中,应考虑各存储器之间的特点,从而选择使用较快的存储器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值