IP Library Granted Patent US 12,039,289
Granted Patent B2
US 12,039,289 · App. 18/132,962 · Granted Jul 16, 2024

Processing core with data associative adaptive rounding

Inventors: Ljubisa Bajic (Toronto, CA); Alex Cejkov (Toronto, CA); Lejla Bajic (Toronto, CA)
Assignee: Tenstorrent Inc.
G06F7/49947G06N3/082G06F2207/4824
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,039,289
App. No.
18/132,962
Granted
Jul 16, 2024
Kind
B2
Abstract

Processing cores with data associative adaptive rounding and associated methods are disclosed herein. One disclosed processing core comprises an arithmetic logic unit cluster configured to generate a value for a unit of directed graph data using input directed graph data, a comparator coupled to a threshold register and a data register, a core controller configured to load a threshold value into the threshold register when the value for the unit of directed graph data is loaded into the data register, and a rounding circuit. The rounding circuit is configured to receive the value for the unit of directed graph data from the arithmetic logic unit cluster and conditionally round the value for the unit of directed graph data based on a comparator output from the comparator.

Claims (31)

1. A processing core, comprising:

a computational unit configured to generate a value for a unit of directed graph data using a unit of input directed graph data;

an association between a value and one of the unit of directed graph data and the unit of input directed graph data;

a series of logic gates configured to calculate a threshold value using the value;

a core controller configured to load the threshold value into a threshold register when the value for the unit of directed graph data is loaded into a data register;

a comparator coupled to the threshold register and the data register and configured to generate a comparator output based on: (i) the threshold value in the threshold register; and (ii) the value for the unit of directed graph data in the data register; and

a rounding circuit: (i) configured to receive the value for the unit of directed graph data from the computational unit; and (ii) configured to conditionally round the value for the unit of directed graph data based on the comparator output from the comparator.

2. The processing core of claim 1 , wherein:

the series of logic gates are configured to calculate the threshold value using the value and the unit of input directed graph data.

3. The processing core of claim 2 , wherein:

the unit of input directed graph data is one of: a weight value and an accumulation value.

4. The processing core of claim 1 , wherein:

the unit of directed graph data is an accumulation value.

5. The processing core of claim 1 , wherein:

the directed graph is a neural network;

the core controller is configured to deactivate the rounding circuit during a training of the neural network; and

the processing core is configured to, during the training and when the rounding circuit is deactivated, determine the value.

6. The processing core of claim 1 , wherein:

the association is between the value and a layer of a directed graph; and

the unit of input directed graph data is a part of the layer of the directed graph.

7. A method comprising:

executing, using a processing core, a directed graph;

generating, while executing the directed graph and using a computational unit in the processing core and a value for a unit of input directed graph data, a value for a unit of directed graph data;

associating a value with one of the unit of directed graph data and the unit of input directed graph data;

calculating, while executing the directed graph, a threshold value using a series of logic gates on the processing core, wherein the calculating of the threshold value uses the value;

generating a comparison of the value of the unit of directed graph data and the threshold value; and

conditionally rounding, based on the comparison and using a rounding circuit in the processing core, the value of the unit of directed graph data.

8. The method of claim 7 , wherein:

the unit of directed graph data is an accumulation value.

9. The method of claim 7 , wherein:

the unit of input directed graph data is one of: a weight value and an accumulation value.

Assignments (3)
CHANGE OF NAME Recorded Feb 23, 2025
From: TENSTORRENT INC.
To: TENSTORRENT AI INC.
Reel/Frame 070298/0922 →
CHANGE OF NAME Recorded Feb 23, 2025
From: TENSTORRENT AI INC.
To: TENSTORRENT AI ULC
Reel/Frame 070298/0944 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2023
From: BAJIC, LJUBISA; CEJKOV, ALEX; BAJIC, LEJLA
To: TENSTORRENT INC.
Reel/Frame 063337/0936 →
Continuity (4)
Continuation 17321925 · May 17, 2021
Continuation 16573728 · Sep 17, 2019
Provisional Application 62738286 · Sep 28, 2018
Related Publication 20230244447A1 · Aug 3, 2023