IP Library Granted Patent US 12,536,434
Granted Patent B2
US 12,536,434 · App. 17/765,322 · Granted Jan 27, 2026

Computing method and apparatus for convolutional neural network model

Inventors: Zhenhua Guo (Jinan, CN); Baoyu Fan (Jinan, CN); Li Wang (Jinan, CN); Kai Gao (Jinan, CN)
Assignee: INSPUR ELECTRONIC INFORMATION INDUSTRY CO., LTD.
G06N3/08G06F7/5443
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,536,434
App. No.
17/765,322
Granted
Jan 27, 2026
Kind
B2
Abstract

A computing method and apparatus for a convolutional neural network model. The method comprises: acquiring a computing model of a training task of a convolutional neural network model (S 101 ); then splitting multiply-accumulate operation in a computing model of a training task of the convolutional neural network model into a plurality of multiply-add operation tasks (S 102 ); confirming a computing device corresponding to each multiply-add operation task according to the correlation between a preset computing model and the computing device (S 103 ); and finally, respectively computing each multiply-add operation task by utilizing the computing device corresponding to each multiply-add operation task (S 104 ). The purposes of improving the flexibility of migration of a CNN model training task on different computing devices or cooperative computing of different processors and improving the computing speed are achieved.

Claims (42)

1 . A computing method of a convolutional neural network model deployed on a super-heterogeneous computing platform with different types of available computing devices, wherein the different types of available computing devices include a CPU, a GPU, an FPGA, and an AI-specific processor, wherein the convolution neural network model comprises a plurality of model layers, and the method comprises:

acquiring a computing model of a training task of a convolutional neural network model;

splitting the multiply-accumulate operation of a layer of the plurality of model layers in the computing model of the training task of the convolutional neural network model into a plurality of multiply-add operation tasks;

identifying a computing device corresponding to each multiply-add operation task from the different types of available computing devices according to a corresponding relationship between a preset computing model and a computing device, wherein the corresponding relationship is preset according to specifically customized computation implementation granularity of each of the different types of available computing devices and modified according to subsequent computing requirements; and

performing computation on each multiply-add operation task of the layer of the plurality of model layers respectively by utilizing the computing device corresponding to each multiply-add operation task, so as to improve the flexibility of migration of the training task of the convolutional neural network model on the different types of available computing devices by cooperative computing and improve the computing speed thereof;

wherein the splitting the multiply-accumulate operation of the layer of the plurality of model layers in the computing model of the training task of the convolutional neural network model into a plurality of multiply-add operation tasks comprises:

splitting the multiply-accumulate operation in a computing model of a training task of the convolutional neural network model into a first-place multiply-add operation task, an intermediate multiply-add operation task, and a last-place multiply-add operation task;

wherein,

the first-place multiply-add operation task comprises a multiplication computation during forward propagation computation and comprises a multiplication computation and an addition computation during backward propagation computation;

the intermediate multiply-add operation task comprises a multiplication computation and an addition computation; and

the last-place multiply-add operation task comprises a multiplication computation and an addition computation during forward propagation computation and comprises a multiplication computation during backward propagation computation;

the performing computation on each multiply-add operation task of the layer of the plurality of model layers respectively by utilizing the computing device corresponding to each multiply-add operation task further comprises:

judging that a current load rate of a computing device corresponding to the multiply-add operation task is greater than a load rate threshold corresponding to a computing device corresponding to the multiply-add operation task; and

calling a currently available computing device to compute the multiply-add operation task if the current load rate of a computing device corresponding to the multiply-add operation task is greater than the load rate threshold corresponding to a computing device corresponding to the multiply-add operation task.

2 . The method according to claim 1 , wherein, the acquiring a computing model of a training task of a convolutional neural network model comprises:

acquiring a training task of a convolutional neural network model; and

processing the training task of a convolutional neural network model by utilizing a deep learning framework to generate a data flow diagram;

wherein the data flow diagram is taken as a computing model of a training task of the convolutional neural network model.

3 . The method according to claim 1 , further comprising the following step after splitting the multiply-accumulate operation of the layer of the plurality of model layers in the computing model of the training task of the convolutional neural network model into a plurality of multiply-add operation tasks:

adding an identifier to each multiply-add operation task;

wherein, the identifier is configured to mark the position of each multiply-add operation task in the computing model of the training task of the convolutional neural network model.

4 . A non-transitory storage medium, having a computer program stored therein, wherein the computer program, when executed by a computer, causes the computer to perform the following steps:

acquiring a computing model of a training task of a convolutional neural network model deployed on a super-heterogeneous computing platform with different types of available computing devices, wherein the different types of available computing devices include a CPU, a GPU, an FPGA, and an AI-specific processor, wherein the convolution neural network model comprises a plurality of model layers;

