IP Library Granted Patent US 12688010
Granted Patent B2
US 12688010 · App. 17/655,737 · Granted Jul 21, 2026

Processing element, neural processing device including same, and method for calculating thereof

Inventor: Jinwook Oh (Seongnam-si, KR)
Assignee: Rebellions Inc.
G06F7/5443G06N3/0464
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 12688010
App. No.
17/655,737
Granted
Jul 21, 2026
Kind
B2
Abstract

A processing element, a neural processing device including the same, and a method for calculating thereof are provided. The processing element includes a weight register configured to receive and store weights, an input activation register configured to store input activations, a flexible multiplier configured to receive the weight and the input activation, to perform a multiplication calculation in a first precision or a second precision different from the first precision according to a mode signal, occurrence of an overflow, and occurrence of an underflow, and to generates result data; and a saturating adder configured to receive the result data and generate subtotals.

Claims (57)

1 . A neural processing device including a processing element comprising:

a weight register configured to receive and store weights;

an input activation register configured to store input activations;

a flexible multiplier comprising:

a bit divider circuit coupled to the weight register and the input activation register and configured to receive the weight and the input activation;

an overflow detection circuit coupled to the bit divider circuit and configured to detect an overflow; and

a converting circuit coupled to the overflow detection circuit and to perform a multiplication calculation in a precision according to occurrence of an overflow and to generate result data; and

a saturating adder configured to receive the result data and generate subtotals that are outputted from the flexible multiplier.

2 . The neural processing device including a processing element of claim 1 , wherein the flexible multiplier further comprises:

a mode select logic configured to generate a mode selection signal by taking a detection result from the overflow detection circuit and a mode signal into account;

at least one first multiplier;

at least one second multiplier; and

a demultiplexer configured to receive the mode selection signal and select one of the at least one first multiplier and the at least one second multiplier to thereby transmit the weight and the input activation to a plurality of multipliers,

wherein the precision is a first precision or a second precision.

3 . The neural processing device including a processing element of claim 2 , wherein the plurality of multipliers are a number of first multipliers.

4 . The neural processing device including a processing element of claim 2 , wherein the plurality of multipliers are a number of the second multipliers, 2k.

5 . The neural processing device including processing element of claim 4 , wherein the second multipliers calculate in the second precision.

6 . The neural processing device including processing element of claim 5 , wherein the second precision is selected according to a mode signal, and

wherein the first precision is more precise than the second precision.

7 . The neural processing device including a processing element of claim 1 , wherein the result data comprises:

a sign bit and a product bit.

8 . The neural processing device including a processing element of claim 2 , wherein the mode selection signal is:

generated to be identical to a mode signal, if the mode selection logic receives a second result, and

generated as a first mode signal regardless of the mode signal, if the mode selection logic receives a first result.

9 . The neural processing device including processing element of claim 1 , wherein the converting circuit is configured to receive the weight and the input activation, to convert them into first precisions, and to output them, when the detection result is a first result.

10 . A neural processing device comprising:

a plurality of neural cores, each neural core, comprising:

a processing unit that comprises a processing element (PE) array, comprising:

a plurality of processing elements; and

a flexible multiplier configured to:

receive a weight and an input activation at a bit divider;

perform a multiplication calculation in a precision according to a mode signal and occurrence of an overflow; and

generate result data; and

a saturating adder configured to receive the result data and generate subtotals.

11 . The neural processing device of claim 10 , wherein the weight and the input activation are represented in a second precision.

12 . The neural processing device of claim 11 , wherein the flexible multiplier converts the weight and the input activation into first precisions if an overflow occurs when a result of the multiplication calculation of the weight and the input activation is represented in the second precision.

13 . The neural processing device of claim 12 , wherein the flexible multiplier selects the first precision or the second precision according to the mode signal if the result of the multiplication calculation does not cause the overflow.

14 . The neural processing device of claim 10 , further comprising:

a memory shared by the plurality of neural cores; and

a local interconnection configured to transmit data between the memory and the plurality of neural cores.

15 . A method for improving accuracy through precision conversion when calculating via a neural processing device, including instructions stored in non-transitory memory that, when performed by at least one processing element of the neural processing device causing the processing element to perform operations, comprising:

receiving a mode signal;

dividing a weight and an input activation into a number of bits using a bit divider;

determining whether an overflow occurs;

generating a mode selection signal based on the mode signal and an occurrence of the overflow

converting the weight and the input activation into a first precision if the overflow occurs;

transmitting the weight and the input activation signal to a first path of one or more paths based on the mode selection signal;

generating result data by multiplying the weight and the input activation on the first path; and

generating a subtotal by adding the result data.

16 . The method for improving accuracy through precision conversion when calculating via the neural processing device of claim 15 , wherein dividing the weight and the input activation into a number of bits using a bit divider results in a second precision.

17 . The method for improving accuracy through precision conversion when calculating via the neural processing device of claim 16 ,

wherein the second precision is selected according to the mode signal based on the mode selection signal, and

wherein the first precision is more precise than the second precision.

18 . The method for improving accuracy through precision conversion when calculating via the neural processing device of claim 17 , wherein the second precision causes a multiplexer to receive result data including a sign bit and a product bit.

19 . The method for improving accuracy through precision conversion when calculating via the neural processing device of claim 15 , wherein determining whether the overflow occurs generates a first result if the overflow occurs and generates a second result if the overflow does not occur.

20 . The method for improving accuracy through precision conversion when calculating via the neural processing device of claim 15 , wherein generating the subtotal by adding the result data comprises:

receiving the result data multiple times and accumulating the multiple received result.