GDDR5 显存延迟特点

版主及各位网友您好!
最近关注Intel的硬件时看到一张有关内存延迟的图,大概就是说随着读取区域的变大,内存延迟也会变长。联想到原来CUDA的一些资料说,global memory的延迟是400~800个时钟周期。我的问题是,是不是这个GDDR的延迟也和DDR类似,会随着读取范围的减小而减小呢?
有关内存延迟的那个网页网址为:http ://tieba.baidu.com/p/2365396426

(1)楼主您的那个帖子的内容是关于cache的,而不是关于“内存延迟”的。
(2)无法讨论cache的任何方面,特别是在NVIDIA没有公开任何N卡上的cache的资料的情况下。
(3)如果有需要,您可以去计算机体系结构之类的论坛讨论,或者您可以等其他会员、版主、NVIDIA原厂支持、总版主提供您他们测试结果或者他们的非公开资料。

感谢您的莅临。欢迎下次再来。

谢谢版主!!
不过我看到那张图里面的 data access range 测到了 1G,所以以为是内存的测试,而不是缓存的……我去搜搜原测试看看。
还有,版主,你们说的NV原厂支持在哪找啊?好几次你们都说让我找他们……

他们驻版的。随时可能归来!

版主,今天本来有一个有关L1 cache的问题想问。可是忘记之前问过没有了……怎么搜索自己之前发过的帖子啊?
有关L1 cache的问题是:
我在《CUDA Application Design and Development》(作者Rob Farber)电子版的第114页看到这样的几句话:Compute 2.0 devices have 64 KB of L1 memory that can be partitioned to favor
shared memory or dynamic read/write operations. Note that the L1 cache Is designed for spatial and not temporal reuse. Most developers expect processor caches that behave as an LRU cache. On a GPU, this mistaken assumption can lead to unexpected cache misses, as frequently accessing a cached L1 memory location does not guarantee that the memory location will stay in the cache.
大致意思是说计算能力2.0的设备上的L1 cache只利用了空间局部性原理,没有利用时间局部性原理。那么近一些的计算能力3.0或者3.5的设备上的L1 cache在这方面上有变化吗?有没有针对时间局部性做出改善呢?

楼主您好,此问题您之前没有问过。

关于2.x的L1 data cache的替换策略,我手头没有公开的资料可用。因此无法为您回答。

如果其他会员、版主或者原厂支持愿意为您提供资料,您可以等待他们回复您。

版主,我说的那本书里面说了计算能力2.0的GPU L1 cache的一些特性。你下载到那本书没有啊?这本书是公开的。
就是不知道计算能力3.x的GPU有没有针对时间局部性对L1 cache做些改变……
版主要是能够接触到原厂支持,帮我问下好吗?我很好奇的!谢谢!

LZ您好:

您说的那本书是第三方来源的,而并非是NV公开的信息。
如果您确实需要各个架构下的cache的特性描述,请联系论坛常驻NV原厂支持,看看有无进一步的信息。
他们会不定时地来论坛转转。

祝您好运~

谢谢版主!我再看看!

版主,我有个问题。也是在考虑同样的问题时遇到的。所以也放到这个帖子里了。另外,我已经会找自己原来发的帖子了……
以计算能力2.0的GPU为例,一个SM上应该是有64kB可配置的L1 cache/shared memory,对吧?那么如果我仅分配一个线程,在这个线程内可以配置多大的shared memory吗?可以分配16kB或者24kB或者更大的shared memory吗?嗯,在我这边的一个应用里,我没有成功……
谢谢版主的信息与帮助!

楼主您好,

(1)shared memory的分配是以block为单位的,您1024个线程的block和1个线程的block无区别的。

(2)您最多可以使用48KB的shared memory,
请在您的程序开头使用:cudaDeviceSetCacheConfig(cudaFuncCachePreferShared);
当然,这个是默认值。

感谢深夜来访。

LZ您好:

以2.0的GPU为例,一个SM上的shared memory可以配置为16KB或者48KB。
shared memory是一个block共享的,如果您一个block申请小于16KB或者小于48KB(根据您的配置而定)的shared memory是可以实现的。

以及,您不成功应当有其他问题。

祝您好运~