小编Ant*_*hin的帖子

CUDA:纹理内存对于加快计算能力2.x和更新的访问时间是否仍然有用?

我正在编写一个图像处理应用程序,我必须以非合并的方式获取像素数据.

最初我使用全局内存实现了我的算法.后来我用纹理内存重新实现了它.令我惊讶的是它变慢了!我想,也许cudaMalloc/text1Dfetch样式有问题,所以我把它改成了cudaArray/tex2D.没有改变.

然后我偶然发现了Shane Cook的"CUDA编程",他写道:

由于计算1.x硬件没有缓存可言,每个SM的6-8K纹理内存提供了在这些设备上真正缓存数据的唯一方法.然而,随着Fermi及其高达48 K L1高速缓存和高达768 K共享L2高速缓存的出现,这使得纹理存储器的缓存属性的使用基本上已经过时.Fermi上仍然存在纹理缓存,以确保与前几代代码的向后兼容性.

我有GeForce GT 620M(Fermi,计算上限2.1).

所以我需要专业人士的一些建议!我是否应该深入挖掘纹理内存,其纹理缓存试图优化性能?或者我应该更好地坚持全局内存和L1/L2缓存?

cuda

10
推荐指数
1
解决办法
3072
查看次数

标签 统计

cuda ×1