Method, graphics processor and system for dynamic adjustment of parameters of a graphics processor

By transferring performance data between the external processing unit and the graphics processor, and adjusting voltage and frequency in software, the problem of high complexity and poor flexibility in adjusting graphics processor parameters without an integrated hardware DVFS module is solved, achieving dynamic adjustment and energy consumption optimization.

CN115686854BActive Publication Date: 2026-04-21MOORE THREADS TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
MOORE THREADS TECH CO LTD
Filing Date
2022-11-04
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

In existing technologies, graphics processors cannot adjust parameters in a timely manner for different tasks or modes, resulting in poor performance or wasted energy, especially when no hardware DVFS module is integrated, the adjustment is complex and inflexible.

Method used

By transmitting performance data between the external processing unit and the graphics processor, control information is determined in software, and the voltage and frequency of the graphics processor are dynamically adjusted.

Benefits of technology

It enables dynamic adjustment of graphics processor parameters without integrating a hardware DVFS module, reducing costs and increasing flexibility and ease of adjustment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115686854B_ABST
    Figure CN115686854B_ABST
Patent Text Reader

Abstract

This application discloses a method, graphics processor, and system for dynamically adjusting the parameters of a graphics processor. The method includes: determining first performance data of the graphics processor while processing a current task; sending the first performance data to an external processing unit outside the graphics processor; receiving control information determined based on the first performance data from the external processing unit; and adjusting the parameters of the graphics processor based on the control information. Thus, dynamic adjustment of the graphics processor parameters can be achieved even without integrating a hardware DVFS module into the graphics processor chip.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of graphics processor technology, and in particular to a method for dynamically adjusting parameters of a graphics processor, a graphics processor, and a system. Background Technology

[0002] The performance requirements of a Graphics Processing Unit (GPU) may vary depending on the task being processed or the mode it operates in. Failure to adjust GPU chip parameters in a timely manner can easily affect GPU performance or result in wasted power. For example, when the GPU needs to operate at peak performance, if the operating power cannot be adjusted to the appropriate level in time, the GPU will not be able to achieve peak performance; conversely, when the GPU is operating at low performance, failure to adjust the operating power to a lower level in time will result in wasted power.

[0003] How to dynamically adjust the parameters of a graphics processor has become an urgent problem to be solved.

[0004] It should be noted that the above introduction to the technical background is only for the purpose of providing a clear and complete explanation of the technical solutions of this application and facilitating understanding by those skilled in the art. It should not be assumed that these technical solutions are known to those skilled in the art simply because they have been described in the background section of this application. Summary of the Invention

[0005] The inventors of this application have discovered that a Dynamic Voltage and Frequency Scaling (DVFS) scheme can be used to configure corresponding voltages and frequencies at different performance points of a GPU chip to achieve better energy efficiency. For example, some solutions integrate a DVFS hardware module on a System-on-Chip (SOC) to detect whether the current performance exceeds the performance corresponding to the current voltage and frequency, determine a suitable voltage and frequency in hardware, and then adjust the voltage and frequency of the device through a Power Management Integrated Circuit (PMIC). Other solutions integrate a DVFS hardware module within the SOC, and also integrate a Clock Management Unit (CMU) and a Power Management Unit (PMU), triggering the DVFS module in hardware to adjust the CMU and PMU.

[0006] The aforementioned adjustments to the voltage and frequency of the GPU chip are achieved by integrating a hardware DVFS module into the GPU chip. For GPU chips that do not integrate a hardware DVFS module, voltage and frequency adjustments cannot be made directly in hardware. Furthermore, integrating a hardware DVFS module into the GPU chip is complex and costly, inconvenient for adjustment, and lacks flexibility.

[0007] To address at least one or similar technical problems mentioned above, embodiments of this application provide a method, graphics processor, and system for dynamically adjusting parameters of a graphics processor, enabling dynamic adjustment of GPU parameters even when a hardware DVFS module is not integrated into the GPU chip.

[0008] This application provides a method for dynamically adjusting the parameters of a graphics processor. The method includes: determining first performance data of the graphics processor when processing a current task; sending the first performance data to an external processing unit other than the graphics processor; receiving control information determined based on the first performance data from the external processing unit; and adjusting the parameters of the graphics processor based on the control information.

[0009] This application embodiment also provides a graphics processor, the graphics processor comprising: a first unit that determines first performance data of the graphics processor when processing a current task and sends the first performance data to an external processing unit outside the graphics processor; and a second unit that receives control information determined based on the first performance data from the external processing unit and adjusts the parameters of the graphics processor based on the control information.

[0010] This application embodiment also provides a method for dynamically adjusting the parameters of a graphics processor, the method comprising: receiving first performance data of the graphics processor when processing a current task; determining control information based on the first performance data; and sending the control information to the graphics processor, so that the graphics processor adjusts the parameters of the graphics processor according to the control information.

[0011] This application embodiment also provides a processor for dynamically adjusting the parameters of a graphics processor, the processor comprising: a receiving unit that receives first performance data of the graphics processor when processing a current task; a processing unit that determines control information based on the first performance data; and a sending unit that sends the control information to the graphics processor, causing the graphics processor to adjust the parameters of the graphics processor according to the control information.

[0012] This application embodiment also provides a system for dynamically adjusting parameters. The system includes a graphics processor and an external processing unit. A first unit of the graphics processor determines first performance data of the graphics processor when processing a current task and sends the first performance data to the external processing unit. The external processing unit determines control information based on the first performance data and sends the control information to a second unit of the graphics processor. The second unit of the graphics processor adjusts the parameters of the graphics processor based on the control information.

[0013] This application also provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the above-described method.

[0014] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described method.

[0015] This application also provides a computer program product, which includes a computer program that, when executed by a processor, implements the above-described method.

[0016] The beneficial effect of the embodiments of this application is that: the graphics processor obtains control information for adjusting the parameters of the graphics processor from an external processing unit, and adjusts the corresponding parameters according to the control information. Thus, even without integrating a hardware DVFS module in the graphics processor chip, the parameters of the graphics processor can be dynamically adjusted.

[0017] Specific embodiments of this application are disclosed in detail with reference to the following description and accompanying drawings, indicating how the principles of this application can be adopted. It should be understood that the embodiments of this application are not limited in scope. Within the scope of the appended claims, embodiments of this application include many changes, modifications, and equivalents.

[0018] Features described and / or illustrated for one embodiment may be used in the same or similar manner in one or more other embodiments, combined with features in other embodiments, or substituted for features in other embodiments.

[0019] It should be emphasized that the term "including / comprises" as used herein refers to the presence of a feature, whole, step, or component, but does not exclude the presence or addition of one or more other features, wholes, steps, or components. Attached Figure Description

[0020] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort. In the drawings:

[0021] Figure 1 This is a schematic diagram of a method for adjusting parameters of a graphics processor according to an embodiment of the first aspect of this application;

[0022] Figure 2 This is a schematic diagram of a system for adjusting parameters according to an embodiment of the first aspect of this application;

[0023] Figure 3 This is a schematic diagram of the operation 103 of the embodiment of the first aspect of this application;

[0024] Figure 4 This is another schematic diagram of a method for adjusting parameters of a graphics processor according to an embodiment of the first aspect of this application;

[0025] Figure 5 This is another schematic diagram of a method for adjusting parameters of a graphics processor according to an embodiment of the first aspect of this application;

