Newbie question regarding global load

Block configuration is 16 x 16.
Suppose that first row threads of block reads xxxxxxxxxxxxxxxx values from global memory, and second row threads of blow reads oooooooooooooooo.

Will this be coalesced access ?
Just by looking at first 16 consecutive accesses, this can be made into one coalesced read… But since x and o are not consecutive, this will not be coalesced load right ?

Global memory layout
xxxxxxxxxxxxxxxx -------------------------------------------
oooooooooooooooo -------------------------------------------

Coaleascing only applies within blocks. Access behaviour in between the blocks shouldn’t matter.

Coalescing only applies within half-warps. Access behavior from one half-warp to the next doesn’t matter.

The recommendation is usually to coalesce full warps which future hardware might require.

skyblues: your access pattern will be coalesced as long as the half-warp base addresses meet the coalescing requirements.