Matrix processing apparatus
US-2017228341-A1 · Aug 10, 2017 · US
US10558730B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10558730-B2 |
| Application number | US-201815894995-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 13, 2018 |
| Priority date | Feb 24, 2017 |
| Publication date | Feb 11, 2020 |
| Grant date | Feb 11, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A computing method includes: generating first partitioned matrices by partitioning the first matrix by a least common multiple of the M and the N in the row direction and by the N in the column direction; generating second partitioned matrices by partitioning the second matrix by the M in the row direction and by the least common multiple in the column direction; adding a first product of the first partitioned matrices and the second partitioned matrices to a first result matrix; transmitting the first partitioned matrices to computing elements directly connected to that computing element out of other computing elements connected to each other in a torus-like manner in the row direction; transmitting the second partitioned matrices to computing elements directly connected to that computing element out of other computing elements connected to each other in a torus-like manner in the column direction.
Opening claim text (preview).
What is claimed is: 1. A computing method of calculating a product of a first matrix and a second matrix in an information processing apparatus including M×N computing elements configured such that M computing elements arranged in a row direction and N computing elements arranged in a column direction are connected to each other in a torus-like manner, where the M is an integer of 1 or more and the N is an integer of 1 or more, and the M is not equal to the N, the computing method comprising: first generating, by a processor, one or more first partitioned matrices by partitioning the first matrix by a least common multiple of the M and the N in the row direction and by the N in the column direction; second generating, by a processor, one or more second partitioned matrices by partitioning the second matrix by the M in the row direction and by the least common multiple in the column direction; first storing, by a processor, the one or more generated first partitioned matrices in storage units of the computing elements so that the one or more first partitioned matrices located in the same column in the first matrix are stored in the computing elements arranged in different columns in the information processing apparatus; second storing, by a processor, the one or more generated second partitioned matrices in the storage units so that the one or more second partitioned matrices located in the same row in the second matrix are stored in the computing elements arranged in different rows in the information processing apparatus; first adding, by a processor, a first product of a matrix including the one or more first partitioned matrices and a matrix including the one or more second partitioned matrices stored in the storage unit of each of the computing elements, to a first result matrix stored in the storage unit of each of the computing elements, for each of the computing elements; first transmitting, by a processor, for each of the computing elements, the one or more first partitioned matrices corresponding to the first product out of the one or more first partitioned matrices stored in the storage unit of each of the computing elements, to computing elements directly connected to that computing element out of other computing elements connected to each other in a torus-like manner in the row direction; second transmitting, by a processor, for each of the computing elements, the one or more second partitioned matrices corresponding to the second product out of the one or more second partitioned matrices stored in the storage unit of each of the computing elements, to computing elements directly connected to that computing element out of other computing elements connected to each other in a torus-like manner in the column direction; second adding, by a processor, after the reception of the one or more first partitioned matrices and the one or more second partitioned matrices from other computing elements, a second product of a matrix including the one or more received first partitioned matrices and a matrix including the one or more received one or more second partitioned matrices, to the first result matrix stored in the storage unit of each of the computing elements, for each of the computing elements; and first repeating, by a processor, the first transmitting, the second transmitting and the second adding, until multiple the products calculated from the one or more first partitioned matrices stored in the storage unit of each of the computing elements are added to the first result matrix in each of the computing elements connected to each other in a torus-like manner, and a plurality of product calculated from the one or more second partitioned matrices stored in the storage unit of each of the computing elements is added to the first result matrix in each of the computing elements connected to each other in a torus-like manner. 2. The computing method according to claim 1 , further comprising, when the one or more first partitioned matrices or the one or more second partitioned matrices are received from other computing elements, storing, by a processor, the one or more received first partitioned matrices or the one or more received second partitioned matrices in the storage unit, wherein the second adding includes: sequentially acquiring the one or more first partitioned matrices and the one or more second partitioned matrices that are received the earliest from the storage unit of each of the computing elements, for each of the computing elements; and sequentially adding the second product of the one or more acquired first partitioned matrices and the one or more acquired second partitioned matrices, to the first result matrix stored in the storage unit of each of the computing elements, for each of the computing elements. 3. The computing method according to claim 1 , wherein: the first generating includes generating the one or more first partitioned matrices by partitioning the first matrix by a number obtained by multiplying the least common multiple and a first integer together in the row direction and by a number obtained by multiplying the N and a second integer together in the column direction; the second generating includes generating the one or more second partitioned matrices by partitioning the second matrix by a number obtained by multiplying the M and a third integer together in the row direction and by a number obtained by multiplying the least common multiple and a fourth integer together in the column direction; the first storing includes storing the one or more first partitioned matrices in the storage units so that the first partitioned matrices for every second integer located in the same column in the first matrix are stored in the computing elements arranged in different columns in the information processing apparatus and the first partitioned matrices of which number in the row direction is the first integer and of which number in the column direction is the second integer are stored in the storage unit of each of the computing elements; and the second storing includes storing the one or more second partitioned matrices in the storage units so that the second partitioned matrices for every third integer located in the same row in the second matrix are stored in the computing elements arranged in different rows in the information processing apparatus and the second partitioned matrices of which number in the row direction is the third integer and of which number in the column direction is the fourth integer are stored in the storage unit of each of the computing elements. 4. The computing method according to claim 1 , wherein: the second generating includes generating the one or more second partitioned matrices by partitioning the second matrix by a number obtained by multiplying the M and a first integer together in the row direction and by a number obtained by multiplying the least common multiple and a second integer together in the column direction; and the second storing includes storing, in the storage unit of each of the computing elements, the one or more second partitioned matrices of which number in the row direction is the M and of which number in the column direction is the least common multiple out of the one or more second partitioned matrices so that the one or more second partitioned matrices located in the same row in the second matrix are stored in the computing elements arranged in different rows in the information processing apparatus, the method further comprising second repeating the second storing, the first adding, the first transmitting, the second transmitting, the second adding and the first repeating, until each step is performed for all of the one or more second partitioned matrices. 5. The computing method according to claim 4 , wherein the second repeating i
Matrix or vector computation {, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization (matrix transposition G06F7/78)} · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.