Patent ID: 7899995

Claim:
A method for performing dependent computations using a general purpose graphics processing unit (GPGPU) having an array of streaming multiprocessors configured to share data via a shared memory, comprising: a host central processing unit (CPU) assigning a first computational task to a first streaming multiprocessor of said GPGPU; in response to said host CPU receiving a signal from said GPGPU indicating that said first streaming multiprocessor has completed said first computational task, said host CPU generating a flush command for said GPGPU to flush data along write paths from the first streaming multiprocessor to the shared memory; and in response to said host CPU receiving confirmation from said GPGPU that a flush has been completed, said host CPU launching a second computational task on a second streaming multiprocessor of said GPGPU; the flush guaranteeing that a result generated by the first computational task that is required for a dependent computation associated with said second computational task is available in the shared memory to be read by said second streaming multiprocessor.