WO2019079994A1 - Procédé et terminal de programmation de cœur - Google Patents

Procédé et terminal de programmation de cœur

Info

Publication number
WO2019079994A1
WO2019079994A1 PCT/CN2017/107614 CN2017107614W WO2019079994A1 WO 2019079994 A1 WO2019079994 A1 WO 2019079994A1 CN 2017107614 W CN2017107614 W CN 2017107614W WO 2019079994 A1 WO2019079994 A1 WO 2019079994A1
Authority
WO
WIPO (PCT)
Prior art keywords
core
weight value
cores
neural network
convolutional neural
Prior art date
Application number
PCT/CN2017/107614
Other languages
English (en)
Chinese (zh)
Inventor
曹海恒
谭利文
杜明亮
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN201780064697.0A priority Critical patent/CN109937410B/zh
Priority to PCT/CN2017/107614 priority patent/WO2019079994A1/fr
Publication of WO2019079994A1 publication Critical patent/WO2019079994A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers

Definitions

  • Embodiments of the present invention relate to the field of chip systems, and in particular, to a core scheduling method and a terminal.
  • Convolutional neural network is a feedforward neural network whose artificial neurons can respond to a part of the coverage of surrounding cells and have excellent performance for large image processing.
  • CNN Convolutional neural network
  • the system chip on the terminal In order to improve the computing power of the terminal, the system chip on the terminal often includes multiple heterogeneous cores to perform different services using different cores.
  • Embodiments of the present invention provide a core scheduling method and a terminal, which are used to provide an adapted core for a convolutional neural network model.
  • a first aspect of the embodiments of the present invention provides a core scheduling method, including: acquiring target model parameters, wherein the target model parameters are used to represent a computing density of a convolutional neural network model. Convolutional neural network models of different computational densities are suitable for operation on different cores. Then, determining, according to the target model parameter, a core weight value of at least two cores from the preset first correspondence, the core weight values of the at least two cores corresponding to the target model parameters, the at least two cores being on the terminal Heterogeneous cores, heterogeneous cores on the terminal have different hardware characteristics, so different cores are suitable for running convolutional neural network models with different computational densities.
  • the first correspondence relationship includes a correspondence relationship between the target model parameter and the core weight values of the at least two cores, and the core weight value is used to indicate that the core is selected to run the convolutional neural network model, so that the core weight value can be
  • a core adapted to operate the convolutional neural network model is determined such that a core of the running convolutional neural network model is determined from at least two cores based on core weight values of at least two cores.
  • the use of the core weight value may be directly used, that is, directly determining the core with the largest core weight value to run the convolutional neural network model; or indirectly using the core weight value, For example, using other parameters to correct the core weight value, the corrected weight value is obtained, and then the modified weight value is used to determine the core of the running convolutional neural network model.
  • the core of the adaptation can be determined to run a convolutional neural network model with a specific computational density. If the core with a larger core weight value can run the convolutional neural network model efficiently, according to the core The core determined by the weight value can run the convolutional neural network model efficiently.
  • the method of the implementation manner further includes: acquiring a current state parameter of the terminal, where the state parameter is dynamically changed. parameter. Therefore, the current state parameter obtained may reflect the core operating environment on the terminal, and different operating environments may also affect different core running convolutional neural network models.
  • the parameter weight values of the at least two cores are determined from the preset second correspondence according to the state parameter, and the parameter weight values of the at least two cores correspond to the state parameters, wherein the second correspondence includes the state parameters and
  • the parameter weight value is used to indicate the priority of the core selected to run the convolutional neural network model under the state parameter. In this way, the parameter weight value reflects the influence of the dynamic environmental factors on the terminal on the core running convolutional neural network mode.
  • the core of the running convolutional neural network model determines, according to the core weight values of the at least two cores, the core of the running convolutional neural network model from the at least two cores, comprising: for each core, correcting the core weight values by using the parameter weight values to obtain the first modified weight value,
  • the first modified weight value is used to indicate the priority at which the core is selected to run the convolutional neural network model.
  • the first modified weight value has the influencing factor of the core weight value, and also has the influencing factor of the parameter weight value.
  • the core of the running convolutional neural network model is determined from at least two cores according to the first modified weight value of the at least two cores. It will be possible to identify the core that is more suitable for running the convolutional neural network model.
  • the current state parameter of the obtained terminal may reflect the current dynamic operating environment factor of the terminal, and the parameter weight value of each core may be determined according to the state parameter and the second correspondence relationship, and the parameter weight value reflects the state on the terminal.
  • the influence of parameters on the core running convolutional neural network model the core of the core weight value is more suitable for running the convolutional neural network model under the state parameter, so that the more preferential scheduling is used to run the convolutional neural network model.
  • the first modified weight value obtained by modifying the core weight value by using the state parameter has more factors, and more reflects the appropriateness of the core running convolutional neural network model, so that the core pair running volume determined according to the first modified weight value
  • the product neural network model has better running results.
  • the current state parameter of the terminal is the current core usage rate of each core. Therefore, determining, according to the state parameter, the parameter weight value of the at least two cores from the preset second correspondence, including: determining, for each core, a performance weight value from the preset second correspondence according to the core usage rate, The performance weight value of each core corresponds to the core usage rate of each core.
  • the performance weight value is used to indicate the priority of the core selected to run the convolutional neural network model under the core core usage rate of the core, and the second correspondence relationship includes the core usage rate of each core and the performance weight of each core.
  • the core weight value thus determined reflects the extent to which the core core usage rate affects the running convolutional neural network.
  • the obtained state parameter is the core usage rate
  • the performance weight value determined according to the core usage rate and the second correspondence relationship is used, and the core core usage rate is used as one of the reference factors of the scheduling core, and the performance weight value is used to correct the value.
  • the first modified weight value obtained from the core weight value can take into account the impact of core usage on the running convolutional neural network model.
  • the method of the implementation manner further includes: acquiring a current remaining power value of the terminal. Then, according to the remaining power value, the power consumption weight values of the at least two cores are determined from the preset third correspondence, and the power consumption weight values of the at least two cores correspond to the remaining power values.
  • the third correspondence includes a remaining power value and a power consumption of at least two cores. The correspondence of the weight values, the power consumption weight value is used to indicate the priority of the core selected to run the convolutional neural network model under the remaining power value.
  • the power weight value determined in this way can reflect the degree of influence of the remaining power of the terminal on the running convolutional neural network model.
  • determining, according to the first modified weight value of the at least two cores, determining a core of the running convolutional neural network model from the at least two cores comprising: correcting the first modified weight value by using the power consumption weight value for each core, A second modified weight value is used to indicate a priority level at which the core is selected to run the convolutional neural network model. Then, the core of the running convolutional neural network model is determined from at least two cores based on the second modified weight values of the at least two cores.
  • the power consumption weight value of each core is determined by the current remaining power value of the terminal and the third correspondence relationship, and the second modified weight value obtained by correcting the first modified weight value by using the power consumption weight value further considers the remaining of the terminal.
  • the method of the implementation manner further includes: acquiring a current core usage rate of each core, and then, for each The core determines performance parameters from the second correspondence according to the core usage rate, and the performance parameters of each core correspond to the core usage rate of each core.
  • the second correspondence includes a correspondence between performance parameters of each core and core usage of each core.
  • the core has different operation requirements under different core usage rates. Through the preset of the second correspondence relationship, the core operation modes of different core usage rates can be controlled through different performance parameters.
  • the method of the implementation manner further comprises: performing convolution on the target core using the performance parameters of the target core.
  • the neural network model, the core of the target is the core of the running convolutional neural network model.
  • the specific operating mode of the core can be controlled through specific performance parameters, so that the core of the running convolutional neural network model can be operated in a user-set manner to meet the user's control requirements for the core.
  • the performance parameter includes one of thread priority information, sleep time information, and thread number information.
  • the thread priority information is the priority information of the child thread when the core runs the convolutional neural network model
  • the sleep time information is the time when the core runs two convolutional neural network models
  • the thread number information is used when the core runs the convolutional neural network model. The number of threads information.
  • the current state parameter of the terminal is the current remaining power value of the terminal, so that, according to the state parameter, Determining the parameter weight values of the at least two cores from the preset second correspondence, including: determining, according to the remaining power value, the power consumption weight values of the at least two cores from the preset second correspondence, the at least two The power consumption weight value corresponds to the remaining power value, wherein the power consumption weight value is used to indicate the priority of the core selected to run the convolutional neural network model under the remaining power value, and the second correspondence includes the remaining power value and The correspondence between the power weight values of at least two cores.
  • the power weight value determined in this way reflects the current residual power value of the terminal and runs a convolutional neural network model on different cores. The extent of the impact.
  • the obtained state parameter is the remaining power value of the terminal, so that the power consumption weight value determined according to the remaining power value and the second correspondence relationship is used as one of the consideration factors of the scheduling core, and the power consumption is used.
  • the first modified weight value obtained by modifying the core weight value of the weight value can take into account the influence of the remaining power of the terminal on the running convolutional neural network model.
  • any one of the first to sixth implementation manners of the first aspect of the embodiments of the present invention in a seventh implementation manner of the first aspect of the embodiments of the present invention
  • the target model parameter is the number of weight parameters of the convolutional neural network model.
  • the number of weight parameters can accurately reflect the computational density of the convolutional neural network model.
  • any one of the first to seventh implementation manners of the first aspect of the embodiment of the present invention, in an eighth implementation manner of the first aspect of the embodiment of the present invention At least two cores include at least two of a CPU, a GPU, a DSP, and a pulsating array processor.
  • the pulsating array processor may include, for example, a neural network processor NPU or a tensor processor TPU or the like.
  • These computing cores have different characteristics.
  • the implementation of the same convolutional neural network model can have different execution efficiencies, and the core scheduling method of the embodiments of the present invention can be effectively used for these cores to effectively determine the core with excellent operation.
  • any one of the first to eighth implementation manners of the first aspect of the embodiment of the present invention, in a ninth implementation manner of the first aspect of the embodiment of the present invention And determining, according to the target model parameter, the core weight value of the at least two cores from the preset first correspondence, including: determining, in the preset first correspondence, determining a target model parameter interval in which the target model parameter is located, and then, In the first correspondence, determining a core weight value interval of the at least two cores, where the core weight value interval of the at least two cores corresponds to the target model parameter interval, wherein the first correspondence includes the target model parameter interval and at least two The correspondence between the core core weight value intervals and the target model parameter interval includes the target model parameters. And, for each core, the core weight value is determined from the core weight value interval, and the position of the core weight value in the core weight value interval is the same as the position of the target model parameter in the target model parameter interval.
  • the target model parameter interval and the core weight value interval in the first correspondence relationship are numerical ranges, which can cover more specific parameters, and determine the core weight values of the at least two cores more accurately by means of position mapping. Reflecting the correspondence with the target model parameters, and the core weight values between different cores are easier to distinguish, so that the core weight value can better reflect the priority of the core selection.
  • an embodiment of the present invention provides a core scheduling method, including:
  • a core weight value of at least two cores from a preset first correspondence, the core weight values of the at least two cores corresponding to the target model parameter, the at least two cores a heterogeneous core on the terminal, the first correspondence relationship comprising a correspondence between the target model parameter and a core weight value of the at least two cores, the core weight value being used to indicate that the core is selected to run the convolution The priority of the neural network model.
  • the convolutional neural network model is assigned to run on different cores based on the core weight values of the at least two cores.
  • an embodiment of the present invention provides a core scheduling method, including:
  • the task type parameter is used to indicate a type of the computing task
  • a core weight value of at least two cores from a preset fourth correspondence relationship, where the core weight values of the at least two cores correspond to the task type parameter, the at least two cores a heterogeneous core on the terminal, where the fourth correspondence includes a correspondence between the task type parameter and a core weight value of the at least two cores, where the core weight value is used to indicate that the core is selected to run the computing task Priority
  • an embodiment of the present invention provides a terminal, where the terminal has the function of a host in the foregoing method.
  • This function can be implemented in hardware or in hardware by executing the corresponding software.
  • the hardware or software includes one or more modules corresponding to the functions described above.
  • the terminal includes:
  • An obtaining unit configured to acquire a target model parameter, where the target model parameter is used to represent a calculated density of a convolutional neural network model
  • a weight value determining unit configured to determine, according to the target model parameter, a core weight value of at least two cores from a preset first correspondence, where the core weight values of the at least two cores correspond to the target model parameter
  • the at least two cores are heterogeneous cores on the terminal, and the first correspondence relationship includes a correspondence between the target model parameters and core weight values of the at least two cores, where the core weight values are used to indicate that the core is Selecting the priority to run the convolutional neural network model;
  • a core determining unit configured to determine, according to the core weight values of the at least two cores, a core that runs the convolutional neural network model from the at least two cores.
  • the terminal includes: a processor and a memory.
  • the processor may be configured to support a terminal to perform a corresponding function in the method of the first aspect described above.
  • the processor is configured to: acquire target model parameters, the target model parameters are used to represent a computing density of a convolutional neural network model; and determine at least two from the preset first correspondence according to the target model parameters Core core weight values, the core weight values of the at least two cores correspond to the target model parameters, the at least two cores are heterogeneous cores on the terminal, and the first correspondence relationship includes the target model a correspondence between the parameter and the core weight value of the at least two cores, the core weight value being used to indicate a priority of the core selected to run the convolutional neural network model; according to the core weight values of the at least two cores, A core running the convolutional neural network model is determined from the at least two cores.
  • an embodiment of the present invention provides a computer readable storage medium having instructions stored therein that, when run on a computer, cause the computer to perform the methods described in the above aspects.
  • an embodiment of the present invention provides a computer program product comprising instructions that, when run on a computer, cause the computer to perform the methods described in the above aspects.
  • a chip arrangement comprising a processing unit for performing the method of the first aspect described above.
  • a chip arrangement comprising a processor and a memory.
  • the memory includes instructions that the processor runs to perform the methods described in the various aspects above.
  • a chip system comprising a processor for supporting a terminal to implement the functions involved in the above first to third aspects, such as transmitting or processing data and/or information involved in the above method .
  • the chip system further includes a memory for storing necessary program instructions and data of the network device.
  • the chip system can be composed of chips, and can also include chips and other discrete devices.
  • the target model parameter is obtained, wherein the target model parameter is used to represent the calculation density of a convolutional neural network model, and then determined according to the target model parameter from the preset first correspondence relationship.
  • At least two core core weight values the core weight values of the at least two cores correspond to target model parameters, the at least two cores are heterogeneous cores on the terminal, wherein the first correspondence relationship includes target model parameters and at least two The core core weight values are used to indicate the priority at which the core is selected to run the convolutional neural network model.
  • the core of the running convolutional neural network model is determined from at least two cores based on the core weight values of the at least two cores.
  • the heterogeneous core features on the terminal are different, and different cores are suitable for running convolutional neural network models with different computational densities.
  • the first correspondence relationship includes a correspondence relationship between the target model parameter and the core weight value of at least two cores, wherein the target model parameter is used to represent a calculation density of a convolutional neural network model,
  • At least two cores are heterogeneous cores on the terminal, and after obtaining the target model parameters of a convolutional neural network model, at least two cores may be determined from the preset first correspondence according to the target model parameters. Core weight value.
  • the core weight value is used to indicate the priority at which the core is selected to run the convolutional neural network model, and the core weight value can be used to determine the core suitable for running the convolutional neural network model.
  • the core of the running convolutional neural network model can be determined from at least two cores according to the core weight values of at least two cores.
  • the core of the adaptation can be determined to run a convolutional neural network model with specific computational density. If the core with higher core weight value can run the convolutional neural network model efficiently, according to the core weight value The identified core can run the convolutional neural network model efficiently.
  • FIG. 1 is a schematic diagram of a convolutional neural network according to an embodiment of the present invention.
  • FIG. 2 is a schematic diagram of a unit of a convolutional neural network according to another embodiment of the present invention.
  • FIG. 3 is a usage scenario diagram related to a core scheduling method according to another embodiment of the present invention.
  • FIG. 4 is a flowchart of a method for a core scheduling method according to another embodiment of the present invention.
  • FIG. 5 is a flowchart of a method for a core scheduling method according to another embodiment of the present invention.
  • FIG. 6 is a schematic structural diagram of hardware of a terminal according to another embodiment of the present disclosure.
  • FIG. 7 is a schematic structural diagram of a terminal according to another embodiment of the present invention.
  • the convolutional neural network is a feedforward neural network whose artificial neurons can respond to a surrounding area of a part of the coverage and have excellent performance for large image processing.
  • a convolutional neural network consists of one or more convolutional layers and a fully connected layer at the top (corresponding to a classical neural network), including associated weights and pooling layers.
  • This structure enables the convolutional neural network to take advantage of the two-dimensional structure of the input data.
  • convolutional neural networks can give better results in terms of image and speech recognition.
  • This model can also be trained using backpropagation algorithms.
  • convolutional neural networks require fewer parameters to estimate, making them an attractive deep learning structure.
  • Convolutional neural networks differ from ordinary neural networks in that the convolutional neural network consists of a feature extractor consisting of a convolutional layer and a subsampling layer.
  • the convolutional layer of a convolutional neural network one neuron is only connected to a portion of the adjacent layer neurons.
  • a convolutional layer of CNN there are usually several feature maps. Each feature plane is composed of a number of rectangularly arranged neurons. The neurons of the same feature plane share weights. The weights shared here are convolutions. nuclear.
  • the convolution kernel is generally initialized in the form of a random fractional matrix, and the convolution kernel will learn to obtain reasonable weights during the training process of the network.
  • the immediate benefit of shared weights is the reduction of connections between layers of the network while reducing the risk of overfitting.
  • Subsampling is also called pooling. It usually has two forms: mean pooling and max pooling. Subsampling can be seen as a special convolution process. Convolution and subsampling greatly simplify the model complexity and reduce the parameters of the model.
  • Neural networks including convolutional neural networks, consist of multiple layer stacks, each consisting of nodes. The operation is performed in a node whose mode of operation is roughly similar to that of a human neuron, and activates and releases a signal when sufficient stimulus information is encountered.
  • a node combines input data with a set of coefficients (or weight parameters) to specify its importance in the algorithm learning task by amplifying or suppressing the input. As shown in FIG. 1, input bit 1, and X 1 to X m are input data, and W 0 to Wm are weight parameters. The sum of the product of the input data and the weight parameter will enter the activation function of the node, determine whether the signal continues to be transmitted in the network, and the distance passed, thereby determining how the signal affects the final result of the network.
  • the unit of the convolutional neural network can be as shown in Figure 2, where h(x) is the output data and X 1 to X m are the input data.
  • a neural network model is formed.
  • convolutional neural networks have been applied in many directions, such as speech recognition, face recognition, general object recognition, motion analysis, and natural language processing.
  • convolutional neural networks have more and more applications on mobile terminals.
  • the application forms of smart albums include image classification, feature extraction, face clustering, etc.
  • the computational characteristics of these applications include a large number of matrix operations.
  • the convolutional neural network model is a specific network model (or arithmetical calculation) obtained after training the convolutional neural network.
  • the method of convolutional neural network has the characteristics of convolutional neural network.
  • the convolutional neural network model has specific computational density and can be used to execute specific application services.
  • the device has a variety of cores (also known as processors or computing units) that form the system chip.
  • the core of the embodiments of the present invention mainly relates to heterogeneous cores, and the types of these cores include but are not limited to the following:
  • CPU Central Processing Unit
  • Core computing core
  • control unit of a computer. Its function is mainly to explain computer instructions and to process data in computer software.
  • GPU Graphics Processing Unit
  • display core visual processor
  • display chip is a kind of personal computer, workstation, game console and some mobile devices (such as tablet, smart phone, etc.)
  • mobile devices such as tablet, smart phone, etc.
  • DSP Digital Signal Processor
  • a pulsating array processor is an application specific chip (ASIC) that employs a systolic array structure in which data is "flowing" rhythmically between processing units of the array in a predetermined “flowing” manner. .
  • ASIC application specific chip
  • all processing units process the data flowing through it in parallel at the same time, so that it can achieve high parallel processing speed.
  • the pulsating array processor may specifically be a Neural Network Processor (NPU), a Tensor Processing Unit (TPU), an Intelligent Processing Unit (IPU), or the like.
  • NPU Neural Network Processor
  • TPU Tensor Processing Unit
  • IPU Intelligent Processing Unit
  • NPU Neural-network Processing Unit
  • the NPU realizes the integration of storage and computation through synaptic weights, thereby greatly improving the operational efficiency.
  • TPU Tensor Processing Unit
  • Artificial intelligence is designed to give people the intelligence of machines. Machine learning is a powerful way to implement artificial intelligence. The so-called machine learning, that is, the study of how to let computers automatically learn the subject.
  • TPU is such a chip dedicated to machine learning. It can be a programmable artificial intelligence (AI) accelerator for the Tensorflow platform, which is essentially an accelerator of a pulsating array structure. Its internal instruction set can also be run when the Tensorflow program changes or updates the algorithm.
  • the TPU can provide high-throughput, low-precision calculations for forward modeling of models rather than model training, and with higher energy efficiency (TOPS/w).
  • the TPU can also be called an Intelligent Processing Unit (IPU).
  • IPU Intelligent Processing Unit
  • FIG. 3 is a usage scenario diagram related to a core scheduling method according to an embodiment of the present invention.
  • a system on chip SoC
  • the system chip includes at least two cores, and the at least two cores are heterogeneous cores.
  • the at least two cores may include a CPU, a GPU, a DSP, a pulse array processor, and the like.
  • Pulsating array Column processors include, but are not limited to, neural network processors, tensor processors, and the like. These chips can be called cores for calculations on the terminal. Among them, different cores have different energy efficiency ratios.
  • the terminal can perform different application services by using a specific algorithm.
  • the method in the embodiment of the present invention involves running a convolutional neural network model, and the terminal can perform different application services using the convolutional neural network model.
  • the terminal When the terminal performs the unused application service, it encounters different requirements.
  • the real-time scene application (such as camera preview) requires real-time recognition of the image, and the performance requirement is high; and the library classifies the imported image in the background.
  • the real-time requirements for the operation are lower, and the requirement is to reduce the power consumption.
  • the terminal runs a specific convolutional neural network model, it needs to perform effective core scheduling according to computing requirements (for example, performance, power consumption, etc.), and the scheduling core runs the convolutional neural network model to perform specific services. This would be beneficial for the execution of application services on the terminal, such as producing more efficient or energy efficient execution effects.
  • an embodiment of the present invention provides a core scheduling method for providing an adaptive core for a convolutional neural network model to efficiently run the convolutional neural network model.
  • FIG. 4 is a flowchart of a method for a core scheduling method according to an embodiment of the present invention. Referring to the above content and FIG. 4, the method of the embodiment of the present invention includes:
  • Step 401 Acquire target model parameters.
  • the target model parameters are used to represent the computational density of a convolutional neural network model.
  • the terminal acquires the target model parameters, and the calculated density of the specific convolutional neural network model can be determined by the target model parameters. Because different cores are suitable for running convolutional neural network models with different computational densities, the core can be selected according to the target model parameters to run a convolutional neural network model with the target model parameters.
  • the target model parameter is the number of weight parameters of the convolutional neural network model.
  • the target model parameter can also be the number of layers of the convolutional neural network model, and the number of layers of the convolutional neural network model can represent the depth of the convolutional neural network model.
  • the target model parameters can also be other parameters, which can reflect the computational density of the convolutional neural network model.
  • the computational density of the convolutional neural network model can also be called the complexity of the convolutional neural network model.
  • step 401 There are various implementations of step 401. Several examples are given below, as follows:
  • Example 1 The terminal acquires a convolutional neural network model, and analyzes the convolutional neural network model to obtain the target model parameters of the convolutional neural network model.
  • Example 2 The analysis device acquires a convolutional neural network model, and the parsing device parses the convolutional neural network model to obtain a target model parameter of the convolutional neural network model, and then the parsing device sends the target model parameter to the terminal, so that the terminal acquires Go to the target model parameters.
  • Step 402 Determine core weight values of at least two cores from the preset first correspondence according to the target model parameters.
  • the core weight value of the at least two cores corresponds to a target model parameter, and the at least two cores are heterogeneous cores on the terminal, where the first correspondence relationship includes a correspondence between the target model parameter and the core weight values of the at least two cores. Relationship, The core weight value is used to indicate the priority at which the core is selected to run the convolutional neural network model.
  • the terminal is preset with a first correspondence, where the first correspondence includes a correspondence between the target model parameter and the core weight values of the at least two cores.
  • the terminal may determine the core weight values of the at least two cores from the first correspondence according to the target model parameters, and determine the core weight values of the at least two cores.
  • the correspondence between the core weight values of the at least two cores and the target model parameters is the correspondence between the target model parameters included in the first correspondence relationship and the core weight values of the at least two cores.
  • the core weight value is used to indicate the priority at which the core is selected to run the convolutional neural network model so that the terminal can utilize the core weight value to implement a suitable kernel for scheduling to run the convolutional neural network model. For example, if the first core runs a convolutional neural network model with a specific computational density more efficiently than the second core runs the convolutional neural network model, in other words, the first core is more suitable for running the convolution than the second core.
  • the neural network model sets the core weight value of the first core higher than the core weight value of the second core to indicate that in order to run the convolutional neural network model, the first core is selected with a greater priority than the second core is selected. Priority.
  • the first correspondence relationship may be pre-established using the target model parameter and the core weight values of the at least two cores.
  • the core weight value of the core may be determined from the first correspondence according to the target model parameter.
  • the core weight value is specifically used to indicate the degree of adaptation of the core hardware characteristics to the running convolutional neural network model, or the degree of adaptation of the core architectural characteristics to the running convolutional neural network model, or the core computing mode to run The degree of adaptation of the convolutional neural network model.
  • At least two cores in the first correspondence are heterogeneous cores on the terminal, and the core characteristics are different, so that different operational effects are generated when the convolutional neural network model is run, so the setting of the core weight value is feasible.
  • the core As for which convolutional neural network model the core is suitable for running, it can be obtained according to pre-test tests, for example, setting test efficiency parameters, which represent the time taken to run the convolutional neural network model to perform specific services. . Then, a convolutional neural network model with a specific computational density is run on different cores to obtain test efficiency parameters for different cores. Then configure a larger core weight value for the core with a large test efficiency parameter.
  • the core weight value may be indicative of the suitability of the core hardware characteristics for running a convolutional neural network model.
  • At least two cores in step 402 are heterogeneous cores on the terminal, and different heterogeneous cores have different hardware characteristics, so that different heterogeneous cores are suitable for running convolutional neural network models with different computational densities. It is more practical to schedule heterogeneous cores to run a convolutional neural network model.
  • the at least two cores may be at least two of a CPU, a GPU, a DSP, and a pulse array processor.
  • the heterogeneous core set on the terminal may be any two of the CPU, GPU, DSP, and pulse array processor, or any three, or any four, or all of the chips. It can be understood that the heterogeneous cores set on the terminal can also be other cores.
  • the systolic array processor can be a specific chip such as an NPU or a TPU.
  • core weight values of the at least two cores determined in step 402 have multiple specific implementation forms, as follows:
  • the core weight value is in the form of a numerical value, and may be in the form of a percentage, for example, 10%, 30%, etc.; in the form of a score, for example, or Etc; the form of decimals, for example, 0.5, 1.0, 1.5, etc.;
  • the core weight value is in the form of a level representation, such as a first priority, a fifth priority, and the like.
  • the target model parameter and the core weight value have multiple representations.
  • the target model parameter or the core weight value may be a specific value, for example, the target model parameter is 1000, 2000. Etc., the core weight value can be 0.5, 0.2, and so on.
  • the target model parameter or the core weight value may also be a numerical interval, and the numerical interval is a numerical range, for example, the target model parameter is an interval [10000, 15000], [15000, 20000], etc., the core weight value For the interval [0.1, 0.6], [0.6, 0.8], etc.
  • the embodiment of the present invention does not limit the specific representation form of the target model parameter and the core weight value in the first correspondence relationship.
  • step 402 There are various specific implementations for step 402, two examples of which are exemplified below:
  • the target model parameter and the core weight value included in the first correspondence are specific values.
  • the specific implementation of step 402 includes: matching the target model parameter of step 401 with the target model parameter of the first correspondence, if the matching Similarly, the core weight values of at least two cores corresponding to the same target model parameters are determined from the first correspondence.
  • the first correspondence relationship includes a target model parameter and a core weight value in the form of a target model parameter interval and a core weight value interval.
  • the specific implementation manner of step 402 includes:
  • Step A1 In the preset first correspondence, the target model parameter interval in which the target model parameter of step 401 is located is determined.
  • the target model parameter is the number of weight parameters
  • the first correspondence includes the weight parameter number interval [10 million, 30 million] and the CPU core weight value interval [0.2, 0.4], and the GPU core weight value interval [0.1, The corresponding relationship of 0.3].
  • the target model parameter of the convolutional neural network model acquired by the terminal is 150 million, and in the first correspondence relationship, the target model parameter of the convolutional neural network model is determined to fall within the weight parameter interval of 10 million [10 million , 30 million].
  • Step A2 In the first correspondence, determine a core weight value interval of at least two cores.
  • the core weight value interval of the at least two cores corresponds to the target model parameter interval
  • the first correspondence relationship includes a correspondence relationship between the target model parameter interval and the core weight value interval of the at least two cores
  • the target model parameter interval includes the target model parameter
  • the first correspondence includes the correspondence between the weight parameter number interval [10 million, 30 million] and the CPU core weight value interval [0.2, 0.4], and the weight parameter number interval [10 million, 30 million] Correspondence with the core weight value interval [0.1, 0.3] of the GPU.
  • the core weight value interval of the CPU corresponding to the weight parameter number interval is determined. [0.2, 0.4], and the core weight value range of the GPU [0.1, 0.3].
  • Step A3 For each core, the core weight value is determined from the core weight value interval.
  • the position of the core weight value in the core weight value interval and the position of the target model parameter in the target model parameter interval are the same.
  • the target model parameter of 15 million is located in the target model parameter interval [10 million, 30 million] at one-half, so that for the CPU, it is determined from the core weight value interval [0.2, 0.4]
  • the core weight value of one-half is 0.3; for the GPU, the core weight value of 0.2 at one-half is determined from the core weight value interval [0.1, 0.3].
  • the first corresponding relationship includes a target model parameter that is a numerical interval
  • the first corresponding relationship includes a core weight value that is a specific value.
  • the specific implementation manner of step 402 includes: determining, in a preset first correspondence, a target model parameter interval in which the target model parameter of step 401 is located, and then determining, in the first correspondence relationship, the target model The core weight value of at least two cores corresponding to the parameter interval.
  • Step 403 Determine a core of the running convolutional neural network model from at least two cores according to core weight values of at least two cores.
  • the core weight value is used to indicate that the core is selected to run the convolutional neural network model, so that at least two core weight values can be obtained from at least two core weight values.
  • the core of the running convolutional neural network model is determined in the core, and the core weight value is used to determine the core of the convolutional neural network model suitable for running step 401, so that the core can be scheduled to run the convolutional neural network model to execute specific Application business.
  • step 403 There are a number of specific implementations for step 403, and a few examples are given below:
  • the core with the largest core weight value is determined from the at least two cores, and the core with the largest core weight value is used to run the convolutional neural network model.
  • the core weight value is used to indicate that the core is selected to run the convolutional neural network model, so that the core with a large core weight value is scheduled to run the convolutional neural network model in preference to the core with a small core weight value.
  • the terminal in order to specifically perform step 403, the terminal further needs to perform other steps to obtain a parameter for correcting the core weight value, and then use the parameter to correct the core weight value to obtain a modified weight value, by using the modified weight.
  • the value is determined from the core of the running convolutional neural network model from the at least two cores.
  • the modified weight value introduces more reference factors and thus reflects the core of the appropriate scheduling more than the core weight value. Details are as follows:
  • the method of this example also includes:
  • Step B1 Obtain the current state parameter of the terminal.
  • the state parameter is a dynamically changing parameter.
  • the state parameter is a dynamically changing parameter on the terminal.
  • the state parameter reflects the specific operating environment when the terminal runs the convolutional neural network model.
  • the core running convolutional neural network model will have different effects affected by different operating environments.
  • the status parameters include, but are not limited to, the remaining power value of the terminal, the core usage rate, the temperature of the core, and the like.
  • Step B2 Determine parameter weight values of at least two cores from the preset second correspondence according to the state parameters.
  • the parameter weight value of the at least two cores corresponds to a state parameter, and the second correspondence relationship includes a correspondence between the state parameter and at least two core parameter weight values.
  • the parameter weight value is used to indicate that the core is selected under the state parameter.
  • a second correspondence is preset on the terminal, where the second correspondence includes a correspondence between the state parameter and the parameter weight value of the at least two cores.
  • the terminal may determine the parameter weight value of the at least two cores from the preset second correspondence according to the state parameter, and the parameter weight value and the state parameter of the at least two cores. correspond.
  • Corresponding relationship between the parameter weight value and the state parameter of the at least two cores is the second correspondence Correspondence between the included state parameter and at least two core parameter weight values.
  • the parameter weight value is used to indicate the priority of the core selected to run the convolutional neural network model under the state parameter.
  • the core with a large parameter weight value takes precedence over the core running convolutional neural network model with a small parameter weight value. Therefore, the terminal can use the core weight value to correct the core weight value in step 402, so that the modified weight value further takes into account the state parameter on the terminal, and more reflects the core of the suitable convolutional neural network model.
  • step B2 At least two cores of step B2 and at least two cores of step 402 are referred to the same.
  • core As for which core is more suitable for running the convolutional neural network model under different state parameters, it can be obtained by pre-testing, for example, setting test efficiency parameters, and a convolutional neural network model with specific computational density in different cores. Running on, the core is under the state parameters of the specific terminal, and then the test efficiency parameters of different cores are obtained. Then configure a larger core weight value for the core with a large test efficiency parameter.
  • parameter weight values of the at least two cores determined in step B2 have multiple specific implementation forms, such as a form of a percentage, a form of a score, or a form of a level representation.
  • specific implementation forms such as a form of a percentage, a form of a score, or a form of a level representation.
  • the state parameter and the parameter weight value may also have multiple representations, for example, may be a specific numerical value or a numerical interval.
  • the target model parameters in the first correspondence relationship may be a detailed description of the representation of the core weight values.
  • step B2 There are various concrete implementations for step B2, and two examples are given below:
  • the state parameter and the parameter weight value of the second correspondence include a specific value.
  • the specific implementation of step B2 includes: using the state parameter of step B1 and the state parameter in the second correspondence, If the matches are the same, the parameter weight values of the at least two cores corresponding to the same state parameter are determined from the second correspondence.
  • the second correspondence includes a state parameter and a parameter weight value value range.
  • the specific implementation manner of the step B2 includes: determining, in the preset second correspondence, the state parameter interval in which the state parameter of the step B1 is located; and then determining, in the second correspondence, the parameter weight values of the at least two cores.
  • the interval, the parameter weight value interval of the at least two cores corresponds to the state parameter interval, and the second correspondence relationship includes a correspondence between the state parameter interval and the parameter weight value interval of the at least two cores.
  • the parameter weight value is determined from the parameter weight value interval.
  • the position of the parameter weight value in the parameter weight value interval and the position of the state parameter of step B1 in the state parameter interval are the same.
  • the step 403 is performed.
  • the step 403 specifically includes the step B3 and the step B4, as follows:
  • Step B3 For each core, the core weight value is corrected by using the parameter weight value to obtain the first modified weight value.
  • the first modified weight value is used to indicate the priority of the core selected to run the convolutional neural network model.
  • the core with the first modified weight value has priority over the core running convolutional neural network model with the first modified weight value.
  • the specific modification manner can be set in advance. For example, multiplying the parameter weight value and the core weight value to obtain the first modified weight value, or correcting the core weight value by using the parameter weight value according to the preset correction relationship to obtain the first modified weight value, for example, the core weight value is The third priority, the parameter weight value is the fifth priority, and the preset correction relationship is that the highest level of the two weight values is the first modified weight value, so that the first modified weight value is the third priority.
  • Step B3 means for each of the aforementioned at least two cores.
  • Step B3 is to determine a specific core for each of the at least two cores, and use the parameter weight value of the core to modify the core weight value of the core to obtain a first modified weight value of the core.
  • Step B4 Determine a core of the running convolutional neural network model from at least two cores according to the first modified weight value of the at least two cores.
  • the terminal may determine the core of the running convolutional neural network model from the at least two cores according to the first modified weight value of the at least two cores, thereby determining Suitable for running the core of the convolutional neural network model.
  • the core with the largest corrected weight value is determined from the at least two cores, and the core with the largest first modified weight value is used to run the convolutional neural network model.
  • other parameters are further used to correct the first modified weight value, and the further modified weight value is used to determine the core of the running convolutional neural network model. Similar to performing steps B1 to B2 again, only the other parameters are acquired, and the first correction weight value is corrected.
  • the parameter weight value is obtained according to the current state parameter of the terminal, and the current state parameter is reflected in the specific operating environment when the terminal runs the convolutional neural network model, so that the parameter weight value reflects the influence of the current environment of the terminal on the core running convolutional neural network model.
  • the determination of the core weight value is determined according to the target model parameter representing the computational density of a convolutional neural network model, so that the core weight value reflects the influence of the core hardware characteristics on the running convolutional neural network model, thereby using the parameter weight value correction
  • the first modified weight value obtained from the core weight value takes into account more factors. According to the first modified weight value, the core of the more suitable convolutional neural network model can be determined.
  • steps B1 through B2 There are various implementations for steps B1 through B2, and two implementations are given below:
  • step B1 the current state parameter of the terminal is the current core usage rate of each core.
  • step B2 specifically includes: determining, for each core, a performance weight value from the preset second correspondence according to the core usage rate.
  • the performance weight value of each core corresponds to the core usage rate of each core
  • the performance weight value is used to indicate the priority of the core selected to run the convolutional neural network model under the current core core usage rate of the core
  • second The correspondence includes the correspondence between the core usage rate of each core and the performance weight value of each core.
  • the core usage rate refers to the core resources occupied by the programs running on the terminal, indicating the busyness of the core running programs. The higher the core core usage rate, the more programs are running on the core, and vice versa.
  • the core usage rate can be a specific value, such as 10%, 2%, and the like.
  • the performance weight value is used to indicate the priority at which the core is selected to run the convolutional neural network model under the core core usage.
  • the core performance weight value reflects the extent to which the core's current computing resources are available.
  • the performance weight value is large, indicating that the core's current computing resources are highly usable, so that the core priority scheduling is used to run the convolutional neural network model.
  • the core with a large performance weight value is used to run the convolutional neural network model.
  • the core usage rate and the performance weight value may also have multiple representations, for example.
  • it may be a specific numerical value or a numerical interval.
  • the representation of the target model parameter and the core weight value in the first correspondence refer to the detailed description of the representation of the target model parameter and the core weight value in the first correspondence.
  • Each core in the implementation manner refers to each core of the at least two cores.
  • the performance weight value of the core is determined from the preset second correspondence according to the core usage rate of the core. .
  • step B2 determines the performance weight value from the preset second correspondence according to the core usage rate
  • step B1 the current state parameter of the terminal is the current remaining power value of the terminal
  • the step B2 specifically includes: determining, according to the remaining power value, the power consumption weight values of the at least two cores from the preset second correspondence.
  • the power consumption weight value of the at least two cores corresponds to the remaining power value, and the power consumption weight value is used to indicate that the core is selected to run the convolutional neural network model priority under the remaining power value, and the second correspondence includes The correspondence between the remaining power value and the power consumption weight values of at least two cores.
  • the remaining power value is the value of the remaining power on the terminal.
  • the representation of the remaining charge value includes, but is not limited to, a percentage, an ampere hour, and the like.
  • the power consumption weight value is used to indicate the priority of the core selected to run the convolutional neural network model under the current specific remaining power value of the terminal, and the core with the large power weight value is preferentially used to run the convolutional neural network model.
  • the setting of the power consumption weight value may also refer to the power consumption of the core. For example, as the remaining power value decreases, the power consumption weight value of the core with large power consumption decreases by more than the power consumption. Small core power consumption weight reduction. Therefore, the power consumption weight value can better reflect the appropriateness of the core running convolutional neural network model under the current remaining power value of the terminal.
  • the remaining power value and the power consumption weight value may also have multiple representations, for example, may be a specific numerical value or a numerical interval.
  • the target model in the first correspondence relationship A detailed description of the representation of the parameters and core weight values.
  • Each core in the implementation manner refers to each core of the at least two cores.
  • the power consumption weight value of the core is determined from the preset second correspondence according to the remaining power value.
  • step B2 determining the power consumption weight values of at least two cores from the preset second correspondence according to the remaining power value
  • the first modified weight value may be further corrected to obtain a second modified weight value, so that the running volume is determined from the at least two cores according to the second modified weight value of the at least two cores.
  • the core of the neural network model may be further corrected to obtain a second modified weight value, so that the running volume is determined from the at least two cores according to the second modified weight value of the at least two cores.
  • the current remaining power value of the terminal may be acquired, to determine power consumption weights of at least two cores according to the remaining power value and another preset correspondence. Value, and thus for each core, the first modified weight value is corrected using the power consumption weight value to obtain a second modified weight value.
  • the determination of the power consumption weight value reference may be made to the detailed description in the second implementation manner described above.
  • the core usage rate of each core may also be obtained, so that for each core, according to the core usage rate and Presetting another correspondence, determining a performance weight value, and then using the performance weight value to correct the first modified weight value to obtain a second correction right Heavy value.
  • determining a performance weight value refer to the detailed description in the foregoing implementation manner 1.
  • the method of the example further includes:
  • Step C1 Obtain a current remaining power value of the terminal.
  • Step C2 Determine power consumption weight values of at least two cores from a preset third correspondence according to the remaining power value.
  • the power consumption weight value of the at least two cores corresponds to a remaining power value
  • the third correspondence relationship includes a correspondence between the remaining power value and the power consumption weight values of the at least two cores, where the power consumption weight value is used to indicate that the remaining power value is
  • the core is chosen to run the convolutional neural network model with priority.
  • step B4 specifically includes step C3 and step C4.
  • the details of step C3 and step C4 are as follows:
  • Step C3 For each core, the first modified weight value is corrected by using the power consumption weight value to obtain a second modified weight value.
  • the second modified weight value is used to indicate the priority of the core selected to run the convolutional neural network model
  • Step C4 Determine a core of the running convolutional neural network model from at least two cores according to the second modified weight value of the at least two cores.
  • the core with the second largest modified weight value may be determined from the at least two cores, and the core with the second largest modified weight value is used to run the convolutional neural network model. .
  • the second modified weight value is further corrected using other parameters to obtain a further modified weight value.
  • the core of the running convolutional neural network model is determined using the weight value of the further correction.
  • the core scheduling method in some examples of the present invention further includes determining the performance parameter, and the core running the convolutional neural network algorithm may have multiple different operation modes, and may be controlled in order to control the specific operation mode of the core.
  • the core uses the determined performance parameters to run the convolutional neural network model.
  • the determination of the performance parameter needs to be combined with the specific use state of the core.
  • the performance parameter of the core may be determined according to the core usage rate of the core. The details are as follows:
  • the core scheduling method further includes:
  • Step D1 Obtain the current core usage rate of each core.
  • the terminal first obtains the core usage rate, so that the core usage rate can be determined according to the core usage rate.
  • Each core here is each core of at least two cores described above.
  • the terminal can read the current core usage rate of the core through an application programming interface (API) provided by the operating system.
  • API application programming interface
  • Step D2 For each core, the performance parameter is determined from the second correspondence according to the core usage rate.
  • the performance parameter of each core corresponds to the core usage rate of each core, and the second correspondence relationship includes the correspondence between the performance parameters of each core and the core usage rate of each core. Performance parameters are used to indicate how the core operates.
  • the terminal is preset with a second correspondence, where the second correspondence includes a correspondence between a performance parameter of each core and a core usage rate of each core. Therefore, after obtaining the core usage rate of each core, the terminal determines performance parameters from the second correspondence according to the core usage rate for each core, so that performance parameters of the at least two cores can be obtained.
  • the core usage rate in the second correspondence may be a specific value, for example, 10%, 23%, or the like, or a numerical interval, such as [10%, 35%], etc., which is not specifically limited in the embodiment of the present invention.
  • the terminal uses the core core usage rate of the core and the core usage rate of the second correspondence relationship, if the current core usage rate of the core is the same as the core usage rate in the second correspondence relationship or If the core usage rate interval falls in the second correspondence, the matching is successful, and the terminal may determine, from the second correspondence, the performance parameter corresponding to the successfully matched core usage rate.
  • the foregoing operations are performed for each core to obtain performance parameters for each core.
  • Step D3 After determining the core of the running convolutional neural network model from at least two cores according to the core weight values of the at least two cores, running the convolutional neural network model on the target core using the performance parameters of the target core.
  • the target core is the core of running the convolutional neural network model.
  • the terminal obtains the performance parameters of each core. After determining the target core of the running convolutional neural network model, the terminal can use the performance parameters of the target core on the target core when running the convolutional neural network model using the target core.
  • the convolutional neural network model is used to control the specific operating conditions of the target core through the setting of performance parameters to meet the user's operational requirements for the core.
  • the performance parameter includes one or more of thread priority information, sleep time information, and number of threads.
  • the thread priority information is the priority information of the child thread when the core runs the convolutional neural network model;
  • the sleep time information is the time when the core runs two convolutional neural network models;
  • the number of threads is the core running convolutional neural network The number of threads used when the model is used.
  • the target core runs the convolutional neural network model using thread priority information, and the target core uses sub-threads to schedule the sub-threads based on the priority information of the sub-threads indicated by the thread priority information.
  • the target core runs the convolutional neural network model using the sleep time information, and after the target core runs the convolutional neural network model, the target core no longer runs another convolution during the interval indicated by the sleep time information.
  • Neural network model is a convolutional neural network model using the sleep time information, and after the target core runs the convolutional neural network model, the target core no longer runs another convolution during the interval indicated by the sleep time information.
  • the target core runs a convolutional neural network model using the number of threads information, the target core generates the number of threads indicated by the number of threads information, and then uses the number of threads to run the convolutional neural network model.
  • the determination of the performance parameter and the determination of the performance weight value use the current core usage rate of the core, so that in some embodiments, the determination of the performance parameter and the determination of the performance weight value can be implemented in the same step. At the same time, the current core usage of each core can also be obtained only once.
  • the core usage rate is used to determine the performance parameters of the control core operation, so that the target core can use the performance parameters of the target core to run the convolutional neural network model when running the convolutional neural network model, so that the target core operates in the same way as the target core.
  • the core usage rate when the correspondence between the performance parameters of each core included in the second correspondence relationship and the core usage rate of each core is preset according to a manner of improving execution efficiency, the target core can be efficiently operated.
  • a core scheduling method comprising:
  • Step E1 Acquire the target model parameters.
  • the target model parameters are used to represent the computational density of a convolutional neural network model.
  • step E1 For a specific implementation of step E1, reference may be made to the detailed description of step 401.
  • Step E2 Determine core weight values of at least two cores from the preset first correspondence according to the target model parameters.
  • the core weight value of at least two cores corresponds to the target model parameter, and at least two cores are heterogeneous cores on the terminal, and the first correspondence relationship includes a correspondence between the target model parameters and core weight values of at least two cores, and the core
  • the weight value is used to indicate the priority at which the core is selected to run the convolutional neural network model.
  • step E2 For a specific implementation of step E2, reference may be made to the detailed description of step 402.
  • the correspondence between the target model parameters in the first correspondence relationship and the core weight values of the at least two cores may be preset according to the effects of the different core cooperative running convolutional neural network models.
  • Step E3 Assign the convolutional neural network model to different cores according to the core weight values of at least two cores.
  • a plurality of core cooperative running convolutional neural network models may be used, that is, the convolutional neural network model is allocated to run on different cores, but the core weight values are determined for each core, thereby The core weight value, after the convolutional neural network model is assigned to run on different cores, the proportion of the core running the convolutional neural network model is determined by the core weight value. For example, the core with a large core weight value and the core with a small core weight value Ratio, the majority of the convolutional neural network model is assigned to the core with a large core weight value, and a small part of the convolutional neural network model is assigned to the core with a small core weight value, so that the core with a large core weight value To the role of running the main core.
  • a core scheduling method comprising:
  • Step F1 Obtain a task type parameter.
  • the task type parameter is used to indicate the type of the calculation task.
  • the calculation task may be, for example, image recognition, voice recognition, image classification, etc.
  • the task type parameter may be text information, such as "image recognition” text, "speech recognition” text, or information such as letters or numbers, such as "001 ", as long as it can identify the type of specific computing tasks.
  • Step F2 Determine, according to the task type parameter, a core weight value of at least two cores from a preset fourth correspondence.
  • the core weight value of at least two cores corresponds to a task type parameter, and at least two cores are heterogeneous cores on the terminal, and the fourth correspondence relationship includes a correspondence between a task type parameter and at least two core core weight values, and a core
  • the weight value is used to indicate the priority at which the core is selected to run the computing task.
  • the correspondence between the task type parameter and the core weight value of at least two cores is preset, and after the task type parameter is acquired, the acquired task type parameter and the task type parameter in the fourth correspondence relationship are used. If the matching is successful, the matching is successful, and the core weight values of at least two cores corresponding to the successfully matched task type parameters are determined.
  • Step F3 Determine the core of the running computing task from the at least two cores according to the core weight values of the at least two cores.
  • the core of the running computing task can be determined from at least two cores according to the core weight values of the at least two cores, for example, selecting a core weight value is large.
  • the core runs the computing task, or after the core weight values of the at least two cores are modified according to other parameters, the core of the running computing task is determined from the at least two cores.
  • the heterogeneous core features on the terminal are different, and different cores are suitable for running convolutional neural network models with different computational densities.
  • the first correspondence includes target model parameters and at least two cores Correspondence of core weight values, wherein the target model parameter is used to represent the computational density of a convolutional neural network model, and the at least two cores are heterogeneous cores on the terminal, and the target of acquiring a convolutional neural network model is obtained.
  • the core weight values of at least two cores may be determined from the preset first correspondence according to the target model parameters.
  • the core weight value is used to indicate the priority at which the core is selected to run the convolutional neural network model, and the core weight value can be used to determine the core suitable for running the convolutional neural network model.
  • the core of the running convolutional neural network model can be determined from at least two cores according to the core weight values of at least two cores.
  • the core of the adaptation can be determined to run a convolutional neural network model with specific computational density. If the core with higher core weight value can run the convolutional neural network model efficiently, according to the core weight value The identified core can run the convolutional neural network model efficiently.
  • FIG. 5 is a flowchart of a method for a core scheduling method according to an embodiment of the present invention. The method may be applied to a terminal, and the method of the embodiment shown in FIG. 5 may be implemented based on the method shown in FIG. 4, in FIG. 5.
  • the pulse array processor is an NPU
  • the target model parameter is a weight parameter number as an example.
  • the method of the embodiment of the present invention includes:
  • Step 501 The terminal acquires a convolutional neural network model.
  • the terminal can use a specific algorithm to execute the application service, for example, the convolutional neural network model can be used to perform the execution of the specific application service. To this end, the terminal first acquires the convolutional neural network model to be used.
  • a terminal acquires a convolutional neural network model.
  • the terminal acquires a convolutional neural network model sent by other devices, or the terminal establishes a convolutional neural network model locally.
  • Terminals can use convolutional neural network models for a variety of application services, such as running convolutional neural network models for image and speech recognition.
  • An example of running a convolutional neural network model to perform image services may be an operation of image classification, image feature extraction, face clustering, etc., and the computational characteristics of these operations include a large number of matrix operations, thereby being suitable for using a convolutional neural network model. To execute.
  • the method of establishing the convolutional neural network model can be obtained through training, for example, collecting a large amount of relevant data, and using the data to perform convolutional neural network training to obtain a convolutional neural network model.
  • the device that performs the steps of training the convolutional neural network model may be a terminal or a device such as a server.
  • Step 502 The terminal acquires the number of weight parameters.
  • the number of weight parameters is used to represent the computational density of a convolutional neural network model
  • Convolutional neural network models are used for computations, such as image processing, where different convolutional neural network models have different characteristics. For example, different convolutional neural network models may have different computational densities.
  • the computational density can be determined by the number of weighting parameters in the convolutional neural network model, ie the number of weighting parameters of the convolutional neural network model can indicate the computational density of the convolutional neural network model.
  • the content of the weighting parameters of the convolutional neural network model reference can be made to the above description.
  • a computationally dense density convolutional neural network model is suitable for operation on a GPU, and a computationally densely convolved convolutional neural network model can be, for example, a large matrix convolutional neural network model;
  • the computationally densely populated convolutional neural network model is suitable for running on a CPU.
  • the computationally densely populated convolutional neural network model can be, for example, a small matrix, or a serial, or for-loop convolutional neural network model.
  • Different cores have different computational characteristics, and different types of convolutional neural network models have different computational densities.
  • Which type of convolutional neural network model is suitable for which core to operate can be known from empirical data or experimental tests.
  • ResNet residual network 18 such as classification, or feature extraction, or object detection and other convolutional neural network models, suitable for running on NPU or GPU; non-human face (for example, dog face / cat face) recognition , ID card image recognition and other convolutional neural network models belonging to small networks, suitable for running on the CPU.
  • the terminal acquires the convolutional neural network model
  • the number of weight parameters of the convolutional neural network model is obtained, so that the volume can be considered according to the number of weight parameters of the convolutional neural network model.
  • the core of the neural network model is scheduled.
  • the specific implementation manner of the number of weight parameters of the terminal acquiring the convolutional neural network model may be:
  • the terminal analyzes the acquired convolutional neural network model using a parser, and analyzes the number of weight parameters of the convolutional neural network model.
  • Step 503 Determine core weight values of at least two cores from the preset first correspondence according to the number of weight parameters.
  • the core weight value of the at least two cores corresponds to the number of weight parameters, and the at least two cores are heterogeneous cores on the terminal.
  • the core weight value is used to indicate the priority at which the core is selected to run the convolutional neural network model.
  • a plurality of heterogeneous cores may be disposed on the terminal, and the core is a computing unit for performing calculations, and the types of the heterogeneous cores include but are not limited to CPUs, GPUs, DSPs, NPUs, and the like.
  • each core corresponds to a core weight value
  • multiple cores correspond to multiple core weight values.
  • the first correspondence includes a correspondence between the number of weight parameters and the core weight values of the at least two cores. That is, the parameters of the first correspondence include the number of weight parameters and the core weight value.
  • the specific form of the two parameters may be a specific value or a numerical range.
  • the determined core weight value can be a specific value.
  • the correspondence between the number of weight parameters and the core weight value may be a correspondence between specific values, or may be a correspondence between numerical ranges.
  • the core type of the core weight value may be a plurality of heterogeneous cores, and the determined number of core weight values may also be multiple, wherein different core weight values belong to different heterogeneous cores.
  • step 503 may be: after the terminal obtains the number of weight parameters of the convolutional neural network model, the terminal uses the obtained number of weight parameters and the number of weight parameters of the first corresponding relationship to match, when the number of weight parameters obtained is If the number of weight parameters of the first corresponding relationship is the same or the number of the obtained weight parameters is within the weight parameter number range of the first correspondence, the matching is successful. Then, a core weight value corresponding to the number of matched weight parameters is determined in the first correspondence.
  • the specific core weight value may be calculated using the weight parameter number of the convolutional neural network model.
  • the core weight value is determined using a linear mapping method according to the number of weight parameters of the convolutional neural network model within the corresponding core weight value range.
  • the establishment of the first correspondence may be established based on experimental test data or empirical data.
  • the first The acquisition of the corresponding relationship may be obtained from the storage device of the terminal, or may be obtained by the terminal from other devices.
  • step 503 A specific example is given below to illustrate step 503, as follows:
  • the convolutional neural network model with the weight parameter number ⁇ 50million (million) is a small network model, which is suitable for running on the CPU, so for this type of convolutional neural network, the CPU can be set.
  • the core weight value is 1, and the core weight value of the GPU is linearly set according to the number of weight parameters of the convolutional neural network model from 0 to 1.
  • the core weight value of the NPU is 0 to 0 according to the weight parameter of the convolutional neural network model. Set between 0.5.
  • the convolutional neural network model of 50million ⁇ 200million is a medium-sized network model, which is suitable for running on the GPU. Therefore, the core weight value of the GPU is 1, and the core weight value of the CPU is between 1 and 0.5 according to the weight parameter of the convolutional neural network model. According to the linear setting, the core weight value of the NPU is set between 0.5 and 1.0 according to the number of weight parameters of the convolutional neural network model.
  • the convolutional neural network model of 200million ⁇ 500million is a large-scale network model, which is suitable for running on the dedicated acceleration device NPU. Therefore, the core weight value of the NPU is 1, and the core weight value of the CPU is 0.5 ⁇ according to the weight parameter of the convolutional neural network model. According to the linear setting between 0, the core weight value of the GPU is linearly set according to the number of weight parameters of the convolutional neural network model between 1.0 and 0.5.
  • the method for determining the core weight value of a core using linear mapping is as follows:
  • the core weight value interval of the at least two cores is determined, and the target core weight value intervals of the at least two cores respectively correspond to the target weight parameter number interval.
  • the at least two cores are heterogeneous cores on the terminal.
  • the core weight value is determined from the core weight value interval, and the position of the core weight value in the core weight value interval is the same as the position of the target model parameter in the target model parameter interval.
  • the weight parameter of the convolutional neural network model obtained by the terminal is 100million, and the heterogeneous core of the terminal is CPU, GPU and NPU.
  • the core weight value is calculated as follows:
  • the terminal uses the weight parameter number 100million of the convolutional neural network model and the weight parameter number interval in the correspondence relationship of Table 1 to match, and determines that the weight parameter number 100million is located in the target weight parameter quantity interval “50Million ⁇ 200Million” in Table 1.
  • the terminal determines the core weight of the CPU, GPU and NPU according to the position of the weight parameter of the convolutional neural network model in the position of the target weight parameter number interval.
  • the value interval is linearly mapped to obtain the core weight value for each core.
  • the core weight value of the CPU is obtained by linear mapping.
  • the calculated core weight value of the CPU is 0.83.
  • the core weight of the NPU is calculated to be 0.66.
  • the core weight value of the core may also be directly determined from the first correspondence.
  • the number of weight parameters of the convolutional neural network model is still 100 million.
  • the terminal uses the number of weight parameters of the convolutional neural network model 100million to match the number of weight parameters in the correspondence relationship of Table 1, and determines that the weight parameter number 100million is located in the target core weight value interval “50Million ⁇ 200Million”.
  • the method for determining the core weight value from the corresponding relationship may be multiple in the embodiment of the present invention.
  • the specific core weight value is a specific value, it may be directly determined, if the core weight value is a value in the first correspondence relationship. In the range, it is necessary to perform linear mapping according to the number of weight parameters of the convolutional neural network model to obtain the core weight value of the core.
  • the core weight value reflects the extent to which the core hardware characteristics are applicable to the current convolutional neural network model. The higher the core weight value, the more appropriate it is to run the convolutional neural network model. Therefore, the terminal can schedule the core of the running convolutional neural network model according to the core weight value. For example, in the above example, the terminal can retrieve the convolutional neural network model obtained by the core GPU running step 501 with the largest core weight value.
  • the core operating environment also affects the running convolutional neural network model.
  • the core weight values reflect the core static characteristics and the convolutional neural network model. Correlation, if only the core hardware characteristics are considered to schedule the core running convolutional neural network model, the obtained operation effect is not necessarily the best.
  • the core operating environment parameters that is, the dynamic characteristics. Combining the static and dynamic characteristics of the core will select the current best suitable running volume.
  • the core of the neural network model The specific combination may be to use the core dynamic parameters to adjust the core weight value to obtain a new weight value to schedule the core according to the new weight value.
  • the core scheduling method of the embodiment of the present invention further includes the following steps.
  • the dynamic parameters are used as an example of the core usage rate and the remaining power consumption value of the terminal. That is, increase the load balancing judgment of the performance and power consumption dimensions to correct the weight value to decide which core to schedule.
  • Step 504 Obtain the current core usage rate of each core.
  • the core usage rate is a dynamically changing parameter.
  • the core performance state is one of the core dynamic characteristics.
  • the same core has different computing capabilities when it is in different performance states, so the core performance.
  • the state has an impact on running the convolutional neural network model, so the current performance state of the core is taken as the core of the generation.
  • One of the considerations of the degree strategy can make the scheduled core more efficient to run the current convolutional neural network model.
  • the core core usage rate is an important performance state parameter of the core, so core usage can be used as one of the considerations of the core scheduling strategy.
  • the core usage rate represents the core load situation.
  • a specific implementation manner in which the terminal obtains the current usage rate of the multiple heterogeneous cores may be, for example:
  • the terminal invokes the preset core usage reading program or uses the API of the core usage rate provided by the terminal system to read the core usage rate of each core on the terminal.
  • the core that needs to read the core usage rate is the core of the convolutional neural network model to be run on the terminal, that is, the core shown in step 503 above.
  • the terminal reads 25% of the core usage of the GPU through the API provided by the terminal system, that is, the GPU has 75% of computing resources available.
  • Step 505 Determine, for each core, a performance weight value and a performance parameter from a preset second correspondence according to the core usage rate.
  • the performance weight value of each core corresponds to the core usage rate of each core, and the performance parameters of each core correspond to the core usage rate of each core.
  • the performance weight value is used to indicate the priority at which the core is selected to run the convolutional neural network model under the current core usage of the core, and the core performance weight value reflects the current computing resource availability of the core. Different cores can have different performance weight values.
  • Running the convolutional neural network model on the core requires running with specific performance parameters of the core, including one or more of thread priority information, sleep time information, and number of threads.
  • the thread priority information is the priority information of the child thread when the core runs the convolutional neural network model;
  • the sleep time information is the time when the core runs two convolutional neural network models;
  • the thread number information is the core running convolutional neural network model The number of threads used at the time.
  • the performance weight value and performance parameter obtained in step 505 may also appear in the form of a list.
  • the second correspondence includes a correspondence between core usage of each core and performance weight values of each core.
  • the second correspondence also includes a correspondence between performance parameters of each core and core usage of each core.
  • the second correspondence is a correspondence between core usage rate, performance weight value, and performance parameter. That is, the parameters of the second correspondence include core usage rate, performance weight value, and performance parameter.
  • the specific form of these three parameters may be a specific value or a numerical interval.
  • the determined performance weight value can be a specific value.
  • the performance weight value may belong to one or more core types, and the determined performance weight value may also be one or more, wherein different performance weight values belong to different cores.
  • the performance parameter of the core may be one or more, which is not specifically limited in the present invention.
  • step 505 The specific implementation of step 505 can be as follows:
  • the terminal After the terminal obtains the current core usage rate of the core, the terminal uses the current core usage rate and the core usage ratio in the second correspondence to match, and the current core usage rate and the core usage rate in the second correspondence relationship are the same, or the If the current core usage rate is within the numerical range of the core usage rate in the second correspondence, the matching is successful. Then, in the second correspondence of the terminal, the performance weight value corresponding to the core usage rate that the matching is successful is determined.
  • the corresponding value is determined for the numerical range of the core usage rate and the performance weight value.
  • the core core current usage rate can be used to calculate a specific performance weight value.
  • the core value is determined according to the core core usage rate in a numerical range of the corresponding performance weight value. Performance weight value.
  • the terminal may also determine, in the second correspondence, a performance parameter corresponding to the core usage rate that is successfully matched, and the performance parameter may be a specific value.
  • the core performance parameters can be set in the second correspondence according to the specific core usage rate, which requires system tuning and acquisition. For example, when the core usage rate is the lowest, more threads can be used to obtain higher processing performance. When the core usage rate is high, the neural network computing request is processed with fewer threads, and the impact on the already high core usage rate is as much as possible. small.
  • the establishment of the second correspondence relationship may be established in advance based on experimental test data or empirical data.
  • the obtaining of the second correspondence by the terminal may be obtained from the memory of the terminal, or may be obtained by the terminal from other devices.
  • step 505 A specific example is given below to illustrate step 505, as follows:
  • the performance weight value is divided into three ranges, that is, divided into three grades, and the core usage rate and performance parameters are also divided into three grades, wherein each core is The usage rate is a range of values, and the performance parameters of each file are specific values.
  • the core usage rate is not considered too high to prevent the core load from being too heavy and affecting the operation of the terminal.
  • the performance weight value is determined from the performance weight value interval, wherein the position of the performance weight value in the performance weight value interval and the core current core usage rate are the same in the target core usage interval.
  • the performance weight value is calculated as follows:
  • the current core usage rate of the GPU is 25%.
  • the method for determining performance parameters is as follows:
  • the performance parameter corresponding to the target core usage interval is determined.
  • the current core usage rate of the GPU is 25%.
  • the performance parameters are set as follows:
  • the performance parameters corresponding to the target core usage interval of 2% to 30% are determined as follows: the thread priority information is 0, the sleep time information is 400 ms, and the thread number information is 2.
  • the correspondence of step 505 may include a performance weight value but does not include a performance parameter, or does not include a performance weight value but includes a performance parameter.
  • the core usage in step 505 is one of the status parameters of the terminal, and the status parameter of the terminal may further include the remaining power value of the terminal, the temperature of the core, and the like.
  • the second correspondence may also be a correspondence between other state parameters and at least two core parameter weight values, the parameter weight values being used to indicate that the core is selected to run the convolutional neural network model under specific state parameters. Priority.
  • Step 506 For each core, the core weight value is corrected by using the performance weight value to obtain the first modified weight value.
  • the first modified weight value is used to indicate that the core is selected to run the convolutional neural network model.
  • the core with the first modified weight value and the core with the smaller first modified weight value is suitable for running the convolutional neural network model.
  • the terminal runs the convolutional neural network model on a specific core, it not only needs to adapt the physical characteristics of the core and the characteristics of the convolutional neural network model, but also makes the current performance state of the core suitable for running the convolutional neural network model. To do this, you need to consider the core performance parameters and core hardware features.
  • the specific implementation manner is to correct the core weight values of the multiple heterogeneous cores by using the performance weight values of the multiple heterogeneous cores, so that the obtained first modified weight value combines the core weight value and the performance weight value, and the core first
  • the modified weight value reflects the extent to which the core hardware characteristics and the core core usage of the core are suitable for running the convolutional neural network model.
  • the first modified weight value is more reflective of the core's adaptation to the convolutional neural network model than the core weight value that reflects only the static characteristics of the core. Scheduling the core of the running convolutional neural network model based on the first modified weight value will enable the selection of a more efficient core.
  • the GPU has a core weight value of 1, and the GPU has a performance weight value of 0.7.
  • the core weight value and the performance weight value are multiplied to obtain a first modified weight value of the GPU of 0.7.
  • Step 507 Acquire a remaining power value of the terminal.
  • the core of the terminal runs the convolutional neural network model, it will generate power consumption. Because the power consumption of different cores is different, running the same convolutional neural network model on different cores will generate different power consumption. In order not to affect the continuous use of the terminal by the user, it is necessary to regard the remaining power of the terminal as one of the consideration factors of the scheduling core. This is especially important on terminals with small electrical energy storage.
  • the terminal needs to obtain the remaining power value on the terminal, and the remaining power value is used to indicate how much power the terminal currently has.
  • the specific manner in which the terminal obtains the remaining power value may be, for example, the terminal uses the power detection program on the terminal to detect the current remaining power of the terminal, and obtains the remaining power value.
  • Step 508 Determine, according to the remaining power value, the power consumption weight values of the at least two cores from the preset third correspondence.
  • the power consumption weight values of the at least two cores correspond to the remaining power consumption values.
  • the power consumption weight value is used to indicate the priority at which the core is selected to run the convolutional neural network model under the remaining power value.
  • a core with a large power weight value and a core with a smaller power weight value is suitable for running a convolutional neural network model.
  • the core of the convolutional neural network model scheduling may be a core with lower power consumption, but the computing power of the core may not be superior to other cores, that is, different parameters on the integrated terminal are required.
  • the power consumption weight value of the core is determined by comprehensively considering the remaining power of the terminal and the power consumption of the core. Specifically, the power consumption weight value of the core is determined by using the third correspondence, where the parameters of the third correspondence include a remaining power value and a power weight value, and in the third correspondence, the power weight value is set. The power consumption of the core is taken into account.
  • the third correspondence includes a correspondence between the remaining power value and the power consumption weight value of the at least two cores. That is, the parameters of the third correspondence include the remaining power value and the power consumption weight value.
  • the specific form of these two parameters may be a specific value or a range of values.
  • the determined power weight value can be a specific value.
  • the power consumption weight value may belong to one or more core types, and the determined power consumption weight value may also be one or more, wherein different power consumption weight values belong to different cores.
  • the specific power consumption of the terminal may be used to calculate the specific power consumption.
  • the weight value determines a power consumption weight value in the power consumption weight value interval using a linear mapping manner at a position of the corresponding power consumption weight value interval according to the current remaining power value of the terminal.
  • step 508 A specific example is given below to illustrate step 508, as follows:
  • the power consumption weight value is divided into two ranges, that is, divided into two grades, and the remaining power value range is also divided into two grades.
  • the low power consumption weight value corresponding to the remaining power range is set to the lowest, that is, as long as the power is greater than 8%, the power consumption weight value can be set to a higher level.
  • the power weight value is calculated as follows:
  • the power consumption weight value is determined from the target power weight value interval, the position of the power weight value in the target power weight value interval, and the position of the terminal remaining power value in the target remaining power value interval the same.
  • the power consumption weight value is calculated as follows:
  • the target power consumption weight value interval corresponding to the target remaining power consumption interval is determined: the corresponding CPU is 0.8 to 1.0, and the corresponding GPU is 0 to 0.8, corresponding to the NPU. It is 0.8 to 1.0;
  • Step 509 For each core, the first modified weight value is corrected by using the power consumption weight value to obtain a second modified weight value.
  • the second modified weight value is used to indicate the priority of the core selected to run the convolutional neural network model; the core with the second modified weight value and the core smaller than the second modified weight value is suitable for running the convolutional neural network model.
  • the first correction weight value is corrected by using the power consumption weight value, that is, the first correction weight of the core is used for the remaining power value of the terminal and the power consumption of the core. The value is corrected.
  • the second correction weight value may appear in the form of a list.
  • the core first correction weight value reflects the degree of hardware calculation characteristics of the core and the core core usage rate of the core is suitable for running the convolutional neural network model, and corrects the core first by using the core power weight value.
  • the second modified weight value of the core is combined with more parameters to generate the core scheduling strategy.
  • the parameters of the second modified weight value of the core may have core hardware calculation characteristics, computational density of the convolutional neural network model, core usage rate, remaining power of the terminal at the core, The core power consumption, and thus the core second correction weight, can better reflect the suitability of the core running convolutional neural network model, according to different
  • the core second correction weight can more accurately determine the core of the convolutional neural network model that can run efficiently.
  • the power consumption weight value of the GPU is 0.4
  • the first correction weight value of the CPU is 0.7.
  • the terminal uses the power consumption weight value and multiplies the first modified weight value to obtain a second modified weight value of the GPU of 0.28.
  • the core weight value may be first modified by using the performance weight value, or the core weight value may be first modified by using the power weight value, or the core weight value may be corrected by using the performance weight value and the power weight value simultaneously.
  • the embodiment of the present invention does not specifically limit this.
  • Step 510 Determine, from the at least two cores, a target core with the second modified weight value being the largest.
  • This target core is used to run the core of the convolutional neural network model.
  • the second modified weight value may be used for core scheduling. Comparing the second modified weight values of the cores, selecting the target core with the second modified weight value, and the second weight value of the core reflects the appropriate degree of the core suitable for running the convolutional neural network model, so it is suitable for the target core. Run the convolutional neural network model on it.
  • the terminal selects the convolutional neural network model acquired by the GPU running step 501 with the second largest modified weight value. To perform specific application business.
  • Step 511 Run a convolutional neural network model on the target core using the performance parameters of the target core.
  • Running the convolutional neural network model on the target core involves a specific way of running, such as how to use the core thread to run the convolutional neural network model.
  • the performance parameter of the core is determined according to the current core usage rate of the core, that is, the performance parameter of the target core has been determined, and the terminal can use the performance parameter to run the convolutional neural network model on the target core.
  • each of the performance parameters is used to run the convolutional neural network model. For example, according to the number of threads of the performance parameter, the number of concurrent threads of the target core is controlled; according to the sleep time information of the performance parameter, after the network computing request is executed, the sleep time of the core is controlled, that is, indicated by the sleep time information.
  • the core does not run the next convolutional neural network model during the interval; the priority of the sub-threads in the target core is controlled according to the thread priority information of the performance parameters.
  • the target core runs the convolutional neural network model
  • the sleep API of the system is called, and sleeps for a period of time, and another convolutional neural network model is not run during the period, after the period of time Then, deal with the next new convolutional neural network model.
  • the target core sleeps for a long time by setting the sleep time information to maintain the core usage rate at a reasonable level.
  • the method of the embodiment of the present invention may, after obtaining the weight parameter of the convolutional neural network, represent the calculation density of the convolutional neural network model according to the number of the weight parameter, according to the preset first correspondence relationship,
  • the core weight value of the plurality of cores may be determined according to the number of the weight parameters, and the core weight value is used to indicate that the core is selected to run the convolutional neural network model, and then the core weight value is corrected by the dynamic parameters of the core terminal.
  • the performance weight value is determined according to the second correspondence relationship by the core core usage rate, and the performance weight value is used to indicate the priority of the core selected to run the convolutional neural network model under the current core core usage rate of the core, Determining a power consumption weight value according to a third correspondence relationship by using a remaining power value of the terminal, where the power consumption weight value is used to indicate the remaining power value
  • the core is selected to run the priority of the convolutional neural network model, and the performance weight value and the power weight value are used to correct the core weight value to obtain a second modified weight value, and in the plurality of cores, the second correction weight
  • the target core with the largest value is the core that is most suitable for running the convolutional neural network model.
  • the target core can be scheduled to run the convolutional neural network model, which can improve the efficiency of operation and reduce power consumption.
  • FIG. 6 is a schematic structural diagram of hardware of a terminal according to an embodiment of the present invention. As shown in FIG. 6, for the convenience of description, only the parts related to the embodiment of the present invention are shown. For the specific technical details not disclosed, please refer to the method part of the embodiment of the present invention.
  • the terminal may be any terminal device including a mobile phone, a tablet computer, a PDA (Personal Digital Assistant), a POS (Point of Sales), an in-vehicle computer, and the terminal is a mobile phone as an example:
  • FIG. 6 is a block diagram showing a partial structure of a mobile phone related to a terminal provided by an embodiment of the present invention.
  • the mobile phone includes: a radio frequency (RF) circuit 610, a memory 620, an input unit 630, a display unit 640, a sensor 650, an audio circuit 660, a wireless fidelity (WiFi) module 670, and a central processing unit. 680, and power supply 690 and other components.
  • RF radio frequency
  • the mobile phone may further include a graphics processor 681, a digital signal processor 682, a pulse array processor 683, etc.
  • the pulse array processor may specifically be a neural network processor, a tensor processor, an intelligent processor. Wait.
  • the structure of the handset shown in FIG. 6 does not constitute a limitation to the handset, and may include more or less components than those illustrated, or some components may be combined, or different components may be arranged.
  • the RF circuit 610 can be used for transmitting and receiving information or during a call, and receiving and transmitting the signal. Specifically, after receiving the downlink information of the base station, it is processed by the central processing unit 680; in addition, the uplink data is designed to be sent to the base station.
  • RF circuit 610 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a Low Noise Amplifier (LNA), a duplexer, and the like.
  • LNA Low Noise Amplifier
  • RF circuitry 610 can also communicate with the network and other devices via wireless communication.
  • the above wireless communication may use any communication standard or protocol, including but not limited to Global System of Mobile communication (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (Code Division). Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), E-mail, Short Messaging Service (SMS), and the like.
  • GSM Global System of Mobile communication
  • GPRS General Packet Radio Service
  • CDMA Code Division Multiple Access
  • WCDMA Wideband Code Division Multiple Access
  • LTE Long Term Evolution
  • E-mail Short Messaging Service
  • the memory 620 can be used to store software programs and modules, and the central processing unit 680 executes various functional applications and data processing of the mobile phone by running software programs and modules stored in the memory 620.
  • the memory 620 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application required for at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may be stored according to Data created by the use of the mobile phone (such as audio data, phone book, etc.).
  • memory 620 can include high speed random access memory, and can also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
  • the input unit 630 can be configured to receive input numeric or character information and to generate key signal inputs related to user settings and function controls of the handset.
  • the input unit 630 may include the touch panel 631 and other input devices. 632.
  • the touch panel 631 also referred to as a touch screen, can collect touch operations on or near the user (such as the user using a finger, a stylus, or the like on the touch panel 631 or near the touch panel 631. Operation), and drive the corresponding connecting device according to a preset program.
  • the touch panel 631 can include two parts: a touch detection device and a touch controller.
  • the touch detection device detects the touch orientation of the user, and detects a signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts the touch information into contact coordinates, and sends the touch information.
  • the central processor 680 is provided and can receive commands from the central processing unit 680 and execute them.
  • the touch panel 631 can be implemented in various types such as resistive, capacitive, infrared, and surface acoustic waves.
  • the input unit 630 may also include other input devices 632.
  • other input devices 632 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control buttons, switch buttons, etc.), trackballs, mice, joysticks, and the like.
  • the display unit 640 can be used to display information input by the user or information provided to the user as well as various menus of the mobile phone.
  • the display unit 640 can include a display panel 641.
  • the display panel 641 can be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.
  • the touch panel 631 can cover the display panel 641. When the touch panel 631 detects a touch operation thereon or nearby, the touch panel 631 transmits to the central processing unit 680 to determine the type of the touch event, and then the central processing unit 680 according to the touch. The type of event provides a corresponding visual output on display panel 641.
  • the touch panel 631 and the display panel 641 are two independent components to implement the input and input functions of the mobile phone, in some embodiments, the touch panel 631 may be integrated with the display panel 641. Realize the input and output functions of the phone.
  • the handset can also include at least one type of sensor 650, such as a light sensor, motion sensor, and other sensors.
  • the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display panel 641 according to the brightness of the ambient light, and the proximity sensor may close the display panel 641 and/or when the mobile phone moves to the ear. Or backlight.
  • the accelerometer sensor can detect the magnitude of acceleration in all directions (usually three axes). When it is stationary, it can detect the magnitude and direction of gravity.
  • the mobile phone can be used to identify the gesture of the mobile phone (such as horizontal and vertical screen switching, related Game, magnetometer attitude calibration), vibration recognition related functions (such as pedometer, tapping), etc.; as for the mobile phone can also be configured with gyroscopes, barometers, hygrometers, thermometers, infrared sensors and other sensors, no longer Narration.
  • the gesture of the mobile phone such as horizontal and vertical screen switching, related Game, magnetometer attitude calibration
  • vibration recognition related functions such as pedometer, tapping
  • the mobile phone can also be configured with gyroscopes, barometers, hygrometers, thermometers, infrared sensors and other sensors, no longer Narration.
  • Audio circuit 660, speaker 661, and microphone 662 provide an audio interface between the user and the handset.
  • the audio circuit 660 can transmit the converted electrical data of the received audio data to the speaker 661 for conversion to the sound signal output by the speaker 661; on the other hand, the microphone 662 converts the collected sound signal into an electrical signal by the audio circuit 660. After receiving, it is converted into audio data, and then the audio data is output to the central processing unit 680 for processing, sent to the other mobile phone via the RF circuit 610, or the audio data is output to the memory 620 for further processing.
  • WiFi is a short-range wireless transmission technology
  • the mobile phone can help users to send and receive emails, browse web pages, and access streaming media through the WiFi module 670, which provides users with wireless broadband Internet access.
  • FIG. 6 shows the WiFi module 670, it can be understood that it does not belong to the essential configuration of the mobile phone, and can be omitted as needed within the scope of not changing the essence of the invention.
  • the central processing unit 680 is the control center of the handset, which connects various portions of the entire handset using various interfaces and lines, by running or executing software programs and/or modules stored in the memory 620, and by calling them stored in the memory 620. Data, perform various functions of the mobile phone and process data to monitor the mobile phone as a whole.
  • the central processing unit 680 can include one or more processing units; preferably, the central processing unit 680 can integrate an application processor and a modem processor, wherein the application processor mainly processes an operating system, a user interface, and an application. Programs, etc., the modem processor primarily handles wireless communications. It can be understood that the above modem processor may not be integrated into the central processing unit 680.
  • the handset also includes a power source 690 (such as a battery) that supplies power to the various components.
  • a power source 690 such as a battery
  • the power source can be logically coupled to the central processing unit 680 through a power management system to manage functions such as charging, discharging, and power management through the power management system.
  • the mobile phone may further include a camera, a Bluetooth module, and the like, and details are not described herein again.
  • the central processing unit 680 included in the terminal may be configured to: acquire a target model parameter, where the target model parameter is used to represent a computing density of a convolutional neural network model; and according to the target model parameter, from the preset
  • the core correspondence value of at least two cores is determined in the first correspondence relationship, the core weight values of the at least two cores correspond to the target model parameters, and at least two cores are heterogeneous cores on the terminal, and the first correspondence relationship includes target model parameters.
  • the core weight value is used to indicate the priority of the core selected to run the convolutional neural network model; and determined from at least two cores based on the core weight values of at least two cores Run the core of the convolutional neural network model.
  • the central processing unit 680 is further configured to: obtain a current state parameter of the terminal, where the state parameter is a dynamically changing parameter; and determine, according to the state parameter, the parameter weight of the at least two cores from the preset second correspondence. a value, at least two core parameter weight values corresponding to the state parameter, the second correspondence relationship comprising a correspondence between the state parameter and at least two core parameter weight values, the parameter weight value being used to indicate that under the state parameter, the core is selected The priority of running the convolutional neural network model; for each core, the core weight value is corrected using the parameter weight value to obtain a first modified weight value, and the first modified weight value is used to indicate that the core is selected to run the convolutional neural network model Priority; determining the core of the running convolutional neural network model from at least two cores based on the first modified weight values of the at least two cores.
  • the current state parameter of the terminal is the current core usage rate of each core
  • the central processing unit 680 is further configured to: determine, for each core, a performance weight from the preset second correspondence according to the core usage rate. Value, the performance weight value of each core corresponds to the core usage rate of each core, and the performance weight value is used to indicate the priority of the core selected to run the convolutional neural network model under the core core usage rate, second The correspondence includes the correspondence between the core usage rate of each core and the performance weight value of each core.
  • the central processing unit 680 is further configured to: determine, according to the remaining power value, the power consumption weight values of the at least two cores from the preset third correspondence, at least two The core power consumption weight value corresponds to the remaining power value, and the third correspondence relationship includes a correspondence between the remaining power value and at least two core power consumption weight values, and the power consumption weight value is used to indicate that the core is selected under the remaining power value.
  • the priority of running the convolutional neural network model for each core, the first modified weight value is corrected using the power consumption weight value to obtain a second modified weight value, and the second modified weight value is used to indicate that the core is selected to run the convolution
  • the priority of the neural network model determining the core of the running convolutional neural network model from at least two cores based on the second modified weight values of the at least two cores.
  • the central processing unit 680 is further configured to: obtain a current core usage rate of each core; for each core, determine performance parameters from the second correspondence according to the core usage rate, performance parameters of each core, and Each core Corresponding to the core usage rate, the second correspondence relationship includes the correspondence between the performance parameters of each core and the core usage rate of each core; determining the running convolutional nerve from at least two cores according to the core weight values of at least two cores After the core of the network model, the convolutional neural network model is run on the target core using the performance parameters of the target core.
  • the target core is the core of the running convolutional neural network model.
  • the current state parameter of the terminal is the current remaining power value of the terminal
  • the central processing unit 680 is further configured to: determine, according to the remaining power value, the power consumption weight of the at least two cores from the preset second correspondence.
  • the value, the power weight value of at least two cores corresponds to the remaining power value, and the power weight value is used to indicate the priority of the core selected to run the convolutional neural network model under the remaining power value, and the second correspondence includes the remaining The correspondence between the power value and the power weight values of at least two cores.
  • the central processing unit 680 is further configured to: determine, in the preset first correspondence, a target model parameter interval in which the target model parameter is located; and determine, in the first correspondence, the core weight of the at least two cores The value interval, at least two core core weight value intervals correspond to the target model parameter interval, and the first correspondence relationship includes a correspondence relationship between the target model parameter interval and at least two core core weight value intervals, and the target model parameter interval includes the target model parameter
  • the core weight value is determined from the core weight value interval, and the position of the core weight value in the core weight value interval is the same as the position of the target model parameter in the target model parameter interval.
  • the central processing unit 680 is further configured to perform the steps 401 to 403 described above.
  • the central processing unit 680 is further configured to perform steps 501 to 511 described above.
  • the central processing unit 680 acquires target model parameters, wherein the target model parameters are used to represent the computational density of a convolutional neural network model, and then the central processor 680 selects from the preset first correspondence according to the target model parameters. Determining at least two core core weight values in the relationship, the core weight values of the at least two cores are corresponding to target model parameters, the at least two cores are heterogeneous cores on the terminal, wherein the first correspondence relationship includes target model parameters Corresponding to the core weight values of at least two cores, the core weight values are used to indicate the priority of the core being selected to run the convolutional neural network model.
  • the central processor 680 thus determines the core of the running convolutional neural network model from at least two cores based on the core weight values of the at least two cores.
  • the heterogeneous core features on the terminal are different, and different cores are suitable for running convolutional neural network models with different computational densities.
  • the first correspondence relationship includes a correspondence relationship between the target model parameter and the core weight value of at least two cores, wherein the target model parameter is used to represent a calculation density of a convolutional neural network model
  • At least two cores are heterogeneous cores on the terminal, and after obtaining the target model parameters of a convolutional neural network model, at least two cores may be determined from the preset first correspondence according to the target model parameters.
  • the core weight value is used to indicate the priority at which the core is selected to run the convolutional neural network model, and the core weight value can be used to determine the core suitable for running the convolutional neural network model.
  • the core of the running convolutional neural network model can be determined from at least two cores according to the core weight values of at least two cores.
  • the core of the adaptation can be determined to run a convolutional neural network model with specific computational density. If the core with higher core weight value can run the convolutional neural network model efficiently, according to the core weight value The identified core can run the convolutional neural network model efficiently.
  • FIG. 7 is a schematic structural diagram of a terminal according to an embodiment of the present disclosure.
  • the terminal may be integrated on the terminal shown in FIG. 6.
  • the terminal shown in FIG. 7 may be used to execute the terminal executed by FIG. 4 or FIG. step.
  • a terminal includes:
  • An obtaining unit 701 configured to acquire a target model parameter, where the target model parameter is used to represent a computing density of a convolutional neural network model;
  • the weight value determining unit 702 is configured to determine, according to the target model parameter, a core weight value of at least two cores from the preset first correspondence relationship, where the core weight values of the at least two cores correspond to the target model parameters, and at least two cores For the heterogeneous core on the terminal, the first correspondence includes a correspondence between the target model parameter and the core weight values of at least two cores, and the core weight value is used to indicate the priority of the core selected to run the convolutional neural network model;
  • the core determining unit 703 is configured to determine, according to the core weight values of the at least two cores, a core of the running convolutional neural network model from the at least two cores.
  • the obtaining unit 701 is further configured to acquire a current state parameter of the terminal, where the state parameter is a dynamically changing parameter;
  • the weight value determining unit 702 is further configured to determine, according to the state parameter, a parameter weight value of at least two cores from the preset second correspondence relationship, where the parameter weight values of the at least two cores correspond to the state parameters, and the second correspondence relationship includes The correspondence between the state parameter and at least two core parameter weight values, the parameter weight value is used to indicate the priority of the core selected to run the convolutional neural network model under the state parameter;
  • Core determining unit 703, comprising a correction module 704 and a core determining module 705;
  • the correction module 704 is configured to, for each core, use a parameter weight value to correct the core weight value to obtain a first modified weight value, where the first modified weight value is used to indicate a priority of the core selected to run the convolutional neural network model;
  • the core determining module 705 is configured to determine, according to the first modified weight value of the at least two cores, a core of the running convolutional neural network model from the at least two cores.
  • the current state parameter of the terminal is the current core usage rate of each core
  • the weight value determining unit 702 is further configured to determine a performance weight value from the preset second correspondence relationship according to the core usage rate for each core, and the performance weight value of each core corresponds to the core usage rate of each core, and the performance The weight value is used to indicate the priority of the core selected to run the convolutional neural network model under the core core usage rate of the core, and the second correspondence includes the core usage rate of each core and the performance weight value of each core. relationship.
  • the obtaining unit 701 is further configured to acquire a current remaining power value of the terminal;
  • the weight value determining unit 702 is further configured to determine, according to the remaining power value, a power consumption weight value of at least two cores from the preset third correspondence relationship, where the power consumption weight values of the at least two cores and the remaining power value correspond to,
  • the three correspondence relationship includes a correspondence between the remaining power value and the power consumption weight values of the at least two cores, and the power consumption weight value is used to indicate the priority of the core selected to run the convolutional neural network model under the remaining power value;
  • the correction module 704 is further configured to: for each core, correct the first modified weight value by using the power consumption weight value to obtain a second modified weight value, where the second modified weight value is used to indicate that the core is selected to run the convolutional neural network model Priority
  • the core determining module 705 is further configured to determine, according to the second modified weight value of the at least two cores, a core of the running convolutional neural network model from the at least two cores.
  • the terminal further includes a parameter determining unit 706 and an operating unit 707;
  • the obtaining unit 701 is further configured to obtain a current core usage rate of each core.
  • the parameter determining unit 706 is configured to determine performance parameters from the second correspondence according to the core usage rate, and the performance parameter of each core corresponds to the core usage rate of each core, and the second correspondence includes each core. Correspondence between performance parameters and core usage of each core;
  • the running unit 707 is configured to: after the core determining unit performs the core of the running convolutional neural network model from the at least two cores, according to the core weight value of the at least two cores, use the performance parameter of the target core on the target core Convolutional neural network model, the core of the target is the core of the running convolutional neural network model.
  • the performance parameter includes one or more of thread priority information, sleep time information, and number of threads;
  • the thread priority information is the priority information of the child thread when the core runs the convolutional neural network model
  • the sleep time information is the time when the core runs two convolutional neural network models
  • the number of threads information is the number of threads used when the core runs the convolutional neural network model.
  • the current state parameter of the terminal is the current remaining power value of the terminal
  • the weight value determining unit 702 is further configured to determine, according to the remaining power value, the power consumption weight values of the at least two cores from the preset second correspondence, and the power consumption weight values of the at least two cores correspond to the remaining power values.
  • the weight loss value is used to indicate the priority of the core selected to run the convolutional neural network model under the remaining power value, and the second correspondence includes the correspondence between the remaining power value and the power consumption weight values of at least two cores.
  • the target model parameter is the number of weight parameters of the convolutional neural network model.
  • the at least two cores include at least two of a central processing unit CPU, a graphics processor GPU, a digital signal processor DSP, and a pulse array processor.
  • the weight value determining unit 702 is further configured to determine, in the preset first correspondence, a target model parameter interval in which the target model parameter is located; and in the first correspondence relationship, determine at least two core core weight value intervals, at least two The core core weight value interval corresponds to the target model parameter interval, and the first correspondence relationship includes the correspondence relationship between the target model parameter interval and the core weight value interval of at least two cores, and the target model parameter interval includes the target model parameter; for each core The core weight value is determined from the core weight value interval, and the position of the core weight value in the core weight value interval is the same as the position of the target model parameter in the target model parameter interval.
  • the obtaining unit 701 acquires a target model parameter, wherein the target model parameter is used to represent the calculated density of a convolutional neural network model, and then the weight value determining unit 702 selects the first corresponding corresponding according to the target model parameter. Determining at least two core core weight values in the relationship, the core weight values of the at least two cores are corresponding to target model parameters, the at least two cores are heterogeneous cores on the terminal, wherein the first correspondence relationship includes target model parameters Corresponding to the core weight values of at least two cores, the core weight values are used to indicate the priority of the core being selected to run the convolutional neural network model.
  • the core determining unit 703 is based on at least two core weight values of at least two cores.
  • the core of the running convolutional neural network model is determined in the core.
  • the heterogeneous core features on the terminal are different, and different cores are suitable for running convolutional neural network models with different computational densities.
  • the first correspondence relationship includes a correspondence relationship between the target model parameter and the core weight value of at least two cores, wherein the target model parameter is used to represent a calculation density of a convolutional neural network model,
  • At least two cores are heterogeneous cores on the terminal, and after obtaining the target model parameters of a convolutional neural network model, at least two cores may be determined from the preset first correspondence according to the target model parameters.
  • Core weight value is a correspondence relationship between the target model parameter and the core weight value of at least two cores, wherein the target model parameter is used to represent a calculation density of a convolutional neural network model.
  • the core weight value is used to indicate the priority at which the core is selected to run the convolutional neural network model, and the core weight value can be used to determine the core suitable for running the convolutional neural network model.
  • the core of the running convolutional neural network model can be determined from at least two cores according to the core weight values of at least two cores.
  • the core of the adaptation can be determined to run a convolutional neural network model with specific computational density. If the core with higher core weight value can run the convolutional neural network model efficiently, according to the core weight value The identified core can run the convolutional neural network model efficiently.
  • the embodiment of the invention further provides a chip device, the chip comprising a processing unit for performing the method shown in FIG. 4 and FIG. 5 above.
  • the embodiment of the invention further provides a chip device, which comprises a processor and a memory.
  • the memory includes instructions that are executed by the processor for performing the methods illustrated in Figures 4 and 5 above.
  • the chip device may be a chip in the terminal, the chip includes: a processing unit and a communication unit, and the processing unit may be, for example, a processor, and the processor may be a central processor as described above. 680.
  • the communication unit may be, for example, an input/output interface, a pin or a circuit, etc., and the communication unit includes a system bus.
  • the chip further includes a storage unit, where the storage unit may be a memory inside the chip, such as a register, a cache, a random access memory (RAM), an EEPROM or a FLASH, etc.;
  • the unit may also be a memory located external to the chip, which may be various types of memory 620 as previously described.
  • the processor is coupled to a memory that can execute instructions stored in the memory to cause the chip device to perform the methods illustrated in Figures 4 and 5 above.
  • the computer program product includes one or more computer instructions.
  • the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • the computer instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be from a website site, computer, server or data center Transfer to another website site, computer, server, or data center by wire (eg, coaxial cable, fiber optic, digital subscriber line (DSL), or wireless (eg, infrared, wireless, microwave, etc.).
  • wire eg, coaxial cable, fiber optic, digital subscriber line (DSL), or wireless (eg, infrared, wireless, microwave, etc.).
  • the computer readable storage medium can be any available media that can be stored by a computer or a data storage device such as a server, data center, or the like that includes one or more available media.
  • the usable medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a DVD), or a semiconductor medium (such as a solid state disk (SSD)).

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Analysis (AREA)

