US 12,079,301 B2
Performing tensor operations using a programmable control engine
Nitin Garegrat, San Jose, CA (US); Derek Gladding, Poughquag, NY (US); Shankar Narayan, Saratoga, CA (US); Sujatha Santhanaraman, Fremont, CA (US); and Jayadev Velagandula, Santa Clara, CA (US)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Jan. 8, 2021, as Appl. No. 17/145,244.
Prior Publication US 2022/0222318 A1, Jul. 14, 2022
Int. Cl. G06F 17/16 (2006.01)
CPC G06F 17/16 (2013.01) 20 Claims
OG exemplary drawing
 
1. A system comprising:
a command queue configured to receive a command from a software application;
a configuration storage configured to store a plurality of configurations, each configuration in the plurality of configurations comprising a plurality of configuration parameters;
a matrix operation unit circuit configured to perform matrix multiplication operations;
memory configured to store matrices; and
a control engine configured to:
retrieve the command from the command queue;
retrieve a configuration from the configuration storage based on the command;
generate, based on the command and the configuration, instructions for the matrix operation unit circuit to perform a set of matrix multiplication operations on first and second matrices stored in the memory;
send the instructions to the matrix operation unit circuit to configure the matrix operation unit circuit to output results of the set of matrix multiplication operations; and
store the results in a third matrix in the memory.