Back to results
US 2021/0334335 A1Published application
Crossbar allocation for matrix-vector multiplications
AssigneeHewlett Packard Enterprise Development LP
InventorsMashood Abdulla Kodavanji, Soumitra Chatterjee, Chinmay Ghosh, Mohan Parthasarathy
Life of this patent
Estimating the term…
Abstract
Repeating patterns are identified in a matrix. Based on the identification of the repeating patterns, instructions are generated, which are executable by processing cores of a dot product engine to allocate analog multiplication crossbars of the dot product engine to perform multiplication of the matrix with a vector.
Claims20
A non-transitory storage medium that stores machine-readable instructions that, when executed by a machine, cause the machine to:
- identify repeating patterns in a matrix;
- and
- based on the identification, generate instructions executable by processing cores of a dot product engine to allocate analog multiplication crossbars of the dot product engine to perform multiplication of the matrix with a vector.
A method comprising:
- identifying a repeating submatrix pattern of a plurality of submatrix patterns corresponding to a plurality of matrix partitions of a matrix, wherein the repeating submatrix pattern corresponds to a first matrix partition and a second matrix partition of the plurality of matrix partitions;
- and
- compiling instructions to be executed by a processing core to perform operations corresponding to a multiplication of the matrix with an input vector to provide an output vector, wherein the input vector comprises a first vector partition and a second vector partition, and compiling the instructions comprises providing instructions to cause the processing core to:
- in a first pass, cause matrix values corresponding to the repeating submatrix pattern to be loaded into an analog multiplication crossbar, and read first data, provided by the analog multiplication crossbar, representing a product of the first matrix partition and the first vector partition;
- in a second pass, read second data, provided by the analog multiplication crossbar, representing a product of the second matrix partition and the second vector partition;
- and
- combine the first data and the second data to generate at least part of the output vector.
4 more elements
An apparatus comprising:
- a processing core;
- a plurality of analog multiplication crossbars associated with the processing core;
- and
- a memory to store instructions that, when executed by the processing core, cause the processing core to:
- cause matrix values to be loaded into a given analog multiplication crossbar of a plurality of analog multiplication crossbars, and read first data, provided by the given analog multiplication crossbar, representing a product of a first matrix partition of a plurality of matrix partitions of an input matrix and a first vector partition of a plurality of partitions of an input vector;
- read second data, provided by the given analog multiplication crossbar, representing a product of a second matrix partition of the plurality of matrix partitions and a second vector partition of the plurality of vector partitions of the input vector;
- and
- combine the first data and the second data to generate at least part of an output vector, wherein the output vector corresponds to a product of the input vector and the input matrix.
5 more elements
Dependencies are inferred from the claim text.