Patent ID: 8250130

Claim:
A method, in a data processing system, for optimized corner turns for local storage and bandwidth reduction, the method comprising: for each block in a column of a block matrix multiplication operation: dividing the block into sub-blocks; loading one sub-block of a first block matrix or one sub-block of a second block matrix from a system memory into a local store; loading one sub-block of a third block matrix from the system memory to the local store; performing a sub-block matrix multiplication operation on a sub-block of the first block matrix and a sub-block of the second block matrix to form a product; subtracting the product from a sub-block of the third block matrix to form a result sub-block of the third block matrix; storing a result sub-block of the third block matrix from the local store to the system memory; and repeating the sub-block matrix multiplication operation in a next column or row with a reversed visitation order until each result sub-block of a current block of the third block matrix has been stored to complete a block matrix multiplication operation for the current block of the third block matrix; repeating the block matrix multiplication operation in a next column or row with a reversed visitation order.