1
我想首先确认以下内容: 共享内存的基本全局内存事务是32字节,64或128字节,但前提是内存访问可以合并。先例交易的延迟都是平等的。是对的吗?第二个问题:如果内存读取不能合并,每个线程只读取4个字节(是吗?)所有线程的内存访问是否都是顺序的?cuda内存合并
我想首先确认以下内容: 共享内存的基本全局内存事务是32字节,64或128字节,但前提是内存访问可以合并。先例交易的延迟都是平等的。是对的吗?第二个问题:如果内存读取不能合并,每个线程只读取4个字节(是吗?)所有线程的内存访问是否都是顺序的?cuda内存合并
这取决于您正在处理的架构。然而,费米和开普勒您有:
正如您所见,有几个变量决定了您的内存访问需要多少时间。一般的经验法则是:您的访问模式越密 - 越好!现在的跨越或错位并不像过去那样昂贵,所以不要担心太多,除非您正在进行一些后期优化。
您可能希望查看一些网络研讨会[这里](https://developer.nvidia.com/gpu-computing-webinars)。特别是网络研讨会涵盖了内存高效的操作和[全局内存](http://developer.download.nvidia.com/CUDA/training/cuda_webinars_GlobalMemory.pdf)(和[视频](http:// developer。 download.nvidia.com/CUDA/training/globalmemoryusage_june2011.mp4))和[共享内存(视频)](http://developer.download.nvidia.com/CUDA/training/sharedmemoryusage_july2011.mp4)内存交易发生在一个大小32或128字节的粒度。 – 2013-02-10 00:50:45