IP Library Patent Application 16054225
Patent Application
App. No. 16/054,225

RECONFIGURABLE FABRIC OPERATION LINKAGE

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 None
App. No.
16/054,225
Abstract

Techniques are disclosed for reconfigurable fabric operation linkage. A first function to be performed on a reconfigurable fabric is determined, where the first function is performed on a first cluster within the reconfigurable fabric. A distance is calculated from the first cluster to a second cluster that receives output from the first function on the first cluster. A time duration is calculated for the output from the first function to travel to the second cluster. A first set of instructions for the first function is allocated to the first cluster based on the distance and the time duration. The allocating the first set of instructions is accomplished using a satisfiability solver technique including constructing a set of mapping constraints and building a satisfiability model. The satisfiability solver technique includes a Boolean satisfiability problem solving technique. The satisfiability model is solved and a solution is stored.

Claims (43)

1 . A computer-implemented method for instruction linkage comprising:

determining a first function to be performed on a reconfigurable fabric, wherein the first function is performed on a first cluster within the reconfigurable fabric;

calculating a distance, within the reconfigurable fabric, from the first cluster to a second cluster that receives output from the first function on the first cluster;

calculating a time duration for the output from the first function to travel to the second cluster through the reconfigurable fabric; and

allocating a first set of instructions for the first function to the first cluster based on the distance and the time duration.

2 . The method of claim 1 wherein the allocating the first set of instructions is accomplished using a satisfiability solver technique comprising constructing a set of mapping constraints and building a satisfiability model of the mapping constraints.

3 . The method of claim 1 further comprising allocating a second set of instructions for a second function to the second cluster based on the distance and the time duration.

4 . The method of claim 3 further comprising orienting the first set of instructions with the second set of instructions.

5 . The method of claim 4 wherein the orienting provides synchronization of the output from the first function to input arrival needs of the second function.

6 . The method of claim 5 wherein the orienting includes rotation of the first set of instructions within a circular buffer that controls the first cluster.

7 . The method of claim 3 wherein the allocating the first set of instructions and the allocating the second set of instructions is accomplished using a satisfiability solver technique.

8 . The method of claim 7 wherein the satisfiability solver technique comprises a Boolean satisfiability problem solving technique.

9 . The method of claim 8 further comprising solving a satisfiability model.

10 . (canceled)

11 . The method of claim 9 wherein the satisfiability model includes a satisfiability kernel mapper.

12 . The method of claim 3 wherein the allocating the first set of instructions and the allocating the second set of instructions accomplishes linking of the first function and the second function.

13 . The method of claim 12 wherein the linking comprises symbolic linking.

14 . (canceled)

15 . The method of claim 3 wherein the first function and the second function are part of a data flow graph implemented in the reconfigurable fabric.

16 . The method of claim 3 wherein an instruction from the first set of instructions corresponds to a node in a data flow graph.

17 . The method of claim 1 further comprising decomposing an overall function into a set of smaller operations.

18 . The method of claim 17 wherein each of the smaller operations is performed on a processing element within the reconfigurable fabric and the processing element is controlled by a circular buffer.

19 . The method of claim 18 wherein the first set of instructions is loaded into the circular buffer.

20 . The method of claim 1 wherein the allocating the first set of instructions includes instructions facilitating passing data beyond a boundary of the reconfigurable fabric.

21 . The method of claim 20 wherein the passing data includes direct memory access operations.

22 . The method of claim 1 further comprising translating the first function into a set of instruction bits for a circular buffer within the first cluster.

23 . The method of claim 22 wherein the circular buffer is statically scheduled.

24 . The method of claim 1 wherein the distance is a topological distance between clusters of the reconfigurable fabric.

25 . The method of claim 1 wherein the time duration is a temporal distance between clusters of the reconfigurable fabric.

26 . The method of claim 1 wherein the reconfigurable fabric is configured to perform machine learning.

27 . The method of claim 26 wherein the machine learning that is performed implements a data flow graph.

28 . A computer program product embodied in a non-transitory computer readable medium for instruction linkage, the computer program product comprising code which causes one or more processors to perform operations of:

determining a first function to be performed on a reconfigurable fabric, wherein the first function is performed on a first cluster within the reconfigurable fabric;

calculating a distance, within the reconfigurable fabric, from the first cluster to a second cluster that receives output from the first function on the first cluster;

calculating a time duration for the output from the first function to travel to the second cluster through the reconfigurable fabric; and

allocating a first set of instructions for the first function to the first cluster based on the distance and the time duration.

29 . A computer system for instruction linkage comprising:

a memory which stores instructions;

one or more processors attached to the memory wherein the one or more processors, when executing the instructions which are stored, are configured to:

determine a first function to be performed on a reconfigurable fabric, wherein the first function is performed on a first cluster within the reconfigurable fabric;

calculate a distance, within the reconfigurable fabric, from the first cluster to a second cluster that receives output from the first function on the first cluster;

calculate a time duration for the output from the first function to travel to the second cluster through the reconfigurable fabric; and

allocate a first set of instructions for the first function to the first cluster based on the distance and the time duration.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Dec 29, 2022
From: CAPITAL FINANCE ADMINISTRATION, LLC, AS ADMINISTRATIVE AGENT
To: MIPS TECH, LLC; WAVE COMPUTING INC.
Reel/Frame 062251/0251 →
SECURITY INTEREST Recorded Jun 14, 2021
From: MIPS TECH, LLC; WAVE COMPUTING, INC.
To: CAPITAL FINANCE ADMINISTRATION, LLC
Reel/Frame 056558/0903 →
RELEASE OF SECURITY INTEREST Recorded Jun 14, 2021
From: WAVE COMPUTING LIQUIDATING TRUST
To: MIPS TECH, INC.; HELLOSOFT, INC.; WAVE COMPUTING (UK) LIMITED; IMAGINATION TECHNOLOGIES, INC.; CAUSTIC GRAPHICS, INC.; MIPS TECH, LLC; WAVE COMPUTING, INC.
Reel/Frame 056589/0606 →
SECURITY INTEREST Recorded Feb 26, 2021
From: WAVE COMPUTING, INC.; MIPS TECH, LLC; MIPS TECH, INC.; HELLOSOFT, INC.; WAVE COMPUTING (UK) LIMITED; IMAGINATION TECHNOLOGIES, INC.; CAUSTIC GRAPHICS, INC.
To: WAVE COMPUTING LIQUIDATING TRUST
Reel/Frame 055429/0532 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2018
From: ESBENSEN, HENRIK; SUARIS, PETER RAMYALAL; CHAUDHURI, SAMIT
To: WAVE COMPUTING, INC.
Reel/Frame 047285/0186 →