IP Library Granted Patent US 12,423,153
Granted Patent B2
US 12,423,153 · App. 16/694,124 · Granted Sep 23, 2025

Data sharing system and data sharing method therefor

Inventors: Zidong Du (Pudong New Area, CN); Shaoli Liu (Pudong New Area, CN); Zai Wang (Pudong New Area, CN); Tianshi Chen (Pudong New Area, CN); Shuai Hu (Pudong New Area, CN); Xuda Zhou (Pudong New Area, CN)
Assignee: SHANGHAI CAMBRICON INFORMATION TECHNOLOGY CO., LTD.
G06F9/505G01N30/8644G06F1/329G06F9/5038G06F9/5061G06F9/5066G06N3/02G06N3/04G06N5/01G06F2209/5017
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,423,153
App. No.
16/694,124
Granted
Sep 23, 2025
Kind
B2
Abstract

The application provides a processor and processing method. The processor includes a task segmentation device configured to perform task segmentation according to a task segmentation granularity and a hardware resource division device configured to divide hardware resources of the processor according to a task segmentation result. The processor and processing method provided by the application improve the processing performance and reduce the overhead by performing task segmentation and configuring different hardware according to task segmentation.

Claims (50)

1. A processor, comprising

a task segmentation circuit configured to segment a task into multiple subtasks according to a task segmentation granularity; and

a hardware resource division circuit configured to divide hardware resources of the processor respectively for the multiple subtasks,

wherein the task segmentation circuit includes a task segmentation granularity selection circuit configured to determine the task segmentation granularity, and

a granularity task segmentation circuit that includes:

a first granularity task segmentation circuit configured to take the whole task;

a second granularity task segmentation circuit configured to:

divide sample data associated with the task into one or more subset of sample data, and

identify a computation of each subset of sample data as one of the subtasks;

a third granularity task segmentation circuit configured to segment the task according to layer types of a neural network, where computation for layers of the same layer type is identified as one of the subtasks;

a fourth granularity task segmentation circuit configured to segment the task according to an interlayer structure of the neural network, wherein computation for multiple adjacent layers is identified as one of the subtasks; and

a fifth granularity task segmentation circuit configured to segment the task according to intra-layer structures of the neural network to segment computation types in each of the layers of the neural network into subtasks.

2. The processor of claim 1 , further comprising multiple processing elements,

wherein the hardware resource division circuit is configured to divide the multiple processing elements of the processor into multiple computation groups respectively for the multiple subtasks.

3. The processor of claim 2 , wherein the hardware resource division circuit is configured to dynamically adjust the multiple computation groups of the processing elements.

4. The processor of claim 1 , wherein the task segmentation granularity selection circuit is configured to select at least one of the first to fifth granularity task segmentation circuits for task segmentation on the basis of at least one of the number of samples to be processed of the neural network, a topological structure of the neural network and a computation amount of each layer.

5. The processor of claim 4 , further comprising a task scheduling circuit that includes:

a task queue circuit configured to cache unscheduled tasks;

a monitoring circuit configured to monitor the working state of each of multiple cores in the processor in real time; and

a task scheduling circuit configured to select a task to be scheduled from the unscheduled tasks, and allocate and schedule the task to be scheduled to a target core according to the working state of each of the multiple cores.

6. The processor of claim 5 , wherein the task scheduling circuit is configured to allocate and schedule the task to be scheduled to the target core in at least one of the following manners:

counting the number of tasks in a private task queue of each core and selecting the core with the fewest tasks in the private task queue as the target core;

tracking time for completion of all the tasks in the private task queue of each core and selecting the core of which the task completion time is shortest as the target core;

monitoring a distribution condition of resources required by the task to be scheduled in all the cores and selecting the core with the most resources as the target core;

allocating the task to be scheduled to the target core by adopting a heuristic algorithm.

7. A processing method, comprising:

segmenting, by a task segmentation circuit, a task into multiple subtasks according to a task segmentation granularity;

dividing, by a hardware resource division circuit, hardware resources of a processor respectively for the multiple subtasks;

determining, by a task segmentation granularity selection circuit, the task segmentation granularity;

taking, by a first granularity task segmentation circuit of a granularity task segmentation circuit, the whole task;

dividing, by a second granularity task segmentation circuit of the granularity task segmentation circuit, sample data associated with the task into one or more subset of sample data, and

identifying, by the second granularity task segmentation circuit of the granularity task segmentation circuit, a computation of each subset of sample data as one of the subtasks;

