IP Library Granted Patent US 11,593,911
Granted Patent B2
US 11,593,911 · App. 17/397,134 · Granted Feb 28, 2023

Node topology employing command and data buffers for executing thread scheduling

Inventors: Val G. Cook (Shingle Springs, CA); Satyaki Koneru (Folsom, CA); Ke Yin (El Dorado Hills, CA); Dinakar C. Munagala (El Dorado Hills, CA)
Assignee: Blaze, Inc.
G06T1/60A01C3/02A01D3/02G06T15/005G06T2200/28G06T2215/12
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,593,911
App. No.
17/397,134
Granted
Feb 28, 2023
Kind
B2
Abstract

The described embodiments include systems, methods, and apparatuses for increased efficiency processing flow. One method includes a plurality of stages configured to process an execution graph that includes a plurality of logical nodes with defined properties and resources associated with each logical node of the plurality of logical nodes, a recirculating ring buffer, wherein the recirculating ring buffer is configured to holding only any one of a control information, input, and, or out data necessary to stream a temporary data between each logical node of the execution graph, and a data producer, wherein the data producer is configured to stall from writing control information into a command buffer upon the command buffer being full, preventing command buffer over-writing.

Claims (21)

1. A machine configured for increased efficiency processing flow, comprising an arrangement of:

a plurality of stages configured to process an execution graph that includes a plurality of logical nodes with defined properties and resources associated with each logical node of the plurality of logical nodes;

each stage comprising:

a command buffer, the command buffer holding control information;

data buffers, the data buffers holding input, and, or output data necessary to stream a temporary data between each logical node of the execution graph, wherein the control information comprises any of, or combination of, an execution command and, or a command related to synchronization between the logical nodes; and

a data producer, wherein the data producer is configured to stall from writing control information into the command buffer upon the command buffer being full, preventing command buffer over-writing, which prevents the data buffers from being over-written.

2. The machine of claim 1 , wherein invalidation of data of the command buffer or the data buffers is based on completion of processing a graph task.

3. The machine of claim 1 , wherein the command buffer and the data buffers that hold input data and, or out data reside in on-chip cache.

4. The machine of claim 3 , wherein the input data and, or out data is generated by the data producer and read by a consumer, whereby the data producer and consumer are proximate a memory hierarchy due to the input data and, or out data held in the data buffers residing in the on-chip cache.

5. The machine of claim 1 , wherein the commands are written into the command buffer by the data producer and the commands are read by a consumer.

6. The machine of claim 5 , wherein writing of informational control data comprises updating a write pointer in a context buffer by the data producer; and

wherein reading of informational control data comprises processing a read pointer in the context buffer by the consumer.

7. The machine of claim 6 , wherein the context buffer is pre-fetched.

8. The machine of claim 1 , wherein the command buffer and data buffers utilize addressing that wraps to a beginning of the command buffer and the data buffers once an end has been reached.

9. The machine of claim 1 , wherein a size of the command buffer and the data buffers may vary.

10. A system encoded as a set of machine-readable instructions stored on non-transitory machine-readable media, the system to employ re-circulating ring buffers to reduce computing power, said system further comprising instructions for implementing:

a plurality of stages configured to process at least a set of logical nodes, wherein said logical nodes are connected together in an arbitrary topology;

a command and data buffers residing, said command and data buffers further comprising any one of at least a control information, input and, or out data delivering temporary data between a stage and, or a logical node in an execution graph, such that any one of the control information, input, and, or out data between logical nodes need not be stored in memory;

a buffer management module, said buffer management module comprising a write pointer queue and a read pointer queue coupled via a cache gauge, thereby managing buffer content and traffic; and

based on the write pointer queue updates, direct compute resources to prepare for a data producer stall and, or buffer clear.

11. The system of claim 10 , wherein the read pointer queue alerts a cache gauge of an impending completion of a graph task and, or a maximum capacity of any one the recirculating ring buffer and the cache gauge updates the write pointer queue.

Assignments (4)
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY COLLATERAL AT REEL/FRAME NO. 064274/0743 Recorded Aug 16, 2024
From: BESS VENTURES AND ADVISORY, LLC
To: BLAIZE, INC.
Reel/Frame 068672/0220 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Oct 23, 2023
From: BLAIZE, INC.
To: BESS VENTURES AND ADVISORY, LLC; BURTECH LP LLC; FRANKLIN TEMPLETON VARIABLE INSURANCE PRODUCTS TRUST - FRANKLIN SMALL-MID CAP GROWTH VIP FUND; FRANKLIN STRATEGIC SERIES - FRANKLIN SMALL-MID CAP GROWTH FUND
Reel/Frame 065317/0902 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jul 14, 2023
From: BLAIZE, INC.
To: BESS VENTURES AND ADVISORY, LLC
Reel/Frame 064274/0743 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2021
From: COOK, VAL G.; KONERU, SATYAKI; YIN, KE; MUNAGALA, DINAKAR C.
To: BLAIZE, INC.
Reel/Frame 057121/0488 →