IP Library Granted Patent US 10,838,910
Granted Patent B2
US 10,838,910 · App. 15/962,916 · Granted Nov 17, 2020

Systems and methods for systolic array design from a high-level program

Inventors: Peng Zhang (Los Angeles, CA); Cody Hao Yu (Los Angeles, CA); Xuechao Wei (Beijing, CN); Peichen Pan (San Jose, CA)
Assignee: FALCON COMPUTING
G06F15/8046G06F15/8092G06N3/0454G06N3/063G06N3/08G06F15/8007
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 10,838,910
App. No.
15/962,916
Filed
Apr 25, 2018
Granted
Nov 17, 2020
Kind
B2
Art Unit
2183
USPC
712/19
Abstract

Systems and methods for automated systolic array design from a high-level program are disclosed. One implementation of a systolic array design supporting a convolutional neural network includes a two-dimensional array of reconfigurable processing elements arranged in rows and columns. Each processing element has an associated SIMD vector and is connected through a local connection to at least one other processing element. An input feature map buffer having a double buffer is configured to store input feature maps, and an interconnect system is configured to pass data to neighboring processing elements in accordance with a processing element scheduler. A CNN computation is mapped onto the two-dimensional array of reconfigurable processing elements using an automated system configured to determine suitable reconfigurable processing element parameters.

Claims (11)

1. A method for defining a computational system, comprising the steps of:

determining a feasible mapping of a computation onto a systolic array including rows and columns of processing elements, each processing element having an associated single instruction multiple data (SIMD) vector;

selecting a shape of a systolic array; and

determining a data tiling size using a loop tiling representation,

wherein the loop tiling representation includes a plurality of outer loops, a plurality of middle loops, and a plurality of inner loops;

wherein the outer loops are configured to computer a plurality of image blocks associated with the computational system; and

wherein the middle loops are configured to represent a sequential processing of feeding data from a plurality of input buffers associated with the computational system to the processing elements.

2. The method of claim 1 , wherein the inner loops are configured to represent parallelism in the systolic array.

3. The method of claim 1 , wherein bounds of the middle loops are defined according to a size of a data reuse buffer of the plurality of input buffers.

4. The method of claim 2 , wherein the inner loops are performed by a parallel digital signal processing (DSP) unit in the systolic array.

5. The method of claim 4 , wherein an architectural shape of the systolic array is defined according to bounds of the inner loops.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2020
From: FALCON COMPUTING SOLUTIONS, INC.
To: XILINX, INC.
Reel/Frame 054670/0159 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S NAME PREVIOUSLY RECORDED ON REEL 045637 FRAME 0376. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 5, 2020
From: ZHANG, PENG; YU, CODY HAO; WEI, XUECHAO; PAN, PEICHEN
To: FALCON COMPUTING SOLUTIONS, INC.
Reel/Frame 054336/0410 →
SECURITY INTEREST Recorded Nov 4, 2019
From: FALCON COMPUTING SOLUTIONS, INC.
To: XILINX, INC.
Reel/Frame 050899/0985 →
SECURITY INTEREST Recorded Nov 4, 2019
From: FALCON COMPUTING SOLUTIONS, INC.
To: SILICON VALLEY BANK
Reel/Frame 050909/0706 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2018
From: ZHANG, PENG; YU, CODY HAO; WEI, XUECHAO; PAN, PEICHEN
To: FALCON COMPUTING
Reel/Frame 045637/0376 →
Continuity (2)
Provisional Application 62490912 · Apr 27, 2017
Related Publication 20180314671A1 · Nov 1, 2018
Cited By (1)
US 12,321,733