[0026] Figure 6 This is a schematic diagram of the operation 102 of an embodiment of the first aspect of this application;

[0027] Figure 7 This is another schematic diagram of a method for adjusting parameters of a graphics processor according to an embodiment of the first aspect of this application;

[0028] Figure 8 This is another schematic diagram of the operation 102 of the embodiment of the first aspect of this application.

[0029] Figure 9 This is another schematic diagram of a method for adjusting parameters of a graphics processor according to an embodiment of the first aspect of this application;

[0030] Figure 10 This is a schematic diagram of a system for adjusting parameters according to an embodiment of the second aspect of this application;

[0031] Figure 11 This is a schematic diagram of a method for adjusting parameters of a graphics processor according to an embodiment of the third aspect of this application;

[0032] Figure 12 This is a schematic diagram of a graphics processor according to an embodiment of the fourth aspect of this application;

[0033] Figure 13 This is a schematic diagram of a method for dynamically adjusting the parameters of a graphics processor according to an embodiment of the fifth aspect of this application;

[0034] Figure 14 This is a schematic diagram of a graphics processor according to an embodiment of the sixth aspect of this application. Detailed Implementation

[0035] Referring to the accompanying drawings, the foregoing and other features of this application will become apparent from the following description. Specific embodiments of this application are specifically disclosed in the description and drawings, illustrating partial implementations in which the principles of this application can be adopted. It should be understood that this application is not limited to the described embodiments; rather, it includes all modifications, variations, and equivalents falling within the scope of the appended claims. Various embodiments of this application are described below with reference to the accompanying drawings. These embodiments are merely exemplary and not intended to limit the scope of this application.

[0036] In the embodiments of this application, the terms "first," "second," "upper," "lower," etc., are used to distinguish different elements by their names, but do not indicate the spatial arrangement or temporal order of these elements, and these elements should not be limited by these terms. The term "and / or" includes any one or more of the terms listed in connection with the application and all combinations thereof. The terms "comprising," "including," "having," etc., refer to the presence of the stated features, elements, components, or assemblies, but do not exclude the presence or addition of one or more other features, elements, components, or assemblies.

[0037] In the embodiments of this application, the singular forms "a," "the," etc., including the plural forms, should be broadly understood as "a kind" or "a class" rather than limited to the meaning of "an." Furthermore, the term "the" should be understood to include both the singular and plural forms, unless the context explicitly indicates otherwise. Additionally, the term "according to" should be understood as "at least partially based on…," and the term "based on" should be understood as "at least partially based on…," unless the context explicitly indicates otherwise.

[0038] First aspect of the embodiments

[0039] An embodiment of the first aspect of this application provides a method for dynamically adjusting parameters of a graphics processor, the method being applied to a system for adjusting parameters, the system including a graphics processor (GPU) and an external processing unit. Figure 1 This is a schematic diagram of a method for adjusting parameters of a graphics processor according to an embodiment of the first aspect of this application. Figure 1 As shown, the method may include:

[0040] Operation 101: The first unit of the graphics processor determines the first performance data of the graphics processor when processing the current task, and sends the first performance data to an external processing unit outside the graphics processor;

[0041] Operation 102: The external processing unit determines control information based on the first performance data and sends the control information to the second unit of the graphics processor; and

[0042] Operation 103: The second unit of the graphics processor adjusts the parameters of the graphics processor according to the control information.

[0043] The graphics processor can include any processor capable of processing graphics tasks, and it can also have general computing capabilities, audio and video processing capabilities, video processing capabilities, etc. This disclosure does not limit the type and processing capabilities of the graphics processor.

[0044] According to this embodiment, the graphics processor sends performance data of processing the current task to an external processing unit and receives control information from the external processing unit for adjusting the parameters of the graphics processor based on the performance data of the graphics processor. The corresponding parameters are adjusted according to the control information. Thus, even without integrating a hardware DVFS module in the graphics processor chip, the parameters of the graphics processor can be dynamically adjusted.

[0045] Furthermore, by obtaining control information from an external processing unit, compared to integrating the DVFS module into the graphics processor chip, dynamic adjustment of the graphics processor parameters can be achieved in a simpler and more flexible manner, thereby reducing costs.

[0046] Furthermore, the method of this embodiment does not require the first unit and the second unit of the graphics processor to have the ability to communicate. That is to say, even if the first unit and the second unit of the graphics processor cannot communicate, the parameters of the graphics processor can still be dynamically adjusted by the method of this embodiment. The method of this embodiment has wide applicability.

[0047] In some embodiments, the parameters of a graphics processing unit (GPU) can be various parameters related to the performance of the GPU, such as the GPU's frequency and / or voltage.

[0048] In some embodiments, the external processing unit may be various processing units with computing capabilities other than a graphics processor. For example, it may be a central processing unit (CPU) or the like.

[0049] The following example, using a CPU as the external processing unit and frequency and voltage as parameters, illustrates the method for adjusting parameters. It is understood that the following explanation also applies when the external processing unit is another type of processing unit, or when the parameters are other types of parameters.

[0050] Figure 2 This is a schematic diagram of a system for adjusting parameters according to an embodiment of the first aspect of this application. Figure 2 As shown, in the system 100 for adjusting parameters, the first unit 11 of the GPU 10 is used to determine the first performance data of the GPU 10 when processing the current task. This first unit 11 is, for example, a scheduling unit of the GPU 10. This scheduling unit can be used for task scheduling and performance data monitoring of the GPU 10. However, this application is not limited to this; the first unit 11 can also be other components in the GPU 10 capable of acquiring the first performance data of the GPU 10.

[0051] In some embodiments, the first performance data of GPU 10 can be various data capable of representing the performance of GPU 10. For example, the first performance data can be the ratio of the time that GPU 10's core 13 is invoked to the specified time within a given period. For instance, if core 13 is invoked for 500ms within 1 second, the first performance data is 50%. Alternatively, the first performance data could also be the result of a counter related to the busy level of core 13, etc.

[0052] In some embodiments, such as Figure 2 As shown, the second unit 12 of GPU 10 is used to adjust the voltage and frequency of GPU 10. This second unit 12 is, for example, a management unit of GPU 10. This management unit can be used to manage the GPU 10's PMIC (Power Management IC) 14, clock module 15, power management module (not shown), etc. Among them, PMIC 104 and clock module 15 are used for voltage configuration and clock (frequency) adjustment of GPU 10, respectively.

[0053] In some embodiments, the first unit 11 of the GPU 10 can communicate with the CPU 20 through various communication protocols. For example, the first unit 11 can encapsulate first performance data according to the CCB communication protocol and send the encapsulated data to the CPU 20.

[0054] In some embodiments, the second unit 12 of the GPU 10 can communicate with the CPU 20 through various communication protocols. For example, the second unit 12 can receive control information from the CPU 20 according to the IPC communication protocol and parse the control information.

[0055] In some embodiments, such as Figure 2 As shown, CPU 20 is used to determine control information based on the first performance data. This function of CPU 20 can be implemented through a driver installed in CPU 20, that is, by determining the control information for dynamically adjusting the voltage and frequency of GPU 10 in software. Compared to hardware methods, determining the control information in software makes the dynamic adjustment of voltage and frequency more flexible and easier to adjust, and the implementation method is simpler, reducing implementation costs.

