Customizable chip for AI applications
AssigneeApple Inc.
InventorsSaman Naderiparizi, Mohammad Rastegari, Sayyed Karen Khatamifard
Life of this patent
Estimating the term…
Abstract
In one embodiment, a computing device includes an input sensor providing an input data; a programmable logic device (PLD) implementing a convolutional neural network (CNN), wherein: each compute block of the PLD corresponds to one of a multiple of convolutional layers of the CNN, each compute block of the PLD is placed in proximity to at least two memory blocks, a first one of the memory blocks serves as a buffer for the corresponding layer of the CNN, and a second one of the memory blocks stores model-specific parameters for the corresponding layer of the CNN.
Claims20
A computer-implemented method comprising:
- determining a subset of layers of a neural network that utilize at least a threshold amount of energy when executed on at least one of a CPU or a GPU;
- passing an input from the at least one of the CPU or the GPU to a first layer of the subset of layers to a programmable logic device (PLD) comprising a plurality of logical units, each of the plurality of logical units corresponding to a respective layer of the subset of layers;
- and
- passing an output of a last layer of the subset of layers from the PLD to the at least one of the CPU or the GPU.
A system, comprising:
- a CPU or a GPU;
- a programmable logic device (PLD) comprising a plurality of logical units;
- and
- a memory device containing instructions which, when executed by the CPU or the GPU, cause the CPU or the GPU to:
- determine a subset of layers of a neural network that utilize at least a threshold amount of energy when executed on at least one of the CPU or the GPU;
- pass an input from the at least one of the CPU or the GPU to a first layer of the subset of layers of the PLD, each of the plurality of logical units of the PLD corresponding to a respective layer of the subset of layers;
- and
- pass an output of a last layer of the subset of layers from the PLD to the at least one of the CPU or the GPU.
A computer program product comprising code stored in a non-transitory computer-readable storage medium, the code comprising:
- code for determining a subset of layers of a neural network that utilize at least a threshold amount of energy when executed on at least one of a CPU or a GPU;
- code for passing an input from the at least one of the CPU or the GPU to a first layer of the subset of layers to a programmable logic device (PLD) comprising a plurality of logical units, each of the plurality of logical units corresponding to a respective layer of the subset of layers;
- and
- code for passing an output of a last layer of the subset of layers from the PLD to the at least one of the CPU or the GPU.
Dependencies are inferred from the claim text.