IP Library Granted Patent US 12,210,902
Granted Patent B2
US 12,210,902 · App. 18/442,603 · Granted Jan 28, 2025

System and method for maintaining dependencies in a parallel process

Inventors: Mohamed Shahim (Thrissur, IN); Sreenivas Aerra Reddy (Hyderabad, IN); Raju Datla (Hyderabad, IN); Lava Kumar Bokam (Vizianagaram, IN); Suresh Kumar Vennam (Hyderabad, IN); Sameek Banerjee (Hyderabad, IN)
Assignee: Deep Vision Inc.
G06F9/4881G06F9/485G06F9/52G06N3/063
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 12,210,902
App. No.
18/442,603
Granted
Jan 28, 2025
Kind
B2
Abstract

A method includes: dequeuing a signal primitive from a signaling command queue in the set of command queues, the signal primitive pointing to a waiting command queue; in response to the signal primitive pointing to the waiting command queue, incrementing a number of pending signal primitives in the signal-wait counter matrix; dequeuing a wait primitive from the waiting command queue, the wait primitive pointing to the signaling command queue; in response to the wait primitive pointing to the signaling command queue, accessing the register to read the number of pending signal primitives; in response to the number of pending signal primitives indicating at least one pending signal primitive: decrementing the number of pending signal primitives; and dequeuing an instruction from the waiting command queue; and dispatching a control signal representing the instruction to a resource.

Claims (28)

1. A queue processor for maintaining dependencies between command streams for a multicore processor comprising:

a first command queue;

a first register configured to store a first number of pending signal primitives for the first command queue dequeued from a second command queue; and

a first command logic module:

communicatively coupled to the first command queue;

communicatively coupled to the first register; and

configured to decode a command from the first command queue as one of:

a signal primitive;

a wait primitive; and

an instruction.

2. The queue processor of claim 1 :

further comprising a second register configured to store a second number of pending signal primitives for the second command queue dequeued from the first command queue; and

wherein the first command logic module is further configured to increment the second number of pending signal primitives stored in the second register in response to decoding the command as a first signal primitive associated with the second command queue.

3. The queue processor of claim 1 , wherein the first command logic module is further configured to halt the first command queue in response to:

decoding the command as a first wait primitive associated with the second command queue; and

detecting the first number of pending signal primitives representing an absence of pending signal primitives.

4. The queue processor of claim 1 , wherein the first command logic module is further configured to decrement the first number of pending signal primitives stored in the first register in response to:

decoding the command as a first wait primitive associated with the second command queue; and

detecting the first number of pending signal primitives representing at least one pending signal primitive.

5. The queue processor of claim 1 , wherein the first command logic module is further configured to, in response to decoding the command as a first instruction representing a first control signal assigned to a first resource, dispatch the first control signal to the first resource.

6. The queue processor of claim 1 , further comprising a first reorder buffer communicatively coupled to the first command logic module, the first reorder buffer configured to:

enqueue instructions and signal primitives dequeued from the first command queue; and

dequeue instructions and signal primitives in order of execution.

7. The queue processor of claim 1 , further comprising a prefetch engine configured to enqueue a first command stream in the first command queue.

8. The queue processor of claim 1 , further comprising:

a first command queue group comprising the first command queue;

a second command queue group comprising the second command queue and a third command queue; and

a second register configured to store a second number of pending signal primitives for the second command queue group dequeued from the first command queue group.

Assignments (2)
MERGER Recorded Jun 11, 2026
From: KINARA, INC.
To: NXP USA, INC.
Reel/Frame 074926/0187 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2024
From: SHAHIM, MOHAMED; REDDY, SREENIVAS AERRA; DATLA, RAJU; BOKAM, LAVA KUMAR; VENNAM, SURESH KUMAR; BANERJEE, SAMEEK
To: DEEP VISION INC.
Reel/Frame 066665/0265 →
Continuity (4)
Continuation 17973290 · Oct 25, 2022
Continuation 17211707 · Mar 24, 2021
Provisional Application 62994108 · Mar 24, 2020
Related Publication 20240272939A1 · Aug 15, 2024