US2025284765A1PendingUtilityA1
Method and Device for Efficiently Operating a Neural Network with Convolutions
Est. expiryMar 5, 2044(~17.6 yrs left)· nominal 20-yr term from priority
G06N 3/0464G06V 10/20G06V 10/449G06F 17/153G06F 17/15
51
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A method is for parallelized calculation of two convolutions of a filter having first and second receptive fields of the filter on input data. The first and second receptive fields correspond to a filter shifted by one step on the input data. The method includes initializing first and second output variables each having an initial value, and executing a loop for each line of the filter. The loop performs loading a first kernel element of the filter of the line and the corresponding data values to the first kernel element of the first and second receptive fields of the input data.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for parallelized calculation of two convolutions of a filter having first and second receptive fields on input data, the first and second receptive fields correspond to the filter shifted by one step on the input data, the method comprising:
initializing first and second output variables (o 000 ,o 010 ) each having an initial value (b 0 ), wherein the output variables (o 000 ,o 010 ) each have a result of a convolution of the filter with the first and second receptive fields; executing a loop for each line r of the filter, the loop performing:
loading a first kernel element (k r0c ) of the filter of the line r and corresponding data values d r0c , d r1c to the first kernel element k r0c of the first and second receptive fields of the input data;
calculating a value of the first output variable (o 000 ) by adding a product of d r0c and k r0c to a current value of the first output variable (o 000 ), and calculating a value of the second output variable (o 010 ) by adding a product of d r1c and k r0c to a current value of the second output variable (o 010 );
loading a kernel element (k r0c ) following the first kernel element (k r1c ) of the filter of the line r;
calculating the value of the first output variable (o 000 ) by adding a product of d r1c and k r1c to the current value of the first output variable (o 000 );
loading the data values d r2c and d r3c following the data values d r0c , d r1c of the first and second receptive fields;
calculating the value of the second output variable (o 010 ) by adding a product of d r2c and k r1c to the current value of the second output variable (o 010 );
loading a next kernel element k r2c of the filter of the line r;
calculating the value of the first output variable (o 000 ) by adding a product of d r2c and k r2c to the current value of the first output variable (o 000 ), and calculating the value of the second output variable (o 010 ) by adding a product of d r3c and k r2c to the current value of the second output variable (o 010 ).
2 . The method according to claim 1 , wherein:
the filter and the input data have a plurality of channels, and a further loop is executed for each channel across the loop over the lines.
3 . The method according to claim 1 , wherein:
the kernel elements have been read out line-by-line and the read-out lines are stored in a row as a sequence, and the loading the kernel elements is performed from the sequence.
4 . The method according to claim 2 , wherein:
the method is performed by a data processing system, the data processing system executes two MAC instructions simultaneously, and two loops across the lines are executed for two channels simultaneously.
5 . The method according to claim 1 , wherein the filter comprises at least one 2×2 or 3×3 kernel.
6 . The method according to claim 1 , wherein the filter is a filter of a convolutional neural network.
7 . The method according to claim 6 , wherein the method is used to operate the convolutional neural network.
8 . The method according to claim 1 , wherein a computer program comprises instructions which, when the computer program is executed by a computer, prompt the computer to carry out the method.
9 . A non-transitory machine-readable storage medium on which the computer program according to claim 8 is stored.
10 . A device configured to carry out the method according to claim 1 .Join the waitlist — get patent alerts
Track US2025284765A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.