US11645504B2ActiveUtilityPatentIndex 61
Methods for processing vertical stripes of data in an efficient convolutional engine
Est. expiryMar 13, 2038(~11.7 yrs left)· nominal 20-yr term from priority
Inventors:FEINBERG EUGENE M
G06N 3/0464G06N 3/0495G06N 3/063G06F 5/01G06F 17/15G06N 5/046G06N 3/04
61
PatentIndex Score
0
Cited by
50
References
15
Claims
Abstract
A convolutional engine is configured to process input data that is organized into vertical stripes.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method for processing input data with a first input channel and a second input channel, the first input channel comprising a first vertical stripe and a second vertical stripe, the second input channel comprising a third vertical stripe and a fourth vertical stripe, the method comprising:
processing, by a convolutional engine comprising a plurality of convolver units, the first vertical stripe, the processing of the first vertical stripe comprising computing a first plurality of dot products based on the first vertical stripe and providing the first plurality of dot products to accumulators of the convolver units;
processing, by the convolutional engine, the third vertical stripe, the processing of the third vertical stripe comprising computing a second plurality of dot products based on the third vertical stripe and summing the second plurality of dot products and the first plurality of dot products with the accumulators of the convolver units;
processing, by the convolutional engine, the second vertical stripe, the processing of the second vertical stripe comprising computing a third plurality of dot products based on the second vertical stripe and providing the third plurality of dot products to the accumulators of the convolver units; and
processing, by the convolutional engine, the fourth vertical stripe, the processing of the fourth vertical stripe comprising computing a fourth plurality of dot products based on the fourth vertical stripe and summing the third plurality of dot products and the fourth plurality of dot products with the accumulators of the convolver units.
2. The method of claim 1 , wherein a total number of columns of the first vertical stripe equals one less than a total number of columns of the convolver units.
3. The method of claim 1 , wherein a total number of columns of the third vertical stripe equals one less than the total number of columns of the convolver units.
4. The method of claim 1 , further comprising loading the first vertical stripe into the convolutional engine with a data padding column, wherein computing the first plurality of dot products is based on the first vertical stripe and the data padding column.
5. The method of claim 4 , wherein the data padding column is identical to a left-most column of the second vertical stripe.
6. The method of claim 1 , wherein during the processing of the first vertical stripe, a right-most column of the convolver units of the convolution engine is non-active.
7. The method of claim 1 , further comprising loading the third vertical stripe into the convolutional engine with a data padding column, wherein computing the second plurality of dot products is based on the third vertical stripe and the data padding column.
8. The method of claim 7 , wherein the data padding column is identical to a left-most column of the fourth vertical stripe.
9. The method of claim 1 , wherein during the processing of the third vertical stripe, a right-most column of the convolver units of the convolution engine is non-active.
10. The method of claim 1 , further comprising loading the second vertical stripe into the convolutional engine with a data padding column, wherein computing the third plurality of dot products is based on the second vertical stripe and the data padding column.
11. The method of claim 10 , wherein the data padding column is identical to a last column of the first vertical stripe.
12. The method of claim 1 , wherein during the processing of the second vertical stripe, a left-most column of the convolver units of the convolution engine is non-active.
13. The method of claim 1 , further comprising loading the fourth vertical stripe into the convolutional engine with a data padding column, wherein computing the fourth plurality of dot products is based on the fourth vertical stripe and the data padding column.
14. The method of claim 13 , wherein the data padding column is identical to a last column of the third vertical stripe.
15. The method of claim 1 , wherein during the processing of the fourth vertical stripe, a left-most column of the convolver units of the convolution engine is non-active.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.