Thermal management method and device, electronic equipment, storage medium and program product
By matching application scenario information and fuzzy rules to determine the power consumption allocation weight and dynamically adjusting the core's working voltage and frequency, the complexity and low efficiency of thermal management of multi-core electronic equipment in the prior art are solved, and efficient thermal management is achieved.
Patent Information
- Application Number
- CN202510290642.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-12
- Publication Date
- 2025-06-27
AI Technical Summary
When existing thermal management technology deals with multi-core electronic equipment, it is difficult to achieve global thermal management, resulting in unsatisfactory heat dissipation efficiency, high system complexity and maintenance costs.
By obtaining the current application scenario information of the electronic device, matching it with the preset fuzzy rules, determining the power consumption allocation weight set, dynamically adjusting the power consumption allocation of each core, and then determining the target working voltage and target working frequency.
It realizes dynamically determining the power consumption ratio of each core of electronic equipment based on current application scenarios, simplifies the thermal management steps, improves the thermal management efficiency, and ensures the stable operation of the equipment in various working environments.
Smart Images

Figure CN120215670A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technologies, and in particular, to a thermal management method, a thermal management device, an electronic device, a computer-readable storage medium, and a computer program product. Background Art
[0002] Thermal management refers to effectively controlling and regulating the temperature of a device or system to ensure that it operates within a safe, reliable, and efficient operating temperature range during operation.
[0003] Thermal management is crucial for the stability and reliability of a device. In a high-temperature environment, the performance of an electronic device may be affected, and even failures may occur. For example, key components such as chips and capacitors may age faster at high temperatures, resulting in performance degradation or failure. Through effective thermal management, it can be ensured that the device can operate stably in various working environments and extend its service life.
[0004] Secondly, thermal management helps to improve the performance of a device. In some high-performance application scenarios, the device often needs to undertake a large amount of computing and data processing tasks, which will generate a large amount of heat. If the heat cannot be dissipated in time, the performance of the device may be limited. By optimizing the thermal management solution, the operating temperature of the device can be reduced, thereby giving full play to its performance potential.
[0005] In addition, thermal management also helps to save energy and reduce emissions. In today's increasingly tense energy situation, how to reduce the energy consumption of a device has become an important issue. Through effective thermal management, the heat dissipation requirement of the device can be reduced, and the energy consumption of the cooling system can be decreased. At the same time, reducing the working temperature of the device also helps to improve its energy utilization efficiency and further reduce energy consumption.
[0006] In summary, thermal management has an important impact on the stability, performance, energy consumption, and safety of a device. Therefore, when designing and using various devices, the issue of thermal management needs to be fully considered, and corresponding measures should be taken to ensure the normal operation and long-term stability of the device. Summary of the Invention
[0007] The present disclosure provides a thermal management technical solution.
[0008] According to one aspect of the present disclosure, there is provided a thermal management method, including:
[0009] Obtaining current application scenario information of an electronic device;
[0010] Matching the current application scenario information with a preset fuzzy rule to determine a power consumption allocation weight set corresponding to the current application scenario information, where the power consumption allocation weight set includes multiple current power consumption allocation weights corresponding one by one to multiple cores of the electronic device;
[0011] For any core of the electronic device, determine the current allowed power consumption of the core according to the current total allowed power consumption of the electronic device and the current power consumption corresponding to the core by allocating weights.
[0012] Determine the target operating voltage and target operating frequency of the core according to the current allowed power consumption of the core.
[0013] In a possible implementation manner, the current application scenario information includes at least some of the following:
[0014] Multiple current utilization rates corresponding to the multiple cores;
[0015] The current temperature of the electronic device;
[0016] Multiple current power consumptions corresponding to the multiple cores;
[0017] The identification information of the application program currently running on the electronic device.
[0018] In a possible implementation manner, the method further includes:
[0019] In response to the startup of the operating system of the electronic device, load the fuzzy rule base from the external memory of the electronic device to the memory of the electronic device, where the fuzzy rule base includes a plurality of preset fuzzy rules.
[0020] In a possible implementation manner, before allocating weights according to the current total allowed power consumption of the electronic device and the current power consumption corresponding to the core, the method further includes:
[0021] Obtain the current temperature of the electronic device;
[0022] Determine the current total allowed power consumption according to the difference between the preset temperature and the current temperature.
[0023] In a possible implementation manner, the determining the current total allowed power consumption according to the difference between the preset temperature and the current temperature includes:
[0024] In response to the current temperature being greater than the preset temperature, determine the current total allowed power consumption according to the difference between the preset temperature and the current temperature.
[0025] In a possible implementation manner, the determining the current total allowed power consumption according to the difference between the preset temperature and the current temperature includes:
[0026] Input the difference between the preset temperature and the current temperature into a preset incremental proportional integral derivative controller, and output the current total allowed power consumption through the incremental proportional integral derivative controller.
[0027] In a possible implementation, obtaining the current application scenario information of the electronic device includes:
[0028] Collecting multiple temperatures through multiple temperature sensors arranged at multiple positions in the electronic device;
[0029] Determining the current temperature of the electronic device according to the multiple temperatures.
[0030] In a possible implementation, determining the current temperature of the electronic device according to the multiple temperatures includes:
[0031] Determining the maximum temperature among the multiple temperatures as the current temperature of the electronic device;
[0032] Or,
[0033] Determining the average value of the multiple temperatures as the current temperature of the electronic device;
[0034] Or,
[0035] Determining the weighted sum of the multiple temperatures as the current temperature of the electronic device.
[0036] In a possible implementation, determining the target operating voltage and target operating frequency of the core according to the current allowable power consumption of the core includes:
[0037] Determining the target operating frequency of the core according to the current allowable power consumption of the core and the current power consumption of the core;
[0038] Determining the target operating voltage of the core according to the target operating frequency of the core and the frequency-voltage correspondence relationship of the core.
[0039] In a possible implementation, determining the target operating frequency of the core according to the current allowable power consumption of the core and the current power consumption of the core includes:
[0040] Inputting the difference between the current allowable power consumption of the core and the current power consumption of the core into the proportional-integral-derivative controller corresponding to the core, and outputting the target operating frequency of the core through the proportional-integral-derivative controller corresponding to the core.
[0041] In a possible implementation, the electronic device includes a GPU and a CPU, and the multiple cores include GPU cores and / or CPU cores.
[0042] In a possible implementation, the electronic device is a GPU, and the multiple cores include multiple GPU cores.
[0043] According to one aspect of the present disclosure, there is provided a thermal management device, including:
[0044] A first acquisition module, configured to acquire current application scenario information of an electronic device;
[0045] A matching module, configured to match the current application scenario information with a preset fuzzy rule to determine a power consumption allocation weight set corresponding to the current application scenario information, where the power consumption allocation weight set includes multiple current power consumption allocation weights corresponding one by one to multiple cores of the electronic device;
[0046] A first determination module, configured to, for any core of the electronic device, determine the current allowable power consumption of the core according to the current total allowable power consumption of the electronic device and the current power consumption allocation weight corresponding to the core;
[0047] A second determination module, configured to determine a target operating voltage and a target operating frequency of the core according to the current allowable power consumption of the core.
[0048] In a possible implementation manner, the current application scenario information includes at least some of the following:
[0049] Multiple current utilization rates corresponding to the multiple cores;
[0050] The current temperature of the electronic device;
[0051] Multiple current power consumptions corresponding to the multiple cores;
[0052] The identification information of the application program currently running on the electronic device.
[0053] In a possible implementation manner, the device further includes:
[0054] A loading module, configured to load a fuzzy rule library from an external memory of the electronic device to the memory of the electronic device in response to the startup of the operating system of the electronic device, where the fuzzy rule library includes multiple preset fuzzy rules.
[0055] In a possible implementation manner, the device further includes:
[0056] A second acquisition module, configured to acquire the current temperature of the electronic device;
[0057] A third determination module, configured to determine the current total allowable power consumption according to the difference between a preset temperature and the current temperature.
[0058] In a possible implementation manner, the third determination module is configured to:
[0059] In response to the current temperature being greater than the preset temperature, determine the current total allowable power consumption according to the difference between the preset temperature and the current temperature.
[0060] In a possible implementation manner, the third determination module is configured to:
[0061] Input the difference between the preset temperature and the current temperature into a preset incremental proportional-integral-derivative controller, and output the current total allowable power consumption through the incremental proportional-integral-derivative controller.
[0062] In a possible implementation manner, the first obtaining module is configured to:
[0063] Collect multiple temperatures through multiple temperature sensors arranged at multiple positions in the electronic device;
[0064] Determine the current temperature of the electronic device according to the multiple temperatures.
[0065] In a possible implementation manner, the first obtaining module is configured to:
[0066] Determine the maximum temperature among the multiple temperatures as the current temperature of the electronic device;
[0067] Or,
[0068] Determine the average value of the multiple temperatures as the current temperature of the electronic device;
[0069] Or,
[0070] Determine the weighted sum of the multiple temperatures as the current temperature of the electronic device.
[0071] In a possible implementation manner, the second determination module is configured to:
[0072] Determine the target operating frequency of the core according to the current allowable power consumption of the core and the current power consumption of the core;
[0073] Determine the target operating voltage of the core according to the target operating frequency of the core and the frequency-voltage correspondence relationship of the core.
[0074] In a possible implementation manner, the second determination module is configured to:
[0075] Input the difference between the current allowable power consumption of the core and the current power consumption of the core into the proportional-integral-derivative controller corresponding to the core, and output the target operating frequency of the core through the proportional-integral-derivative controller corresponding to the core.
[0076] In a possible implementation, the electronic device includes a GPU and a CPU, and the multiple cores include GPU cores and / or CPU cores.
[0077] In a possible implementation, the electronic device is a GPU, and the multiple cores include multiple GPU cores.
[0078] According to one aspect of the present disclosure, there is provided an electronic device, including: one or more processors; a memory for storing executable instructions; wherein, the one or more processors are configured to call the executable instructions stored in the memory to execute the above method.
[0079] According to one aspect of the present disclosure, there is provided a computer-readable storage medium, on which computer program instructions are stored, and when the computer program instructions are executed by a processor, the above method is implemented.
[0080] According to one aspect of the present disclosure, there is provided a computer program product, including computer-readable code, or a non-volatile computer-readable storage medium carrying the computer-readable code, and when the computer-readable code runs in an electronic device, the processor in the electronic device executes the above method.
[0081] In the embodiment of the present disclosure, by obtaining the current application scenario information of the electronic device, matching the current application scenario information with a preset fuzzy rule, and determining a power consumption allocation weight set corresponding to the current application scenario information, wherein the power consumption allocation weight set includes multiple current power consumption allocation weights corresponding one by one to the multiple cores of the electronic device. For any core of the electronic device, according to the current total allowable power consumption of the electronic device and the current power consumption allocation weight corresponding to the core, the current allowable power consumption of the core is determined, and according to the current allowable power consumption of the core, the target operating voltage and target operating frequency of the core are determined. Thus, it is possible to dynamically determine the proportion of the power consumption allocated to each core of the electronic device according to the current application scenario. Since the power consumption allocation weight set is determined by matching the current application scenario information of the electronic device with a preset fuzzy rule, the operating parameters (operating voltage and operating frequency) of each core of the electronic device will be set as expected, and the calculated operating parameters of each core can be explained by the fuzzy rule. Therefore, after determining the operating parameters of each core, there is no need to determine the rationality of the operating parameters of each core again, thereby simplifying the steps of thermal management and improving the efficiency of thermal management.
[0082] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and do not limit the present disclosure.
[0083] According to the following detailed description of exemplary embodiments with reference to the accompanying drawings, other features and aspects of the present disclosure will become clear. Brief Description of the Drawings
[0084] The drawings herein are incorporated into and constitute a part of this specification. These drawings illustrate embodiments consistent with the present disclosure and, together with the specification, are used to explain the technical solutions of the present disclosure.
[0085] Figure 1 A flowchart showing the thermal management method provided by an embodiment of the present disclosure.
[0086] Figure 2 A schematic diagram showing an application scenario of the thermal management method provided by an embodiment of the present disclosure.
[0087] Figure 3 A block diagram showing the thermal management device provided by an embodiment of the present disclosure.
[0088] Figure 4 A block diagram showing the electronic device 1900 provided by an embodiment of the present disclosure. Detailed Description of the Embodiments
[0089] Various exemplary embodiments, features, and aspects of the present disclosure will be described in detail below with reference to the drawings. The same reference numerals in the drawings denote elements having the same or similar functions. Although various aspects of the embodiments are shown in the drawings, the drawings are not necessarily drawn to scale unless otherwise specified.
[0090] The term "exemplary" used herein means "serving as an example, embodiment, or illustration". Any embodiment described as "exemplary" herein is not necessarily to be construed as superior to or better than other embodiments.
[0091] As used herein, the term "and / or" merely describes an association relationship of associated objects and means that three relationships may exist. For example, A and / or B may represent: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the term "at least one" as used herein means any one of a plurality or any combination of at least two of a plurality. For example, including at least one of A, B, and C may represent including any one or more elements selected from the set composed of A, B, and C.
[0092] In addition, to better illustrate the present disclosure, numerous specific details are given in the following detailed description. Those skilled in the art should understand that the present disclosure may still be implemented without some of these specific details. In some instances, methods, means, elements, and circuits well known to those skilled in the art are not described in detail so as to highlight the gist of the present disclosure.
[0093] In the related art, two main methods are used for thermal management of electronic devices. One is discrete thermal management, and the other is integrated thermal management.
[0094] Among them, in discrete thermal management, the system independently collects the current temperatures of each core in the electronic device, and sets corresponding frequency and voltage outputs for each core according to the current temperatures of each core. Usually, discrete thermal management requires engineers to be responsible for maintaining the corresponding curve between temperature and frequency to ensure that each core can operate within an appropriate temperature range under its respective workload.
[0095] However, discrete thermal management has some obvious disadvantages. First, since discrete thermal management independently processes the temperatures of each core, it cannot fully consider the overall thermal distribution and heat dissipation efficiency of the entire system or device during operation. This may lead to the situation that in some cases, although the temperature of a single core is controlled ideally, the heat dissipation effect of the entire system is not ideal, and even local overheating occurs. Second, since the frequency and voltage need to be set separately for each core, this increases the complexity and maintenance cost of the system. In addition, due to the relatively scattered management strategy of discrete thermal management and the lack of a unified thermal control strategy, it may be difficult to optimize the thermal management effect of the system.
[0096] On the other hand, integrated thermal management is a more advanced thermal management method. Integrated thermal management is represented by the thermal management component IPA (Intelligent Power Allocation) of ARM, which adopts a global management strategy. The IPA component is first responsible for collecting the temperature information of the electronic device, then performs operations on the temperature information, outputs corresponding power consumption information, and transmits this power consumption information to each core. Each core performs its own maximum power consumption management according to the received power consumption information.
[0097] However, in the related technologies, the optimization goal of integrated thermal management is not clear, resulting in the need to frequently adjust the working parameters of each core during the actual operation process. Taking the IPA component as an example, it not only needs to maintain weights, but also takes into account the different power consumption levels and corresponding frequency conditions of each core. Such complexity increases the difficulty and cost of thermal management, and at the same time makes it difficult to ensure the rationality of the configuration of the working parameters of each core. Therefore, after configuring the working parameters of each core, the IPA component also needs to ensure the rationality of the configuration combination.
[0098] To solve the technical problems similar to those described above, embodiments of the present disclosure provide a thermal management method. By obtaining the current application scenario information of an electronic device, matching the current application scenario information with a preset fuzzy rule, and determining a power consumption allocation weight set corresponding to the current application scenario information, where the power consumption allocation weight set includes multiple current power consumption allocation weights corresponding one by one to multiple cores of the electronic device. For any core of the electronic device, according to the current total allowable power consumption of the electronic device and the current power consumption allocation weight corresponding to the core, determine the current allowable power consumption of the core, and according to the current allowable power consumption of the core, determine the target operating voltage and target operating frequency of the core. Thus, it is possible to dynamically determine the proportion of power consumption allocated to each core of the electronic device according to the current application scenario. Since the power consumption allocation weight set is determined by matching the current application scenario information of the electronic device with a preset fuzzy rule, the operating parameters (operating voltage and operating frequency) of each core of the electronic device will be set as expected, and the calculated operating parameters of each core can be explained by the fuzzy rule. Therefore, after determining the operating parameters of each core, there is no need to determine the rationality of the operating parameters of each core again, which can simplify the steps of thermal management and improve the efficiency of thermal management.
[0099] The following will describe in detail the thermal management method provided by the embodiments of the present disclosure with reference to the accompanying drawings.
[0100] Figure 1 The flowchart showing the thermal management method provided by the embodiments of the present disclosure is shown. In a possible implementation manner, the execution subject of the thermal management method may be a thermal management device. For example, the thermal management method may be executed by a terminal device, a server, or other electronic devices. Among them, the terminal device may be a user equipment (UE), a mobile device, a user terminal, a terminal, a cellular phone, a cordless phone, a personal digital assistant (PDA), a handheld device, a computing device, a vehicle-mounted device, or a wearable device, etc. In some possible implementation manners, the thermal management method may be implemented by a processor calling computer-readable instructions stored in a memory. As Figure 1 shown, the thermal management method includes steps S11 to S14.
[0101] In step S11, obtain the current application scenario information of the electronic device.
[0102] In step S12, match the current application scenario information with a preset fuzzy rule, and determine a power consumption allocation weight set corresponding to the current application scenario information, where the power consumption allocation weight set includes multiple current power consumption allocation weights corresponding one by one to multiple cores of the electronic device.
[0103] In step S13, for any core of the electronic device, based on the current total allowable power consumption of the electronic device and the weight corresponding to the current power consumption of the core, determine the current allowable power consumption of the core.
[0104] In step S14, based on the current allowable power consumption of the core, determine the target operating voltage and target operating frequency of the core.
[0105] The embodiments of the present disclosure can be used for thermal management of an electronic device including multiple cores.
[0106] In a possible implementation, the electronic device includes a GPU and a CPU, and the multiple cores include GPU cores and / or CPU cores.
[0107] As an example of this implementation, the CPU cores can include large cores (Performance Cores). Large cores can also be referred to as P cores. Large cores usually have a relatively high main frequency and powerful computing capabilities. Large cores are suitable for processing tasks with high performance requirements, such as running large applications and games with high graphics requirements. The main goal of large cores is to provide excellent performance to meet the needs of complex and computationally intensive tasks.
[0108] As an example of this implementation, the CPU cores can include small cores (Efficiency Cores). Small cores can also be referred to as E cores. The design of small cores focuses on low power consumption and high efficiency. They can handle low-load and multi-core workloads, such as daily applications, web browsing, and answering phone calls. The goal of small cores is to provide sufficient performance to handle daily tasks while maintaining relatively low power consumption.
[0109] In this implementation, by uniformly managing the cores of the GPU and the CPU, precise control of the overall power consumption of the electronic device can be achieved. Since the power consumption requirements of the GPU and the CPU are different when executing different tasks, dynamically adjusting the power consumption allocation weights of the two according to the current application scenario information can ensure that while meeting the performance requirements, the power consumption is reduced as much as possible, improving the energy efficiency performance of the device.
[0110] Moreover, the thermal management method provided by this implementation helps to maintain the stability of the electronic device and extend the hardware lifespan. Overheating may cause the system to be unstable, encounter errors, or suddenly shut down, and running at a high temperature for a long time may shorten the hardware lifespan. By uniformly managing the cores of the GPU and the CPU, overheating problems can be effectively avoided, ensuring the stable operation of the electronic device and extending the service life of the hardware.
[0111] In addition, thermal management of the cores in the GPU and CPU can also improve the performance of the electronic device. When the processors overheat, they may automatically reduce their operating frequencies to reduce heat generation, which can lead to a performance decline. By performing thermal management on the cores of the GPU and CPU, it can be ensured that they operate at an appropriate working temperature, thus maintaining the best performance state.
[0112] Therefore, performing thermal management on the cores in the GPU and CPU together can achieve a balance among power consumption, stability, and performance, improving the overall performance and user experience of the electronic device.
[0113] In another possible implementation, the electronic device is a GPU, and the multiple cores include multiple GPU cores.
[0114] A GPU usually contains a large number of computing cores. These cores consume a large amount of energy and generate a large amount of heat when performing complex tasks such as graphics rendering and physical simulation. By performing unified thermal management on multiple GPU cores, it can be ensured that each core operates within a suitable temperature range, avoiding performance decline or hardware damage caused by overheating.
[0115] Performing unified thermal management on multiple GPU cores helps optimize the performance of the GPU. When the temperature of the GPU cores is too high, in order to prevent hardware damage, the operating frequency is usually reduced or the thermal throttling mechanism is triggered, which can lead to a performance decline. By performing thermal management on multiple GPU cores, the workload and temperature of each GPU core can be balanced, ensuring a high performance output under high loads.
[0116] In addition, unified thermal management can also improve the stability and reliability of the system. As a key component in a computer system, the stability of the GPU directly affects the operation of the entire system. By performing thermal management on multiple GPU cores, potential heat dissipation problems can be detected and resolved in a timely manner, reducing risks such as system crashes or data loss caused by overheating.
[0117] In one possible implementation, the method further includes: in response to the startup of the operating system of the electronic device, loading the fuzzy rule base from the external memory of the electronic device into the memory of the electronic device, where the fuzzy rule base includes a plurality of preset fuzzy rules.
[0118] In this implementation, the fuzzy rules in the fuzzy rule base can be formulated based on the experience of experts and the actual operation data of the system. Fuzzy rules can handle uncertainty and ambiguity, making power consumption allocation more in line with actual requirements and system characteristics.
[0119] In this implementation, when the operating system of the electronic device starts running, the operation of loading the fuzzy rule base can be automatically executed, and the fuzzy rule base pre-stored in the external memory is read and stored in the memory of the electronic device. Among them, the fuzzy rules in the fuzzy rule base are preset and used to determine the power consumption allocation weight set according to the current application scenario information.
[0120] In this implementation, by loading the fuzzy rule base into the memory, the electronic device can access and apply the fuzzy rules more quickly during operation. The access speed of the external memory is usually slow, while the memory has a higher read / write speed. Therefore, loading the fuzzy rule base into the memory can significantly improve the efficiency and response speed of fuzzy rule matching. This helps to improve the overall performance of the electronic device. Especially when dealing with complex application scenarios, it can determine the power consumption allocation weight set more quickly and accurately, realizing the optimized management of power consumption. At the same time, it also reduces the access burden on the external memory and extends the service life of the memory.
[0121] In a possible implementation, before allocating the current power consumption weight corresponding to the core according to the current total allowable power consumption of the electronic device, the method further includes: obtaining the current temperature of the electronic device; determining the current total allowable power consumption according to the difference between the preset temperature and the current temperature.
[0122] Among them, the preset temperature can be a safety threshold, and it is relatively safe for the electronic device to operate below the preset temperature. By comparing the current temperature with the preset temperature, the thermal state of the electronic device can be judged, and the total allowable power consumption can be adjusted accordingly. If the current temperature exceeds the preset temperature, the total allowable power consumption can be reduced to reduce heat generation and prevent the device from overheating.
[0123] Among them, the difference between the preset temperature and the current temperature reflects the current thermal load state of the electronic device. The larger the absolute value of the difference, the more serious the overheating of the electronic device. Therefore, it is necessary to more strictly limit the power consumption to prevent further temperature rise. The current total allowable power consumption can be dynamically adjusted according to the difference to ensure that the electronic device operates within a safe temperature range.
[0124] In this implementation, by considering the current temperature state of the electronic device, the total allowable power consumption can be dynamically adjusted, which not only ensures the stable output of the performance of the electronic device but also avoids performance degradation or hardware damage caused by overheating. This implementation helps to improve the energy efficiency performance of the electronic device, extend the hardware life, and also enhance the user experience.
[0125] In a possible implementation, obtaining the current application scenario information of the electronic device includes: collecting multiple temperatures through multiple temperature sensors disposed at multiple positions in the electronic device; and determining the current temperature of the electronic device according to the multiple temperatures.
[0126] In this implementation, multiple temperature sensors can be distributed near key components of the electronic device, such as near core components like the CPU and GPU, to ensure comprehensive and accurate acquisition of the temperature information of the electronic device.
[0127] In this implementation, after collecting multiple temperatures, the multiple temperatures can be comprehensively processed through a certain algorithm or model to determine the current temperature of the electronic device. This implementation takes into account the non-uniformity of the internal temperature distribution of the electronic device, and more accurate temperature values can be obtained through multi-point measurement.
[0128] In this implementation, through multi-point temperature measurement, the actual temperature state of the electronic device can be reflected more comprehensively and accurately. Compared with single-point measurement, multi-point measurement can reduce errors and improve the reliability of temperature detection. This helps to more precisely judge the thermal state of the electronic device, thereby performing more accurate thermal management.
[0129] In a possible implementation, determining the current temperature of the electronic device according to the multiple temperatures includes: determining the maximum temperature among the multiple temperatures as the current temperature of the electronic device; or, determining the average value of the multiple temperatures as the current temperature of the electronic device; or, determining the weighted sum of the multiple temperatures as the current temperature of the electronic device.
[0130] As an example of this implementation, the maximum temperature among the multiple temperatures can be determined as the current temperature of the electronic device.
[0131] In this example, the maximum temperature among the multiple collected temperatures can be used as the current temperature of the electronic device. This processing method takes into account the possible hottest spot inside the electronic device, that is, the area with the highest temperature. By determining the maximum temperature as the current temperature, the system can make subsequent power consumption management decisions with a relatively conservative and safe value.
[0132] This example ensures that the electronic device will not overheat due to ignoring some high-temperature areas during operation, thereby protecting the stability and safety of the electronic device. By allocating power consumption based on the maximum temperature, the system can effectively control the temperature of the electronic device while meeting the performance requirements, preventing performance degradation or hardware damage caused by overheating.
[0133] As another example of this implementation manner, the average value of the multiple temperatures may be determined as the current temperature of the electronic device.
[0134] In this example, the average value of the multiple collected temperatures is calculated and used as the current temperature of the electronic device. By calculating the average temperature, the temperature distribution at different positions inside the electronic device can be comprehensively considered, and a relatively comprehensive and balanced temperature value can be obtained. This processing method takes into account both the influence of high-temperature regions and the situation of low-temperature regions, making the determined current temperature more representative.
[0135] This example determines the current temperature by calculating the average value of multiple temperatures, which can more comprehensively reflect the temperature distribution inside the electronic device. This helps the system to more accurately evaluate the thermal state of the electronic device, thereby performing more refined power consumption management. At the same time, the processing method of the average value also reduces the temperature judgment deviation caused by the abnormality or error of a single temperature sensor, improving the accuracy and reliability of temperature detection.
[0136] As another example of this implementation manner, the weighted sum of the multiple temperatures may be determined as the current temperature of the electronic device.
[0137] In this example, the weighted sum of the multiple collected temperatures is calculated to obtain the current temperature of the electronic device. Specifically, each temperature value collected by a temperature sensor is assigned a specific weight, and these weights can be determined according to the importance of the sensor position, the influence degree on the overall temperature, or other relevant factors. The calculation of the weighted sum takes into account the differences in temperatures at different positions and their importance to the overall temperature, so the actual temperature state of the electronic device can be more accurately reflected.
[0138] In this example, by using the method of weighted sum to determine the current temperature, the temperature characteristics at different positions inside the electronic device can be comprehensively considered and flexibly adjusted according to the actual situation. This example takes into account both the uniformity of temperature distribution and the importance of the temperature at key positions, thereby improving the accuracy and reliability of temperature detection.
[0139] In a possible implementation manner, the determining of the current total allowable power consumption according to the difference between the preset temperature and the current temperature includes: in response to the current temperature being greater than the preset temperature, determining the current total allowable power consumption according to the difference between the preset temperature and the current temperature.
[0140] In this implementation manner, when it is detected that the current temperature of the electronic device exceeds the preset temperature, the current total allowable power consumption can be determined according to the difference between the preset temperature and the current temperature.
[0141] In this implementation, by responding to the situation where the current temperature exceeds the preset temperature and determining the current total allowable power consumption according to the temperature difference, the power consumption management strategy of the electronic device can be adjusted in real time and dynamically. This helps to limit the power consumption in a timely manner when the temperature of the electronic device rises, preventing performance degradation or hardware damage caused by overheating.
[0142] In a possible implementation, the determining of the current total allowable power consumption according to the difference between the preset temperature and the current temperature includes: inputting the difference between the preset temperature and the current temperature into a preset incremental proportional-integral-derivative (PID) controller, and outputting the current total allowable power consumption through the incremental proportional-integral-derivative controller.
[0143] In this implementation, the difference between the preset temperature and the current temperature can be used as the input of the preset incremental proportional-integral-derivative controller, and through the calculation of the incremental proportional-integral-derivative controller, the current total allowable power consumption is output. Among them, the output of the current total allowable power consumption can dynamically adjust the output value, that is, the current total allowable power consumption, according to the input temperature difference, in combination with the three control strategies of proportional, integral, and derivative, so as to achieve the purpose of controlling the temperature of the electronic device.
[0144] In this implementation, the incremental proportional-integral-derivative controller can quickly adjust the current total allowable power consumption according to the real-time change of the temperature difference, so that the temperature of the electronic device quickly approaches the preset temperature, thereby effectively preventing the electronic device from overheating. At the same time, the integral and derivative effects of the incremental proportional-integral-derivative controller can eliminate the steady-state error and suppress the temperature fluctuation, improving the accuracy and stability of temperature control. Therefore, using the incremental proportional-integral-derivative controller to determine the current total allowable power consumption can achieve precise control of the temperature of the electronic device and improve the performance and reliability of the electronic device.
[0145] In a possible implementation, when the current temperature of the electronic device is less than or equal to the preset temperature, no processing may be performed.
[0146] In the embodiments of the present disclosure, the current application scenario information of the electronic device can be obtained, and the current application scenario information can be matched with preset fuzzy rules to determine the power consumption allocation weight set corresponding to the current application scenario information, where the power consumption allocation weight set includes multiple current power consumption allocation weights corresponding to multiple cores of the electronic device one by one. In a possible implementation, the power consumption allocation weight set may include the current power consumption allocation weights corresponding to each core in the electronic device.
[0147] In a possible implementation, in response to the current temperature of the electronic device being greater than the preset temperature, the current application scenario information of the electronic device is obtained, and the current application scenario information is matched with a preset fuzzy rule to determine the power consumption allocation weight set corresponding to the current application scenario information.
[0148] In a possible implementation, the sum of the current power consumption allocation weights corresponding to each core in the electronic device is 1.
[0149] In a possible implementation, the current application scenario information includes at least some of the following: multiple current utilization rates corresponding to the multiple cores; the current temperature of the electronic device; multiple current power consumptions corresponding to the multiple cores; identification information of the application program currently running on the electronic device.
[0150] As an example of this implementation, the current application scenario information of the electronic device may include the current utilization rates of each core in the electronic device. Among them, the current utilization rate of any core can represent the proportion of the tasks or data currently being executed by the core in its total processing capacity. The current utilization rates of each core can directly reflect the workload of each core.
[0151] When the current utilization rate of a certain core is high, it means that the core is processing a large amount of tasks or data and requires more computing resources and power consumption to support its operation. Therefore, the fuzzy rule can allocate a higher power consumption allocation weight to this core. In this way, this core can obtain more power consumption resources, thereby maintaining its performance and avoiding a decrease in processing speed or task delay due to insufficient power consumption.
[0152] On the contrary, if the current utilization rate of a certain core is low, it means that the workload of this core is light and it may be in an idle state or only processing a small amount of tasks. In this case, the fuzzy rule can allocate a lower power consumption allocation weight to this core to reduce unnecessary power consumption and improve the energy efficiency ratio of the entire electronic device.
[0153] For example, assume that an electronic device has four cores, labeled Core A, Core B, Core C, and Core D. At a certain moment, the current utilization rate of Core A reaches 90%, while the utilization rates of Core B, Core C, and Core D are 50%, 30%, and 10% respectively. According to the fuzzy rule, the highest power consumption allocation weight can be allocated to Core A because its utilization rate is the highest and it requires more power consumption to support its high-load operation. For Core D with a lower utilization rate, a lower power consumption allocation weight can be allocated to save power.
[0154] In this way, the power consumption allocation weight can be dynamically adjusted according to the current utilization rate of each core, ensuring that cores with high load can obtain sufficient power consumption resources, while reducing the power consumption of cores with low load, and achieving reasonable allocation and efficient utilization of power consumption. This helps to improve the overall performance and energy efficiency ratio of the electronic device.
[0155] As another example of this implementation method, the current application scenario information of the electronic device may include the current temperature of the electronic device. The current temperature of the electronic device reflects the heat accumulation and heat dissipation inside the electronic device, and reasonable power consumption allocation can effectively control the temperature of the electronic device, prevent overheating, and maintain the stable operation of the electronic device.
[0156] When the current temperature of the electronic device is relatively high, it means that there may be a risk of overheating inside the electronic device. To reduce the temperature and prevent damage to the electronic device, the power consumption allocation weight corresponding to the core with a higher temperature can be reduced, and the power consumption allocation weight corresponding to the core with a lower temperature can be increased to control the temperature while maintaining the overall performance.
[0157] For example, assume that an electronic device has four cores A, B, C, and D. Currently, the temperature of the electronic device is relatively high, and the temperatures of cores A and B rise relatively fast due to processing a large number of computing tasks. To reduce the temperature, the power consumption allocation weights corresponding to cores A and B can be reduced. For example, the power consumption allocation weight corresponding to A is reduced from 0.3 to 0.2, and the power consumption allocation weight corresponding to B is reduced from 0.4 to 0.3. At the same time, the power consumption allocation weights corresponding to cores C and D can be increased from the original 0.1 and 0.2 to 0.2 and 0.3 respectively.
[0158] This adjustment helps to balance the temperature and performance of the electronic device. Reducing the power consumption of the high-temperature core can reduce heat generation, and appropriately increasing the power consumption of other cores can ensure that key tasks still obtain sufficient processing resources.
[0159] On the contrary, if the current temperature of the electronic device is relatively low, the power consumption allocation weight of the core processing key tasks can be increased to improve the overall performance of the electronic device.
[0160] In this way, the power consumption allocation weights corresponding to each core can be dynamically and finely adjusted according to the current temperature of the electronic device, ensuring that while maintaining high performance, the electronic device can also effectively control the temperature, and improving the stability and reliability of the electronic device.
[0161] As an example of this implementation method, the current application scenario information of the electronic device may include the current power consumption of each core in the electronic device. In this example, based on the current power consumption of each core in the electronic device, the power consumption allocation weights of each core can be dynamically adjusted through fuzzy rules.
[0162] When the current power consumption of a certain core is relatively high, it means that the core is executing a high-power task and may require more power resources to maintain its performance. However, if all cores continuously operate at high power consumption, it may cause the total power consumption of the electronic device to exceed the limit, leading to problems such as overheating or excessive energy consumption. Therefore, when matching fuzzy rules, the power consumption allocation weight of high-power cores can be appropriately adjusted according to the current power consumption situation.
[0163] A possible adjustment strategy is that for a core with a relatively high current power consumption, its power consumption allocation weight can be appropriately reduced to reduce its power consumption demand and prevent the power consumption from rising further. At the same time, a part of the power consumption allocation weight can be transferred to other cores with lower power consumption to balance the power consumption load of each core and improve the overall energy efficiency.
[0164] For example, assume that an electronic device has four cores A, B, C, and D. At a certain moment, due to executing a high-power task, the current power consumption of core A is relatively high. To avoid the overall power consumption exceeding the limit, the power consumption allocation weight of core A can be reduced, such as from the original 0.4 to 0.3. At the same time, the weight of some cores with lower power consumption among cores B, C, or D can be increased to maintain the stability of the overall performance.
[0165] As an example of this implementation method, the current application scenario information of the electronic device can include the identification information of the currently running application. Different applications may have very different requirements for system resources and the power consumption generated. Therefore, the power consumption allocation weight can be dynamically adjusted according to the characteristics and requirements of the application.
[0166] In this example, the identification information of the application can help the system identify the type of the application. For example, some applications such as games or video editing software usually require high computing power and graphics processing capabilities. Therefore, it is possible to tend to allocate a higher power consumption allocation weight to the cores responsible for these functions. While some lightweight applications such as text editors or simple web browsers have lower requirements for system resources, and the corresponding power consumption allocation weights will also be lower.
[0167] In this example, according to the identification information of the application, the current running state of the application can also be obtained. For example, a video player may require more graphics and computing resources when playing high-definition videos, while the requirements are lower when in standby or only displaying the menu. The power consumption allocation weight can be dynamically adjusted according to these state changes to adapt to the actual needs of the application.
[0168] In this example, the priority of the application can also be considered. For applications with which the user is interacting or that require quick response, a higher priority can be given, and the power consumption allocation weight of the relevant cores can be increased to ensure a smooth user experience.
[0169] For example, assume that an electronic device is currently running a 3D game and an e - book reader. By identifying the identification information of the application, it is known that the game usually requires high - performance computing and graphics rendering. Therefore, higher power consumption weights can be assigned to the cores responsible for these functions (such as high - performance CPU cores and GPU cores). For the e - book reader, since its functions are relatively simple, a lower power consumption weight can be assigned to it to save energy.
[0170] In this way, according to the identification information, operating status and priority of the application, the power consumption allocation weights of each core can be finely adjusted, so as to ensure that key applications obtain sufficient resources while avoiding unnecessary power consumption waste. This not only helps to improve the user experience, but also extends the battery life and overall service life of the device.
[0171] In the embodiment of the present disclosure, after determining the current power consumption allocation weights corresponding to each core in the electronic device, for any core in the electronic device, the current allowed power consumption of the core can be determined according to the current total allowed power consumption of the electronic device and the current power consumption allocation weight corresponding to the core. For example, the product of the current total allowed power consumption of the electronic device and the current power consumption allocation weight corresponding to the core can be determined as the current allowed power consumption of the core.
[0172] In a possible implementation manner, determining the target operating voltage and target operating frequency of the core according to the current allowed power consumption of the core includes: determining the target operating frequency of the core according to the current allowed power consumption of the core and the current power consumption of the core; determining the target operating voltage of the core according to the target operating frequency of the core and the frequency - voltage correspondence relationship of the core.
[0173] Among them, the current power consumption of the core can be collected by a power consumption collector (such as INA3221), or can be obtained through fitting operations.
[0174] In this implementation manner, the current allowed power consumption and the current actual power consumption of the core are combined to more accurately determine the target operating frequency of the core. In this implementation manner, first, by comparing the current allowed power consumption and the current power consumption of the core, the range of the operating frequency that can be safely increased or decreased within the power consumption limit can be calculated. In this way, not only the power consumption limit is considered, but also the current operating state of the core is considered, so as to obtain a more reasonable and efficient target operating frequency. Subsequently, using the frequency - voltage correspondence relationship of the core, the corresponding target operating voltage can be found according to the determined target operating frequency.
[0175] This implementation method comprehensively considers the working state and power consumption limit of the core, and can more accurately find the optimal working parameters of the core. This can not only avoid device problems caused by excessive power consumption, but also maximize energy efficiency while ensuring the performance of the core. By comprehensively considering the current power consumption and the allowable power consumption, more flexible and precise power management can be achieved in different scenarios, providing strong support for the stable operation and energy saving of electronic devices.
[0176] In a possible implementation method, determining the target operating frequency of the core according to the current allowable power consumption and the current power consumption of the core includes: inputting the difference between the current allowable power consumption of the core and the current power consumption of the core into the proportional-integral-derivative controller corresponding to the core, and outputting the target operating frequency of the core through the proportional-integral-derivative controller corresponding to the core.
[0177] In this implementation method, a proportional-integral-derivative controller can be used to determine the target operating frequency of the core. In this implementation method, the proportional-integral-derivative controller can, according to the difference between the current power consumption of the core and the target value (the current allowable power consumption of the core), through the operations of the proportional, integral, and derivative links, output a control signal (the target operating frequency of the core). In this way, the proportional-integral-derivative controller can adjust the operating frequency of the core in real time, making its power consumption gradually approach and stabilize within the allowable power consumption range.
[0178] In this implementation method, the application of the proportional-integral-derivative controller makes the adjustment of the operating frequency of the core more accurate and efficient. The proportional-integral-derivative controller can quickly respond to changes in power consumption and automatically adjust the working state of the core, thereby effectively controlling power consumption while ensuring the performance of the core. In addition, the proportional-integral-derivative controller also has a certain degree of robustness and can cope with changes in system parameters and external interference to ensure the stable operation of the core.
[0179] In the embodiments of the present disclosure, for any core of an electronic device, after determining the target operating voltage and the target operating frequency of the core, the operating voltage of the core can be adjusted to the target operating voltage, and the operating frequency of the core can be adjusted to the target operating frequency.
[0180] The following uses a specific application scenario to illustrate the thermal management method provided by the embodiments of the present disclosure. Figure 2 A schematic diagram showing an application scenario of the thermal management method provided by the embodiments of the present disclosure. In this application scenario, the electronic device includes a GPU and a CPU. The GPU may include GPU cores (refer to Figure 2 "GPU" in Figure 2 ), and the CPU includes big cores (refer to Figure 2 "BIG" in
[0181] In the first step, in response to the startup of the operating system of the electronic device, the fuzzy rule base can be loaded from the external memory of the electronic device to the memory of the electronic device, where the fuzzy rule base includes a plurality of preset fuzzy rules (refer to Figure 2 "fuzzy sets" in
[0182] ). In the second step, multiple temperature sensors set at multiple positions in the electronic device (refer to Figure 2 "thermal" in
[0183] ) can be used to collect multiple temperatures, and the current temperature cur_temperature of the electronic device can be determined based on the multiple temperatures. In the third step, in response to the current temperature cur_temperature being greater than the preset temperature set_temperature, the difference between the preset temperature set_temperature and the current temperature cur_temperature can be input into a preset incremental PID controller, and the current total allowable power consumption total_power of the electronic device can be output through the incremental PID controller.
[0184] In the fourth step, the current application scenario information of the electronic device can be obtained; where the current application scenario information includes: the current utilization rate of each core in the electronic device, the current temperature of the electronic device, the current power consumption of each core in the electronic device, and the identification information of the application program currently running on the electronic device. The current application scenario information can be matched with the preset fuzzy rules to determine the power consumption allocation weight set corresponding to the current application scenario information, where the power consumption allocation weight set includes the current power consumption allocation weight w1 corresponding to the GPU core, the current power consumption allocation weight w2 corresponding to the large core, and the current power consumption allocation weight w3 corresponding to the small core.
[0185] In the fifth step, for the GPU core, the product of the current total allowable power consumption total_power of the electronic device and the current power consumption allocation weight w1 corresponding to the GPU core can be determined as the current allowable power consumption allow_power1 of the GPU core. The difference between the current allowable power consumption allow_power1 of the GPU core and the current power consumption cur_power of the GPU core can be input into the PID controller corresponding to the GPU core, and the target operating frequency freq of the GPU core can be output through the PID controller corresponding to the GPU core. The target operating voltage voltage of the GPU core can be determined based on the target operating frequency freq of the GPU core and the frequency-voltage correspondence relationship of the GPU core. After determining the target operating voltage voltage and the target operating frequency freq of the GPU core, the operating voltage of the GPU core can be adjusted to the target operating voltage voltage, and the operating frequency of the GPU core can be adjusted to the target operating frequency freq.
[0186] For large cores, the product of the current total allowable power consumption total_power of the electronic device and the current power consumption allocation weight w2 corresponding to the large core can be determined as the current allowable power consumption allow_power2 of the large core. The difference between the current allowable power consumption allow_power2 of the large core and the current power consumption cur_power of the large core can be input into the PID controller corresponding to the large core, and the target operating frequency freq of the large core can be output through the PID controller corresponding to the large core. The target operating voltage voltage of the large core can be determined according to the target operating frequency freq of the large core and the frequency-voltage correspondence of the large core. After determining the target operating voltage voltage and the target operating frequency freq of the large core, the operating voltage of the large core can be adjusted to the target operating voltage voltage, and the operating frequency of the large core can be adjusted to the target operating frequency freq.
[0187] For small cores, the product of the current total allowable power consumption total_power of the electronic device and the current power consumption allocation weight w3 corresponding to the small core can be determined as the current allowable power consumption allow_power3 of the small core. The difference between the current allowable power consumption allow_power3 of the small core and the current power consumption cur_power of the small core can be input into the PID controller corresponding to the small core, and the target operating frequency freq of the small core can be output through the PID controller corresponding to the small core. The target operating voltage voltage of the small core can be determined according to the target operating frequency freq of the small core and the frequency-voltage correspondence of the small core. After determining the target operating voltage voltage and the target operating frequency freq of the small core, the operating voltage of the small core can be adjusted to the target operating voltage voltage, and the operating frequency of the small core can be adjusted to the target operating frequency freq.
[0188] It can be understood that the above-mentioned various method embodiments mentioned in the present disclosure can be combined with each other to form a combined embodiment without violating the principle logic. Due to space limitations, the present disclosure will not elaborate further. Those skilled in the art can understand that in the above method of the specific implementation manner, the specific execution order of each step should be determined according to its function and possible internal logic.
[0189] In addition, the present disclosure also provides a thermal management device, an electronic device, a computer-readable storage medium, and a computer program product, all of which can be used to implement any one of the thermal management methods provided by the present disclosure. The corresponding technical solutions and technical effects can be seen in the corresponding records of the method part and will not be elaborated further.
[0190] Figure 3 The block diagram of the thermal management device provided by the embodiment of the present disclosure is shown. As Figure 3 shown, the thermal management device includes:
[0191] The first acquisition module 31 is configured to acquire the current application scenario information of the electronic device;
[0192] The matching module 32 is configured to match the current application scenario information with a preset fuzzy rule to determine a power consumption allocation weight set corresponding to the current application scenario information, where the power consumption allocation weight set includes multiple current power consumption allocation weights corresponding one by one to multiple cores of the electronic device;
[0193] The first determination module 33 is configured to, for any core of the electronic device, determine the current allowable power consumption of the core according to the current total allowable power consumption of the electronic device and the current power consumption allocation weight corresponding to the core;
[0194] The second determination module 34 is configured to determine a target operating voltage and a target operating frequency of the core according to the current allowable power consumption of the core.
[0195] In a possible implementation manner, the current application scenario information includes at least some of the following:
[0196] Multiple current utilization rates corresponding to the multiple cores;
[0197] The current temperature of the electronic device;
[0198] Multiple current power consumptions corresponding to the multiple cores;
[0199] The identification information of the application program currently running on the electronic device.
[0200] In a possible implementation manner, the device further includes:
[0201] The loading module is configured to, in response to the startup of the operating system of the electronic device, load a fuzzy rule library from an external memory of the electronic device to the memory of the electronic device, where the fuzzy rule library includes multiple preset fuzzy rules.
[0202] In a possible implementation manner, the device further includes:
[0203] The second acquisition module is configured to acquire the current temperature of the electronic device;
[0204] The third determination module is configured to determine the current total allowable power consumption according to the difference between a preset temperature and the current temperature.
[0205] In a possible implementation manner, the third determination module is configured to:
[0206] In response to the current temperature being greater than the preset temperature, determine the current total allowable power consumption according to the difference between the preset temperature and the current temperature.
[0207] In a possible implementation, the third determining module is configured to:
[0208] Input the difference between the preset temperature and the current temperature into a preset incremental proportional integral derivative controller, and output the current total allowable power consumption through the incremental proportional integral derivative controller.
[0209] In a possible implementation, the first obtaining module 31 is configured to:
[0210] Collect multiple temperatures through multiple temperature sensors arranged at multiple positions in the electronic device;
[0211] Determine the current temperature of the electronic device according to the multiple temperatures.
[0212] In a possible implementation, the first obtaining module 31 is configured to:
[0213] Determine the maximum temperature among the multiple temperatures as the current temperature of the electronic device;
[0214] Or,
[0215] Determine the average value of the multiple temperatures as the current temperature of the electronic device;
[0216] Or,
[0217] Determine the weighted sum of the multiple temperatures as the current temperature of the electronic device.
[0218] In a possible implementation, the second determining module 34 is configured to:
[0219] Determine the target operating frequency of the core according to the current allowable power consumption of the core and the current power consumption of the core;
[0220] Determine the target operating voltage of the core according to the target operating frequency of the core and the frequency-voltage correspondence relationship of the core.
[0221] In a possible implementation, the second determining module 34 is configured to:
[0222] Input the difference between the current allowable power consumption of the core and the current power consumption of the core into the proportional integral derivative controller corresponding to the core, and output the target operating frequency of the core through the proportional integral derivative controller corresponding to the core.
[0223] In a possible implementation, the electronic device includes a GPU and a CPU, and the multiple cores include GPU cores and / or CPU cores.
[0224] In a possible implementation, the electronic device is a GPU, and the multiple cores include multiple GPU cores.
[0225] In some embodiments, the functions or modules included in the apparatus provided by the embodiments of the present disclosure can be used to execute the methods described in the above method embodiments. The specific implementation and technical effects can be referred to the descriptions of the above method embodiments. For the sake of brevity, they will not be elaborated here.
[0226] The embodiments of the present disclosure also provide a computer-readable storage medium, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the above methods are implemented. Among them, the computer-readable storage medium can be a non-volatile computer-readable storage medium or a volatile computer-readable storage medium.
[0227] The embodiments of the present disclosure also propose a computer program, including computer-readable code. When the computer-readable code runs in an electronic device, the processor in the electronic device executes the above methods.
[0228] The embodiments of the present disclosure also provide a computer program product, including computer-readable code or a non-volatile computer-readable storage medium carrying the computer-readable code. When the computer-readable code runs in an electronic device, the processor in the electronic device executes the above methods.
[0229] The embodiments of the present disclosure also provide an electronic device, including: one or more processors; a memory for storing executable instructions; wherein the one or more processors are configured to call the executable instructions stored in the memory to execute the above methods.
[0230] The electronic device can be provided as a terminal, a server or other forms of devices.
[0231] Figure 4 The block diagram of the electronic device 1900 provided by the embodiments of the present disclosure is shown. For example, the electronic device 1900 can be provided as a server or a terminal device. Referring to Figure 4 , the electronic device 1900 includes a processing component 1922, which further includes one or more processors, and memory resources represented by a memory 1932 for storing instructions executable by the processing component 1922, such as application programs. The application programs stored in the memory 1932 can include one or more modules each corresponding to a set of instructions. In addition, the processing component 1922 is configured to execute instructions to execute the above methods.
[0232] The electronic device 1900 may further include a power supply component 1926 configured to perform power management of the electronic device 1900, a wired or wireless network interface 1950 configured to connect the electronic device 1900 to a network, and an input / output interface 1958 (I / O interface). The electronic device 1900 may operate based on an operating system stored in the memory 1932, such as the Microsoft server operating system (Windows Server TM ), the graphical user interface-based operating system launched by Apple Inc. (MacOS X TM ), the multi-user and multi-process computer operating system (Unix TM ), the free and open-source Unix-like operating system (Linux TM ), the open-source Unix-like operating system (FreeBSD TM ) or the like.
[0233] In an exemplary embodiment, a non-volatile computer-readable storage medium is also provided, such as the memory 1932 including computer program instructions, and the above computer program instructions can be executed by the processing component 1922 of the electronic device 1900 to complete the above method.
[0234] The present disclosure may be a system, a method, and / or a computer program product. The computer program product may include a computer-readable storage medium having thereon computer-readable program instructions for causing a processor to implement various aspects of the present disclosure.
[0235] A computer-readable storage medium may be a tangible device that can retain and store instructions for use by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disc (DVD), a memory stick, a floppy disk, a mechanically encoded device, such as a punched card or raised structures in grooves storing instructions thereon, and any suitable combination of the foregoing. The computer-readable storage medium used herein is not construed as an instantaneous signal itself, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagated through a waveguide or other transmission medium (e.g., an optical pulse through an optical fiber cable), or an electrical signal transmitted through a wire.
[0236] The computer-readable program instructions described herein can be downloaded to various computing / processing devices from a computer-readable storage medium or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may include copper transmission cables, optical fiber transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in each computing / processing device.
[0237] The computer program instructions for performing the operations of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state-setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as the "C" language or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, executed as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, by using the state information of the computer-readable program instructions to customize an electronic circuit, such as a programmable logic circuit, a field-programmable gate array (FPGA), or a programmable logic array (PLA), the electronic circuit can execute the computer-readable program instructions to implement various aspects of the present disclosure.
[0238] Aspects of the present disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0239] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that the instructions, when executed by the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in one or more boxes of the flowchart and / or block diagram. These computer-readable program instructions may also be stored in a computer-readable storage medium that causes a computer, a programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer-readable medium storing the instructions comprises a manufacture including instructions for implementing various aspects of the functions / acts specified in one or more boxes of the flowchart and / or block diagram.
[0240] The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other devices to produce a computer-implemented process such that the instructions executed on the computer, other programmable data processing apparatus, or other devices implement the functions / acts specified in one or more boxes of the flowchart and / or block diagram.
[0241] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram may represent a module, a segment of a program, or a portion of an instruction, which contains one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions noted in the boxes may occur out of the order noted in the figures. For example, two consecutive boxes may in fact be executed substantially in parallel, or they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each box in the block diagrams and / or flowcharts, and combinations of boxes in the block diagrams and / or flowcharts, can be implemented by a dedicated hardware-based system that performs the specified functions or acts, or by a combination of dedicated hardware and computer instructions.
[0242] The computer program product may be implemented specifically by hardware, software, or a combination thereof. In an alternative embodiment, the computer program product is embodied as a computer storage medium. In another alternative embodiment, the computer program product is embodied as a software product, such as a Software Development Kit (SDK), etc.
[0243] The above descriptions of the various embodiments tend to emphasize the differences between the various embodiments. Their similarities or likenesses can be referred to each other. For the sake of brevity, they will not be elaborated herein.
[0244] If the technical solution of the embodiments of the present disclosure involves personal information, before the product applying the technical solution of the embodiments of the present disclosure processes personal information, the rules for processing personal information have been clearly informed and the personal's independent consent has been obtained. If the technical solution of the embodiments of the present disclosure involves sensitive personal information, before the product applying the technical solution of the embodiments of the present disclosure processes sensitive personal information, the personal's separate consent has been obtained and the requirement of "express consent" has been satisfied at the same time. For example, at a personal information collection device such as a camera, a clear and prominent sign is set to inform that the personal information collection scope has been entered and personal information will be collected. If a person voluntarily enters the collection scope, it is regarded as consenting to the collection of their personal information; or on the device for processing personal information, when the rules for processing personal information are informed by obvious signs / information, personal authorization is obtained through pop-up information or by asking the person to upload their personal information by themselves, etc.; among them, the rules for processing personal information may include information such as the personal information processor, the purpose of processing personal information, the processing method, and the types of personal information processed.
[0245] The embodiments of the present disclosure have been described above. The above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and variations are obvious to those of ordinary skill in the art in the technical field without departing from the scope and spirit of the described embodiments. The choice of terms used herein is intended to best explain the principles of the embodiments, the practical application, or the improvement of the technology in the market, or to enable other ordinary skill in the art in the technical field to understand the disclosed embodiments.
Claims
1. A thermal management method, characterized in that: include: Obtain current application scenario information of the electronic device; Matching the current application scenario information with a preset fuzzy rule to determine a power consumption allocation weight set corresponding to the current application scenario information, wherein the power consumption allocation weight set includes multiple current power consumption allocation weights corresponding one-to-one to multiple cores of the electronic device; For any core of the electronic device, determining a current allowable power consumption of the core according to a current total allowable power consumption of the electronic device and a current power consumption allocation weight corresponding to the core; According to the current allowed power consumption of the core, a target operating voltage and a target operating frequency of the core are determined.
2. The method according to claim 1, characterized in that The current application scenario information includes at least the following: A plurality of current utilization rates corresponding to the plurality of cores; a current temperature of the electronic device; Multiple current power consumptions corresponding to the multiple cores; Identification information of the application currently running on the electronic device.
3. The method according to claim 1 or 2, characterized in that: The method further comprises: In response to the operating system of the electronic device starting up, a fuzzy rule base is loaded from an external memory of the electronic device to a memory of the electronic device, wherein the fuzzy rule base includes a plurality of preset fuzzy rules.
4. The method according to claim 1 or 2, characterized in that: Before allocating weights according to the current total allowed power consumption of the electronic device and the current power consumption corresponding to the core, the method further includes: Obtaining a current temperature of the electronic device; The current total allowed power consumption is determined according to a difference between a preset temperature and the current temperature.
5. The method according to claim 4, characterized in that The determining the current total allowable power consumption according to the difference between the preset temperature and the current temperature includes: In response to the current temperature being greater than a preset temperature, the current total allowed power consumption is determined according to a difference between the preset temperature and the current temperature.
6. The method according to claim 4, characterized in that The determining the current total allowable power consumption according to the difference between the preset temperature and the current temperature includes: The difference between the preset temperature and the current temperature is input into a preset incremental proportional-integral-differential controller, and the current total allowable power consumption is output through the incremental proportional-integral-differential controller.
7. The method according to claim 1 or 2, characterized in that: The obtaining current application scenario information of the electronic device includes: Multiple temperatures are collected by using multiple temperature sensors disposed at multiple locations in the electronic device; The current temperature of the electronic device is determined according to the multiple temperatures.
8. The method according to claim 7, characterized in that The determining the current temperature of the electronic device according to the multiple temperatures includes: Determine the maximum temperature among the multiple temperatures as the current temperature of the electronic device; or, Determine an average value of the multiple temperatures as the current temperature of the electronic device; or, The weighted sum of the multiple temperatures is determined as the current temperature of the electronic device.
9. The method according to claim 1 or 2, characterized in that: The step of determining a target operating voltage and a target operating frequency of the core according to the current allowed power consumption of the core includes: Determining a target operating frequency of the core according to a current allowed power consumption of the core and a current power consumption of the core; The target operating voltage of the core is determined according to the target operating frequency of the core and the frequency-voltage correspondence of the core.
10. The method according to claim 9, characterized in that The determining, according to the current allowed power consumption of the core and the current power consumption of the core, the target operating frequency of the core comprises: The difference between the current allowed power consumption of the core and the current power consumption of the core is input into a proportional-integral-differential controller corresponding to the core, and the target operating frequency of the core is outputted through the proportional-integral-differential controller corresponding to the core.
11. The method according to claim 1 or 2, characterized in that: The electronic device includes a GPU and a CPU, and the multiple cores include GPU cores and / or CPU cores.
12. The method according to claim 1 or 2, characterized in that: The electronic device is a GPU, and the multiple cores include multiple GPU cores.
13. A thermal management device, characterized in that: include: A first obtaining module, used to obtain current application scenario information of the electronic device; A matching module, used to match the current application scenario information with a preset fuzzy rule to determine a power consumption allocation weight set corresponding to the current application scenario information, wherein the power consumption allocation weight set includes multiple current power consumption allocation weights corresponding one-to-one to multiple cores of the electronic device; A first determining module, configured to determine, for any core of the electronic device, a current allowable power consumption of the core according to a current total allowable power consumption of the electronic device and a current power consumption allocation weight corresponding to the core; The second determination module is used to determine the target operating voltage and target operating frequency of the core according to the current allowed power consumption of the core.
14. An electronic device, characterized in that: include: one or more processors; a memory for storing executable instructions; The one or more processors are configured to call the executable instructions stored in the memory to execute the method according to any one of claims 1 to 12.
15. A computer-readable storage medium having computer program instructions stored thereon, characterized in that: When the computer program instructions are executed by a processor, the method according to any one of claims 1 to 12 is implemented.
16. A computer program product comprising computer readable code, or a non-volatile computer readable storage medium carrying computer readable code, characterized in that: When the computer readable code is executed in an electronic device, a processor in the electronic device executes the method according to any one of claims 1 to 12.