[0056] In some embodiments, the control information may include various information related to adjusting the voltage and frequency of the GPU 10. For example, the control information may include at least one of the following: information representing first performance data, information representing second performance data of the GPU 10 when processing the next task, and information related to target values ​​for the parameters of the GPU 10.

[0057] The following example illustrates a method for dynamically adjusting voltage and frequency, using control information including information representing first performance data.

[0058] When the control information includes information representing first performance data, in operation 102, the CPU 20 uses the received first performance data as control information and sends the control information to the second unit 12 of the GPU 10. For example, the CPU 20 parses the received information according to the CCB protocol to obtain the first performance data, encapsulates the first performance data according to the IPC protocol, and sends the encapsulated data to the second unit 12. Thus, the first unit 11 and the second unit 12 of the GPU 10 can communicate with each other through the CPU 20, and even when there is no communication connection between the first unit 11 and the second unit 12, dynamic adjustment of the voltage and frequency of the GPU 10 can be achieved.

[0059] Figure 3 This is a schematic diagram of the operation flow of operation 103 according to an embodiment of the first aspect of this application. Figure 3 As shown, when the control information includes information representing first performance data, operation 103 includes:

[0060] Operation 301: The second unit 12 predicts the second performance data of GPU 10 when processing the next task based on the first performance data in the control information; and

[0061] Operation 302: The second unit 12 adjusts the parameters of GPU 10 based on the second performance data.

[0062] In GPU 10, by predicting the second performance data of GPU 10 when processing the next task based on the first performance data in the control information, and adjusting the voltage and frequency of GPU 10 according to the predicted second performance data, the voltage and frequency of GPU 10 can be dynamically and timely adjusted so that GPU 10 processes the next task at an appropriate voltage and frequency.

[0063] In some embodiments, during operation 301, the second unit 12 can predict the second performance data in various ways. For example, a target performance data for GPU 10 can be set, and when the first performance data of GPU 10 is less than the target performance data, the second performance data can be made greater than the first performance data; when the first performance data is greater than the target performance data, the second performance data can be made less than the first performance data.

[0064] For example, if the first performance data of GPU 10 is less than the target performance data, the second performance data can be a value greater than the first performance data and less than or equal to the target performance data. For example, the second performance data can be obtained by adding a first preset value to the first performance data.

[0065] When the first performance data of GPU 10 is greater than the target performance data, the second performance data can be a value that is less than the first performance data and greater than or equal to the target performance data. For example, the second performance data can be obtained by subtracting a second preset value from the first performance data. The first and second preset values ​​can be the same or different, and they can be values ​​related to the first and target performance data.

[0066] For example, if the target performance data is 85%, and the first performance data is 25%, the second performance data can be set as the midpoint between the target performance data and the first performance data, for example, 55%.

[0067] However, this application is not limited to this; other methods can also be used to predict the second performance data. For example, a machine learning model can be trained using historical data, and the trained machine learning model can be used to predict the second performance data based on the first performance data. Alternatively, the trend of the collected first performance data and previously collected performance data can be compared, and the second performance data can be estimated based on the comparison results.

[0068] In some embodiments, during operation 302, after the second unit 12 obtains the second performance data, it can determine the target values ​​of the parameters of the GPU 10 corresponding to the second performance data in various ways. For example, the second unit 12 can determine the target values ​​of the parameters of the GPU 10 based on the second performance data and a pre-stored lookup table, and adjust the current parameters of the GPU 10 to the target values. The lookup table can be a table that includes a mapping relationship between the performance data of the GPU 10 and the target values ​​of the parameters.

[0069] In some embodiments, the lookup table can be set for the GPU 10 itself. For example, during GPU chip manufacturing, different performance data of the GPU chip can be tested to determine the appropriate voltage and frequency corresponding to that performance data. Since the characteristics of different chips may vary, even different chips of the same model may have different voltages and frequencies at the same performance point. Therefore, setting a lookup table suitable for each chip can further ensure chip performance and reduce power consumption.

[0070] In some embodiments, the lookup table can be stored in the memory 16 of the GPU 10. For example, it can be stored in the SRAM of the second unit 12 of the GPU 10. This allows the second unit 12 to retrieve the lookup table at high speed, thereby improving the speed of determining the target values ​​of voltage and frequency. Furthermore, compared to a hardware register lookup table, storing the lookup table in software allows for flexible modification of its contents, facilitating adjustments or updates. This application is not limited to this; the lookup table can also be stored in the CPU 20, or both the GPU 10 and the CPU 20 can be stored in the CPU.

[0071] In some embodiments, during operation 302, the second unit 12 can adjust the voltage and frequency of the GPU 10 at various times. For example, the second unit 12 can wait for and detect the idle state of the GPU 10's core 13. When the core 13 is idle, the second unit 12 configures the frequency of the GPU 10 through the clock module 15 and controls the PMIC 14 through the I2C / GPIO / PWM interface to configure the voltage of the GPU 10. This ensures the stability of the core 13's operation.

[0072] Figure 4 This is another schematic diagram illustrating a method for adjusting parameters of a graphics processor according to an embodiment of the first aspect of this application. Figure 4As shown, the first unit 11 of GPU 10 sends the first performance data to CPU 20. CPU 20 forwards the first performance data to the second unit 12 of GPU 10. The second unit 12 generates second performance data based on the first performance data, determines the target values ​​of voltage and frequency based on the second performance data and a pre-stored lookup table, and adjusts the voltage and frequency of GPU 10 based on the target values.

[0073] The following example illustrates a method for dynamically adjusting voltage and frequency, using control information that includes second performance data representing the GPU 10's performance when processing the next task.

[0074] When the control information includes information representing second performance data of the GPU 10 when processing the next task, in operation 102, the CPU 20 can predict the second performance data based on the received first performance data and send the second performance data as control information to the second unit 12 of the GPU 10. The method by which the CPU 20 predicts the second performance data based on the first performance data can be referenced from the method by which the second unit 12 predicts the second performance data; this part is incorporated here and will not be elaborated further.

[0075] In operation 103, after the second unit 12 receives control information containing second performance data, it can determine the target value of the parameters of GPU 10 based on the second performance data and a pre-stored lookup table, and adjust the current parameters of GPU 10 to the target value. The method by which the second unit 12 determines the target value of the parameters and adjusts the parameters according to the target value can be referred to the method described in operation 302, and this part is incorporated here without further elaboration.

[0076] Figure 5 This is another schematic diagram illustrating a method for adjusting parameters of a graphics processor according to an embodiment of the first aspect of this application. Figure 5 As shown, the first unit 11 of GPU 10 sends the first performance data to CPU 20. CPU 20 predicts and generates the second performance data based on the first performance data, and sends the second performance data as control information to the second unit 12 of GPU 10. The second unit 12 determines the target values ​​of voltage and frequency based on the second performance data and a pre-stored lookup table, and adjusts the voltage and frequency of GPU 10 according to the target values.

[0077] The following example illustrates a method for dynamically adjusting voltage and frequency, using control information that includes target values ​​related to the parameters of the GPU 10.

[0078] In some embodiments, the information related to the target value of the parameters of GPU 10 may include at least one of the following: an index in a pre-stored lookup table of the target value of the parameter corresponding to the second performance data, and the target value of the parameter corresponding to the second performance data in the lookup table. By including the index of the target value in the control information, the amount of data in the control information can be reduced, thereby reducing the communication burden between CPU 20 and the second unit 12 of GPU 10; by including the target value in the control information, the target value of the parameter can be directly notified to the second unit 12 of GPU 10, so that GPU 10 can directly adjust the parameters according to the target value, and the lookup table does not need to be stored in GPU 10.

