US 11,989,257 B2
Assigning processing threads for matrix-matrix multiplication
Aaron M. Collier, Bloomington, MN (US)
Assigned to Hewlett Packard Enterprise Development LP, Spring, TX (US)
Filed by HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, Houston, TX (US)
Filed on Oct. 29, 2020, as Appl. No. 17/083,373.
Prior Publication US 2022/0138281 A1, May 5, 2022
Int. Cl. G06F 17/16 (2006.01)
CPC G06F 17/16 (2013.01) 20 Claims
OG exemplary drawing
 
1. A non-transitory storage medium that stores machine-readable instructions that, when executed by a machine, cause the machine to:
access data representing a first dimension of a first matrix, a second dimension of a second matrix and a third dimension shared by the first matrix and the second matrix,
determine a plurality of candidate decompositions for the first matrix, wherein the candidate decompositions vary in size with respect to each other along the first dimension and the third dimension;
determine an associated fitness value for each candidate decomposition of the plurality of candidate decompositions;
select a candidate decomposition of the plurality of candidate decompositions based on the fitness values to provide a selected candidate decomposition; and
provide data representing the selected candidate decomposition to cause the assignment of processing threads to sub-matrices of the first matrix, wherein the processing threads determine a third matrix based on a multiplication of the first matrix and the second matrix.