Patent ID: 9418048
Filing Date: 2016-08-16
CPC Classification: G06F

Claim Text:
1. A non-transitory computer-readable storage medium storing therein a memory allocating program that causes a computer to perform a process comprising: assigning calculation of a first submatrix included in a matrix to a first thread and calculation of a second submatrix included in the matrix to a second thread, the matrix including zero elements and non-zero elements; comparing the first and second submatrices as to where in the matrix the non-zero elements of the first submatrix reside and where in the matrix the non-zero elements of the second submatrix reside, the comparing including comparing row positions of the non-zero elements of the first submatrix with row positions of the non-zero elements of the second submatrix, so as to determine whether the first and second submatrices conflict in terms of row positions of the non-zero elements thereof; and allocating at least one shared storage area for storing a single column vector calculated by the first and second threads, when the comparing finds that all the non-zero elements of the first submatrix reside in different rows of the matrix from any non-zero element in the second submatrix, such that the first thread writes first vector elements calculated by using the non-zero elements of the first submatrix into a first portion of the shared storage area, while the second thread writes second vector elements calculated by using the non-zero elements of the second submatrix into a second portion of the shared storage area, without exclusive control between the first and second threads.