[0079] Figure 6 This is a schematic diagram of the operation 102 of an embodiment of the first aspect of this application. Figure 6 As shown, when the information related to the target value of the parameters of GPU 10 includes the index of the target value, operation 102 includes:

[0080] Operation 601: Predict the second performance data of GPU 10 when processing the next task based on the first performance data;

[0081] Operation 602: Determine the index based on the second performance data and the pre-stored lookup table, and include the index in the control information; and

[0082] Operation 603: Send the control information to the second unit 12 of GPU 10.

[0083] In some embodiments, where the information related to the target value of the parameters of GPU 10 includes an index of the target value, operation 103 includes: determining the target value of the parameters of GPU 10 based on the index in the control information and a pre-stored lookup table, and adjusting the current parameters of GPU 10 to the target value.

[0084] Figure 7 This is another schematic diagram illustrating a method for adjusting parameters of a graphics processor according to an embodiment of the first aspect of this application. Figure 7 As shown, the first unit 11 of GPU 10 sends the first performance data to CPU 20. CPU 20 predicts the second performance data based on the first performance data, determines the index based on the second performance data and a pre-stored lookup table, and sends control information containing the index to the second unit 12 of GPU 10. The second unit 12 determines the target values ​​of voltage and frequency based on the index in the control information and the pre-stored lookup table, and adjusts the voltage and frequency of GPU 10 according to the target values.

[0085] Figure 8This is another schematic diagram illustrating the flow of operation 102, which is an embodiment of the first aspect of this application. For example... Figure 8 As shown, when the information related to the target value of the parameters of GPU 10 includes the target value, operation 102 includes:

[0086] Operation 801: Predict the second performance data of GPU 10 when processing the next task based on the first performance data;

[0087] Operation 802: Determine the target value based on the second performance data and a pre-stored lookup table, and include the target value in the control information; and

[0088] Operation 803: Send the control information to the second unit 12 of GPU 10.

[0089] In some embodiments, where the information related to the target value of the parameters of GPU 10 includes the target value, operation 103 includes: determining the target value of the parameters of GPU 10 based on control information, and adjusting the current parameters of GPU 10 to the target value.

[0090] Figure 9 This is another schematic diagram illustrating a method for adjusting parameters of a graphics processor according to an embodiment of the first aspect of this application. Figure 9 As shown, the first unit 11 of GPU 10 sends the first performance data to CPU 20. CPU 20 predicts the second performance data based on the first performance data, determines the target values ​​of voltage and frequency based on the second performance data and a pre-stored lookup table, and sends control information containing the target values ​​of voltage and frequency to the second unit 12 of GPU 10. The second unit 12 adjusts the voltage and frequency of GPU 10 according to the target values ​​of voltage and frequency in the control information.

[0091] It is worth noting that the above appendix Figure 1 , Figures 3 to 9 The embodiments described herein are merely illustrative and are not limited thereto. For example, the execution order of various operations can be appropriately adjusted, and additional operations can be added or some operations can be removed. Those skilled in the art can make appropriate modifications based on the above description, and are not limited to the above-described embodiments. Figure 1 , Figures 3 to 9 The records.

[0092] According to this embodiment, the graphics processor sends performance data of processing the current task to an external processing unit and receives control information from the external processing unit for adjusting the parameters of the graphics processor based on the performance data of the graphics processor. The corresponding parameters are adjusted according to the control information. Thus, even without integrating a hardware DVFS module in the graphics processor chip, the parameters of the graphics processor can be dynamically adjusted.

[0093] Furthermore, by obtaining control information from an external processing unit, compared to integrating the DVFS module into the graphics processor chip, dynamic adjustment of the graphics processor parameters can be achieved in a simpler and more flexible manner, thereby reducing costs.

[0094] Furthermore, the method of this embodiment does not require the first unit and the second unit of the graphics processor to have the ability to communicate. That is to say, even if the first unit and the second unit of the graphics processor cannot communicate, the parameters of the graphics processor can still be dynamically adjusted by the method of this embodiment. The method of this embodiment has wide applicability.

[0095] Second aspect of the embodiments

[0096] The second aspect of the embodiment provides a system for dynamically adjusting parameters. This system for dynamically adjusting parameters corresponds to the method for dynamically adjusting parameters of a graphics processor in the first aspect of the embodiment, and the same content is incorporated herein by reference and will not be described again here.

[0097] Figure 10 This is a schematic diagram of a system for dynamically adjusting parameters according to an embodiment of the second aspect of this application. Figure 10 As shown, the system 1000 for dynamically adjusting parameters includes a graphics processor 1001 and an external processing unit 1002. Specifically, a first unit 1001-1 of the graphics processor 1001 determines first performance data of the graphics processor 1001 when processing the current task and sends the first performance data to the external processing unit 1002; the external processing unit 1002 determines control information based on the first performance data and sends the control information to a second unit 1001-2 of the graphics processor 1001; the second unit 1001-2 of the graphics processor 1001 adjusts the parameters of the graphics processor 1001 according to the control information.

[0098] The graphics processor 1001 corresponds to the image processor of the first aspect embodiment, and the external processing unit 1002 corresponds to the external processing unit of the first aspect embodiment.

[0099] In some embodiments, the control information includes at least one of the following: information representing first performance data, information representing second performance data of the graphics processor 1001 when processing the next task, and information related to target values ​​of parameters of the graphics processor 1001.

[0100] In some embodiments, where the control information includes information representing first performance data, the second unit 1001-2 predicts second performance data of the graphics processor 1001 when processing the next task based on the first performance data in the control information, and adjusts the parameters of the graphics processor 1001 based on the second performance data.

[0101] In some embodiments, the second unit 1001-2 determines the target value of the parameters of the graphics processor 1001 based on the second performance data and a pre-stored lookup table, and adjusts the current parameters of the graphics processor 1001 to the target value.

[0102] In some embodiments, when the control information includes information representing second performance data of the graphics processor 1001 when processing the next task, the second unit 1001-2 determines the target value of the parameters of the graphics processor 1001 based on the second performance data in the control information and a pre-stored lookup table, and adjusts the current parameters of the graphics processor 1001 to the target value.

[0103] In some embodiments, the lookup table may be a table set for the graphics processor 1001 itself, which includes target values ​​of parameters corresponding to the performance data of the graphics processor 1001.

[0104] In some embodiments, the lookup table may be stored in the memory of the graphics processor 1001.

[0105] In some embodiments, the information related to the target value of the parameters of the graphics processor 1001 includes at least one of the following: an index of the target value of the parameter corresponding to the second performance data in a pre-stored lookup table, and the target value of the parameter corresponding to the second performance data in the lookup table.

[0106] In some embodiments, when the information related to the target value of the parameters of the graphics processor 1001 includes an index, the central processing unit 1002 predicts the second performance data of the graphics processor 1010 when processing the next task based on the first performance data, and determines the index based on the second performance data and a pre-stored lookup table, and includes the index in the control information.

