IP Library › Granted Patent US 11,347,503
Granted Patent B2
US 11,347,503 · App. 16/878,607 · Granted May 31, 2022

Method and apparatus for vector based matrix multiplication

Inventors: Asheesh Bhardwaj (Allen, TX); Mujibur Rahman (Plano, TX); Timothy David Anderson (University Park, TX)
Assignee: TEXAS INSTRUMENTS INCORPORATED
G06F9/30036G06F7/24G06F7/487G06F7/4876G06F7/49915G06F7/53G06F7/57G06F9/3001G06F9/30021G06F9/30032G06F9/30145G06F9/30149G06F9/3818G06F9/3836G06F9/3851G06F9/48G06F17/16H03H17/0664
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,347,503
App. No.
16/878,607
Granted
May 31, 2022
Kind
B2
Abstract

A method is provided that includes performing, by a processor in response to a vector matrix multiply instruction, multiplying an m×n matrix (A matrix) and a n×p matrix (B matrix) to generate elements of an m×p matrix (R matrix), and storing the elements of the R matrix in a storage location specified by the vector matrix multiply instruction.

Claims (17)

1. A method comprising:

receiving, by a processor, elements of rows of an m×n matrix (A matrix) and elements of columns of a n×p matrix (B matrix) from a streaming engine;

permutating, by the processor, the elements of rows of the A matrix and the elements of columns of the B matrix, wherein the processor includes a permute component;

mapping, by the permute component, the elements of the rows of the A matrix and the elements of the columns of the B matrix to slice multiplication components of vector multiplication units included in a vector data path of the processor, wherein the permute component is coupled between the streaming engine and the vector multiplication units;

performing, by the processor in response to a vector matrix multiply instruction, multiplying the A matrix and the B matrix to generate respective elements of an m×p matrix (R matrix) by using the vector multiplication units, wherein each of the slice multiplication components generates the respective elements of the R matrix; and

storing the elements of the R matrix in a storage location specified by the vector matrix multiply instruction;

wherein the mapping is based on the respective elements of the R matrix to be generated by the slice multiplication components.

2. The method of claim 1 , wherein m=4, n=8, and p=4.

3. A processor comprising:

a permute component configured to:

permute elements of rows of an m×n matrix (A matrix) and elements of columns of a n×p matrix (B matrix); and

map the elements of the rows of the A matrix and the elements of the columns of the B matrix to slice multiplication components of vector multiplication units included in a vector data path of the processor, wherein the permute component is coupled between a streaming engine and the vector multiplication units;

an instruction decoder configured to decode a vector matrix multiply instruction; and

vector matrix multiplication logic configured to multiply, responsive to the vector matrix multiply instruction, the A matrix and the B matrix to generate elements of an m×p matrix (R matrix) by using the vector multiplication units, wherein each of the slice multiplication components generates the respective elements of the R matrix;

wherein the mapping is based on the respective elements of the R matrix to be generated by the slice multiplication components.

4. The processor of claim 3 , wherein m=4, n=8, and p=4.

5. The processor of claim 3 , wherein the processor is a digital signal processor (DSP).

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2020
From: BHARDWAJ, ASHEESH; RAHMAN, MUJIBUR; ANDERSON, TIMOTHY DAVID
To: TEXAS INSTRUMENTS INCORPORATED
Reel/Frame 052711/0706 →
Continuity (2)
Provisional Application 62852870 · May 24, 2019
Related Publication 20200371798A1 · Nov 26, 2020
Cited By (3)
US 12,474,928 US 12,699,747 US 12,710,961