segmenting, by a third granularity task segmentation circuit of the granularity task segmentation circuit, the task according to layer types of a neural network, where computation for layers of the same layer type is identified as one of the subtasks;

segmenting, by a fourth granularity task segmentation circuit of the granularity task segmentation circuit, the task according to an interlayer structure of the neural network, wherein computation for multiple adjacent layers is identified as one of the subtasks; and

segmenting, by a fifth granularity task segmentation circuit of the granularity task segmentation circuit, the task according to intra-layer structures of the neural network to segment computation types in each of the layers of the neural network into subtasks.

8. The processing method of claim 7 , wherein dividing, by the hardware resource division circuit, the hardware resources of the processor according to the task segmentation result includes:

dividing, by the hardware resource division circuit, multiple processing elements of the processor into multiple computation groups respectively for the multiple subtasks.

9. The processing method of claim 8 , further comprising dynamically adjusting, by the hardware resource division circuit, the multiple computation groups of the processing elements.

10. The processing method of claim 9 , further comprising selecting, by the task segmentation granularity selection circuit, at least one of multiple granularity task segmentation circuits based on at least one of an amount of sample data to be processed in a neural network, a topological structure of the neural network, and a computation amount of each layer.

11. The processing method of claim 10 , further comprising allocating and scheduling the task after task segmentation, wherein allocating and scheduling the task after the task segmentation includes:

caching unscheduled tasks;

monitoring the working state of each core of the processor in real time; and

selecting a task to be scheduled from the unscheduled tasks, and allocating and scheduling the task to be scheduled to a target core according to the working state of each core.

12. The processing method of claim 11 , wherein allocating and scheduling the task to be scheduled to the target core includes counting a number of tasks in a private task queue of each core and selecting the core with the fewest tasks in the private task queue as the target core.

13. The processing method of claim 11 , wherein allocating and scheduling the task to be scheduled to the target core includes

tracking time for completion of all the tasks in the private task queue of each core and selecting the core of which the task completion time is shortest as the target core.

14. The processing method of claim 11 , wherein allocating and scheduling the task to be scheduled to the target core includes

monitoring a distribution condition of resources required by the task to be scheduled in all the cores and selecting the core with the most resources as the target core.

15. The processing method of claim 11 , wherein allocating and scheduling the task to be scheduled to the target core includes

