NEURAL NETWORK INFERENCE CIRCUIT EMPLOYING DYNAMIC MEMORY SLEEP
For a neural network inference circuit that executes a neural network including multiple computation nodes at multiple layers for which data is stored in a plurality of memory banks, some embodiments provide a method for dynamically putting memory banks into a sleep mode of operation to conserve power. The method tracks the accesses to individual memory banks and, if a certain number of clock cycles elapse with no access to a particular memory bank, sends a signal to the memory bank indicating that it should operate in a sleep mode. Circuit components involved in dynamic memory sleep, in some embodiments, include a core RAM pipeline, a core RAM sleep controller, a set of core RAM bank select decoders, and a set of core RAM memory bank wrappers.
1 .- 20 . (canceled)
21 . A method comprising:
determining a value indicating a length of time since a memory unit of a neural network inference circuit was last accessed, said memory unit storing at least one of (i) weight data for executing the neural network and (ii) activation data during execution of the neural network; and
when the determined value is at least a threshold value, sending a signal to the memory unit to operate in a sleep mode.
22 . A neural network inference circuit for executing a neural network, the neural network inference circuit comprising:
a plurality of memory units storing (i) weight data for executing the neural network and (ii) activation data during execution of the neural network; and
a plurality of sleep control circuits corresponding to the plurality of memory units, each sleep control unit to send a sleep control signal to (i) determine a value indicating a length of time since the corresponding memory unit was last accessed and (ii) sending a signal to the memory unit to operate in a sleep mode when the determined value is at least a threshold value.