[0107] In some embodiments, when the control information includes information related to the target value of the parameters of the graphics processor 1001, and the information related to the target value of the parameters of the graphics processor 1001 includes an index, the second unit 1001-2 determines the target value of the parameters of the graphics processor 1001 according to the index in the control information and a pre-stored lookup table, and adjusts the current parameters of the graphics processor 1001 to the target value.

[0108] In some embodiments, when the information related to the target value of the parameters of the graphics processor 1001 includes an index, the second unit 1001-2 of the graphics processor 1001 determines the target value of the parameters of the graphics processor 1001 according to the index and a pre-stored lookup table, and adjusts the current parameters of the graphics processor 1001 to the target value.

[0109] In some embodiments, when the information related to the target value of the parameters of the graphics processor 1001 includes the target value, the central processing unit 1002 predicts the second performance data of the graphics processor 1001 when processing the next task based on the first performance data, determines the target value of the parameters of the graphics processor 1001 based on the second performance data and the pre-stored lookup, and includes the target value in the control information.

[0110] In some embodiments, when the control information includes information related to the target value of the parameters of the graphics processor 1001, and the information related to the target value of the parameters of the graphics processor 1001 includes the target value, the second unit 1001-2 determines the target value of the parameters of the graphics processor 1001 according to the control information and adjusts the current parameters of the graphics processor 1001 to the target value.

[0111] In some embodiments, the first performance data is the ratio of the time the graphics processor is invoked to the specified time within a specified period.

[0112] It is worth noting that the above description only covers the components or modules relevant to this application, but this application is not limited thereto. The system 1000 for dynamically adjusting parameters may also include other components or modules; for details regarding these components or modules, please refer to related technologies. Furthermore, for simplicity, Figure 10 The diagram only illustrates the connection relationships or signal flow between various components or modules, but those skilled in the art should understand that various related technologies such as bus connections can be used.

[0113] According to the above embodiments, the graphics processor sends performance data of processing the current task to an external processing unit and receives control information from the external processing unit for adjusting the parameters of the graphics processor based on the performance data of the graphics processor. The corresponding parameters are adjusted according to the control information. Thus, even without integrating a hardware DVFS module in the graphics processor chip, the parameters of the graphics processor can be dynamically adjusted.

[0114] Furthermore, by obtaining control information from an external processing unit, compared to integrating the DVFS module into the graphics processor chip, dynamic adjustment of the graphics processor parameters can be achieved in a simpler and more flexible manner, thereby reducing costs.

[0115] Furthermore, this embodiment does not require the first unit and the second unit of the graphics processor to have the ability to communicate. That is to say, even if the first unit and the second unit of the graphics processor cannot communicate, the parameters of the graphics processor can still be dynamically adjusted through this embodiment. This embodiment has wide applicability.

[0116] Third aspect of the embodiments

[0117] A third aspect of the embodiment provides a method for dynamically adjusting parameters of a graphics processor, the method being applied to a graphics processor. Figure 11 This is a schematic diagram of a method for adjusting parameters of a graphics processor according to an embodiment of the third aspect of this application. Figure 11 As shown, the method may include:

[0118] Operation 1101: Determine the first performance data of the graphics processor when processing the current task, and send the first performance data to an external processing unit outside the graphics processor;

[0119] Operation 1102: Receive control information determined based on the first performance data from the external processing unit; and

[0120] Operation 1103: Adjust the parameters of the graphics processor according to the control information.

[0121] In some embodiments, in a graphics processor, operation 1101 can be executed by a first unit and operation 1103 can be executed by a second unit. The first unit and the second unit can be different units and may not have the ability to communicate directly with each other; for example, the first unit and the second unit may not be able to communicate data via a bus. However, this application is not limited to this; the first unit and the second unit may also have the ability to communicate directly.

[0122] In some embodiments, the control information includes at least one of the following: information representing first performance data, information representing second performance data of the graphics processor when processing the next task, and information related to target values ​​of the graphics processor's parameters.

[0123] In some embodiments, when the control information includes information representing first performance data, operation 1103 adjusts the parameters of the graphics processor according to the control information, including:

[0124] Predict the graphics processor's second performance data when processing the next task based on the first performance data in the control information; and

[0125] Adjust the graphics processor parameters based on the second performance data.

[0126] In some embodiments, adjusting the parameters of the graphics processor based on the second performance data includes:

[0127] The target values ​​of the graphics processor parameters are determined based on the second performance data and a pre-stored lookup table, and the current parameters of the graphics processor are adjusted to the target values.

[0128] In some embodiments, where the control information includes information representing second performance data of the graphics processor while processing the next task, operation 1103 includes:

[0129] Based on the second performance data in the control information and the pre-stored lookup table, the target values ​​of the graphics processor parameters are determined, and the current parameters of the graphics processor are adjusted to the target values.

[0130] In some embodiments, the lookup table is a table set for the graphics processor itself, which includes target values ​​of parameters corresponding to the performance data of the graphics processor.

[0131] In some embodiments, the information related to the target value of the graphics processor parameters includes at least one of the following:

[0132] The index of the target value of the parameter corresponding to the second performance data in the pre-stored lookup table, and the target value of the parameter corresponding to the second performance data in the lookup table.

[0133] In some embodiments, when the information related to the target value of the graphics processor parameters includes the index, the control information is determined in the following manner:

[0134] Predict the graphics processor's second performance data when handling the next task based on the first performance data, and

[0135] The index is determined based on the second performance data and the pre-stored lookup table, and the index is included in the control information.

[0136] In some embodiments, where the control information includes information related to target values ​​of graphics processor parameters, and the information related to target values ​​of graphics processor parameters includes an index, operation 1103 includes:

[0137] The target values ​​of the graphics processor parameters are determined based on the index in the control information and the pre-stored lookup table, and the current parameters of the graphics processor are adjusted to the target values.

[0138] In some embodiments, when the information related to the target value of the graphics processor's parameters includes the target value, the control information is determined in the following manner:

[0139] Predict the graphics processor's second performance data when handling the next task based on the first performance data; and

[0140] Based on the second performance data and pre-stored lookups, target values ​​for the graphics processor parameters are determined and included in the control information.

[0141] In some embodiments, where the control information includes information related to target values ​​of graphics processor parameters, and the information related to target values ​​of graphics processor parameters includes target values, operation 1103 includes:

[0142] The target values ​​of the graphics processor parameters are determined based on the control information, and the current parameters of the graphics processor are adjusted to the target values.

[0143] In some embodiments, the first performance data is the ratio of the time the graphics processor is invoked to the specified time within a specified period.

[0144] According to the above embodiments, the graphics processor sends performance data of processing the current task to an external processing unit and receives control information from the external processing unit for adjusting the parameters of the graphics processor based on the performance data of the graphics processor. The corresponding parameters are adjusted according to the control information. Thus, even without integrating a hardware DVFS module in the graphics processor chip, the parameters of the graphics processor can be dynamically adjusted.

[0145] Furthermore, by obtaining control information from an external processing unit, compared to integrating the DVFS module into the graphics processor chip, dynamic adjustment of the graphics processor parameters can be achieved in a simpler and more flexible manner, thereby reducing costs.

[0146] Furthermore, the method of this embodiment does not require the first unit and the second unit of the graphics processor to have the ability to communicate. That is to say, even if the first unit and the second unit of the graphics processor cannot communicate, the parameters of the graphics processor can still be dynamically adjusted by the method of this embodiment. The method of this embodiment has wide applicability.

