IP Library Granted Patent US 11,822,960
Granted Patent B2
US 11,822,960 · App. 17/833,981 · Granted Nov 21, 2023

Cascading of graph streaming processors

Inventors: Venkata Ganapathi Puppala (Hyderabad, IN); Sarvendra Govindammagari (Hyderabad, IN); Lokesh Agarwal (Hyderabad, IN); Satyaki Koneru (Folsom, CA)
Assignee: Blaize, Inc.
G06F9/4881G06F8/45G06F9/3851G06F9/3885G06T1/20
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,822,960
App. No.
17/833,981
Granted
Nov 21, 2023
Kind
B2
Abstract

Methods, systems, and apparatuses for graph stream processing are disclosed. One apparatus includes a cascade of graph streaming processors, wherein each of the graph streaming processor includes a processor array, and a graph streaming processor scheduler. The cascade of graph streaming processors further includes a plurality of shared command buffers, wherein each shared command buffer includes a buffer address, a write pointer, and a read pointer, wherein for each of the plurality of shared command buffers a first graph streaming processor writes commands to the shared command buffer as indicated by the write pointer of the shared command buffer and a second graph streaming processor reads commands from the shared command buffer as indicated by the read pointer, wherein at least one graph streaming processor scheduler operates to manage the write pointer and the read pointer to avoid overwriting unused commands of the shared command buffer.

Claims (30)

1. A method of graph stream processing, comprising:

scheduling, by a thread manager of each of a plurality of graph streaming processors, a plurality of threads operating on an array of processors of the graph streaming processor, wherein

the scheduling includes;

interpreting, by an input command buffer parser of each stage of a plurality of physical hardware stages of the thread manager, commands within a corresponding input command buffer located between the stage and a previous stage; and

generating the plurality of threads based on the interpreted commands;

wherein a shared command buffer is located between each of the plurality of graph streaming processors, wherein the shared command buffer includes a buffer address, a write pointer, and a read pointer;

further comprising;

writing, by a first graph streaming processor of the plurality of graph streaming processors, commands to a first shared command buffer as indicated by the write pointer;

reading, by a second graph streaming processor of the plurality of graph streaming processors, commands from the first shared command buffer and indicated by the read pointer, comprising interpreting, by an input command buffer parser of a first physical hardware stage of a thread manager of the second graph streaming processor, commands within the first shared command buffer;

managing the write pointer and the read pointer to avoid overwriting unused commands of the shared command buffer.

2. The method of graph stream processing of claim 1 , wherein the managing of the at least one graph streaming processor scheduler comprises:

providing an indication to the second graph streaming processor that enough commands have been written that the write pointer has progressed over greater than a selected percentage of the shared command buffer.

3. The method of graph stream processing of claim 1 , further comprising:

reading, by the second graph streaming processor, the write pointer of the shared command buffer; and

determining how much of the shared command buffer the second graph streaming processor can process.

4. The method of graph stream processing of claim 1 , further comprising:

determining, by the second graph streaming processor, how much of all the commands from the read pointer to the write pointer within the shared command buffer the second graph streaming processor can process.

5. The method of graph stream processing of claim 1 , further comprising:

dispatching, by the second graph streaming processor, threads based on parsing of the shared command buffer, wherein when the second graph streaming processor parses greater than a selected percentage of the shared command buffer, the second graph streaming processor updates the read pointer of the shared command buffer.

6. The method of graph stream processing of claim 5 , wherein updating the read pointer of the shared command buffer enables the first graph streaming processor to only overwrite commands that have been processed by the second graph streaming processor.

7. The method of graph stream processing of claim 1 , wherein the first graph streaming processor operates to read the read pointer of the shared command buffer when the write pointer matches a current read pointer of the first graph streaming processor, and the shared command buffer appears full.

8. The method of graph stream processing of claim 1 , further comprising:

writing, by the first graph streaming processor, a terminal index command to the shared command buffer when the processing of the first graph streaming processor is complete.

9. The method of graph stream processing of claim 1 , further comprising:

interpreting, by the input command buffer parser, the commands within the corresponding input command buffer and generating the plurality of threads; and

scheduling, by a thread scheduler, operation of the plurality of threads on the plurality of processors;

wherein the threads are processed on the plurality of processors.

10. The method of graph stream processing of claim 9 , further comprising:

generating, by the plurality of processors, commands; and

writing the commands into a corresponding one of the one or more shared command buffers.

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 Jun 7, 2022
From: PUPPALA, VENKATA GANAPATHI; GOVINDAMMAGARI, SARVENDRA; AGARWAL, LOKESH; KONERU, SATYAKI
To: BLAIZE, INC.
Reel/Frame 060118/0723 →