Cuda 为什么共享内存比全局内存快?
这种速度上的差异是由于两者所采用的技术造成的吗(据我了解,共享内存是一种草稿行内存,主要是SRAM内存,而全局内存通常是DRAM内存)Cuda 为什么共享内存比全局内存快?,cuda,shared-memory,Cuda,Shared Memory,这种速度上的差异是由于两者所采用的技术造成的吗(据我了解,共享内存是一种草稿行内存,主要是SRAM内存,而全局内存通常是DRAM内存) 如果两者都是用相同的技术制造的,那么由于额外的指令(加载指令),共享内存是片上的,而全局内存是片外的,那么性能会有什么不同呢或者全局内存需要额外的硬件电路来将其数据加载到处理器中?至少有两个原因是您已经指出的。有一个: 位置差异-共享内存是片上的,全局内存(至少,普通的全局内存访问不会在缓存中命中)是片外的。内存通常以固定频率计时,最大频率取决于系统计时的速度。
如果两者都是用相同的技术制造的,那么由于额外的指令(加载指令),共享内存是片上的,而全局内存是片外的,那么性能会有什么不同呢或者全局内存需要额外的硬件电路来将其数据加载到处理器中?至少有两个原因是您已经指出的。有一个:
所需的处理器指令并不是共享内存和全局内存访问时间之间有意义的区别。这是编程问题吗?这似乎是一个硬件设计问题。