[0147] Fourth aspect of the embodiment

[0148] The fourth aspect of the embodiment provides a graphics processor. This graphics processor corresponds to the method for dynamically adjusting parameters of the graphics processor in the third aspect of the embodiment, and the same content is incorporated herein by reference and will not be described again here.

[0149] Figure 12 This is a schematic diagram of a graphics processor according to an embodiment of the fourth aspect of this application. Figure 12 As shown, the graphics processor 1200 includes a first unit 1201 and a second unit 1202.

[0150] The first unit 1201 determines the first performance data of the graphics processor 1200 when processing the current task, and sends the first performance data to an external processing unit outside the graphics processor 1200.

[0151] The second unit 1202 receives control information determined based on the first performance data from the external processing unit, and adjusts the parameters of the graphics processor 1200 according to the control information.

[0152] In some embodiments, information can be transmitted between the first unit 1201 and the second unit 1202. For example, the first unit 1201 and the second unit 1202 can transmit information directly through a bus or the like. Alternatively, they may not have the ability to transmit information. For example, the first unit 1201 and the second unit 1202 may not be able to transmit information directly through a bus or the like.

[0153] In some embodiments, the control information includes at least one of the following: information representing first performance data, information representing second performance data of the graphics processor 1200 when processing the next task, and information related to target values ​​of parameters of the graphics processor 1200.

[0154] In some embodiments, when the control information includes information representing first performance data, the second unit 1202 predicts second performance data of the graphics processor 1200 when processing the next task based on the first performance data in the control information; and adjusts the parameters of the graphics processor 1200 based on the second performance data.

[0155] In some embodiments, the second unit 1202 determines the target value of the parameters of the graphics processor 1200 based on the second performance data and a pre-stored lookup table, and adjusts the current parameters of the graphics processor 1200 to the target value.

[0156] In some embodiments, when the control information includes information representing second performance data of the graphics processor when processing the next task, the second unit 1202 determines the target value of the graphics processor's parameters based on the second performance data in the control information and a pre-stored lookup table, and adjusts the current parameters of the graphics processor to the target value.

[0157] In some embodiments, the lookup table is a table set for the graphics processor 1200 itself, which includes target values ​​of parameters corresponding to the performance data of the graphics processor 1200.

[0158] In some embodiments, the information related to the target value of the parameters of the graphics processor 1200 includes at least one of the following: an index of the target value of the parameter corresponding to the second performance data in a pre-stored lookup table, and the target value of the parameter corresponding to the second performance data in the lookup table.

[0159] In some embodiments, when the information related to the target value of the parameters of the graphics processor 1200 includes the index, the control information is determined in such a way as to predict the second performance data of the graphics processor 1200 when processing the next task based on the first performance data, and to determine the index based on the second performance data and a pre-stored lookup table, and to include the index in the control information.

[0160] In some embodiments, when the control information includes information related to the target value of the graphics processor's parameters and the information related to the target value of the graphics processor's parameters includes an index, the second unit 1202 determines the target value of the graphics processor's parameters based on the index in the control information and a pre-stored lookup table, and adjusts the current parameters of the graphics processor to the target value.

[0161] In some embodiments, when the information related to the target value of the parameters of the graphics processor 1200 includes the target value, the control information is determined in such a way as follows: predicting the second performance data of the graphics processor 1200 when processing the next task based on the first performance data; and determining the target value of the parameters of the graphics processor 1200 based on the second performance data and a pre-stored lookup, and including the target value in the control information.

[0162] In some embodiments, when the control information includes information related to the target value of the graphics processor's parameters, and the information related to the target value of the graphics processor's parameters includes the target value, the second unit 1202 determines the target value of the graphics processor's parameters based on the control information and adjusts the current parameters of the graphics processor to the target value.

[0163] In some embodiments, the first performance data is the ratio of the time the graphics processor 1200 is invoked within a specified time to the specified time.

[0164] According to the above embodiments, the graphics processor sends performance data of processing the current task to an external processing unit and receives control information from the external processing unit for adjusting the parameters of the graphics processor based on the performance data of the graphics processor. The corresponding parameters are adjusted according to the control information. Thus, even without integrating a hardware DVFS module in the graphics processor chip, the parameters of the graphics processor can be dynamically adjusted.

[0165] Furthermore, by obtaining control information from an external processing unit, compared to integrating the DVFS module into the graphics processor chip, dynamic adjustment of the graphics processor parameters can be achieved in a simpler and more flexible manner, thereby reducing costs.

[0166] Furthermore, this embodiment does not require the first unit and the second unit of the graphics processor to have the ability to communicate. That is to say, even if the first unit and the second unit of the graphics processor cannot communicate, the parameters of the graphics processor can still be dynamically adjusted through this embodiment. This embodiment has wide applicability.

[0167] Fifth aspect of the embodiment

[0168] A fifth aspect embodiment provides a method for dynamically adjusting the parameters of a graphics processor, the method being applied to a processor other than the graphics processor (an external processor). Figure 13 This is a schematic diagram of a method for dynamically adjusting the parameters of a graphics processor according to an embodiment of the fifth aspect of this application. Figure 13 As shown, the method may include:

[0169] Operation 1301: Receive first performance data from the graphics processor while it is processing the current task;

[0170] Operation 1302: Determine control information based on the first performance data; and

[0171] Operation 1303: Send control information to the graphics processor so that the graphics processor adjusts its parameters according to the control information.

[0172] In some embodiments, the control information includes at least one of the following: information representing first performance data, information representing second performance data of the graphics processor when processing the next task, and information related to target values ​​of the graphics processor's parameters.

[0173] In some embodiments, where the control information includes information representing second performance data of the graphics processor while processing the next task, operation 1302 includes:

[0174] Based on the first performance data in the control information, predict the second performance data of the graphics processor when processing the next task, and include the second performance data in the control information.

[0175] In some embodiments, the information related to the target value of the graphics processor's parameters includes at least one of the following: an index in a pre-stored lookup table of the target value of the parameter corresponding to the second performance data, and the target value of the parameter corresponding to the second performance data in the lookup table.

[0176] In some embodiments, when the control information includes information related to target values ​​of graphics processor parameters, and the information related to target values ​​of graphics processor parameters includes an index, operation 1302 includes:

[0177] Based on the first performance data, predict the second performance data of the graphics processor when processing the next task, and

[0178] The index is determined based on the second performance data and the pre-stored lookup table, and the index is included in the control information.

[0179] In some embodiments, when the control information includes information related to target values ​​of graphics processor parameters, and the information related to target values ​​of graphics processor parameters includes target values, operation 1302 includes:

[0180] Predict the graphics processor's second performance data when handling the next task based on the first performance data; and

[0181] The target value is determined based on the second performance data and the pre-stored lookup, and the target value is included in the control information.

[0182] According to the above embodiments, the graphics processor sends performance data of processing the current task to an external processing unit and receives control information from the external processing unit for adjusting the parameters of the graphics processor based on the performance data of the graphics processor. The corresponding parameters are adjusted according to the control information. Thus, even without integrating a hardware DVFS module in the graphics processor chip, the parameters of the graphics processor can be dynamically adjusted.

[0183] Furthermore, by obtaining control information from an external processing unit, compared to integrating the DVFS module into the graphics processor chip, dynamic adjustment of the graphics processor parameters can be achieved in a simpler and more flexible manner, thereby reducing costs.