Abstract

L'invention concerne un procédé de programmation de cœur et un dispositif associé. Le procédé consiste : à acquérir un paramètre de modèle cible, le paramètre de modèle cible étant utilisé pour indiquer la densité de calcul d'un modèle de réseau neuronal convolutif ; à déterminer des valeurs de poids de cœur d'au moins deux cœurs à partir d'une première corrélation prédéfinie en fonction du paramètre de modèle cible, les valeurs de poids de cœur desdits cœurs correspondant au paramètre de modèle cible, lesdits cœurs constituant des cœurs hétérogènes sur un terminal, la première corrélation comprenant une corrélation entre le paramètre de modèle cible et les valeurs de poids de cœur desdits cœurs, et la valeur de poids de cœur étant utilisée pour indiquer le niveau de priorité d'un cœur sélectionné afin d'exécuter le modèle de réseau neuronal convolutif ; et à déterminer un cœur destiné à exécuter le modèle de réseau neuronal convolutif dans lesdits cœurs en fonction des valeurs de poids de cœur desdits cœurs. Grâce aux valeurs de poids de cœur de différents cœurs, un cœur adapté peut être déterminé afin d'exécuter un modèle de réseau neuronal convolutif à densité de calcul spécifique.
PCT/CN2017/107614 2017-10-25 2017-10-25 Procédé et terminal de programmation de cœur WO2019079994A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201780064697.0A CN109937410B (zh) 2017-10-25 2017-10-25 核心调度方法和终端
PCT/CN2017/107614 WO2019079994A1 (fr) 2017-10-25 2017-10-25 Procédé et terminal de programmation de cœur

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/107614 WO2019079994A1 (fr) 2017-10-25 2017-10-25 Procédé et terminal de programmation de cœur

