memory coalescing


If 4 consecutive threads from a half-warp access 4 consecutive double precision words (8-byte) in memory (assume aligned), are these 4 accesses coalesced?


It should depend on what the other 12 threads in the half warp are doing. Coalescing is a half-warp or warp level operation. There is, to the best of my knowledge, no finer levels of granularity than the half-warp transaction size.

The other 12 threads are doing the same thing, divided into 3 4-thread groups and each group accesses 4 words. According to the programming guide, one of the requirements of coalescing is “all 16 words must lie in the same 128-byte segment”, which does not fit the situation here, so I guess it won’t be coalesced.

If all of the accesses fall into the same 16 word length segment, then the transaction will be coalesced, otherwise not.

are coalesced accesses serialized?