[0184] Furthermore, the method of this embodiment does not require the first unit of the graphics processor to acquire the first performance data and the second unit to adjust the parameters to have the ability to communicate. That is to say, even if the first unit and the second unit of the graphics processor cannot communicate, the parameters of the graphics processor can still be dynamically adjusted by the method of this embodiment. The method of this embodiment has wide applicability.

[0185] Implementation of the sixth aspect

[0186] A sixth aspect embodiment provides a processor for dynamically adjusting the parameters of a graphics processor. This processor corresponds to the method for dynamically adjusting the parameters of a graphics processor according to the fifth aspect embodiment, and the same content is incorporated herein by reference and will not be described again here.

[0187] Figure 14 This is a schematic diagram of a processor according to an embodiment of the sixth aspect of this application. Figure 14 As shown, the processor 1400 includes a receiving unit 1401, a processing unit 1402, and a sending unit 1403. The receiving unit 1401 receives first performance data of the graphics processor when processing the current task; the processing unit 1402 determines control information based on the first performance data; and the sending unit 1403 sends the control information to the graphics processor, causing the graphics processor to adjust its parameters according to the control information.

[0188] In some embodiments, the control information includes at least one of the following: information representing first performance data, information representing second performance data of the graphics processor when processing the next task, and information related to target values ​​of the graphics processor's parameters.

[0189] In some embodiments, where the control information includes information representing second performance data of the graphics processor when processing the next task, the processing unit 1402 predicts the second performance data of the graphics processor when processing the next task based on the first performance data in the control information, and includes the second performance data in the control information.

[0190] In some embodiments, the information related to the target value of the graphics processor's parameters includes at least one of the following: an index in a pre-stored lookup table of the target value of the parameter corresponding to the second performance data, and the target value of the parameter corresponding to the second performance data in the lookup table.

[0191] In some embodiments, when the control information includes information related to the target value of the graphics processor's parameters and the information related to the target value of the graphics processor's parameters includes an index, the processing unit 1402 predicts the second performance data of the graphics processor when processing the next task based on the first performance data, determines the index based on the second performance data and a pre-stored lookup table, and includes the index in the control information.

[0192] In some embodiments, when the control information includes information related to the target value of the graphics processor's parameters, and the information related to the target value of the graphics processor's parameters includes the target value, the processing unit 1402 predicts the second performance data of the graphics processor when processing the next task based on the first performance data; determines the target value based on the second performance data and the pre-stored lookup, and includes the target value in the control information.

[0193] According to the above embodiments, the graphics processor sends performance data of processing the current task to an external processing unit and receives control information from the external processing unit for adjusting the parameters of the graphics processor based on the performance data of the graphics processor. The corresponding parameters are adjusted according to the control information. Thus, even without integrating a hardware DVFS module in the graphics processor chip, the parameters of the graphics processor can be dynamically adjusted.

[0194] Furthermore, by obtaining control information from an external processing unit, compared to integrating the DVFS module into the graphics processor chip, dynamic adjustment of the graphics processor parameters can be achieved in a simpler and more flexible manner, thereby reducing costs.

[0195] Furthermore, this embodiment does not require the first unit of the graphics processor to acquire the first performance data and the second unit to adjust the parameters to have the ability to communicate. In other words, even if the first unit and the second unit of the graphics processor cannot communicate, the parameters of the graphics processor can still be dynamically adjusted through this embodiment. This embodiment has wide applicability.

[0196] Embodiments of this application also provide a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement any one of the methods in the embodiments of the first, third, and fifth aspects.

[0197] Embodiments of this application also provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements any one of the methods in the embodiments of the first, third, and fifth aspects.

[0198] Embodiments of this application also provide a computer program product, the computer program product including a computer program, which, when executed by a processor, implements any one of the methods in the embodiments of the first, third, and fifth aspects.

[0199] The acquisition, storage, use, and processing of data in the various embodiments of this application all comply with the relevant provisions of national laws and regulations.

[0200] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a fully hardware embodiment, a fully software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0201] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will 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 program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0202] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0203] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0204] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of this application. It should be understood that the above descriptions are merely specific embodiments of this application and are not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.

Claims

1. A method for dynamically adjusting parameters of a graphics processor, characterized in that, The method includes: Determine first performance data of the graphics processor when processing the current task, and send the first performance data to an external processing unit other than the graphics processor, wherein the first performance data is the ratio of the time the graphics processor is invoked to the specified time within a specified time. Receive from the external processing unit control information for adjusting the parameters of the graphics processor, determined by software based on the first performance data; and The parameters of the graphics processor are adjusted according to the control information, wherein the parameters include the voltage and frequency of the graphics processor. The parameters of the graphics processor are adjusted based on second performance data when the graphics processor processes the next task. The second performance data is predicted based on the first performance data. When the first performance data is less than the target performance data, the second performance data is greater than the first performance data and less than or equal to the target performance data; when the first performance data is greater than the target performance data, the second performance data is less than the first performance data and greater than or equal to the target performance data.

2. The method according to claim 1, characterized in that, The control information includes at least one of the following: Information representing the first performance data, information representing the second performance data of the graphics processor when processing the next task, and information related to the target values ​​of the parameters of the graphics processor.

3. The method according to claim 1, characterized in that, When the control information includes information representing the first performance data, adjusting the parameters of the graphics processor according to the control information includes: Predict the second performance data of the graphics processor when processing the next task based on the first performance data in the control information; and The parameters of the graphics processor are adjusted based on the second performance data.

4. The method according to claim 3, characterized in that, Adjusting the parameters of the graphics processor based on the second performance data includes: Based on the second performance data and a pre-stored lookup table, the target value of the graphics processor's parameters is determined, and the current parameters of the graphics processor are adjusted to the target value.

5. The method according to claim 2, characterized in that, When the control information includes information representing second performance data of the graphics processor when processing the next task, adjusting the parameters of the graphics processor according to the control information includes: The target value of the graphics processor's parameters is determined based on the second performance data in the control information and a pre-stored lookup table, and the current parameters of the graphics processor are adjusted to the target value.

6. The method according to claim 4 or 5, characterized in that, The lookup table is a table set for the graphics processor itself, which includes target values ​​of parameters corresponding to the performance data of the graphics processor.

7. The method according to claim 2, characterized in that, Information related to the target values ​​of the graphics processor parameters includes at least one of the following: The index of the target value of the parameter corresponding to the second performance data in the pre-stored lookup table, and the target value of the parameter corresponding to the second performance data in the lookup table.

8. The method according to claim 7, characterized in that, When the information related to the target value of the graphics processor's parameters includes the index, the control information is determined in the following manner: Based on the first performance data, predict the second performance data of the graphics processor when processing the next task, and The index is determined based on the second performance data and a pre-stored lookup table, and the index is included in the control information.

9. The method according to claim 7, characterized in that, When the control information includes information related to target values ​​of the graphics processor parameters, and the information related to target values ​​of the graphics processor parameters includes the index, adjusting the graphics processor parameters according to the control information includes: The target value of the graphics processor's parameters is determined based on the index in the control information and a pre-stored lookup table, and the current parameters of the graphics processor are adjusted to the target value.

