A system for accelerating convolutions in a neural network, the system comprising: a first logic circuit that generates N operands; a first input circuit arranged in a first dimension of a two-dimensional array , the first input circuit being coupled to receive the N operands from the first logic circuit ; a second logic circuit that generates M operands; a second input circuit arranged in a second dimension of the two-dimensional array , the second input circuit being coupled to receive M operands from the second logic circuit ; a matrix processor comprising a plurality of sub-circuits coupled within the two-dimensional array , the plurality of sub-circuits configured to perform dot-multiplications of the N operands and the M operands to generate dot-products ; and an output array coupled to the two-dimensional array , the two-dimensional array configured to use the dot-products to generate a result, characterised in that : the N operands are formatted from a data input matrix into a first vector and are representative of a row in an input data matrix ; the M operands are formatted from a weight input matrix into a second vector and are representative of a column in a weight data matrix ; columns of the input data matrix are vectorized forms of input matrices corresponding to areas of input data ; and rows of the weight data matrix are vectorized forms of weight matrices corresponding to filters of a convolution operation . a first logic circuit that generates N operands; a first input circuit arranged in a first dimension of a two-dimensional array , the first input circuit being coupled to receive the N operands from the first logic circuit ; a second logic circuit that generates M operands; a second input circuit arranged in a second dimension of the two-dimensional array , the second input circuit being coupled to receive M operands from the second logic circuit ; a matrix processor comprising a plurality of sub-circuits coupled within the two-dimensional array , the plurality of sub-circuits configured to perform dot-multiplications of the N operands and the M operands to generate dot-products ; and an output array coupled to the two-dimensional array , the two-dimensional array configured to use the dot-products to generate a result, characterised in that : the N operands are formatted from a data input matrix into a first vector and are representative of a row in an input data matrix ; the M operands are formatted from a weight input matrix into a second vector and are representative of a column in a weight data matrix ; columns of the input data matrix are vectorized forms of input matrices corresponding to areas of input data ; and rows of the weight data matrix are vectorized forms of weight matrices corresponding to filters of a convolution operation . the N operands are formatted from a data input matrix into a first vector and are representative of a row in an input data matrix ; the M operands are formatted from a weight input matrix into a second vector and are representative of a column in a weight data matrix ; columns of the input data matrix are vectorized forms of input matrices corresponding to areas of input data ; and rows of the weight data matrix are vectorized forms of weight matrices corresponding to filters of a convolution operation . <EOS>