IP Library Patent Application 16289814
Patent Application
App. No. 16/289,814

DYNAMIC RECONFIGURATION USING DATA TRANSFER CONTROL

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/289,814
Abstract

Techniques are disclosed for dynamic reconfiguration using data transfer control. Clusters on a reconfigurable fabric are accessed to implement a logical operation. The logical operation can include a Boolean operation, a matrix operation, a tensor operation, etc. Clusters from the plurality of clusters are provisioned for implementation of a first agent on the reconfigurable fabric. The clusters can include quads. The one or more clusters provisioned for the first agent include a first data transfer control block. Additional clusters from the plurality of clusters are provisioned for implementation of a second agent on the reconfigurable fabric. The additional clusters provisioned for the second agent include a second data transfer control block. The logical operation is performed using the first agent. Control information is transferred from the first data transfer control block to the second data transfer control block.

Claims (44)

1 . A processor-implemented method for fabric reconfiguration comprising:

accessing a plurality of clusters on a reconfigurable fabric to implement a logical operation;

provisioning one or more clusters from the plurality of clusters for implementation of a first agent on the reconfigurable fabric, wherein the one or more clusters provisioned for the first agent include a first data transfer control block;

provisioning one or more additional clusters from the plurality of clusters for implementation of a second agent on the reconfigurable fabric, wherein the one or more additional clusters provisioned for the second agent include a second data transfer control block;

performing the logical operation using the first agent; and

transferring control information from the first data transfer control block to the second data transfer control block.

2 . The method of claim 1 wherein the transferring control information from the first data transfer control block to the second data transfer control block occurs before the second agent is provisioned on the one or more additional clusters.

3 . The method of claim 1 wherein the first data transfer control block and the second data transfer control block are common.

4 . The method of claim 1 wherein the transferring occurs when the first agent is not present.

5 . The method of claim 1 wherein the transferring occurs when the second agent is not present.

6 . The method of claim 1 wherein each data transfer control block comprises a signal manager.

7 . The method of claim 6 wherein the signal manager contains a table of done and fire signals.

8 . The method of claim 7 wherein the signal manager further includes FIFO pointers.

9 - 13 . (canceled)

14 . The method of claim 1 further comprising enabling communication between the first agent and the first data transfer control block by a multi-agent DMA block.

15 . The method of claim 14 wherein the multi-agent DMA block includes interfaces for one or more of an input buffer read request, an output buffer write request, a done signal, and a fire signal.

16 . The method of claim 1 further comprising using the first agent to forward data received by the first agent to a third data transfer control block of a third agent for further forwarding to the second data transfer control block.

17 . The method of claim 1 further comprising using an agent control unit to buffer data incoming to the first agent.

18 . The method of claim 17 wherein a fourth agent provides the data incoming to the first agent.

19 . The method of claim 1 wherein each cluster from the plurality of clusters comprises a plurality of processing elements.

20 . The method of claim 19 wherein the plurality of processing elements comprises a quad of processing elements.

21 - 22 . (canceled)

23 . The method of claim 1 wherein the first agent or the second agent is part of a data flow graph implemented within the reconfigurable fabric.

24 . The method of claim 23 wherein the size of the data flow graph exceeds configurability of the reconfigurable fabric in a single loading.

25 . The method of claim 24 further comprising loading a further agent using space vacated by removing the second agent.

26 . (canceled)

27 . The method of claim 24 further comprising removing the first agent in order to swap out a subgraph that is part of the data flow graph.

28 . The method of claim 27 further comprising restoring the subgraph into the reconfigurable fabric.

29 . The method of claim 28 wherein the restoring places the subgraph into a different location in the reconfigurable fabric than was previously occupied by the subgraph prior to the swapping out of the subgraph.

30 - 34 . (canceled)

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

accessing a plurality of clusters on a reconfigurable fabric to implement a logical operation;

provisioning one or more clusters from the plurality of clusters for implementation of a first agent on the reconfigurable fabric, wherein the one or more clusters provisioned for the first agent include a first data transfer control block;

provisioning one or more additional clusters from the plurality of clusters for implementation of a second agent on the reconfigurable fabric, wherein the one or more additional clusters provisioned for the second agent include a second data transfer control block;

performing the logical operation using the first agent; and

transferring control information from the first data transfer control block to the second data transfer control block.

36 . A computer system for fabric reconfiguration 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:

access a plurality of clusters on a reconfigurable fabric to implement a logical operation;

provision one or more clusters from the plurality of clusters for implementation of a first agent on the reconfigurable fabric, wherein the one or more clusters provisioned for the first agent include a first data transfer control block;

provision one or more additional clusters from the plurality of clusters for implementation of a second agent on the reconfigurable fabric, wherein the one or more additional clusters provisioned for the second agent include a second data transfer control block;

perform the logical operation using the first agent; and

transfer control information from the first data transfer control block to the second data transfer control block.

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 Apr 3, 2019
From: EVANS, KEITH MARK; NICOL, CHRISTOPHER JOHN; RAMEZANI, MEHRAN
To: WAVE COMPUTING, INC.
Reel/Frame 048786/0624 →