IP Library Granted Patent US 12,086,711
Granted Patent B2
US 12,086,711 · App. 17/209,279 · Granted Sep 10, 2024

Data dividing method and processor for convolution operation

Inventors: Cheng-Wei Zheng (Shanghai, CN); Hu He (Shanghai, CN); Wei Zhu (Shanghai, CN)
Assignee: SIGMASTAR TECHNOLOGY LTD.
G06N3/08G06N3/063
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,086,711
App. No.
17/209,279
Granted
Sep 10, 2024
Kind
B2
Abstract

A data dividing method applied to a computing device that performs a convolution operation based on an input image data and a weight data is provided. The method includes: determining a restriction condition in connection with the performing of the convolution operation by the computing device; determining a set of candidate data blocks for the input image data and a set of candidate data blocks for the weight data according to the restriction condition; generating an evaluation result by evaluating, according to candidate data blocks in the set of candidate data blocks for the input image data and the set of candidate data blocks for the weight data, an amount of data load of the computing device in accessing both an external memory and an internal memory of the computing device; and determining a method of dividing the input image data and the weight data according to the evaluation result.

Claims (23)

1. A data dividing method applied to a convolution operation and performed by a processor, comprising:

determining a restriction condition in connection with performing of the convolution operation;

determining a dividing size for each dimension corresponding to each data according to the restriction condition;

dividing each of the dimensions corresponding to each data according to the dividing size to obtain a set of candidate sub-data blocks for each of the dimensions corresponding to each data;

combining each candidate sub-data block in the set of candidate sub-data blocks for each dimension with each candidate sub-data block in the sets of candidate sub-data blocks for other dimensions to obtain a set of candidate data blocks for each data; and

inputting each of the sets of the candidate data blocks into a preset cost function, respectively, and selecting the candidate data block corresponding to a smallest output value of the cost function as a target data block, and using the target data block as the dividing method of the data;

wherein the restriction condition comprises the number of parallel channels and the number of memory units in the on-chip memory allocated for each data;

wherein the step of inputting each of the sets of candidate data blocks into the preset cost function, respectively, comprises:

removing invalid candidate data blocks from each of the sets of candidate data blocks according to the number of memory units allocated for each data to obtain a set of valid candidate data blocks; and

inputting each of the sets of valid candidate data blocks into the cost function, respectively;

wherein the step of inputting each of the sets of valid candidate data blocks into the cost function, respectively, comprises:

determining a valid candidate data block combination for each valid candidate data block in the set of valid candidate data blocks according to an order of the dimensions of the convolution operation to obtain a set of valid candidate data block combinations for each data; and

inputting each of the sets of valid candidate data block combinations into the cost function, respectively.

2. The data dividing method of claim 1 , wherein the step of dividing each of the dimensions corresponding to each data according to the dividing size to obtain the set of candidate sub-data blocks for each of the dimensions corresponding to each data comprises:

obtaining the set of candidate sub-data blocks by dividing, according to the dividing size, three dimensions, which are an output width, an output height, and a number of output channels, corresponding to the output data, and dividing, according to the dividing size, four dimensions, which are the output width, the output height, a number of input channels, and the number of output channels, corresponding to a weight data.

3. A data dividing method applied to a convolution operation and performed by a processor, comprising:

determining a restriction condition in connection with performing of the convolution operation;

determining a dividing size for each dimension corresponding to each data according to the restriction condition;

dividing each of the dimensions corresponding to each data according to the dividing size to obtain a set of candidate sub-data blocks for each of the dimensions corresponding to each data;

combining each candidate sub-data block in the set of candidate sub-data blocks for each dimension with each candidate sub-data block in the sets of candidate sub-data blocks for other dimensions to obtain a set of candidate data blocks for each data; and

inputting each of the sets of the candidate data blocks into a preset cost function, respectively, and selecting the candidate data block corresponding to a smallest output value of the cost function as a target data block, and using the target data block as the dividing method of the data;

wherein the step of dividing each of the dimensions corresponding to each data according to the dividing size to obtain the set of candidate sub-data blocks for each of the dimensions corresponding to each data comprises:

obtaining the set of candidate sub-data blocks by dividing, according to the dividing size, three dimensions, which are an output width, an output height, and a number of output channels, corresponding to the output data, and dividing, according to the dividing size, four dimensions, which are the output width, the output height, a number of input channels, and the number of output channels, corresponding to a weight data.

Assignments (2)
CHANGE OF NAME Recorded Sep 14, 2021
From: XIAMEN SIGMASTAR TECHNOLOGY LTD.
To: SIGMASTAR TECHNOLOGY LTD.
Reel/Frame 057512/0546 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2021
From: ZHENG, CHENG-WEI; HE, HU; ZHU, WEI
To: XIAMEN SIGMASTAR TECHNOLOGY LTD.
Reel/Frame 055680/0511 →
Priority Claims (1)
CN 202010279132.8 · Apr 10, 2020 · national
Continuity (1)
Related Publication 20210350230A1 · Nov 11, 2021
Cited By (1)
US 12,657,174