Cuda:异步复制与联合全局内存读取原子性



我读到了一些关于Cuda中内存模型的内容。特别是,当将数据从全局内存复制到共享内存时,我对shared_mem_data[i] = global_mem_data[i]的理解是,它是以联合原子的方式完成的,即warp中的每个线程在一个不可分割的事务中读取global_data[i]。这是正确的吗?

tl;医生:没有

AFAIK不能保证在单个事务中读取所有值。事实上,GPU的内存总线甚至不能保证足够宽,以供单个事务检索全扭曲宽度的数据(1024位用于每个4字节的全扭曲读取(。从理论上讲,在读取过程中,从内存中的位置读取的某些值会发生变化。

最新更新