Neural processing accelerator
AssigneeSamsung Electronics Co., Ltd.
InventorsIlia Ovsiannikov, Yibing Michelle Wang
Life of this patent
Estimating the term…
Abstract
A system for calculating. A scratch memory is connected to a plurality of configurable processing elements by a communication fabric including a plurality of configurable nodes. The scratch memory sends out a plurality of streams of data words. Each data word is either a configuration word used to set the configuration of a node or of a processing element, or a data word carrying an operand or a result of a calculation. Each processing element performs operations according to its current configuration and returns the results to the communication fabric, which conveys them back to the scratch memory.
Claims20
A system for calculating, the system comprising:
- a plurality of processing element circuits;
- a communication fabric comprising a plurality of node circuits;
- and
- a scratch memory,
- the scratch memory being connected to the processing element circuits through the communication fabric,
- one or more of the processing element circuits comprising a control register configured to store a configuration value,
- one or more of the processing element circuits being configured:
- to receive, at two inputs, two respective data words, each of the two data words having a control portion and a data portion, and:
- when one of the two data words has a control portion identifying it as a processing element configuration word, to store the data portion of the processing element configuration word in the control register;
- and
- when neither of the two data words is a processing element configuration word, to perform an operation on the two data words, in accordance with the configuration value.
A system for calculating, the system comprising:
- a plurality of processing element circuits;
- a communication fabric comprising a plurality of node circuits;
- and
- a scratch memory,
- the scratch memory being connected to the processing element circuits through the communication fabric,
- one or more of the of the node circuits comprising a plurality of node link circuits,
- a first node link circuit of the plurality of node link circuits of a first node circuit of the plurality of node circuits having a plurality of inputs and an output, and comprising:
- a data register, and
- a configuration register configured to store a configuration value,
- the first node link circuit being configured to receive, at the inputs, a plurality of respective data words, each of the data words having a control portion and a data portion, and:
- when one of the data words has a control portion identifying it as a node link configuration word, to store the data portion of the node link configuration word in the configuration register;
- and
- when none of the data words is a node link configuration word:
- to send a data word from one of the inputs to the data register, and/or
- to send a data word from one of the inputs to the output, and/or
- to send a data word from the data register to the output, depending on the configuration value.
A method for calculating, the method comprising:
- configuring a processing module, the processing module comprising:
- a plurality of processing element circuits;
- a communication fabric comprising a plurality of node link circuits each having a plurality of inputs and an output;
- and
- a scratch memory,
- the configuring comprising:
- sending, by the scratch memory, a plurality of node link configuration words, each addressed to a node link circuit of the plurality of node link circuits;
- receiving, by a first node link circuit of the plurality of node link circuits, a data word addressed to the first node link circuit, the first node link circuit having an output connected to an input of a first processing element circuit of the plurality of processing element circuits;
- setting, by the first node link circuit, a configuration of the first node link circuit, to cause the first node link circuit to forward data words received at a first input of the first node link circuit to the output of the first node link circuit;
- receiving, by the first input of the first node link circuit, a processing element configuration word;
- sending, by the first input of the first node link circuit, the processing element configuration word to the first processing element circuit;
- and
- storing, by the first processing element circuit, in a control register of the first processing element circuit, a data portion of the processing element configuration word.
Dependencies are inferred from the claim text.