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 computing device comprising:
- a programmable logic device (PLD) implementing a convolutional neural network (CNN), the PLD comprising a plurality of compute blocks, wherein:
- a logical unit of the PLD corresponds to a convolutional layer of a plurality of layers of the CNN and comprises a compute block of the plurality of compute blocks and at least two memory blocks, wherein:
- the compute block is positioned in the PLD in proximity to the at least two memory blocks relative to at least one other memory block and at least one other compute block of the plurality of compute blocks of the PLD.
A system, comprising:
- a memory;
- and
- a programmable logic device (PLD) implementing a convolutional neural network (CNN), the PLD comprising a plurality of compute blocks, wherein:
- a plurality of logical unit of the PLD corresponds to a convolutional layer of a plurality of layers of the CNN and comprises a compute block of the plurality of compute blocks and at least two memory blocks, wherein:
- the compute block is positioned in the PLD in proximity to the at least two memory blocks relative to at least one other memory block and at least one other compute block of the plurality of compute blocks of the PLD.
A method for processing a computing device, comprising:
- initializing a programmable logic device (PLD) with an initializing configuration for a convolutional neural network (CNN), the PLD comprising a plurality of compute blocks;
- receiving input data;
- processing, by the PLD, the input data, wherein a logical unit of the PLD corresponds to a convolutional layer of a plurality of layers of the CNN and comprises a compute block of the plurality of compute blocks and at least two memory blocks, wherein the compute block of the plurality of compute blocks is positioned in the PLD in proximity to the at least two memory blocks relative to at least one other memory block and at least one other compute block of the plurality of compute blocks of the PLD;
- and
- transmitting an output data.
Dependencies are inferred from the claim text.