DYNAMICALLY CONFIGURABLE, MULTI-PORTED CO-PROCESSOR FOR CONVOLUTIONAL NEURAL NETWORKS
First Claim
1. A coprocessor for processing convolutional neural networks, comprisinga configurable input switch coupled to an input;
- a plurality of convolver elements enabled in accordance with the input switch;
an output switch configured to receive outputs from the set of convolver elements to provide data to output branches; and
a controller configured to provide control signals to the input switch and the output switch such that the set of convolver elements are rendered active and a number of output branches are selected for a given cycle in accordance with the control signals.
3 Assignments
0 Petitions
Accused Products
Abstract
A coprocessor and method for processing convolutional neural networks includes a configurable input switch coupled to an input. A plurality of convolver elements are enabled in accordance with the input switch. An output switch is configured to receive outputs from the set of convolver elements to provide data to output branches. A controller is configured to provide control signals to the input switch and the output switch such that the set of convolver elements are rendered active and a number of output branches are selected for a given cycle in accordance with the control signals.
-
Citations
19 Claims
-
1. A coprocessor for processing convolutional neural networks, comprising
a configurable input switch coupled to an input; -
a plurality of convolver elements enabled in accordance with the input switch; an output switch configured to receive outputs from the set of convolver elements to provide data to output branches; and a controller configured to provide control signals to the input switch and the output switch such that the set of convolver elements are rendered active and a number of output branches are selected for a given cycle in accordance with the control signals. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for processing convolutional neural networks, comprising:
-
a host system; a coprocessor coupled to the host system, the coprocessor including; a configurable input switch coupled to an input; a plurality of convolver elements enabled in accordance with the input switch; an output switch configured to receive outputs from the set of convolver elements to provide data to output branches; and a controller configured to provide control signals to the input switch and the output switch such that the set of convolver elements are rendered active and a number of output branches are selected for a given cycle in accordance with the control signals; and a memory subsystem configured to stored inputs and outputs of the coprocessor - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A method for processing convolutional neural networks (CNN), comprising:
-
determining a workload for a convolutional neural networks; generating a control signal based upon the workload to permit a selection of a type of parallelism to be employed in processing a layer of the CNN; configuring an input switch to enable a number of convolvers which convolve an input in accordance with the control signal; configuring an output switch to enable a number of output branches for a given cycle in accordance with the control signal; and processing outputs from the output branches. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification