IP Library › Patent Application 18372379
Patent Application
App. No. 18/372,379

SYSTEMS AND METHODS FOR IMPLEMENTING A MACHINE PERCEPTION AND DENSE ALGORITHM INTEGRATED CIRCUIT AND ENABLING A FLOWING PROPAGATION OF DATA WITHIN THE INTEGRATED CIRCUIT

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.
18/372,379
Abstract

Systems and methods of propagating data within an integrated circuit includes: identifying a coarse data propagation path for distinct subsets of data of an input dataset that includes: setting inter-core data movements for the distinct subsets of data, the inter-core data movements defining a predetermined propagation of a given subset of data between two or more of a plurality of cores of an integrated circuit array of the integrated circuit; identifying a granular data propagation path for each distinct subset of data that includes: setting intra-core data movements for each distinct subset of data, the intra-core data movements defining a predetermined propagation of the given subset of data within one or more of the plurality of cores of the integrated circuit array of the integrated circuit; enabling a flow of the input dataset within the integrated circuit based on the coarse data propagation path and the granular propagation path.

Claims (64)

1 . A method for moving data within an integrated circuit, the method comprising:

executing data movement instructions that move a dataset rotationally within a processing core of an array of processing cores, the processing core comprising a plurality of distinct register files arranged along sides of the processing core,

wherein executing the data movement instructions include:

moving the dataset within the processing core in a degree of rotation between zero and three hundred sixty, from a starting register file of the plurality of distinct register files to a terminal register file of the plurality of distinct register files of the processing core.

2 . The method according to claim 1 , wherein:

(i) the data movement instructions further include a sequence of discrete data rotation instructions, and

(ii) each discrete data rotation instruction of the sequence comprises a rotational movement value that is a degree of rotation between zero and three hundred sixty.

3 . The method according to claim 1 , wherein

(i) the data movement instructions further include instructions for moving a target dataset directly from a data port of a distinct processing core that neighbors the processing core to the starting register file of the processing core, and

(ii) executing the data movement instructions further causes an entry of the target dataset into the processing core via a transmission of the target dataset from the port of the distinct processing core directly to the starting register file of the processing core.

4 . The method according to claim 1 , wherein

(i) the data movement instructions include instructions for moving a target dataset directly from a data loading controller of an integrated circuit that neighbors the processing core to the starting register file of the processing core, and

(ii) executing the data movement instructions further causes an entry of the target dataset into the processing core via an injection of the target dataset from the data loading controller directly to the starting register file of the processing core.

5 . The method according to claim 1 , wherein

(i) the data movement instructions further include instructions for moving the dataset directly from the terminal register file of the processing core to a data port of a distinct processing core that neighbors the processing core, and

(ii) executing the data movement instructions further causes an exit of the dataset from the processing core via a transmission of the dataset from the terminal register file of the processing core directly to the data port of the distinct processing core.

6 . The method according to claim 1 , wherein:

(i) the data movement instructions further include instructions for moving the dataset directly from the starting register file of the processing core to a data loading controller of an integrated circuit that neighbors the processing core, and

(ii) executing the data movement instructions further causes an exit of the dataset from the processing core via a transmission of the dataset from the terminal register file of the processing core directly to the data loading controller.

7 . The method according to claim 1 , wherein

(i) the data movement instructions further include instructions for moving a dataset from the starting register file of the processing core through an intermediary within the processing core to the terminal register file of the processing core, and

(ii) executing the data movement instructions further causes a movement of the dataset from the starting register file via the intermediary to the terminal register file of the processing core.

8 . A method for moving data within an integrated circuit, the method comprising:

executing data movement instructions that move a dataset rotationally within a processing core of an array of processing cores, the processing core comprising a plurality of distinct data ports arranged along sides of the processing core, each of the plurality of distinct data ports having a register file,

wherein executing the data movement instructions include:

moving the dataset, within the processing core in a degree of rotation between zero and three hundred sixty, from a starting position at a register file of one data port of the plurality of distinct data ports to a terminal position at a register file of another data port of the plurality of distinct data ports of the processing core.

9 . The method according to claim 8 , wherein:

(i) the data movement instructions further include a sequence of discrete data rotation instructions, and

(ii) each discrete data rotation instruction of the sequence comprises a rotational movement value that is a degree of rotation between zero and three hundred sixty.

