US2025284765A1PendingUtilityA1

Method and Device for Efficiently Operating a Neural Network with Convolutions

Assignee: BOSCH GMBH ROBERTPriority: Mar 5, 2024Filed: Feb 19, 2025Published: Sep 11, 2025
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-modified
What 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.