Parameter determination method and electronic equipment
Through Bayesian optimization and Pareto optimal algorithms, the optimal value of mobile phone parameters is automatically explored, solving the problem of inaccurate tuning in the existing technology, and improving user experience and mobile phone usage time.
Patent Information
- Application Number
- CN202410080310.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-19
- Publication Date
- 2025-01-03
- Estimated Expiration
- 2044-01-19
Smart Images

Figure CN119248582A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of computers, and in particular to a parameter determination method and an electronic device. Background Art
[0002] In order to improve the user experience, the parameters of the mobile phone can be tuned for different usage scenarios. In the process of mobile phone tuning, how to balance performance and power consumption and reduce power consumption while maintaining performance is an important goal of mobile phone tuning. For example, for the use scenario of full-screen video playback on the mobile phone, the frequency of the mobile phone CPU can be tuned to reduce power consumption and mobile phone temperature while ensuring that the video playback does not drop frames, thereby extending the use time of the mobile phone.
[0003] At present, there are two methods for tuning parameters of mobile phones: one is manual confirmation, that is, selecting a parameter through multiple tests or heuristics. However, manual confirmation is labor-intensive and there is no clear parameter test direction, so it is impossible to accurately find the optimal parameter value. The other is to approximate the parameter value of the new product by the parameter value of the historical product. However, the chip capabilities and architectures of the historical product and the new product may be quite different, and the parameters of the historical product may not be suitable for the new product, resulting in inaccurate parameter settings. Therefore, how to accurately tune the parameters of mobile phones is a problem to be solved. Summary of the invention
[0004] The embodiments of the present application provide a parameter determination method and an electronic device. Based on the method described in the present application, the parameters of a mobile phone can be accurately tuned.
[0005] In a first aspect, the present application provides a parameter determination method, the method comprising: obtaining a first parameter optimization model for a first scenario; determining a first value of the parameter to be tuned based on the first parameter optimization model; obtaining a first test result corresponding to the first value; the first test result comprising first performance information and first power consumption information of a first device; and determining the optimal value of the parameter to be tuned based on the first value and the first test result.
[0006] Based on the method described in the first aspect, the value of the parameter to be tuned in the next test point is determined by adopting the first parameter optimization model of Bayesian optimization (such as the TPE model). After multiple tests, the optimal point (such as the Pareto optimal algorithm) is found in multiple test points according to the optimization goal of increasing the frame rate and reducing power consumption. At this time, the value of the parameter to be tuned corresponding to the optimal point is the optimal value of the parameter to be tuned. In this way, not only can the optimal value of the parameter to be tuned in different scenarios be automatically explored, but also the accuracy of parameter tuning can be improved.
[0007] In a possible implementation, the first scene is a scene of full-screen video playback of the first device, the parameter to be optimized is the central processing unit CPU frequency of the first device, the performance information of the first device includes the frame rate, and the power consumption information of the first device includes the power consumption.
[0008] In a possible implementation, obtaining a first test result corresponding to the first value includes: sending the first value to a first device; receiving a first test result corresponding to the first value from the first device; the first test result is obtained by the first device setting the first value under a test environment corresponding to the first scenario. Based on this method, the first device can assist in executing the parameter determination method to improve the accuracy of parameter tuning.
[0009] In a possible implementation, after obtaining the first test result corresponding to the first value, the method further includes: calling the first parameter optimization model to process the first value to obtain the first prediction result corresponding to the first value; the first prediction result includes the predicted first performance information and first power consumption information of the first device; adjusting the model parameters of the first parameter optimization model based on the first test result and the first prediction result to obtain the second parameter optimization model; determining the second value of the parameter to be tuned based on the second parameter optimization model; obtaining the second test result corresponding to the second value; the second prediction result includes the predicted second performance information and second power consumption information of the first device; determining the optimal value of the parameter to be tuned based on the first value and the first test result, including: determining the optimal value of the parameter to be tuned based on the first value, the first test result, the second value and the second test result. Based on this method, the accuracy of the parameter tuning model can be improved.
[0010] In a possible implementation, determining the optimal value of the parameter to be tuned based on the first value, the first test result, the second value, and the second test result includes: when the number of values of the parameter to be tuned is equal to a preset number, determining the optimal value of the parameter to be tuned from the first value and the second value based on the first value, the first test result, the second value, and the second test result; when the number of values of the parameter to be tuned is less than the preset number, calling the second parameter optimization model to process the second value to obtain a second prediction result corresponding to the second value; the second The prediction result includes the predicted second performance information and second power consumption information of the first device; based on the second test result and the second prediction result, the model parameters of the second parameter optimization model are adjusted to obtain a third parameter optimization model; based on the third parameter optimization model, a third value of the parameter to be tuned is determined; a third test result corresponding to the third value is obtained; the third prediction result includes the predicted third performance information and third power consumption information of the first device; based on the first value, the first test result, the second value, the second test result, the third value and the third test result, the optimal value of the parameter to be tuned is determined. Based on this method, the accuracy of the parameter tuning model can be further improved.
[0011] In a possible implementation, based on the first value, the first test result, the second value and the second test result, determining the optimal value of the parameter to be tuned from the first value and the second value includes: using a Pareto optimal algorithm to process the first value, the first test result, the second value and the second test result to obtain the optimal value of the parameter to be tuned; the optimization target in the Pareto optimal algorithm indicates increasing the frame rate and reducing power consumption, and the optimization direction in the Pareto optimal algorithm indicates improving the optimization target. Based on this method, using the Pareto optimal algorithm can further improve the accuracy of parameter tuning.
[0012] In a possible implementation, the first parameter optimization model is a TPE model based on a mixed Gaussian distribution. Based on this approach, compared with the Gaussian regression model, it is more conducive to improving the accuracy of parameter tuning.
[0013] In a possible implementation, obtaining a first parameter optimization model for a first scenario includes: obtaining a sample value of the parameter to be tuned for the first scenario and a sample test result corresponding to the sample value; calling an initial parameter optimization model to process the sample value to obtain a sample prediction result corresponding to the sample value; determining a loss value based on the sample prediction result and the sample test result; adjusting the model parameters of the initial parameter optimization model in a direction of reducing the loss value to obtain a first parameter optimization model. Based on this method, it is beneficial to improve the accuracy of model training.
[0014] In a second aspect, the present application provides a parameter determination device, which may be an electronic device, or a device in an electronic device, or a device that can be used in combination with an electronic device; wherein the parameter determination device may also be a chip system, and the parameter determination device may execute the method executed by the electronic device in the first aspect. The functions of the parameter determination device may be implemented by hardware, or by hardware executing corresponding software implementations. The hardware or software includes one or more units corresponding to the above functions. The unit may be software and / or hardware. The operations and beneficial effects performed by the parameter determination device may refer to the method and beneficial effects of the first aspect above, and the repeated parts will not be repeated.
[0015] In a third aspect, the present application provides a parameter determination device, which includes a processor. When the processor calls a computer program in a memory, the method described in the first aspect is executed.
[0016] In a fourth aspect, the present application provides a parameter determination device, which includes a processor and a memory, and the processor and the memory are coupled; the processor is used to implement the method described in the first aspect.
[0017] In a fifth aspect, the present application provides a parameter determination device, which includes a processor, a memory and a transceiver, and the processor and the memory are coupled; the transceiver is used to send and receive data, and the processor is used to implement the method described in the first aspect.
[0018] In a sixth aspect, the present application provides an electronic device, comprising one or more processors and one or more memories. The one or more memories are coupled to the one or more processors, and the one or more memories are used to store computer program codes, and the computer program codes include computer instructions, and when the one or more processors execute the computer instructions, the electronic device executes the parameter determination method in any possible implementation of the first aspect.
[0019] In a seventh aspect, the present application provides a chip comprising a processor and an interface, wherein the processor and the interface are coupled; the interface is used to receive or output signals, and the processor is used to execute code instructions so that the method described in the first aspect is executed.
[0020] In an eighth aspect, the present application provides a parameter determination system, which includes an electronic device; wherein the electronic device is used to execute the method described in the first aspect.
[0021] In a ninth aspect, the present application provides a parameter determination device, which includes a function or unit for executing the method as described in any one of the first aspects.
[0022] In a tenth aspect, the present application provides a computer-readable storage medium, which stores a computer program, and the computer program includes program instructions. When the program instructions are run on a parameter determination device, the parameter determination device executes the parameter determination method in any possible implementation of the first aspect above.
[0023] In an eleventh aspect, the present application provides a computer program product. When the computer program product runs on a computer, it enables the computer to execute the parameter determination method in any possible implementation of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] Figure 1 It is a schematic diagram of a system architecture provided by an embodiment of the present application;
[0025] Figure 2 It is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application;
[0026] Figure 3 It is a software structure block diagram of an electronic device provided in an embodiment of the present application;
[0027] Figure 4 It is a flow chart of a parameter determination method provided in an embodiment of the present application;
[0028] Figure 5A It is a flowchart of a computer device performing an operation provided in an embodiment of the present application;
[0029] Figure 5B is a flow chart of a computer device provided in an embodiment of the present application fitting a first parameter optimization model for the first scenario;
[0030] Figure 5C This is a schematic diagram of a flow chart of an operation performed by a first device (mobile phone) provided in an embodiment of the present application;
[0031] Figure 5D It is a schematic diagram of a flow chart of a computer device obtaining a second value and a second test result provided by an embodiment of the present application;
[0032] Figure 5E is a schematic diagram of two situations when determining the optimal value of the parameter to be tuned provided by an embodiment of the present application;
[0033] Fig. 5F It is a flowchart of performing an operation when the number of values of a parameter to be tuned is equal to a preset number provided in an embodiment of the present application;
[0034] Figure 5G It is a flowchart of performing an operation when the number of values of a parameter to be tuned is less than a preset number provided in an embodiment of the present application;
[0035] Figure 6 is a flow chart of another parameter determination method provided in an embodiment of the present application;
[0036] Figure 7 is a test result diagram based on a parameter determination method provided in an embodiment of the present application;
[0037] Figure 8 is a flow chart of another parameter determination method provided in an embodiment of the present application;
[0038] Fig. 9 is a structural schematic diagram of a display device provided in an embodiment of the present application;
[0039] Fig.10 It is a schematic diagram of the structure of a chip provided in an embodiment of the present application. DETAILED DESCRIPTION
[0040] The technical solutions in the embodiments of the present application will be described clearly and in detail below in conjunction with the accompanying drawings. In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in the text is only a description of the association relationship of associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present application, "multiple" means two or more than two.
[0041] In the following, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as suggesting or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features, and in the description of the embodiments of the present application, unless otherwise specified, "plurality" means two or more.
[0042] The term "user interface (UI)" in the following embodiments of the present application refers to a medium interface for interaction and information exchange between an application or operating system and a user, which realizes the conversion between the internal form of information and the form acceptable to the user. The user interface is a source code written in a specific computer language such as Java and extensible markup language (XML). The interface source code is parsed and rendered on an electronic device, and finally presented as content that the user can recognize. The commonly used form of user interface is a graphical user interface (GUI), which refers to a user interface related to computer operations that is displayed in a graphical manner. It can be a visual interface element such as time, date, text, icon, button, menu, tab, text box, dialog box, status bar, navigation bar, widget, etc. displayed on the display screen of an electronic device.
[0043] In order to facilitate understanding of the solution provided by the embodiment of the present application, the following introduces the relevant concepts involved in the embodiment of the present application:
[0044] 1. Gaussian model and Bayesian optimization
[0045] The Gaussian model uses the Gaussian probability density function (normal distribution curve) to accurately quantify things and decomposes a thing into several models based on the Gaussian probability density function (normal distribution curve). According to the law of large numbers and the central limit theorem: no matter what the distribution of things is originally, the probability distribution of the mean of its sampled samples tends to Gaussian distribution as the number of samples increases. Therefore, the Gaussian model can be used to fit the distribution of any known or unknown function.
[0046] Bayesian optimization is a black-box optimization algorithm used to solve the extreme value problem of functions with unknown expressions. The algorithm predicts the probability distribution of function values at any point based on the function values at a set of sampling points, and is implemented through Gaussian process regression. Based on the results of Gaussian process regression, a collection function is constructed to measure the degree to which each point is worth exploring, and the extreme value of the collection function is solved to determine the next sampling point. Finally, the extreme value of this set of sampling points is returned as the extreme value of the function.
[0047] In the embodiments of the present application, a model based on a mixed Gaussian distribution is used, such as a TPE (full name: tree-structured parzenestimator) model. The TPE model is a Bayesian optimization model based on a tree structure, which is used to solve the global optimization problem of black box functions. The core idea is to divide the known data into two categories, good data and bad data, according to their values, and establish two models, namely a good Gaussian mixture model f(x) and a bad Gaussian mixture model g(x). The optimal value of the model should be in the good Gaussian mixture model with a high probability and in the bad Gaussian mixture model with a low probability. Therefore, the selection of the next test point is based on The data point with the largest value is most likely to be the expected optimal extreme point, that is, the next test point can be selected The corresponding parameter value when maximized. In this way, the TPE model can adaptively adjust the size of the parameter search space and find the global optimal solution in the fewest possible iterations. The TPE model is a classification parameter adjustment model based on the regression model, and performs better than the Gaussian regression model in actual use.
[0048] 2. Pareto optimal algorithm
[0049] The Pareto optimal algorithm is a commonly used optimization algorithm, also known as the Pareto frontier algorithm or the Pareto optimization algorithm. Its core idea is to find a set of solutions in a multi-objective optimization problem so that it is no longer possible to obtain better results by improving a certain objective without changing other objectives. The principle is to convert the multi-objective optimization problem into a single-objective optimization problem by weighted summing multiple objective functions. Specifically, assuming there are n objective functions, each with a weight coefficient, our goal is to find a set of solutions that performs optimally on each objective function. These optimal solutions constitute the Pareto optimal solution set, also known as the Pareto frontier.
[0050] 3. Mobile phone parameter tuning
[0051] In order to improve the user experience, the parameters of the mobile phone can be tuned for different usage scenarios. In the process of mobile phone tuning, how to balance performance and power consumption and reduce power consumption while maintaining performance is an important goal of mobile phone tuning. For example, for the use scenario of full-screen video playback on the mobile phone, the frequency of the central processing unit (CPU) of the mobile phone can be tuned to reduce power consumption, reduce the temperature of the mobile phone, and extend the use time of the mobile phone while ensuring that the video playback does not drop frames.
[0052] At present, there are two methods for tuning parameters of mobile phones: one is manual confirmation, that is, selecting a parameter through multiple tests or heuristics. However, manual confirmation is labor-intensive and has no clear parameter testing direction, so it is impossible to accurately find the optimal parameter value. The other is to approximate the parameter value of the new product by the parameter value of the historical product. However, the chip capabilities and architectures of the historical product and the new product may be quite different, and the parameters of the historical product may not be suitable for the new product, resulting in inaccurate parameter settings. Therefore, how to accurately tune the parameters of mobile phones is a problem to be solved.
[0053] Therefore, in order to accurately tune the parameters of a mobile phone, the present application provides a parameter determination method and an electronic device. Figure 1 As shown, the above-mentioned parameter determination method can be executed by the electronic device 100, and the electronic device 100 can be a computer device or a first device; or, the above-mentioned parameter determination method can also be executed jointly by the computer device and the first device, which is not limited here.
[0054] The computer device may be a laptop, ultra-mobile personal computer (UMPC), desktop, personal digital assistant (PDA), server, etc., but is not limited thereto; the first device may be a mobile phone, tablet computer, laptop, desktop computer, smart speaker, wearable electronic device with wireless communication function (such as smart watch), smart car, etc., but is not limited thereto. In addition, the electronic device 100 is equipped with a display screen and may be installed with a preset application (APP), etc., which is not limited here.
[0055] It should be noted that the so-called server can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery servers (Content Delivery Network, CDN), as well as big data and artificial intelligence platforms.
[0056] The hardware structure of the electronic device 100 is introduced below. Figure 2 , Figure 2 It is a schematic diagram of the hardware structure of the electronic device 100 provided in an embodiment of the present application.
[0057] The electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0058] It is to be understood that the structure illustrated in the embodiment of the present invention does not constitute a specific limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may include more or fewer components than shown in the figure, or combine some components, or separate some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0059] The processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.
[0060] The controller may be the nerve center and command center of the electronic device 100. The controller may generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.
[0061] A memory may also be provided in the processor 110 for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may store instructions or data that the processor 110 has just used or cyclically used. If the processor 110 needs to use the instruction or data again, it may be directly called from the memory. Repeated access is avoided, the waiting time of the processor 110 is reduced, and the efficiency of the system is improved. The processor 110 calls the instructions or data stored in the memory, so that the electronic device 100 executes the parameter determination method executed by the electronic device in the following method embodiment.
[0062] In some embodiments, the processor 110 may include one or more interfaces. The interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.
[0063] The charging management module 140 is used to receive charging input from a charger, where the charger can be a wireless charger or a wired charger.
[0064] The power management module 141 is used to connect the battery 142, the charging management module 140 and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140 to power the processor 110, the internal memory 121, the external memory, the display screen 194, the camera 193, and the wireless communication module 160. In some other embodiments, the power management module 141 can also be set in the processor 110.
[0065] The wireless communication function of the electronic device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.
[0066] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve the utilization of antennas. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In some other embodiments, the antenna can be used in combination with a tuning switch.
[0067] The mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G, etc., applied to the electronic device 100. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the same device as at least some of the modules of the processor 110.
[0068] The modulation and demodulation processor may include a modulator and a demodulator. The modulator is used to modulate the low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After being processed by the baseband processor, the low-frequency baseband signal is transmitted to the application processor.
[0069] The wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLAN) (such as Wi-Fi networks), Bluetooth (BT), BLE broadcasting, global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the electronic device 100. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, modulates the frequency of the electromagnetic wave signal and filters it, and sends the processed signal to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, modulate the frequency of it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.
[0070] In some embodiments, antenna 1 of electronic device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, so that electronic device 100 can communicate with the network and other devices through wireless communication technology.
[0071] The electronic device 100 implements the display function through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, which connects the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs that execute program instructions to generate or change display information.
[0072] The display screen 194 is used to display images, videos, etc. The display screen 194 includes a display panel. In some embodiments, the electronic device 100 may include 1 or N display screens 194, where N is a positive integer greater than 1.
[0073] The electronic device 100 can realize the shooting function through the ISP, the camera 193, the video codec, the GPU, the display screen 194 and the application processor. The ISP is used to process the data fed back by the camera 193. The camera 193 is used to capture static images or videos. The digital signal processor is used to process digital signals. In addition to processing digital image signals, it can also process other digital signals. The video codec is used to compress or decompress digital videos. The electronic device 100 can support one or more video codecs.
[0074] NPU is a neural-network (NN) computing processor. It can quickly process input information by drawing on the structure of biological neural networks, such as the transmission mode between neurons in the human brain, and can also continuously self-learn.
[0075] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 via the external memory interface 120 to implement a data storage function.
[0076] The internal memory 121 can be used to store computer executable program codes, which include instructions. The processor 110 executes various functional applications and data processing of the electronic device 100 by running the instructions stored in the internal memory 121. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system, an application required for at least one function (such as a sound playback function), etc. The data storage area may store data (such as audio data) created during the use of the electronic device 100, etc. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as a flash memory device, etc.
[0077] The electronic device 100 can implement audio functions such as music playing and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor.
[0078] The audio module 170 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signals. The audio module 170 can also be used to encode and decode audio signals. In some embodiments, the audio module 170 can be arranged in the processor 110, or some functional modules of the audio module 170 can be arranged in the processor 110.
[0079] The speaker 170A, also called a "speaker", is used to convert an audio electrical signal into a sound signal. The receiver 170B, also called a "earpiece", is used to convert an audio electrical signal into a sound signal. The microphone 170C, also called a "microphone" or "microphone", is used to convert a sound signal into an electrical signal. The headphone jack 170D is used to connect a wired headphone. The pressure sensor 180A is used to sense a pressure signal and can convert the pressure signal into an electrical signal.
[0080] In some embodiments, the pressure sensor 180A may be provided on the display screen 194. The gyroscope sensor 180B may be used to determine the motion posture of the electronic device 100. The air pressure sensor 180C is used to measure air pressure. The magnetic sensor 180D includes a Hall sensor. The acceleration sensor 180E may detect the magnitude of the acceleration of the electronic device 100 in various directions (generally three axes). The distance sensor 180F is used to measure the distance. The proximity light sensor 180G may include, for example, a light emitting diode (LED) and a light detector. The ambient light sensor 180L is used to sense the brightness of ambient light. The fingerprint sensor 180H is used to collect fingerprints. The temperature sensor 180J is used to detect the temperature. The touch sensor 180K, also known as a "touch panel". The touch sensor 180K may be provided on the display screen 194, and the touch sensor 180K and the display screen 194 form a touch screen, also known as a "touch screen". The touch sensor 180K is used to detect touch operations acting on or near it. The bone conduction sensor 180M may obtain a vibration signal. The buttons 190 include a power button, a volume button, etc. The motor 191 can generate a vibration prompt. The indicator 192 can be an indicator light, which can be used to indicate the charging status, power change, messages, missed calls, notifications, etc. The SIM card interface 195 is used to connect a SIM card.
[0081] It is to be understood that the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0082] In addition, an operating system is running on the above components. For example, operating systems such as iOS and Android. The operating system of the electronic device 100 can adopt a layered architecture, an event-driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture. The embodiment of the present application takes the Android system of the layered architecture as an example to illustrate the software structure of the electronic device 100. It should be noted that although the embodiment of the present application is described by taking the Android system as an example, its basic principles are also applicable to electronic devices of other operating systems.
[0083] Figure 3It is a software structure block diagram of the electronic device 100 of the embodiment of the present application. The software structure adopts a layered architecture, which divides the software into several layers, and each layer has a clear role and division of labor. The layers communicate with each other through software interfaces. In the embodiment of the present application, the operating system (taking the Android system, the Android system running on the AP as an example) can be divided into six layers, from top to bottom, respectively, the application layer (application, APP), the application framework layer (framework, FWK), the Android runtime (Android runtime) and the system library, the hardware abstraction layer (hardware abstraction layer, HAL), the kernel layer and the hardware layer.
[0084] The application layer may include a series of application packages. Figure 3 As shown, the application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, short message, etc. The application layer may also include system UI (system UI), which is used to display the interface of the electronic device, such as the camera interface, etc.
[0085] The application framework layer provides application programming interface (API) and programming framework for the applications in the application layer. The application framework layer includes some predefined functions. Figure 3 As shown, the application framework layer may include a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, a camera service, etc., and the embodiments of the present application do not impose any restrictions on this.
[0086] The window manager is used to manage window programs. The window manager can obtain the display screen size, determine whether there is a status bar, lock the screen, capture the screen, etc.
[0087] Content providers are used to store and retrieve data and make it accessible to applications. The data may include videos, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.
[0088] The view system includes visual controls, such as controls for displaying text, controls for displaying images, etc. The view system can be used to build applications. A display interface can be composed of one or more views. For example, a display interface including a text notification icon can include a view for displaying text and a view for displaying images.
[0089] The phone manager is used to provide communication functions of the electronic device 100, such as management of call status (including connecting, hanging up, etc.).
[0090] The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.
[0091] The notification manager enables applications to display notification information in the status bar. It can be used to convey notification-type messages and can disappear automatically after a short stay without user interaction. For example, the notification manager is used to notify download completion, message reminders, etc. The notification manager can also be a notification that appears in the system top status bar in the form of a chart or scroll bar text, such as notifications of applications running in the background, or a notification that appears on the screen in the form of a dialog window. For example, a text message is displayed in the status bar, a prompt sound is emitted, an electronic device vibrates, an indicator light flashes, etc.
[0092] The camera service is the core process module of the camera framework. It mainly provides API interface functions to the application layer and calls the camera hardware abstraction layer downward through HIDL (hardware interface definition language).
[0093] Android runtime includes core libraries and virtual machines. Android runtime is responsible for scheduling and management of the Android system.
[0094] The core library consists of two parts: one part is the function that needs to be called by the Java language, and the other part is the Android core library.
[0095] The application layer and the application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and the application framework layer as binary files. The virtual machine is used to perform functions such as object life cycle management, stack management, thread management, security and exception management, and garbage collection.
[0096] The system library may include multiple functional modules, such as surface manager, media libraries, 3D graphics processing library (such as OpenGL ES), 2D graphics engine (such as SGL), etc.
[0097] The surface manager is used to manage the display subsystem and provide the fusion of 2D and 3D layers for multiple applications.
[0098] The media library supports playback and recording of a variety of commonly used audio and video formats, as well as static image files, etc. The media library can support a variety of audio and video encoding formats.
[0099] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.
[0100] A 2D graphics engine is a drawing engine for 2D drawings.
[0101] The hardware abstraction layer is an interface layer between the operating system kernel and the hardware circuit. Its purpose is to abstract the hardware. It hides the hardware interface details of a specific platform and can provide a virtual hardware platform for the operating system. The hardware abstraction layer is an encapsulation of the Linux kernel driver, providing an interface to the upper layer and shielding the implementation details of the low-level hardware. Figure 3 As shown, the hardware abstraction layer may include Wi-Fi HAL, audio HAL, camera HAL, etc.
[0102] The kernel layer is the layer between hardware and software. It is the core of an operating system and the first layer of software expansion based on hardware. It provides the most basic functions of the operating system and is the basis for the operation of the operating system. It is responsible for managing the system's processes, memory, device drivers, files, and network systems, and determines the performance and stability of the system. The kernel layer can include display drivers, audio drivers, camera drivers, sensor drivers, etc. Among them, the camera driver is the driver layer of the camera device, which is mainly responsible for the interaction with the hardware.
[0103] The hardware layer includes displays, cameras, sensors, etc.
[0104] Based on the above, a parameter determination method provided in an embodiment of the present application is further described in detail below. Figure 4 As shown, the parameter determination method includes the following steps S401 to S406. Figure 4 The method execution subject shown may be the computer device and the first device mentioned above. Or, Figure 4 The execution subject of the method shown may be a chip in a computer device and a chip in a first device, which is not limited in the embodiments of the present application. Figure 4 The method is described by taking a computer device and a first device as an execution subject.
[0105] S401. A computer device obtains a first parameter optimization model for a first scenario.
[0106] In an embodiment of the present application, the first scenario can be various usage scenarios of the first device. Taking the first device as a mobile phone as an example, the first scenario can be a scene of full-screen video playback on the mobile phone, a scene of page browsing on the mobile phone, a scene of background music playback on the mobile phone, or a composite scene of video calls and video playback, which is not limited here. For different usage scenarios of the first device, each usage scenario has corresponding parameters to be optimized. The parameters to be optimized are adapted and optimized to ensure device performance and reduce power consumption. Similarly, each usage scenario also has a first parameter optimization model for the parameters to be optimized, which is conducive to improving the accuracy and pertinence of subsequent parameter tuning.
[0107] Taking the first scenario of full-screen video playback on a mobile phone as an example, for the scenario of full-screen video playback on a mobile phone, the parameter to be optimized may be the CPU frequency of the mobile phone. Then the computer device needs to obtain a first parameter optimization model for the CPU frequency of the mobile phone in the scenario of full-screen video playback on the mobile phone.
[0108] In one possible implementation, the first parameter optimization model can be a TPE model based on a mixed Gaussian distribution. It can be understood that in order to simulate and tune the real parameter model distribution, it is necessary to select a specific parameter adjustment model to approximate it. A direct idea is to use a Gaussian model to approximate the real data distribution as much as possible. At this time, the problem is a regression problem, that is, to find the Gaussian regression equation of known data; however, regression problems are difficult to solve: first, the loss function of the regression problem is difficult to select, for example, the predicted value is 0.1, the true value is 0.2, the absolute value loss function is used to calculate the loss as 0.1, and the square loss function is used to calculate the loss as 0.01. It is difficult to judge which loss function is good; secondly, the regression problem is sensitive to outliers and errors. Since the loss of outliers is large, it will have a great impact on the regression model. Therefore, the present application can adopt a model based on a mixed Gaussian distribution, such as a TPE model (a model based on Bayesian optimization of a tree structure). The TPE model is a classification parameter adjustment model based on a regression model. In actual use, it performs better than the Gaussian regression model and is more conducive to improving the accuracy of parameter tuning.
[0109] like Figure 5AAs shown, in step 1, the computer device first establishes a first parameter optimization model for the first scenario. The specific implementation process may be: first determine an initial parameter optimization model (e.g., an initial TPE model) and determine hyperparameters (e.g., learning rate, etc.); then, determine the parameters to be optimized (e.g., the CPU frequency of the mobile phone), the parameter range of the parameters to be optimized, and the loss function; then randomly select N groups of sample values (N is a positive integer) for the parameters to be tuned in the first scenario, and send the N groups of sample values to the first device for testing, respectively, to obtain sample test results corresponding to each group of sample values; finally, use the N groups of sample values and the corresponding sample test results to fit the first parameter optimization model for the first scenario.
[0110] Specifically, Figure 5B As shown, the specific implementation method of the computer device fitting the first parameter optimization model for the first scene (which can be understood as the computer device obtaining the first parameter optimization model for the first scene) may include the following steps s11 to s14.
[0111] s11. The computer device obtains a sample value of the parameter to be tuned for the first scenario and a sample test result corresponding to the sample value.
[0112] In a specific implementation, the computer device randomly selects N groups of sample values for the parameter to be tuned in the first scenario, and sends the N groups of sample values to the first device respectively; wherein N is a positive integer. The first device first initializes the test environment and adjusts the test environment to the test environment corresponding to the first scenario; then sets the parameter to be tuned in the first device according to the sample value sent by the computer device; collects data under the parameter setting to calculate the sample test result corresponding to the sample value; and then sends the sample test result corresponding to each group of sample values to the computer device. The sample test result includes sample performance information and sample power consumption information of the first device.
[0113] For example, the first device is a mobile phone, and the first scene is a scene of full-screen video playback on the mobile phone. The parameter to be tuned is the CPU frequency of the mobile phone. The computer device randomly selects 10 groups of sample values for the CPU frequency of the mobile phone in the scene of full-screen video playback on the mobile phone (for example, a group of sample values may be 1017600, 940800, and 1843200, representing the frequencies of 3 CPU cores in the mobile phone), and sends these 10 groups of sample values to the mobile phone respectively.
[0114] like Figure 5C As shown, the mobile phone will first initialize the test environment and set the test environment corresponding to the scene of entering the full-screen video playback of the mobile phone. The specific process includes:
[0115] (1) Determine the phone model, version, software version, and other information.
[0116] (2) Close the thread that affects the CPU frequency of the mobile phone.
[0117] (3) Turn on airplane mode, turn off automatic dimming, set the volume, etc.
[0118] (4) Prepare the test scenario, such as playing a full-screen video and opening a data collector.
[0119] Then, in the test environment corresponding to the full-screen video playback scenario, the mobile phone will set the CPU frequency of the mobile phone (i.e., the parameter to be optimized) according to the sample value sent by the computer device, and use the data collector to collect data under the parameter setting, and store it in a preset folder; the collected data is further used to calculate the sample test results corresponding to the sample values, i.e., the sample performance information (e.g., frame rate (frames per second, FPS)) and sample power consumption information (e.g., power consumption) of the mobile phone; finally, the sample test results corresponding to the sample values are sent to the computer device, and the computer device can combine the sample values and the sample test results corresponding to the sample values into a group of training samples, i.e., 10 groups of training samples can be combined, which can be used in the training of the first parameter optimization model later.
[0120] s12. The computer device calls the initial parameter optimization model to process the sample value to obtain a sample prediction result corresponding to the sample value.
[0121] In a specific implementation, the initial parameter optimization model here can be an initial TPE model. The computer device can use the sample value as the input of the initial parameter optimization model, and output the sample prediction result corresponding to the sample value, that is, the predicted sample performance information (such as predicted FPS) and sample power consumption information (such as predicted power consumption) of the mobile phone.
[0122] s13. The computer device determines the loss value based on the sample prediction result and the sample test result.
[0123] In a specific implementation, the computer device can use the set loss function to calculate the sample prediction result and the sample test result to obtain a loss value. The loss function here can be a cross entropy loss function, a mean square error loss function, an exponential loss function, a square loss function, etc., which are not limited here.
[0124] s14. The computer device adjusts the model parameters of the initial parameter optimization model in a direction of reducing the loss value to obtain a first parameter optimization model.
[0125] In a specific implementation, the computer device can adjust the model parameters of the initial parameter optimization model in the direction of reducing the loss value by using a stochastic gradient descent method, an adaptive gradient algorithm, a momentum method, etc. When all training samples are trained, a first parameter optimization model is obtained.
[0126] S402: The computer device determines a first value of the parameter to be tuned based on the first parameter optimization model.
[0127] In the embodiment of the present application, Figure 5A As shown, the computer device further uses the first parameter optimization model to determine the selection value of the next test point, that is, to determine the first value of the parameter to be tuned.
[0128] Optionally, the first parameter optimization model includes a first sub-model and a second sub-model. When the computer device determines the first value of the parameter to be tuned based on the first parameter optimization model, the specific implementation method may be: calculating the first value of the parameter to be tuned based on the first sub-model and the second sub-model.
[0129] It can be understood that, taking the TPE model as an example, the core idea of the TPE model is to divide the known data into good data and bad data according to their values, and establish two models, namely the good Gaussian mixture model f(x) and the bad Gaussian mixture model g(x). The optimal value of the model should be in the good Gaussian mixture model with a high probability and in the bad Gaussian mixture model with a low probability. Therefore, the selection of the next test point is based on The data point with the largest value is most likely to be the expected optimal extreme point. It can be understood that the next test point can be selected The corresponding parameter value when maximized, that is, the first value of the parameter to be tuned.
[0130] S403: The computer device sends the first value to the first device. Correspondingly, the first device receives the first value.
[0131] S404: The first device sets the first value under the test environment corresponding to the first scenario, and collects a first test result corresponding to the first value; the first test result includes first performance information and first power consumption information of the first device.
[0132] S405: The first device sends a first test result corresponding to the first value to the computer device. Correspondingly, the computer device receives the first test result corresponding to the first value from the first device.
[0133] In the embodiment of the present application, Figure 5A As shown, the computer device may further send the determined first value of the parameter to be tuned to the first device for testing.
[0134] In a possible implementation, the first scenario is a scenario of full-screen video playback on the first device, the parameter to be optimized is the CPU frequency of the first device, the performance information of the first device includes a frame rate, and the power consumption information of the first device includes power consumption.
[0135] It can be understood that, taking the first device as a mobile phone and the first scene as a scene of full-screen video playback on the mobile phone as an example, after the computer device determines the first value of the parameter to be optimized, it sends the first value of the parameter to be optimized to the mobile phone. Under the test environment corresponding to the aforementioned full-screen video playback scene of the mobile phone, the mobile phone will set the CPU frequency of the mobile phone (that is, the parameter to be optimized) according to the first value sent by the computer device, and use the data collector to collect data under the parameter setting and store it in a preset folder; further use the collected data to calculate the first test result corresponding to the first value, that is, the first performance information (such as FPS) and first power consumption information (such as power consumption) of the mobile phone; finally, the first test result corresponding to the first value is sent to the computer device.
[0136] S406: The computer device determines an optimal value of the parameter to be tuned based on the first value and the first test result.
[0137] In an embodiment of the present application, after the computer device receives the first test result corresponding to the first value, the first value and the first test result can be regarded as the first test point. For example, the first test point means that under the first test, the CPU frequency of the mobile phone is set to 1007600, 947300, and 1373500 (indicating the frequency of the three CPU cores in the mobile phone, i.e., the first value). Under this set of parameter settings, the FPS corresponding to the scene of full-screen video playback on the mobile phone is 0.4608, and the power consumption (power consumption) is 583.2502 (i.e., the first test result). The subsequent computer device can take increasing FPS and reducing power consumption as optimization goals, find the optimal point among these test points, and the value of the parameter to be tuned corresponding to the optimal point is the optimal value of the parameter to be tuned.
[0138] In a possible implementation, assume that the number of values of the parameters to be tuned required in the test (i.e., the preset number) is set to M (M is an integer greater than 1), that is, the mobile phone needs to be tested M times to obtain M test points. Then, after the computer device finds the first test point, it will further search for the second test point. In other words, after the computer device obtains the first test result corresponding to the first value, Figure 5D As shown, the following steps s21 to s25 will be further executed.
[0139] s21. The computer device calls the first parameter optimization model to process the first value to obtain a first prediction result corresponding to the first value; the first prediction result includes the predicted first performance information and first power consumption information of the first device.
[0140] In the specific implementation, Figure 5A As shown, in step 2, the computer device can optimize the first parameter optimization model according to the returned test results to obtain the second parameter optimization model. Specifically, the computer device can form a new set of training samples consisting of the first value and the first test result corresponding to the first value, which is used to optimize the first parameter optimization model. At this time, the computer device will use the first value as the input of the first parameter optimization model, and output the first prediction result corresponding to the first value, which may include, for example, the predicted first performance information (e.g., predicted FPS) and first power consumption information (e.g., predicted power consumption) of the mobile phone.
[0141] s22. The computer device adjusts the model parameters of the first parameter optimization model based on the first test result and the first prediction result to obtain a second parameter optimization model.
[0142] In a specific implementation, the computer device can use the set loss function to calculate the first prediction result and the first test result to obtain a first loss value. Among them, the loss function here can be a cross entropy loss function, a mean square error loss function, an exponential loss function, a square loss function, etc., which are not limited here. Then, in the direction of reducing the first loss value, the model parameters of the first parameter optimization model are adjusted by using a stochastic gradient descent method, an adaptive gradient algorithm, a momentum method, etc. to obtain a second parameter optimization model.
[0143] s23. The computer device determines a second value of the parameter to be tuned based on the second parameter optimization model.
[0144] In the specific implementation, Figure 5A As shown, in step 3, the computer device determines the value of the parameter to be tuned for the next test according to the second parameter optimization model, that is, the second value of the parameter to be tuned. Taking the second parameter optimization model as the TPE model as an example, it can also be based on The corresponding parameter value at the time of maximization determines the second value of the parameter to be tuned in the next test point.
[0145] s24. The computer device obtains a second test result corresponding to the second value.
[0146] In a specific implementation, the second test result includes the second performance information and the second power consumption information of the first device. After the computer device determines the second value of the parameter to be tuned, it sends the second value of the parameter to be tuned to the mobile phone for testing again; the mobile phone is in the test environment corresponding to the scenario of full-screen video playback mentioned above (for details, please refer to Figure 5C ), the CPU frequency of the mobile phone (i.e., the parameter to be optimized) will be set according to the second value sent by the computer device, and the data collector will be used to collect data under the parameter setting and store it in a preset folder; the collected data will be further used to calculate the second test result corresponding to the second value, i.e., the second performance information (e.g., FPS) and the second power consumption information (e.g., power consumption) of the mobile phone; finally, the second test result corresponding to the second value will be sent to the computer device.
[0147] s25. The computer device determines the optimal value of the parameter to be tuned based on the first value, the first test result, the second value and the second test result.
[0148] It can be understood that after the computer device receives the second test result corresponding to the second value, the second value and the second test result can be regarded as the second test point. Subsequently, the computer device can take increasing FPS and reducing power consumption as the optimization goal, find the optimal point between the first test point and the second test point, and the value of the parameter to be tuned set corresponding to the optimal point is the optimal value of the parameter to be tuned.
[0149] In a possible implementation, when the computer device determines the optimal value of the parameter to be tuned based on the first value, the first test result, the second value, and the second test result, the specific implementation may include the following two cases: Figure 5E shown.
[0150] Case 1: The number of values of the parameters to be tuned determined by the computer device is equal to the preset number. Fig. 5F As shown, the following steps s31 need to be performed.
[0151] s31. The computer device determines the optimal value of the parameter to be tuned from the first value and the second value based on the first value, the first test result, the second value and the second test result.
[0152] In a specific implementation, if the value of the parameter to be tuned determined by the current computer has reached a preset number M, that is, the required test points have reached M, then the optimal point can be directly found among the existing test points. The value of the parameter to be tuned corresponding to the optimal point is the optimal value of the parameter to be tuned.
[0153] For example, assume that the preset number of values of the parameter to be optimized in the test is 2 (i.e., M is 2), that is, 2 test points are required. At this time, the computer device has obtained 2 test points. Therefore, the number of values of the parameter to be optimized determined by the computer device is equal to the preset number. Then the computer device can directly find the optimal point among the first test point (including the first value and the first test result) and the second test point (including the second value and the second test result), and the value of the parameter to be optimized corresponding to the set optimal point is the optimal value of the parameter to be optimized.
[0154] Optionally, when the computer device determines the optimal value of the parameter to be optimized from the first value, the first test result, the second value, and the second test result, the specific implementation method may be: using the Pareto optimal algorithm to process the first value, the first test result, the second value, and the second test result to obtain the optimal value of the parameter to be optimized; the optimization objective in the Pareto optimal algorithm indicates increasing the frame rate and reducing the power consumption, and the optimization direction in the Pareto optimal algorithm indicates improving the optimization objective.
[0155] It can be understood that in order to optimize the performance and power consumption of the mobile phone at the same time, it is first necessary to quantify the performance and power consumption and define their advantages and disadvantages. For performance, the frame rate FPS of the mobile phone (0 < FPS ≤ 120) can be used for quantification. In the user's mobile phone usage scenario, the higher the frame rate, the smoother the mobile phone screen and the better the performance. Therefore, the optimization direction is max(FPS). For power consumption, the power consumption power of the mobile phone (power > 0) is used for quantification. The lower the power consumption, the better the power consumption optimization and the longer the mobile phone usage time. Therefore, the optimization direction is min(power). After quantifying the performance and power consumption of the mobile phone using FPS and power, it is necessary to consider how to define the optimization objective to optimize FPS and power at the same time. This application performs multi-objective optimization on FPS and power and can use the Pareto optimal algorithm for optimization. Among them, the optimization objective p = (max(FPS), min(power)) (that is, it indicates increasing the frame rate and reducing the power consumption), and the optimization direction is max(p) (that is, it indicates improving the optimization objective).
[0156] Case 2: The number of values of the parameter to be optimized determined by the computer device is less than the preset number. For Case 2, as Figure 5G shown, the following steps s41 to s45 need to be executed.
[0157] It can be understood that if the value of the parameter to be tuned determined by the current computer does not reach the preset number M, that is, the required test points do not reach M, then it is necessary to iteratively determine the value of the parameter to be tuned until the preset number is reached. After reaching the preset number, the optimal point is found among the M test points, and the value of the parameter to be tuned corresponding to the optimal point is the optimal value of the parameter to be tuned.
[0158] s41. The computer device calls the second parameter optimization model to process the second value to obtain a second prediction result corresponding to the second value; the second prediction result includes the predicted second performance information and second power consumption information of the first device.
[0159] In a specific implementation, the description of step s21 above can be referred to, and the computer device can form a new set of training samples with the second value and the second test result corresponding to the second value, for optimizing the second parameter optimization model. At this time, the computer device will use the second value as the input of the second parameter optimization model, and output the second prediction result corresponding to the second value, for example, it can include the predicted second performance information of the mobile phone (such as the predicted FPS) and the second power consumption information (such as the predicted power consumption).
[0160] s42. The computer device adjusts the model parameters of the second parameter optimization model based on the second test result and the second prediction result to obtain a third parameter optimization model.
[0161] In a specific implementation, the description of step s22 above can be referred to, and the computer device can use the set loss function to calculate the second prediction result and the second test result to obtain a second loss value. Among them, the loss function here can be a cross entropy loss function, a mean square error loss function, an exponential loss function, a square loss function, etc., which are not limited here. Then, in accordance with the direction of reducing the second loss value, the model parameters of the second parameter optimization model are adjusted by using a stochastic gradient descent method, an adaptive gradient algorithm, a momentum method, etc., to obtain a third parameter optimization model.
[0162] s43. The computer device determines a third value of the parameter to be tuned based on the third parameter optimization model.
[0163] In a specific implementation, the description of step s23 can be referred to above, and the computer device again uses the third parameter optimization model to determine the selected value of the next test point, that is, the third value of the parameter to be tuned. Taking the third parameter optimization model as the TPE model as an example, it is also based on The corresponding parameter value at the time of maximization determines the third value of the parameter to be tuned in the next test point.
[0164] s44. The computer device obtains a third test result corresponding to the third value.
[0165] In a specific implementation, the third test result includes the third performance information and the third power consumption information of the first device. For details, please refer to the description of the above step s24. For example, taking the first device as a mobile phone and the first scene as a scene of full-screen video playback on the mobile phone, after the computer device determines the third value of the parameter to be tuned, it sends the third value of the parameter to be tuned to the mobile phone for testing again; the mobile phone is in the test environment corresponding to the scene of full-screen video playback on the mobile phone mentioned above (for details, please refer to Figure 5C ), the CPU frequency of the mobile phone (i.e., the parameter to be optimized) will be set according to the third value sent by the computer device, and the data collector will be used to collect data under the parameter setting and store it in a preset folder; the collected data will be further used to calculate the third test result corresponding to the third value, i.e., the third performance information (e.g., FPS) and third power consumption information (e.g., power consumption) of the mobile phone; finally, the third test result corresponding to the third value will be sent to the computer device.
[0166] s45. The computer device determines the optimal value of the parameter to be tuned based on the first value, the first test result, the second value, the second test result, the third value and the third test result.
[0167] In a specific implementation, after the computer device receives the third test result corresponding to the third value, the third value and the third test result can be regarded as the third test point. At this time, it will be determined whether to continue to loop iteratively determine the test point according to whether the number of values of the determined parameters to be tuned reaches the preset number. When the number of values of the determined parameters to be tuned reaches the preset number, the loop iteration is ended, that is, increasing FPS and reducing power consumption are taken as optimization goals, and the optimal point is directly found in the first test point (including the first value and the first test result), the second test point (including the second value and the second test result) and the third test point (including the third value and the third test result). The value of the parameter to be tuned set corresponding to the optimal point is the optimal value of the parameter to be tuned; when the number of values of the determined parameters to be tuned is less than the preset number, the test point is continued to loop iteratively determine until the number of values of the determined parameters to be tuned reaches the preset number.
[0168] In addition, the loss value and the preset number can also be combined to determine whether to continue the loop iteration. For example, when the number of values of the determined parameter to be tuned reaches the preset number, and the third loss value is less than the preset value, the loop iteration ends, that is, increasing FPS and reducing power consumption are used as optimization goals, and the optimal point is directly found in the first test point, the second test point, and the third test point. The value of the parameter to be tuned set corresponding to the optimal point is the optimal value of the parameter to be tuned; when the number of values of the determined parameter to be tuned is less than the preset number, or the third loss value is greater than or equal to the preset value, the loop iteration continues to determine the test point until the number of values of the determined parameter to be tuned reaches the preset number.
[0169] It should be noted that the preset number here can be determined based on the first scene, or it can be considered that the preset number is related to the first scene. For example, when the first scene is a scene of full-screen video playback on a mobile phone, the preset number can be 300; when the first scene is a scene of mobile page browsing, the preset number can be 200; when the first scene is a composite scene of video calling and video playback, the preset number can be 400.
[0170] In general, if Figure 6 As shown, taking the first device as a mobile phone and the first scene as a scene of full-screen video playback on the mobile phone as an example, the specific implementation process of the parameter determination method can be: the computer device establishes a first parameter optimization model, determines the first value of the parameter to be tuned (i.e., the frequency of the mobile phone CPU) and sends it to the first device; the first device initializes the test environment, sets the frequency of the mobile phone CPU according to the first value sent by the computer device, collects data under the parameter setting, calculates the first test result corresponding to the first value using the collected data, and sends the first test result to the computer device; the computer device optimizes the first parameter optimization model according to the first test result returned by the mobile phone to obtain a second parameter optimization model; then determines the value of the parameter to be tuned (i.e., the frequency of the mobile phone CPU) for the next test according to the second parameter optimization model. Through continuous iteration, when the number of values of the parameter to be tuned reaches a preset number, increasing the frame rate and reducing power consumption can be used as optimization goals, and the Pareto optimal algorithm is used to find the optimal point in these test points. At this time, the value of the parameter to be tuned corresponding to the optimal point is the optimal value of the parameter to be tuned. Finally, the optimal value of the parameter to be tuned can be used to verify power consumption in the test board, thereby achieving parameter tuning. In this way, not only can the optimal values of the parameters to be tuned in different scenarios be explored automatically, but the accuracy of parameter tuning can also be improved.
[0171] See also Figure 7 , Figure 7 is a test result diagram based on a parameter determination method provided in an embodiment of the present application, where each point represents a test result under a set of parameter settings. For example, Figure 7 The test point marked in the figure indicates that in the 229th experiment, the parameters to be tuned are the frequencies of the three CPU cores, which are 1017600, 940800, and 1843200 respectively. Under this set of parameter settings, the FPS corresponding to the full-screen video playback scene on the mobile phone is 0.7805, and the power consumption (i.e., electricity consumption) is 464.1402. Figure 7In the figure, the test points connected by black lines are all Pareto optimal test points. Pareto optimality means that for a certain test result in multi-objective optimization, there is no other test result that is better than this test result in all objectives. In this case, this test point is Pareto optimal, that is, no better parameter setting can be found to increase FPS and reduce power consumption. It should be noted that when there are multiple Pareto optimal test points, users can determine the test point that meets the needs among multiple Pareto optimal test points according to business needs, and the value of the parameter to be tuned corresponding to the test point is the optimal value of the parameter to be tuned.
[0172] Please refer to Table 1 below, which is a table of power consumption results in a first scenario provided by an embodiment of the present application. The first scenario is a scenario of full-screen video playback on a mobile phone, a composite scenario of video call and video playback, Base is the original CPU frequency of the mobile phone, and the small packet is the CPU frequency (i.e., the optimal value) tuned by this method. Since the FPS loss is the same (i.e., 0), it is not shown here. As shown in Table 1, under the same FPS loss, for the scenario of full-screen video playback on the mobile phone, the power consumption when the original CPU frequency of the mobile phone is used is 288.28mA, and the power consumption when the CPU frequency tuned by this method is 275.77mA. It can be seen that the power consumption when the CPU frequency tuned by this method can obtain a benefit of 12.51mA, and the benefit ratio is 4.3%; under the same FPS loss, for the composite scenario of video call and video playback, the power consumption when the original CPU frequency of the mobile phone is used is 885.62mA, and the power consumption when the CPU frequency tuned by this method is 848.51mA. It can be seen that the power consumption when the CPU frequency tuned by this method can obtain a benefit of 37.11mA, and the benefit ratio is 4.2%. Therefore, in general, the small packets tuned by this method have achieved benefits in different scenarios.
[0173] Table 1
[0174]
[0175] In addition, we further analyzed the source of benefits. First, we analyzed the system-on-chip (SOC) power consumption breakdown table and found that small packets benefited on small CPU cores, while large CPU cores deteriorated. Then we captured the instance (trace) of the application class and used the socperf tool to perform load analysis on different CPU cores (cluster). We found that the DMIPS (an indicator for measuring the performance of embedded processors) and power consumption ratio of small CPU cores decreased, while that of large CPU cores increased, and the energy efficiency ratio calculated by DMIPS / power consumption was optimized. Therefore, we inferred that the reason for the benefits is that the CPU frequency tuning performed by this method can transfer tasks that were previously running on the high frequency of small CPU cores to the low frequency of large CPU cores, thereby optimizing the energy efficiency ratio and reducing power consumption.
[0176] It can be seen that based on Figure 4 In the described method, the computer device determines the value of the parameter to be tuned in the next test point by using the first parameter optimization model of Bayesian optimization (such as the TPE model). After multiple tests, the optimal point (such as the Pareto optimal algorithm) is found in multiple test points according to the optimization goal of increasing the frame rate and reducing power consumption. At this time, the value of the parameter to be tuned corresponding to the optimal point is the optimal value of the parameter to be tuned. In this way, not only can the optimal value of the parameter to be tuned in different scenarios be automatically explored, but also the accuracy of parameter tuning can be improved.
[0177] Another parameter determination method provided in the embodiment of the present application is further described in detail below. Figure 8 As shown, the parameter determination method includes the following steps S801 to S804. Figure 8 The method execution subject shown may be the computer device mentioned above. Or, Figure 8 The execution subject of the method shown may be a chip in a computer device, which is not limited in the embodiments of the present application. Figure 8 The following description will be given by taking a computer device as the execution subject of the method as an example.
[0178] S801. A computer device obtains a first parameter optimization model for a first scenario.
[0179] In the embodiment of the present application, the specific implementation method of the computer device obtaining the first parameter optimization model for the first scenario can refer to the description of the above step S401, the main difference is that the computer device obtains the sample value of the parameter to be tuned for the first scenario and the sample test result corresponding to the sample value is not obtained from the first device, but obtained through the simulation software test in the computer device, that is, the simulation software can simulate the first device (such as a mobile phone) to test the sample value, so as to obtain the corresponding sample test result. In this way, the parameter tuning can be achieved by only using the computer device, which is conducive to improving processing efficiency.
[0180] S802: The computer device determines a first value of the parameter to be tuned based on the first parameter optimization model.
[0181] The specific implementation of step S802 may refer to the specific implementation of step S402, which will not be described in detail here.
[0182] S803. The computer device obtains a first test result corresponding to the first value; the first test result includes performance information and power consumption information of the first device.
[0183] In the embodiment of the present application, the first test result corresponding to the first value obtained by the computer device is not obtained from the first device, but is obtained through the simulation software test in the computer device, that is, the simulation software can simulate the first device (such as a mobile phone) to test the first value, thereby obtaining the corresponding first test result. In this way, the parameters can be tuned only by using the computer device, which is conducive to improving processing efficiency.
[0184] S804: The computer device determines an optimal value of the parameter to be tuned based on the first value and the first test result.
[0185] The specific implementation of step S804 may refer to the specific implementation of step S406 above, which will not be described in detail here.
[0186] It can be seen that based on Figure 8 In the described method, the computer device determines the value of the parameter to be tuned in the next test point by adopting the first parameter optimization model of Bayesian optimization (such as the TPE model). After multiple tests, the optimal point (such as the Pareto optimal algorithm) is found in multiple test points according to the optimization goal of increasing the frame rate and reducing power consumption. At this time, the value of the parameter to be tuned corresponding to the optimal point is the optimal value of the parameter to be tuned. In this way, not only can the optimal value of the parameter to be tuned in different scenarios be automatically explored, but also the accuracy of parameter tuning can be improved; and the parameter tuning can be achieved by only using computer equipment, which is conducive to improving processing efficiency.
[0187] See also Fig. 9 , Fig. 9 A schematic structural diagram of a parameter determination device 900 according to an embodiment of the present application is shown. Fig. 9 The parameter determination device shown may be an electronic device, or a device in an electronic device, or a device that can be used in conjunction with an electronic device. Fig. 9 The parameter determination device shown may include an acquisition unit 901 and a processing unit 902. Among them:
[0188] An acquisition unit 901 is used to acquire a first parameter optimization model for a first scenario;
[0189] A processing unit 902 is configured to determine a first value of a parameter to be tuned based on the first parameter optimization model;
[0190] The acquisition unit 901 is further configured to acquire a first test result corresponding to the first value; the first test result includes first performance information and first power consumption information of the first device;
[0191] The processing unit 902 is further configured to determine an optimal value of the parameter to be tuned based on the first value and the first test result.
[0192] In a possible implementation, the first scenario is a scenario of full-screen video playback on the first device, the parameter to be optimized is the CPU frequency of the first device, the performance information of the first device includes a frame rate, and the power consumption information of the first device includes power consumption.
[0193] In one possible implementation, obtaining a first test result corresponding to the first value includes: sending the first value to a first device; receiving a first test result corresponding to the first value from the first device; the first test result is obtained by the first device setting the first value under a test environment corresponding to the first scenario.
[0194] In one possible implementation, after obtaining the first test result corresponding to the first value, the method also includes: calling the first parameter optimization model to process the first value to obtain a first prediction result corresponding to the first value; the first prediction result includes the predicted first performance information and first power consumption information of the first device; adjusting the model parameters of the first parameter optimization model based on the first test result and the first prediction result to obtain a second parameter optimization model; determining a second value of the parameter to be tuned based on the second parameter optimization model; obtaining a second test result corresponding to the second value; the first prediction result includes the predicted first performance information and first power consumption information of the first device; determining the optimal value of the parameter to be tuned based on the first value and the first test result, including: determining the optimal value of the parameter to be tuned based on the first value, the first test result, the second value and the second test result.
[0195] In a possible implementation, determining the optimal value of the parameter to be tuned based on the first value, the first test result, the second value, and the second test result includes: when the number of values of the parameter to be tuned is equal to a preset number, determining the optimal value of the parameter to be tuned from the first value and the second value based on the first value, the first test result, the second value, and the second test result; when the number of values of the parameter to be tuned is less than the preset number, calling the second parameter optimization model to process the second value to obtain a second prediction result corresponding to the second value; the second The prediction result includes the predicted second performance information and second power consumption information of the first device; based on the second test result and the second prediction result, the model parameters of the second parameter optimization model are adjusted to obtain a third parameter optimization model; based on the third parameter optimization model, a third value of the parameter to be tuned is determined; a third test result corresponding to the third value is obtained; the third prediction result includes the predicted third performance information and third power consumption information of the first device; based on the first value, the first test result, the second value, the second test result, the third value and the third test result, the optimal value of the parameter to be tuned is determined.
[0196] In one possible implementation, based on the first value, the first test result, the second value and the second test result, the optimal value of the parameter to be tuned is determined from the first value and the second value, including: using a Pareto optimal algorithm to process the first value, the first test result, the second value and the second test result to obtain the optimal value of the parameter to be tuned; the optimization target in the Pareto optimal algorithm indicates increasing the frame rate and reducing power consumption, and the optimization direction in the Pareto optimal algorithm indicates improving the optimization target.
[0197] In a possible implementation, the first parameter optimization model is a TPE model based on a mixed Gaussian distribution.
[0198] In one possible implementation, a first parameter optimization model for a first scenario is obtained, including: obtaining a sample value of the parameter to be tuned for the first scenario and a sample test result corresponding to the sample value; calling an initial parameter optimization model to process the sample value to obtain a sample prediction result corresponding to the sample value; determining a loss value based on the sample prediction result and the sample test result; and adjusting the model parameters of the initial parameter optimization model in a direction of reducing the loss value to obtain a first parameter optimization model.
[0199] For the case where the parameter determination device may be a chip or a chip system, see Fig.10 Schematic diagram of the chip structure shown. Fig.10The chip 1000 shown includes a processor 1001 and an interface 1002. Optionally, it may also include a memory 1003. The number of the processors 1001 may be one or more, and the number of the interfaces 1002 may be multiple.
[0200] For the case where the chip is used to implement the electronic device in the embodiment of the present application:
[0201] The interface 1002 is used to receive or output signals;
[0202] The processor 1001 is used to execute data processing operations of the electronic device.
[0203] It is understandable that some optional features in the embodiments of the present application may be implemented independently in certain scenarios without relying on other features, such as the solution on which they are currently based, to solve corresponding technical problems and achieve corresponding effects, or may be combined with other features according to needs in certain scenarios. Accordingly, the parameter determination device provided in the embodiments of the present application may also realize these features or functions accordingly, which will not be elaborated here.
[0204] It should be understood that the processor in the embodiment of the present application can be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method embodiment can be completed by an integrated logic circuit of hardware in the processor or an instruction in the form of software. The above processor can be a general-purpose processor, a digital signal processor (digital signal processor, DSP), an application specific integrated circuit (application specific integrated circuit, ASIC), a field programmable gate array (field programmable gate array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.
[0205] It can be understood that the memory in the embodiments of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0206] The present application also provides a parameter determination system, which includes an electronic device; wherein the electronic device is used to execute the method executed by the electronic device in any of the above method embodiments.
[0207] The present application also provides a computer-readable storage medium, in which a computer program is stored. The computer program includes program instructions. When the program instructions are executed on an electronic device, the functions of any of the above method embodiments are implemented.
[0208] The present application also provides a computer program product. When the computer program product is executed on a computer, the computer can implement the functions of any of the above method embodiments.
[0209] As used in the specification and appended claims of the present application, the singular expressions "a", "an", "said", "above", "the" and "this" are intended to also include plural expressions, unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used in the present application refers to and includes any or all possible combinations of one or more of the listed items. As used in the above embodiments, the term "when..." may be interpreted to mean "if..." or "after..." or "in response to determining..." or "in response to detecting...", depending on the context. Similarly, the phrase "when determining..." or "if (stated condition or event) is detected" may be interpreted to mean "if determining..." or "in response to determining..." or "when (stated condition or event) is detected" or "in response to detecting (stated condition or event)", depending on the context.
[0210] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The “available” medium may be a flexible medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a high-density digital video disc (DVD)), or a semiconductor medium (e.g., a solid state disk (SSD)), etc. A person skilled in the art may understand that to implement all or part of the processes in the above-mentioned embodiments, the processes may be completed by a computer program to instruct related hardware, and the program may be stored in a computer-readable storage medium. When the program is executed, it may include the processes of the above-mentioned method embodiments. The aforementioned storage medium includes various media that can store program codes, such as ROM or random access memory RAM, a magnetic disk or an optical disk.
[0211] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A parameter confirmation method, characterized in that: The method comprises: Obtaining a first parameter optimization model for a first scenario; Determine a first value of the parameter to be tuned based on the first parameter optimization model; Obtaining a first test result corresponding to the first value; the first test result includes first performance information and first power consumption information of the first device; An optimal value of the parameter to be tuned is determined based on the first value and the first test result.
2. The method according to claim 1, characterized in that The first scenario is a scenario in which the first device plays a full-screen video, the parameter to be optimized is a central processing unit (CPU) frequency of the first device, the performance information of the first device includes a frame rate, and the power consumption information of the first device includes power consumption.
3. The method according to claim 1 or 2, characterized in that: The obtaining a first test result corresponding to the first value includes: sending the first value to the first device; A first test result corresponding to the first value is received from the first device; the first test result is collected by setting the first value by the first device under a test environment corresponding to the first scenario.
4. The method according to any one of claims 1 to 3, characterized in that After obtaining the first test result corresponding to the first value, the method further includes: Calling the first parameter optimization model to process the first value to obtain a first prediction result corresponding to the first value; the first prediction result includes predicted first performance information and first power consumption information of the first device; Adjusting the model parameters of the first parameter optimization model based on the first test result and the first prediction result to obtain a second parameter optimization model; Determine a second value of the parameter to be tuned based on the second parameter optimization model; Obtaining a second test result corresponding to the second value; the second test result including second performance information and second power consumption information of the first device; The determining the optimal value of the parameter to be tuned based on the first value and the first test result includes: An optimal value of the parameter to be tuned is determined based on the first value, the first test result, the second value, and the second test result.
5. The method according to claim 4, characterized in that The determining the optimal value of the parameter to be tuned based on the first value, the first test result, the second value, and the second test result includes: In a case where the number of values of the parameter to be tuned is determined to be equal to a preset number, determining an optimal value of the parameter to be tuned from the first value and the second value based on the first value, the first test result, the second value and the second test result; When the number of values of the determined parameter to be tuned is less than a preset number, calling the second parameter optimization model to process the second value to obtain a second prediction result corresponding to the second value; the second prediction result includes predicted second performance information and second power consumption information of the first device; Adjusting the model parameters of the second parameter optimization model based on the second test result and the second prediction result to obtain a third parameter optimization model; Determining a third value of the parameter to be tuned based on the third parameter optimization model; Obtaining a third test result corresponding to the third value; the third test result includes third performance information and third power consumption information of the first device; An optimal value of the parameter to be tuned is determined based on the first value, the first test result, the second value, the second test result, the third value, and the third test result.
6. The method according to claim 5, characterized in that The determining the optimal value of the parameter to be tuned from the first value and the second value based on the first value, the first test result, the second value and the second test result includes: The first value, the first test result, the second value and the second test result are processed using the Pareto optimal algorithm to obtain the optimal value of the parameter to be tuned; the optimization target in the Pareto optimal algorithm indicates increasing the frame rate and reducing power consumption, and the optimization direction in the Pareto optimal algorithm indicates improving the optimization target.
7. The method according to any one of claims 1 to 6, characterized in that The first parameter optimization model is a TPE model established based on mixed Gaussian distribution.
8. The method according to any one of claims 1 to 7, characterized in that The obtaining of a first parameter optimization model for a first scenario includes: Obtaining sample values of the parameters to be tuned for the first scenario and sample test results corresponding to the sample values; Calling the initial parameter optimization model to process the sample value to obtain a sample prediction result corresponding to the sample value; Determine a loss value based on the sample prediction result and the sample test result; The model parameters of the initial parameter optimization model are adjusted in a direction of reducing the loss value to obtain a first parameter optimization model.
9. An electronic device, characterized in that: include: One or more processors, one or more memories; wherein the one or more memories are coupled to the one or more processors, the one or more memories are used to store computer program codes, the computer program codes include computer instructions, and when the one or more processors execute the computer instructions, the electronic device executes the method as described in any one of claims 1-8.
10. A parameter confirmation system, characterized in that: Comprising an electronic device; wherein, the electronic device is used to execute the method as described in any one of claims 1-8.
11. A chip, characterized in that: It comprises a processor and an interface, the processor and the interface are coupled; the interface is used to receive or output signals, and the processor is used to execute code instructions so that the method described in any one of claims 1 to 8 is executed.
12. A computer storage medium, characterized in that: The computer storage medium stores a computer program, wherein the computer program includes program instructions. When the program instructions are executed on an electronic device, the electronic device executes the method according to any one of claims 1 to 8.
13. A computer program product, characterized in that When the computer program product is run on a computer, the computer is caused to execute the method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Operating system performance tuning method, computing device and readable storage medium
CN113553249A
Adjusting and optimizing method and device for MPI parameters, storage medium and electronic equipment
CN113760766A
Method and device for reducing power consumption, server and storage medium
CN117130460A
Computing resource configuration method and electronic equipment
CN117130765A
Apparatus and method for optimizing quantifiable behavior in configurable devices and systems
US20170261949A1
