Patent ID: 8332597

Claim:
A method for synchronizing memory accesses in a dataflow computing system, comprising: for each compute operation in the dataflow computing system, waiting for availability in a dataflow memory of only each operand that is required to perform the compute operation, and in response to the availability of only each operand that is required to perform the compute operation, commencing the compute operation; storing output data from the compute operation in the dataflow memory at completion of the compute operation; for each write operation for storing data at a respective write address in an external memory of the system, waiting for availability in the dataflow memory of a synchronization token associated with the respective write address, the respective write address, and the data, and in response to the availability of the synchronization token associated with the respective write address, the respective write address, and the data, storing the data to the respective write address in the external memory and storing a synchronization token associated with the write address in the dataflow memory after the writing of the data; and for each read operation for reading data from a respective read address in the external memory, waiting for availability in the dataflow memory of the respective read address and a synchronization token associated with the respective read address, and in response to the availability of the respective read address and the synchronization token associated with the respective read address, reading data from the respective read address of the external memory, storing the data read from the external memory in the dataflow memory, and storing a synchronization token associated with the respective read address in the dataflow memory after reading the data.