Neural network processing
AssigneesApical Limited, Arm Limited
InventorsDaren Croxford, Ashley Miles Stevens
Life of this patent
Estimating the term…
Abstract
A data processing system operable to process a neural network, and comprising a plurality of processors. The data processing system is operable to determine whether to perform neural network processing using a single processor or using plural processors. When it is determined that plural processors should be used, a distribution of the neural network processing among two or more of the processors is determined and the two or more processors are each assigned a portion of the neural network processing to perform. A neural network processing output is provided as a result of the processors performing their assigned portions of the neural network processing.
Claims16
A method of operating a data processing system, the data processing system comprising a plurality of processors each operable to perform neural network processing, the method comprising, when performing neural network processing:
- determining whether to perform neural network processing using a single processor or using plural processors of the plurality of processors each operable to perform neural network processing;
- and
- when it is determined that plural processors should be used to perform the neural network processing:
- determining a distribution of the neural network processing to two or more of the processors of the plurality of processors, such that each of the two or more processors is assigned a portion of the neural network processing;
- distributing the portions of the neural network processing to said two or more of the processors according to the determined distribution;
- performing the neural network processing by the two or more of the processors, wherein each of the processors performs neural network processing according to the portion of the neural network processing which it has been assigned, to thereby provide a neural network processing output;
- wherein the determining the distribution of the neural network processing comprises taking account of an amount of time that each of the two or more processors will require to perform the portion of neural network processing which they have been assigned, and determining whether to modify the operation of a processor to modify the amount of time that the processor will take to perform the portion of the neural network processing which it has been assigned;
- and
- when it is determined to modify the operation of the processor, the method further comprising modifying the operation of the processor to modify the amount of time that the processor will take to perform the portion of the neural network processing which it has been assigned.
A method of operating a data processing system, the data processing system comprising a plurality of processors each operable to perform neural network processing and a memory capable of storing data relating to neural network processing, the method comprising, when performing neural network processing:
- determining whether to perform neural network processing using a single processor or using plural processors of the plurality of processors each operable to perform neural network processing;
- and
- when it is determined that plural processors should be used to perform the neural network processing:
- determining a distribution of the neural network processing to two or more of the processors of the plurality of processors, such that each of the two or more processors is assigned a portion of the neural network processing;
- distributing the portions of the neural network processing to said two or more of the processors according to the determined distribution;
- performing the neural network processing by the two or more of the processors, wherein each of the processors performs neural network processing according to the portion of the neural network processing which it has been assigned, to thereby provide a neural network processing output;
- and wherein the method further comprises multiple processors requesting from memory data for performing the portion of neural network processing they have respectively been assigned, wherein the requests from the processors are offset in time.
A method of operating a data processing system, the data processing system comprising a plurality of processors each operable to perform neural network processing and a memory capable of storing data relating to neural network processing, the method comprising, when performing neural network processing:
- determining whether to perform neural network processing using a single processor or using plural processors of the plurality of processors each operable to perform neural network processing;
- and
- when it is determined that plural processors should be used to perform the neural network processing:
- determining a distribution of the neural network processing to two or more of the processors of the plurality of processors, such that each of the two or more processors is assigned a portion of the neural network processing;
- distributing the portions of the neural network processing to said two or more of the processors according to the determined distribution;
- performing the neural network processing by the two or more of the processors, wherein each of the processors performs neural network processing according to the portion of the neural network processing which it has been assigned, to thereby provide a neural network processing output;
- and wherein the method further comprises, when the neural network distribution is such that multiple processors will require the same data stored in memory when performing their assigned portions of neural network processing, only a single processor requesting the data from the memory, and then making the requested data available to all of the multiple processors that require the same data.
Dependencies are inferred from the claim text.