Publications (1)

Publication Number Publication Date
WO2019079994A1 true WO2019079994A1 (fr) 2019-05-02

Family

ID=66247167

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/107614 WO2019079994A1 (fr) 2017-10-25 2017-10-25 Procédé et terminal de programmation de cœur

Country Status (2)

Country Link
CN (1) CN109937410B (fr)
WO (1) WO2019079994A1 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110442919B (zh) * 2019-07-12 2022-12-27 西安空间无线电技术研究所 一种基于gpu架构的微波部件微放电数值模拟方法
TWI819480B (zh) * 2022-01-27 2023-10-21 緯創資通股份有限公司 加速系統及其動態配置方法
CN114237859B (zh) * 2022-02-25 2022-05-13 中瓴智行(成都)科技有限公司 分布式的智能终端gpu算力提升方法、终端、系统及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012155010A1 (fr) * 2011-05-11 2012-11-15 Advanced Micro Devices, Inc. Équilibrage de charge automatique pour des cœurs hétérogènes
CN103119580A (zh) * 2010-09-25 2013-05-22 英特尔公司 异构多处理器计算平台中的应用调度
CN103443769A (zh) * 2011-03-11 2013-12-11 英特尔公司 用于异构多核心系统的动态核心选择
CN105224502A (zh) * 2015-09-28 2016-01-06 浪潮(北京)电子信息产业有限公司 一种基于gpu的深度学习方法及系统
CN106201651A (zh) * 2016-06-27 2016-12-07 鄞州浙江清华长三角研究院创新中心 神经形态芯片的模拟器

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289436B (zh) * 2010-06-18 2013-12-25 阿里巴巴集团控股有限公司 确定搜索词权重值方法及装置、搜索结果生成方法及装置
CN103299277B (zh) * 2011-12-31 2016-11-09 华为技术有限公司 Gpu系统及其处理方法
WO2015050474A1 (fr) * 2013-10-03 2015-04-09 Huawei Technologies Co., Ltd Procédé et système pour attribuer un bloc de calcul d'un programme logiciel à des cœurs d'un système multi-processeurs
CN103645954B (zh) * 2013-11-21 2018-12-14 华为技术有限公司 一种基于异构多核体系的cpu调度方法、装置和系统
EP3035204B1 (fr) * 2014-12-19 2018-08-15 Intel Corporation Dispositif de stockage et procédé permettant d'effectuer des opérations de convolution
US10234930B2 (en) * 2015-02-13 2019-03-19 Intel Corporation Performing power management in a multicore processor
US9766673B2 (en) * 2015-02-27 2017-09-19 Intel Corporation Supercapacitor-based power supply protection for multi-node systems
CN108416437B (zh) * 2016-04-18 2021-08-03 中国科学院计算技术研究所 用于乘加运算的人工神经网络的处理系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103119580A (zh) * 2010-09-25 2013-05-22 英特尔公司 异构多处理器计算平台中的应用调度
CN103443769A (zh) * 2011-03-11 2013-12-11 英特尔公司 用于异构多核心系统的动态核心选择
WO2012155010A1 (fr) * 2011-05-11 2012-11-15 Advanced Micro Devices, Inc. Équilibrage de charge automatique pour des cœurs hétérogènes
CN105224502A (zh) * 2015-09-28 2016-01-06 浪潮(北京)电子信息产业有限公司 一种基于gpu的深度学习方法及系统
CN106201651A (zh) * 2016-06-27 2016-12-07 鄞州浙江清华长三角研究院创新中心 神经形态芯片的模拟器

