IP Library Granted Patent US 11,423,289
Granted Patent B2
US 11,423,289 · App. 16/314,422 · Granted Aug 23, 2022

Accelerator for deep neural networks

Inventors: Patrick Judd (Toronto, CA); Jorge Albericio (San Jose, CA); Alberto Delmas Lascorz (Toronto, CA); Andreas Moshovos (Toronto, CA); Sayeh Sharifymoghaddam (Toronto, CA)
Assignee: Samsung Electronics Co., Ltd.
G06N3/063G06N3/0454G06N3/0481G06N3/084
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,423,289
App. No.
16/314,422
Filed
Dec 30, 2018
Granted
Aug 23, 2022
Kind
B2
Art Unit
2125
USPC
706/15
Abstract

Described is a system, integrated circuit and method for reducing ineffectual computations in the processing of layers in a neural network. One or more tiles perform computations where each tile receives input neurons, offsets and synapses, and where each input neuron has an associated offset. Each tile generates output neurons, and there is also an activation memory for storing neurons in communication with the tiles via a dispatcher and an encoder. The dispatcher reads neurons from the activation memory and communicates the neurons to the tiles and reads synapses from a memory and communicates the synapses to the tiles. The encoder receives the output neurons from the tiles, encodes them and communicates the output neurons to the activation memory. The offsets are processed by the tiles in order to perform computations only on non-zero neurons. Optionally, synapses may be similarly processed to skip ineffectual operations.

Claims (57)

1. A system for performing computations in layers in a neural network, comprising:

one or more tiles for performing computations in the neural network, each tile receiving input neurons, offsets and synapses, wherein each input neuron has an associated offset, and generating output neurons;

an activation memory for storing neurons and in communication with the one or more tiles via a dispatcher and an encoder,

wherein the dispatcher reads neurons from the activation memory with their associated offsets and communicates the neurons with their associated offsets to the one or more tiles, and wherein the dispatcher reads synapses from a memory and communicates the synapses to the one or more tiles,

and wherein the encoder receives the output neurons from the one or more tiles, encodes them and communicates the output neurons to the activation memory;

and wherein the offsets are processed by the tiles in order to perform computations on only non-zero neurons,

wherein the tile further receives one or more bits identifying synapses as ineffectual and the tile processes the one or more bits in order to perform computations on only non-zero neurons with effectual weights.

2. The system of claim 1 , wherein the encoder encodes output neurons in a format paired with an associated offset.

3. The system of claim 1 , wherein the encoder encodes output neurons in a zero-free neuron array format.

4. The system of claim 1 , wherein at least one non-zero neuron below a threshold value is set to zero so that computation is not performed on it.

5. A system for performing computations of layers in a neural network, comprising:

one or more tiles for performing, computations in the neural network, each tile receiving input neurons, offsets and synapses, wherein each input neuron has an associated offset, and generating output neurons;

an activation memory for storing neurons and in communication with the one or more tiles via a dispatcher and an encoder,

wherein the dispatcher reads neurons from the activation memory with their associated offsets and communicates the neurons with their associated offsets to the one or more tiles, and wherein the dispatcher reads synapses from a memory and communicates the synapses to the one or more tiles,

and wherein the encoder receives the output neurons from the one or more tiles, encodes them and communicates the output neurons to the activation memory;

and wherein the offsets are processed by the tiles in order to perform computations on only non-zero neurons,

wherein the encoder encodes output neurons in RAW or Encoded format (RoE).

6. A system for performing computations of layers in a neural network, comprising:

one or more tiles for performing computations in the neural network, each tile receiving input neurons, offsets and synapses, wherein each input neuron has an associated offset, and generating output neurons;

an activation memory for storing neurons and in communication with the one or more tiles via a dispatcher and an encoder,

wherein the dispatcher reads neurons from the activation memory with their associated offsets and communicates the neurons with their associated offsets to the one or more tiles, and wherein the dispatcher reads synapses from a memory and communicates the synapses to the one or more tiles,

and wherein the encoder receives the output neurons from the one or more tiles, encodes them and communicates the output neurons to the activation memory;

and wherein the offsets are processed by the tiles in order to perform computations on only non-zero neurons,

wherein the encoder encodes output neurons in Vector Ineffectual Activation Identifier (VIAI) format.

7. A system for performing computations of layers in a neural network, comprising:

one or more tiles for performing computations in the neural network, each tile receiving input neurons, offsets and synapses, wherein each input neuron has an associated offset, and generating output neurons;

