1. A method for combining data values through associative operations, the method comprising: arranging data values into a plurality of columns according to natural parallelism of the associative operations to form a first data matrix; reading each column to a register of a respective one of a number of processors; directing each of the processors to execute a respective first one of the associative operations, in parallel, on the data values in their respective columns to which the processors are assigned; storing the respective results of the first associative operation for each respective column to a respective register of each processor; arranging the plurality of columns into a plurality of two dimensional matrices; and arranging the two dimensional matrices into a three dimensional matrix.