Method and apparatus for performing deep learning operations
AssigneeSamsung Electronics Co., Ltd.
InventorsHyung-Dal Kwon, Hanmin Park, Seungwook Lee, Jae-Eon Jo
Life of this patent
Estimating the term…
Abstract
Disclosed is an apparatus and method for performing deep learning operations. The apparatus includes a systolic array comprising multiplier accumulator (MAC) units, and a control circuit configured to control an operation of a multiplexer connected to at least one of the MAC units and operations of the MAC units according to a plurality of operation modes.
Claims21
An apparatus for performing deep learning operations, the apparatus comprising:
- a systolic array comprising a plurality of multiplier accumulator (MAC) units;
- and
- a control circuit configured to:
- control an operation of a multiplexer connected to at least one MAC unit of the plurality of MAC units;
- and
- control operations of the plurality of MAC units according to a plurality of operation modes,
- wherein, for each of multiple MAC units of the plurality of MAC units, the multiplexer includes:
- a second multiplexer connected to an output terminal of an accumulator of a corresponding MAC unit, the accumulator being separate from an adder of the corresponding MAC unit;
- and
- a third multiplexer connected to output terminals of the multiple MAC units receiving output of the multiple MAC units as input;
- and
- wherein a shift register is connected to the third multiplexer and receiving output of the third multiplexer as input.
An apparatus for performing deep learning operations, the apparatus comprising:
- a systolic array comprising multiplier accumulator (MAC) units;
- a control circuit configured to control an operation of a multiplexer connected to at least one of the MAC units and operations of the MAC units according to a plurality of operation modes,
- wherein the multiplexer further comprises a third multiplexer connected to output terminals of the MAC units,
- wherein a shift register connected to the third multiplexer, and
- wherein the third multiplexer and the shift register are configured to operate based on a second clock frequency, and the second clock frequency is an integer multiple of a first clock frequency applied to the MAC units.
A method of performing deep learning operations, the method comprising:
- receiving an operation mode and input data;
- controlling operations of a plurality of multiplier accumulator (MAC) units included in a systolic array in response to the operation mode, each MAC unit comprises an accumulator and an adder, the accumulator being separate from the adder and configured to perform an accumulating convolution operation, with respect to respective results of the adder over time, where all accumulating convolution operations performed by the respective accumulators are distinct from adding operations performed by the respective adders;
- and
- controlling a multiplexer connected to at least one MAC unit of the plurality of MAC units,
- wherein, for each of multiple MAC units of the plurality of MAC units, in response to the operation mode, the controlling of the multiplexer comprises:
- controlling respective accumulating convolution operations of the accumulators of the multiple MAC units;
- receiving respective outputs of the multiple MAC units as input;
- and
- shifting the respective outputs of the multiple MAC units.
An apparatus for performing deep learning operations, the apparatus comprising:
- a systolic array comprising a plurality of multiplier accumulator (MAC) units;
- a multiplexer set connected to the plurality of MAC units;
- and
- a control circuit configured to control an operation of the multiplexer set and the plurality of MAC units according to a plurality of operation modes,
- wherein each MAC unit comprises an adder and an accumulator that is separate from the adder, the accumulator is configured to perform an accumulating convolution operation of a respective channel for depthwise convolution of plural channels, where all accumulating convolution operations performed by the respective accumulators are distinct from adding operations performed by the respective adders
- wherein the multiplexer set comprises:
- a plurality of first multiplexers, each first multiplexer is connected to an input terminal of an adder of each respective MAC unit of the plurality of MAC units;
- a plurality of second multiplexers, each second multiplexer is connected to an output terminal of an accumulator of each respective MAC unit of the plurality of MAC units;
- and
- a third multiplexer, connected to output terminals of the plurality of MAC units, and receive an output of each respective MAC unit of the plurality of MAC units as input.
An apparatus for performing deep learning operations, the apparatus comprising:
- a systolic array comprising a plurality of multiplier accumulator (MAC) units;
- a multiplexer set respectively connected to at least one MAC unit of the plurality of MAC units;
- and
- a control circuit configured to control an operation of the multiplexer set and the plurality of MAC units according to a plurality of operation modes,
- wherein the multiplexer set comprises:
- a first multiplexer connected to an input terminal of an accumulator of the at least one MAC unit;
- a second multiplexer connected to an output terminal of the accumulator of the at least one MAC unit;
- and
- a third multiplexer connected to output terminals of the plurality of MAC units, and
- wherein the at least one MAC unit, the first multiplexer, and the second multiplexer operate on a first clock frequency, and the third multiplexer operates on a second clock frequency that is an integer multiple of the first clock frequency.
Dependencies are inferred from the claim text.