an activation memory for storing neurons and in communication with the one or more tiles via a dispatcher and an encoder,

wherein the dispatcher reads neurons from the activation memory with their associated offsets and communicates the neurons with their associated offsets to the one or more tiles, and wherein the dispatcher reads synapses from a memory and communicates the synapses to the one or more tiles,

and wherein the encoder receives the output neurons from the one or more tiles, encodes them and communicates the output neurons to the activation memory;

and wherein the offsets are processed by the tiles in order to perform computations on, only non-zero neurons,

wherein the encoder encodes output neurons in a compressed VIAI format.

8. An integrated circuit comprising an accelerator for use in performing computations in layers in a neural network, the integrated circuit comprising:

one or more tiles for performing computations in the neural network, each tile receiving input neurons, offsets and synapses, wherein each input neuron has an associated offset, and generating output neurons;

an activation memory for storing neurons and in communication with the one or more tiles via a dispatcher and an encoder,

wherein the dispatcher reads neurons from the activation memory with their associated offsets and communicates the neurons with their associated offsets to the one or more tiles, and wherein the dispatcher reads synapses from a memory and communicates the synapses to the one or more tiles,

and wherein the encoder receives the output neurons from the one or more tiles, encodes them and communicates the output neurons to the activation memory;

and wherein the offsets are processed by the tiles in order to perform computations on only non-zero neurons,

wherein the tile further receives one or more bits identifying synapses as ineffectual and the tile processes the one or more bits in order to perform computations on only non-zero neurons with effectual weights.

9. The integrated circuit of claim 8 , wherein the encoder encodes output neurons in a format paired with an associated offset.

10. The integrated circuit of claim 8 , wherein the encoder encodes output neurons in a zero-free neuron array format.

11. The integrated circuit of claim 8 , wherein the encoder encodes output neurons in RAW or Encoded format (RoE).

12. The integrated circuit of claim 8 , wherein the encoder encodes output neurons in Vector Ineffectual Activation Identifier (VIAI) format.

13. The integrated circuit of claim 8 , wherein the encoder encodes output neurons in a compressed VIAI format.

14. The integrated circuit of claim 8 , wherein at least one non-zero neuron below a threshold value is set to zero so that computation is not performed on it.

15. A method for reducing ineffectual operations in performing computations in a neural network, the method comprising:

identifying non-zero neurons in a neuron stream and creating an offset value for each neuron;

communicating the offset value for each neuron with the neuron to a tile which processes the neuron;

the tile using the offset value to identify the non-zero neurons to perform computations on;

the tile performing computations only on the non-zero neurons and generating output neurons; and

storing output neurons in an activation memory,

wherein the tile receiving one or more bits identifying synapses as ineffectual and processing the one or more bits in order to perform computations on only non-zero neurons with effectual weights.

16. The method of claim 15 , the method further comprising encoding the output neurons with associated offset values.

17. The method of claim 16 , wherein the encoding is in a zero-free neuron array format.

18. The method of claim 16 , wherein the encoding is in a RAW or Encoded format (RoE).

19. The method of claim 16 , wherein the encoding is in a Vector Ineffectual Activation Identifier (VIAI) format.

20. The method of claim 16 , wherein the encoding is in a compressed VIAI format.

21. The method of claim 15 , further comprising setting at least one non-zero neuron below a threshold value to zero so that computation is not performed on it.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2022
From: TARTAN AI LTD.
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 059516/0525 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2021
From: JUDD, PATRICK; ALBERICIO, JORGE; MOSHOVOS, ANDREAS; SHARIFY, SAYEH; DELMAS LASCORZ, ALBERTO
To: THE GOVERNING COUNCIL OF THE UNIVERSITY OF TORONTO
Reel/Frame 055089/0134 →
NUNC PRO TUNC ASSIGNMENT Recorded Jan 31, 2021
From: THE GOVERNING COUNCIL OF THE UNIVERSITY OF TORONTO
To: TARTAN AI LTD.
Reel/Frame 055089/0185 →
Continuity (3)
Provisional Application 62349716 · Jun 14, 2016
Provisional Application 62490712 · Apr 27, 2017
Related Publication 20190205740A1 · Jul 4, 2019
Cited By (12)
US 12,190,230 US 12,205,006 US 12,217,160 US 12,260,317 US 12,265,905 US 12,299,068 US 12,518,146 US 12,579,416 US 12,591,462 US 12,596,918 US 12,639,557 US 12,675,678