splitting the multiply-accumulate operation of a layer of the plurality of model layers in the computing model of the training task of the convolutional neural network model into a plurality of multiply-add operation tasks;

identifying a computing device corresponding to each multiply-add operation task from the different types of available computing devices according to a corresponding relationship between a preset computing model and a computing device, wherein the corresponding relationship is preset according to specifically customized computation implementation granularity of each of the different types of available computing devices and can be modified according to subsequent computing requirements; and

performing computation on each multiply-add operation task of the layer of the plurality of model layers respectively by utilizing the computing device corresponding to each multiply-add operation task, so as to improve the flexibility of migration of the training task of the convolutional neural network model on the different types of available computing devices by cooperative computing and improve the computing speed thereof;

wherein the splitting the multiply-accumulate operation of the layer of the plurality of model layers in the computing model of the training task of the convolutional neural network model into a plurality of multiply-add operation tasks comprises:

splitting the multiply-accumulate operation in a computing model of a training task of the convolutional neural network model into a first-place multiply-add operation task, an intermediate multiply-add operation task, and a last-place multiply-add operation task;

wherein,

the first-place multiply-add operation task comprises a multiplication computation during forward propagation computation and comprises a multiplication computation and an addition computation during backward propagation computation;

the intermediate multiply-add operation task comprises a multiplication computation and an addition computation; and

the last-place multiply-add operation task comprises a multiplication computation and an addition computation during forward propagation computation and comprises a multiplication computation during backward propagation computation;

the performing computation on each multiply-add operation task of the layer of the plurality of model layers respectively by utilizing the computing device corresponding to each multiply-add operation task further comprises:

judging that a current load rate of a computing device corresponding to the multiply-add operation task is greater than a load rate threshold corresponding to a computing device corresponding to the multiply-add operation task; and

calling a currently available computing device to compute the multiply-add operation task if the current load rate of a computing device corresponding to the multiply-add operation task is greater than the load rate threshold corresponding to a computing device corresponding to the multiply-add operation task.

5 . The non-transitory storage medium according to claim 4 , wherein, the acquiring a computing model of a training task of a convolutional neural network model comprises:

acquiring a training task of a convolutional neural network model; and

processing the training task of a convolutional neural network model by utilizing a deep learning framework to generate a data flow diagram;

wherein the data flow diagram is taken as a computing model of a training task of the convolutional neural network model.

6 . The non-transitory storage medium according to claim 4 , wherein, after splitting the multiply-accumulate operation of the layer of the plurality of model layers in the computing model of the training task of the convolutional neural network model into a plurality of multiply-add operation tasks, the computer is further caused to perform the following step:

adding an identifier to each multiply-add operation task;

wherein, the identifier is configured to mark the position of each multiply-add operation task in the computing model of the training task of the convolutional neural network model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2022
From: GUO, ZHENHUA; FAN, BAOYU; WANG, LI; GAO, KAI
To: INSPUR ELECTRONIC INFORMATION INDUSTRY CO., LTD.
Reel/Frame 059446/0792 →
Priority Claims (1)
CN 201911022124.9 · Oct 25, 2019 · national
Continuity (1)
Related Publication 20220343166A1 · Oct 27, 2022
References Cited (16)
US 10019668B1 · Woo · 2018 [cited by examiner]
US 11599798B2 · Hu · 2023 [cited by examiner]
US 20160321777A1 · Jin et al. · 2016 [cited by applicant]
US 20180307495A1 · Ould-Ahmed-Vall · 2018 [cited by examiner]
US 20180322606A1 · Das et al. · 2018 [cited by applicant]
US 20190138891A1 · Kim et al. · 2019 [cited by applicant]
US 20210350214A1 · Li · 2021 [cited by examiner]
US 20220391665A1 · Zhang · 2022 [cited by examiner]
CN 104978601 · 2015 [cited by applicant]
CN 105630882 · 2016 [cited by applicant]
CN 110210378 · 2019 [cited by applicant]
Lu, et al. (Nov. 14, 2018) “Tetris: Re-architecting Convolutional Neural Network Computation for Machine Learning Accelerators,” arXiv.1811.06841v1 (Year: 2018). [cited by examiner]
Xu, et al. (Jul. 23, 2018) “DeltaRNN: A Power-efficient Recurrent Neural Network Accelerator” ISLPED '18: Proceedings of the International Symposium on Low Power Electronics and Design, Article No. 37, p. 1-6 (Year: 201… [cited by examiner]
European Patent Office, Extended European Search Report, Mar. 11, 2022, pp. 1-11 [cited by applicant]
China National Intellectual Property Administration, International Search Report, PCT/CN2019/121104, Jul. 27, 2020, pp. 1-6. [cited by applicant]
Patent Cooperation Treaty, Written Opinion of the International Searching Authority, PCT/CN2019/121104, Jul. 27, 2020, pp. 1-7. [cited by applicant]