US 11,699,081 B2
Systems and methods for reducing data movement during convolution operations in artificial neural networks
Ehsan Khish Ardestani Zadeh, Sane Jose, CA (US); Martin Schatz, Seattle, WA (US); Krishnakumar Narayanan Nair, Newark, CA (US); Yuchen Hao, Fremont, CA (US); Abdulkadir Utku Diril, Menlo Park, CA (US); and Rakesh Komuravelli, Menlo Park, CA (US)
Assigned to Meta Platforms, Inc., Menlo Park, CA (US)
Filed by Meta Platforms, Inc., Menlo Park, CA (US)
Filed on Dec. 20, 2019, as Appl. No. 16/722,636.
Prior Publication US 2021/0192359 A1, Jun. 24, 2021
Int. Cl. G06N 3/02 (2006.01); G06N 3/10 (2006.01); G06F 17/15 (2006.01); G06N 3/04 (2023.01)
CPC G06N 3/10 (2013.01) [G06F 17/15 (2013.01); G06N 3/04 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
receiving, at a hardware accelerator that supports an artificial neural network (ANN), an activation data set that is to undergo a convolution operation via a filter kernel of the ANN;
receiving, at the hardware accelerator, an argument indicating that the filter kernel exceeds at least one boundary of the activation data set when slid across a certain position during the convolution operation;
determining, based at least in part on the argument, that the hardware accelerator is to generate padding data at the boundary of the activation data set in connection with the certain position of the filter kernel; and
performing, at the hardware accelerator, the convolution operation by:
moving the filter kernel to a starting address of the certain position within a local memory device of the hardware accelerator to facilitate processing a portion of the activation data set and the padding data; and
processing the portion of the activation data set and the padding data when the filter kernel slides across the certain position.