用户
 找回密码
 立即注册
小皮特 该用户已被删除
发表于 2013-8-24 10:14:32
21231
版主您好,小弟有几个关于Fermi架构GPU关于cache和GMEM的问题不是很清楚,想请教一下:
(1) 在默认情况下,Fermi架构GPU的访存顺序是L1 cache->L2 cache->GMEM。假设在某一warp在第一次访存的时候(假设warp刚好需要128Byte的数据,且是对齐的),L1不命中,L2不命中,会去GMEM中读取128Byte的数据,这128Byte的数据是只会缓存到L1中?还是既会缓存到L1中也会缓存到L2中?如果既缓存到L1也缓存到L2,那么L1和L2中缓存的数据始终是相同的,也就不存在L1 miss,L2 命中的情况啊。那访存顺序直接是L1 cache->GMEM不就行了吗?
(2) 如果使用了shared memory,每次去GMEM读取的数据量是多大啊?是128Byte么(因为shared memory和L1 cache一样都是片上缓存)?还是其他的,比如32Byte之类的?
(3) L1,L2的数据读取速度区别大么?我在默认打开L1 caching的情况下测试,和关闭L1 caching的情况下测试了一下程序,发现耗时差不多的。
使用道具 举报 回复
发表于 2013-8-24 11:23:26
楼主您好,

请勿重复发帖。

感谢来访。
使用道具 举报 回复 支持 反对
发新帖
您需要登录后才可以回帖 登录 | 立即注册