allocating the task to be scheduled to the target core by adopting a heuristic algorithm.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2019
From: DU, ZIDONG; LIU, SHAOLI; WANG, ZAI; CHEN, TIANSHI; HU, SHUAI; ZHOU, XUDA
To: SHANGHAI CAMBRICON INFORMATION TECHNOLOGY CO., LTD
Reel/Frame 051105/0367 →
Priority Claims (1)
CN 201810467383.1 · May 16, 2018 · national
Continuity (3)
Continuation 16693918 · Nov 25, 2019
Continuation In Part PCTCN2018092829 · Jun 26, 2018
Related Publication 20200089535A1 · Mar 19, 2020
References Cited (73)
US 8402463B2 · Norton · 2013 [cited by examiner]
US 8635412B1 · Wilshire · 2014 [cited by applicant]
US 20050251639A1 · Vishin et al. · 2005 [cited by applicant]
US 20070226718A1 · Watanabe · 2007 [cited by applicant]
US 20090265500A1 · Kyusojin · 2009 [cited by applicant]
US 20100125717A1 · Navon · 2010 [cited by applicant]
US 20120131283A1 · Mital et al. · 2012 [cited by applicant]
US 20160103743A1 · Sanghi et al. · 2016 [cited by applicant]
US 20160179434A1 · Herrero Abellanas et al. · 2016 [cited by applicant]
US 20160217198A1 · Lee et al. · 2016 [cited by applicant]
US 20160335127A1 · Artmeier · 2016 [cited by examiner]
US 20170169812A1 · Lample et al. · 2017 [cited by applicant]
US 20180300616A1 · Ambardekar · 2018 [cited by examiner]
CN 1200513A · 1998 [cited by applicant]
CN 1522402A · 2004 [cited by applicant]
CN 1588425A · 2005 [cited by applicant]
CN 1702858A · 2005 [cited by applicant]
CN 101013410A · 2007 [cited by applicant]
CN 101246466A · 2008 [cited by applicant]
CN 101739867A · 2010 [cited by applicant]
CN 101980149A · 2011 [cited by applicant]
CN 102184157A · 2011 [cited by applicant]
CN 102741828A · 2012 [cited by applicant]
CN 102831011A · 2012 [cited by applicant]
CN 102866912A · 2013 [cited by applicant]
CN 102930866A · 2013 [cited by applicant]
CN 103019656A · 2013 [cited by applicant]
CN 103177733A · 2013 [cited by applicant]
CN 103347037A · 2013 [cited by applicant]
CN 103530600A · 2014 [cited by applicant]
CN 103928023A · 2014 [cited by applicant]
CN 104021042A · 2014 [cited by applicant]
CN 104268603A · 2015 [cited by applicant]
CN 104281540A · 2015 [cited by applicant]
CN 104463101A · 2015 [cited by applicant]
CN 104464423A · 2015 [cited by applicant]
CN 104978971A · 2015 [cited by applicant]
CN 105159762A · 2015 [cited by applicant]
CN 105512723A · 2016 [cited by applicant]
CN 105678253A · 2016 [cited by applicant]
CN 105793830A · 2016 [cited by applicant]
CN 106056212A · 2016 [cited by applicant]
CN 106062786A · 2016 [cited by applicant]
CN 106407145A · 2017 [cited by applicant]
CN 106502806A · 2017 [cited by applicant]
CN 106682702A · 2017 [cited by applicant]
CN 106781784A · 2017 [cited by applicant]
CN 106897248A · 2017 [cited by applicant]
CN 106909971A · 2017 [cited by applicant]
CN 107590531A · 2018 [cited by applicant]
CN 107832768A · 2018 [cited by applicant]
CN 107992329A · 2018 [cited by applicant]
WO 2015042904A1 · 2015 [cited by applicant]
Yao, Xuanxia, Peng Geng, and Xiaojiang Du. “A task scheduling algorithm for multi-core processors.” 2013 International Conference on Parallel and Distributed Computing, Applications and Technologies. IEEE, 2013. (Year: … [cited by examiner]
CN 201710515517.8—Notification to Grant Patent Right for Invention, mailed on Nov. 1, 2022, 5 pages. [cited by applicant]
Communication pursuant to Article 94(3) EPC mailed on Feb. 28, 2023, 7 pages. [cited by applicant]
CN201710515517.8—Office Action, mailed Feb. 23, 2022, 23 pages, (with English translation). [cited by applicant]
CN201810467383.1—Office Action, mailed Aug. 27, 2021, 21 pages, (with English translation). [cited by applicant]
CN201810641721.9—Office Action, mailed Oct. 9, 2021, 13 pages, (with English translation). [cited by applicant]
Goodfellow et al., “Generative Adversarial Nets”, Jun. 10, 2014, 9 pages. [cited by applicant]
EP18824582.3, Response to Extended European Search Report dated Aug. 20, 2020, mailed Feb. 18, 2021, 13 pages. [cited by applicant]
EP18824582.3, Response to the Invitation to File Search Results Pursuant to Rule 70b(1) EPC dated Mar. 1, 2021, filed Mar. 4, 2021, 16 pages. [cited by applicant]
Li Hong, The application of BP Neural Network in Image Correcting Work Based on Matlab Platform, Journal of Langfang Teachers College (Natural Science Edition), vol. 15 No. 1, Feb. 2015, 4 pages. [cited by applicant]
Yu Zijian, et al., “FPGA-Based Accelerator for Convolutional Neural Network”, Computer Engineering, 2017, 7 pages. [cited by applicant]
Shijin Zhang, et. al., “Cambricon-X: An Accelerator for Sparse Neural Networks”, IEEE, 2016, 12 pages. [cited by applicant]
Shaoli Liu, et al., “Cambricon: An Instruction Set Architecture for Neural Networks”, ACM/IEEE, 2016, 13 pages. [cited by applicant]
Shun-Wen Cheng, “Configurable CMOS H-tree Logic Module”, Dept. of Electronic Engineering, Far East University, IEEE, 2009, 4 pages. [cited by applicant]
PCT/CN2018092829, EP18824582.3, Extended European Search Report, mailed Aug. 3, 2020, 9 pages. [cited by applicant]
PCT/CN2018/092829—International Search report and Written Opinion mailed on Sep. 17, 2018, 14 pages. [cited by applicant]
CN202110668344—First Office Action mailed on Jul. 4, 2024, 13 pages. [cited by applicant]
CN201710497394.X—Third Office Action mailed on Apr. 3, 2024, 12 pages. [cited by applicant]
CN202110668344.X—Second Office Action mailed on Dec. 11, 2024, 16 pages. [cited by applicant]
CN202110668344.X—Rejection Decision mailed on Feb. 12, 2025, 13 pages. [cited by applicant]