1. A method, comprising: receiving a plurality of memory access requests in a thread execution order; coalescing a portion of the memory access requests into memory order, wherein memory access requests included in the portion are generated by threads in a thread block; and generating a memory operation that is transmitted to a memory system, the memory operation representing the coalesced portion of memory access requests.