10 . The method according to claim 8 , wherein

(i) the data movement instructions further include instructions for moving a target dataset directly from a data port of a distinct processing core that neighbors the processing core to the starting position of the processing core, and

(ii) executing the data movement instructions further causes an entry of the target dataset into the processing core via a transmission of the target dataset from the port of the distinct processing core directly to the starting position of the processing core.

11 . The method according to claim 8 , wherein

(i) the data movement instructions include instructions for moving a target dataset directly from a data loading controller of an integrated circuit that neighbors the processing core to the starting position of the processing core, and

(ii) executing the data movement instructions further causes an entry of the target dataset into the processing core via an injection of the target dataset from the data loading controller directly to the starting position of the processing core.

12 . The method according to claim 8 , wherein

(i) the data movement instructions further include instructions for moving the dataset directly from the terminal position of the processing core to a data port of a distinct processing core that neighbors the processing core, and

(ii) executing the data movement instructions further causes an exit of the dataset from the processing core via a transmission of the dataset from the terminal position of the processing core directly to the data port of the distinct processing core.

13 . The method according to claim 8 , wherein:

(i) the data movement instructions further include instructions for moving the dataset directly from the starting position of the processing core to a data loading controller of an integrated circuit that neighbors the processing core, and

(ii) executing the data movement instructions further causes an exit of the dataset from the processing core via a transmission of the dataset from the terminal position of the processing core directly to the data loading controller.

14 . The method according to claim 8 , wherein

(i) the data movement instructions further include instructions for moving a dataset from the starting position of the processing core through an intermediary within the processing core to the terminal position of the processing core, and

(ii) executing the data movement instructions further causes a movement of the dataset from the starting position via the intermediary to the terminal position of the processing core.

15 . A method for moving data within an integrated circuit, the method comprising:

storing each of a plurality of distinct datasets at a register file of one of a plurality of distinct data ports of a processing core of an array of processing cores; and

executing data movement instructions that move the plurality of datasets rotationally within the processing core,

wherein executing the data movement instructions includes:

moving each of the plurality of datasets stored within the plurality of distinct data ports of the processing core, in a rotation, from a starting position of the plurality of distinct data ports to a terminal position of the plurality of distinct data ports of the processing core.

16 . The method according to claim 15 , wherein:

(i) the data movement instructions further include a sequence of discrete data rotation instructions, and

(ii) each discrete data rotation instruction of the sequence comprises a rotational movement value that is a degree of rotation between zero and three hundred sixty.

17 . The method according to claim 15 , wherein

(i) the data movement instructions further include instructions for moving a target dataset directly from a data port of a distinct processing core that neighbors the processing core to the starting position of the processing core, and

(ii) executing the data movement instructions further causes an entry of the target dataset into the processing core via a transmission of the target dataset from the port of the distinct processing core directly to the starting position of the processing core.

18 . The method according to claim 15 , wherein

(i) the data movement instructions include instructions for moving a target dataset directly from a data loading controller of an integrated circuit that neighbors the processing core to the starting position of the processing core, and

(ii) executing the data movement instructions further causes an entry of the target dataset into the processing core via an injection of the target dataset from the data loading controller directly to the starting position of the processing core.

19 . The method according to claim 15 , wherein

(i) the data movement instructions further include instructions for moving the dataset directly from the terminal position of the processing core to a data port of a distinct processing core that neighbors the processing core, and

(ii) executing the data movement instructions further causes an exit of the dataset from the processing core via a transmission of the dataset from the terminal position of the processing core directly to the data port of the distinct processing core.

20 . The method according to claim 15 , wherein

(i) the data movement instructions further include instructions for moving a dataset from the starting position of the processing core through an intermediary within the processing core to the terminal position of the processing core, and

(ii) executing the data movement instructions further causes a movement of the dataset from the starting position via the intermediary to the terminal position of the processing core.

Assignments (2)
SECURITY INTEREST Recorded Apr 3, 2025
From: QUADRIC, INC.
To: DECATHLON ALPHA V, L.P.
Reel/Frame 070722/0441 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2023
From: DREGO, NIGEL; SIKKA, AMAN; DURBHA, ANANTH; RAVICHANDRAN, MRINALINI; FIRU, ROBERT DANIEL; KHETERPAL, VEERBHAN
To: QUADRIC.IO, INC.
Reel/Frame 065013/0065 →