10. The method according to claim 7, characterized in that, When the information related to the target value of the parameters of the graphics processor includes the target value, the control information is determined in the following manner: Predict second performance data of the graphics processor when processing the next task based on the first performance data; and Based on the second performance data and pre-stored lookups, the target values ​​of the graphics processor parameters are determined, and the target values ​​are included in the control information.

11. The method according to claim 7, characterized in that, When the control information includes information related to target values ​​of the graphics processor parameters, and the information related to target values ​​of the graphics processor parameters includes the target values, adjusting the graphics processor parameters according to the control information includes: The target value of the graphics processor's parameters is determined based on the control information, and the current parameters of the graphics processor are adjusted to the target value.

12. A graphics processor, characterized in that, The graphics processor includes: The first unit determines first performance data of the graphics processor while processing the current task, and sends the first performance data to an external processing unit other than the graphics processor, wherein the first performance data is the ratio of the time the graphics processor is invoked within a specified time to the specified time; and The second unit receives control information from the external processing unit, which is determined by software based on the first performance data, for adjusting the parameters of the graphics processor. The second unit adjusts the parameters of the graphics processor according to the control information, wherein the parameters include the voltage and frequency of the graphics processor. The parameters of the graphics processor are adjusted based on second performance data when the graphics processor processes the next task. The second performance data is predicted based on the first performance data. When the first performance data is less than the target performance data, the second performance data is greater than the first performance data and less than or equal to the target performance data; when the first performance data is greater than the target performance data, the second performance data is less than the first performance data and greater than or equal to the target performance data.

13. The graphics processor according to claim 12, characterized in that, The control information includes at least one of the following: Information representing the first performance data, information representing the second performance data of the graphics processor when processing the next task, and information related to the target values ​​of the parameters of the graphics processor.

14. The graphics processor according to claim 13, characterized in that, Information related to the target values ​​of the graphics processor parameters includes at least one of the following: The index of the target value of the parameter corresponding to the second performance data in the pre-stored lookup table, and the target value of the parameter corresponding to the second performance data in the lookup table.

15. A method for dynamically adjusting the parameters of a graphics processor, characterized in that, The method includes: Receive first performance data from the graphics processor when it is processing the current task, wherein the first performance data is the ratio of the time the graphics processor is invoked within a specified time to the specified time. Based on the first performance data, control information for adjusting the parameters of the graphics processor is determined via software; and The control information is sent to the graphics processor, causing the graphics processor to adjust its parameters according to the control information. These parameters include the graphics processor's voltage and frequency. The parameters of the graphics processor are adjusted based on second performance data when the graphics processor processes the next task. The second performance data is predicted based on the first performance data. When the first performance data is less than the target performance data, the second performance data is greater than the first performance data and less than or equal to the target performance data; when the first performance data is greater than the target performance data, the second performance data is less than the first performance data and greater than or equal to the target performance data.

16. The method according to claim 15, characterized in that, The control information includes at least one of the following: Information representing the first performance data, information representing the second performance data of the graphics processor when processing the next task, and information related to the target values ​​of the parameters of the graphics processor.

17. The method according to claim 16, characterized in that, When the control information includes information representing second performance data of the graphics processor when processing the next task, determining the control information based on the first performance data includes: Based on the first performance data in the control information, predict the second performance data of the graphics processor when processing the next task, and include the second performance data in the control information.

18. The method according to claim 16, characterized in that, Information related to the target values ​​of the graphics processor parameters includes at least one of the following: The index of the target value of the parameter corresponding to the second performance data in the pre-stored lookup table, and the target value of the parameter corresponding to the second performance data in the lookup table.

19. The method according to claim 18, characterized in that, When the control information includes information related to the target value of the graphics processor's parameters, and the information related to the target value of the graphics processor's parameters includes the index, determining the control information based on the first performance data includes: Based on the first performance data, predict the second performance data of the graphics processor when processing the next task, and The index is determined based on the second performance data and a pre-stored lookup table, and the index is included in the control information.

20. The method according to claim 18, characterized in that, When the control information includes information related to the target value of the graphics processor's parameters, and the information related to the target value of the graphics processor's parameters includes the target value, determining the control information based on the first performance data includes: Predict second performance data of the graphics processor when processing the next task based on the first performance data; and The target value is determined based on the second performance data and the pre-stored lookup, and the target value is included in the control information.

21. A processor for dynamically adjusting the parameters of a graphics processor, characterized in that, The processor includes: A receiving unit receives first performance data from the graphics processor when the graphics processor is processing the current task, wherein the first performance data is the ratio of the time the graphics processor is invoked within a specified time to the specified time. The processing unit determines, via software, control information for adjusting the parameters of the graphics processor based on the first performance data; and A transmitting unit sends the control information to the graphics processor, causing the graphics processor to adjust its parameters according to the control information. These parameters include the graphics processor's voltage and frequency. The parameters of the graphics processor are adjusted based on second performance data when the graphics processor processes the next task. The second performance data is predicted based on the first performance data. When the first performance data is less than the target performance data, the second performance data is greater than the first performance data and less than or equal to the target performance data; when the first performance data is greater than the target performance data, the second performance data is less than the first performance data and greater than or equal to the target performance data.

22. The processor according to claim 21, characterized in that, The control information includes at least one of the following: Information representing the first performance data, information representing the second performance data of the graphics processor when processing the next task, and information related to the target values ​​of the parameters of the graphics processor.

23. The processor according to claim 22, characterized in that, Information related to the target values ​​of the graphics processor parameters includes at least one of the following: The index of the target value of the parameter corresponding to the second performance data in the pre-stored lookup table, and the target value of the parameter corresponding to the second performance data in the lookup table.

24. A system for dynamically adjusting parameters, characterized in that, The system includes: a graphics processor and an external processing unit, wherein... The first unit of the graphics processor determines first performance data of the graphics processor when processing the current task, and sends the first performance data to the external processing unit, wherein the first performance data is the ratio of the time the graphics processor is invoked within a specified time to the specified time. The external processing unit determines control information for adjusting the parameters of the graphics processor through software based on the first performance data, and sends the control information to the second unit of the graphics processor. The second unit of the graphics processor adjusts the parameters of the graphics processor according to the control information, wherein the parameters include the voltage and frequency of the graphics processor. The parameters of the graphics processor are adjusted based on second performance data when the graphics processor processes the next task. The second performance data is predicted based on the first performance data. When the first performance data is less than the target performance data, the second performance data is greater than the first performance data and less than or equal to the target performance data; when the first performance data is greater than the target performance data, the second performance data is less than the first performance data and greater than or equal to the target performance data.

25. The system according to claim 24, characterized in that, The control information includes at least one of the following: Information representing the first performance data, information representing the second performance data of the graphics processor when processing the next task, and information related to the target values ​​of the parameters of the graphics processor.

26. The system according to claim 25, characterized in that, Information related to the target values ​​of the graphics processor parameters includes at least one of the following: The index of the target value of the parameter corresponding to the second performance data in the pre-stored lookup table, and the target value of the parameter corresponding to the second performance data in the lookup table.

27. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method according to any one of claims 1 to 11, 15 to 20.

28. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method according to any one of claims 1 to 11, 15 to 20.

29. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, implements the method according to any one of claims 1 to 11, 15 to 20.

Citation Information

Patent Citations

  • Semiconductor device performing dynamic voltage and frequency scaling policies by using 3d workload

    CN103677208A

  • GPU dynamic frequency modulation method, device and system

    CN111429333A