【发布时间】:2013-01-22 04:05:50
【问题描述】:
如果一个warp中的多个线程想要读取全局内存中的一个地址,这个数据就会被广播,对吗?
如果一个warp中的许多线程要写入全局内存中的一个地址,有一个序列化,但无法预测顺序,对吗?
但是,第一个问题:如果不同warp、不同块中的许多线程想要写入全局内存中的地址? GPU会做什么?序列化所有对该地址的访问?有没有数据一致性的保证?
使用 Hyper-Q 可以启动大量包含内核的流。如果我在内存中有一个位置,并且不同内核中的多个线程想要写入或读取这个地址,那么 GPU 会做什么?序列化来自不同内核的所有线程的访问,还是 GPU 什么都不做而会发生一些不一致?当多个内核读/写同一个地址时,是否有任何数据一致性保证?
【问题讨论】:
标签: cuda