The invention provides a sparse neural
network processor based on a
systolic array. The sparse neural
network processor comprises a storage unit, a
control unit, a
sparse matrix operation array, a calculation unit and a confluence array. The storage unit is used for storing weights, gradients, features and instruction sequences used for scheduling data streams. The
control unit takes out data required by the training and reasoning process from the storage unit according to the control of the
instruction sequence, converts the data into a
sparse matrix operation format and sends the data into the
sparse matrix operation array. The sparse matrix operation array comprises a plurality of
processing units connected in a
systolic array mode and is used for completing sparse matrix operation. Thecalculation unit is used for completing element-by-element operation such as a nonlinear
activation function. The confluence array delivers the same
data segment to different rows of the
systolic array through internal data transfer to reduce storage overhead. The processor makes full use of the sparsity of the weight and the characteristics, achieves the improvement of the speed and
power consumption ratio in the neural network training and reasoning process, and has the advantages of high
concurrency, low bandwidth requirements and the like.