Also Published As

Publication number Publication date
CN109937410A (zh) 2019-06-25
CN109937410B (zh) 2021-02-23

Similar Documents

Publication Publication Date Title
EP3553676A1 (fr) Procédé et terminal intelligents de recommandations
CN111261161B (zh) 一种语音识别方法、装置及存储介质
WO2019062413A1 (fr) Procédé et appareil de gestion et de commande de programme d'application, support de stockage et dispositif électronique
CN107947951A (zh) 用户群组推荐方法、装置及存储介质和服务器
CN107610698A (zh) 一种实现语音控制的方法、机器人及计算机可读存储介质
KR102647690B1 (ko) 최적화된 인공신경망 모델을 구동하도록 구성된 신경망 프로세싱 유닛
WO2021089008A1 (fr) Procédé et dispositif de prédiction d'une activité de liaison intermoléculaire
WO2019079994A1 (fr) Procédé et terminal de programmation de cœur
WO2023207487A1 (fr) Procédé de détermination de câblage de circuit et dispositif associé
US11494237B2 (en) Managing workloads of a deep neural network processor
CN109656719B (zh) 算法处理方法、装置、存储介质及终端设备
WO2019062411A1 (fr) Procédé de gestion et de commande de programme d'application d'arrière-plan, support de stockage et dispositif électronique
WO2024046473A1 (fr) Procédé et appareil de traitement de données
CN115562878B (zh) Gpu计算资源的管理方法、装置、电子设备及可读存储介质
CN108681480B (zh) 后台应用程序管控方法、装置、存储介质及电子设备
WO2022188551A1 (fr) Procédé et appareil de traitement d'informations, dispositif de commande maître et dispositif commandé
CN115982110B (zh) 文件运行方法、装置、计算机设备及可读存储介质
WO2024119823A1 (fr) Procédé et appareil de gestion de ressources informatiques d'unité gpu, dispositif électronique et support de stockage lisible
WO2024055952A1 (fr) Procédé de traitement de données et appareil associé
WO2024016894A1 (fr) Procédé d'apprentissage de réseau neuronal, et dispositif associé
US20230179675A1 (en) Electronic device and method for operating thereof
US20220300333A1 (en) Electronic device including multi processor and method for operating the same
WO2024087830A1 (fr) Procédé de démarrage d'applications et dispositif électronique
KR20230105203A (ko) 심층 신경망 구조 탐색 방법 및 시스템
KR20220128159A (ko) 프로세스 스케줄링을 위한 장치 및 스케줄링 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17929744

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17929744

Country of ref document: EP

Kind code of ref document: A1