Patent ID: 7492368

Claim:
A multiprocessor graphics processing apparatus, comprising: an array of streaming processors, said array of streaming processors supporting a group of parallel execution threads operating as a cooperative thread array in which the group of parallel execution threads execute concurrently on a data block to execute a program in parallel with each individual thread in the group assigned an element within the data block, the group of parallel execution threads issuing groups of simultaneous parallel memory requests on individual clock cycles; and a memory controller receiving said groups of simultaneous parallel memory requests and issuing memory requests to a memory on the behalf of said array of streaming processors, the memory controller performing at least one coalesce check to determine the largest number of memory requests for the parallel execution threads that can be accessed in parallel via a single memory access to a common memory page; said memory controller coalescing simultaneous memory requests capable of being serviced in a single memory access from a region of memory addresses proximate to each other on the page of said memory to improve memory transfer efficiency, said memory controller issuing a sequence of memory accesses for individual memory requests that cannot be coalesced.