GPU power consumption control method, device, processing system and storage mediumTechnical Field
The present disclosure relates to processor technologies, and in particular, to a method and an apparatus for controlling GPU power consumption, a processing system, and a storage medium.
Background
A Graphics Processing Unit (GPU) is a processor specially used for Processing images or Graphics, and is applied to a display system of an electronic terminal, so as to reduce the pressure of a Central Processing Unit (CPU) in the aspect of image or Graphics Processing and improve the overall Processing efficiency of the display system.
Under the condition of a certain environment temperature, the GPU frequency is one of important factors influencing the GPU power consumption, and the higher the GPU frequency is, the larger the power consumption is. For a mobile electronic terminal with a built-in battery, the larger the power consumption of the GPU, the shorter the battery life. In the traditional scheme, the working frequency of the GPU is always kept at a higher value in the operation process, so that the power consumption of the GPU is higher.
Disclosure of Invention
The embodiment of the application provides a GPU power consumption control method, a device, a processing system and a storage medium, which are used for solving the problem of large power consumption of a GPU in the traditional scheme.
An embodiment of a first aspect of the present application provides a method for controlling power consumption of a GPU in a graphics processor, including:
acquiring a working mode of a GPU;
when the GPU is in a normal working mode, if the GPU meets a low-power-consumption condition, the GPU is switched to a low-power-consumption working mode, wherein the normal working mode refers to a working mode in which the frequency of the GPU is a normal operating value, and the low-power-consumption working mode refers to a working mode in which the frequency of the GPU is lower than the normal operating value.
An embodiment of a second aspect of the present application provides a GPU power consumption control apparatus, including:
the working mode acquisition module is used for acquiring the working mode of the GPU;
and the working mode switching module is used for switching the GPU to a low-power-consumption working mode if the GPU meets a low-power-consumption condition when the GPU is in a normal working mode, wherein the normal working mode refers to a working mode in which the frequency of the GPU is a normal operating value, and the low-power-consumption working mode refers to a working mode in which the frequency of the GPU is lower than the normal operating value.
An embodiment of a third aspect of the present application provides a processing system, including: graphics processing unit GPU and graphics processing unit GPU power consumption controlling means as above-mentioned.
A fourth aspect of the present application provides a computer-readable storage medium having a computer program stored thereon; the computer program is executed by a processor to implement the method as described above.
According to the technical scheme, the working mode of the GPU is obtained, when the GPU is in the normal working mode, if the GPU meets the low-power-consumption condition, the GPU is switched to the low-power-consumption mode, and the running power consumption of the GPU can be reduced. When the GPU is applied to the electronic terminal which adopts an external power supply for power supply, the consumption of electric energy can be reduced; when the GPU is applied to the mobile electronic terminal powered by the battery, the consumption of electric quantity in unit time can be reduced, and the power supply time of the battery is prolonged.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the application and together with the description serve to explain the application and not to limit the application. In the drawings:
fig. 1 is a flowchart of a GPU power consumption control method according to an embodiment of the present application;
fig. 2 is a flowchart of a GPU power consumption control method according to a second embodiment of the present application;
fig. 3 is a flowchart of a GPU power consumption control method according to a third embodiment of the present application;
fig. 4 is a flowchart for determining whether the GPU is in an idle state in the GPU power consumption control method according to the third embodiment of the present application;
fig. 5 is a flowchart of a GPU power consumption control method according to the fourth embodiment of the present application;
fig. 6 is a flowchart of a GPU power consumption control method according to the fifth embodiment of the present application;
fig. 7 is a schematic structural diagram of a GPU power consumption control apparatus according to a sixth embodiment of the present application;
fig. 8 is a schematic structural diagram of a working mode switching module in the GPU power consumption control device according to the sixth embodiment of the present application;
fig. 9 is a schematic structural diagram of another power consumption control apparatus of a GPU according to a sixth embodiment of the present application;
fig. 10 is a schematic structural diagram of a processing system according to a seventh embodiment of the present application.
Detailed Description
In order to make the technical solutions and advantages of the embodiments of the present application more apparent, the following further detailed description of the exemplary embodiments of the present application with reference to the accompanying drawings makes it clear that the described embodiments are only a part of the embodiments of the present application, and are not exhaustive of all embodiments. It should be noted that the embodiments and features of the embodiments in the present application may be combined with each other without conflict.
Example one
The embodiment provides a power consumption control method for a GPU of a graphics processor, which can control the power consumption of the GPU and achieve the purpose of reducing the power consumption of the GPU.
In practical applications, the GPU power consumption control method may be implemented by a computer program, for example, application software; alternatively, the method may also be implemented as a medium storing a related computer program, for example, a usb disk, a cloud disk, or the like; still alternatively, the method may be implemented by a physical device, such as a chip, a removable smart device, etc., into which the associated computer program is integrated or installed.
Fig. 1 is a flowchart of a GPU power consumption control method according to an embodiment of the present application. As shown in fig. 1, the GPU power consumption control method provided in this embodiment includes:
and 101, acquiring a working mode of the GPU.
The operating modes of the GPU may include a normal operating mode and a low power consumption operating mode. When the GPU is in a normal working mode, the frequency of the GPU is a normal operating value; when the GPU is in the low power consumption operating mode, the frequency of the GPU is lower than the normal operating value, for example, the frequency of the GPU is 5% of the normal operating value.
The mode of operation of the GPU may be represented by a state variable, stored in memory. When the state variable is a first value, the working mode is a normal working mode; and when the state variable is the second value, the working state is a low-power-consumption working mode.
In this step, the working mode of the GPU is obtained, specifically, the state variable may be read from the memory, and when the state variable is identified as the first value, it is determined that the GPU is in the normal working mode; and when the state variable is identified to be the second value, determining that the GPU is in a low-power-consumption working mode.
And 102, when the GPU is in a normal working mode, if the GPU meets a low-power-consumption condition, switching the GPU to a low-power-consumption working mode.
And when the GPU is identified to be in the normal working mode, judging whether the GPU meets the low-power consumption condition, and switching the GPU to the low-power consumption working mode when the GPU meets the low-power consumption condition.
The low power consumption condition may be whether the operating condition of the GPU meets some characteristics of low power consumption, for example: less memory access times, lower bandwidth occupancy, etc. When the characteristic of low power consumption is met, the condition of low power consumption is met.
The method for switching the GPU to the low power consumption operation mode includes, for example: and modifying the state variable into a second value corresponding to the low-power-consumption working mode, reducing the operating frequency of the GPU and the like.
According to the technical scheme provided by the embodiment, by acquiring the working mode of the GPU, when the GPU is in the normal working mode, if the GPU meets the low-power-consumption condition, the GPU is switched to the low-power-consumption mode, and the running power consumption of the GPU can be reduced. When the GPU is applied to the electronic terminal which adopts an external power supply for power supply, the consumption of electric energy can be reduced; when the GPU is applied to the mobile electronic terminal powered by the battery, the consumption of electric quantity in unit time can be reduced, and the power supply time of the battery is prolonged.
Example two
The embodiment is based on the above embodiments, and provides an implementation manner of the GPU power consumption control method by optimizing the GPU power consumption control method.
Fig. 2 is a flowchart of a GPU power consumption control method according to a second embodiment of the present application. As shown in fig. 2, the GPU power consumption control method provided in this embodiment includes:
step 201, obtaining the working mode of the GPU.
The implementation of this step can refer tostep 101 in the above embodiments, and details are not described here.
Step 202, when the GPU is in the normal operation mode, determining whether the duration that the GPU is in the idle state in one control period reaches a predetermined time.
The low power consumption condition is specifically that the duration of the GPU in the idle state reaches a predetermined time.
Whether the GPU meets the low power consumption condition is judged, and specifically whether the duration of the GPU in the idle state in one control period reaches a preset time is judged. When the duration that the GPU is in the idle state within one control period is determined to reach the predetermined time, it indicates that the GPU meets the low power consumption condition, andstep 203 is executed.
The GPU may be in an idle state for less running tasks, less memory access times, lower bandwidth occupancy, etc. for the GPU. And judging whether the duration time of the GPU in the idle state reaches preset time, specifically judging whether the GPU is in the idle state all the time within a period of time and whether the duration time in the idle state reaches the preset time, and if so, meeting the low-power consumption condition.
And step 203, switching the GPU to a low-power-consumption working mode.
The specific implementation manner of this step may refer to step 102 in the above embodiments, and details are not described here.
In one control cycle, theabove steps 201 to 203 are repeatedly executed.
EXAMPLE III
In this embodiment, on the basis of the above embodiment, a GPU power consumption control method is further optimized, and in particular, a specific implementation manner of thestep 202 is provided, which shows a manner of determining whether the GPU meets the low power consumption condition:
fig. 3 is a flowchart illustrating a method for controlling GPU power consumption according to a third embodiment of the present application to determine whether a GPU meets a low power consumption condition. As shown in fig. 3, determining whether the duration of the GPU in the idle state reaches the predetermined time includes:
and 301, acquiring the working mode of the GPU.
And step 302, acquiring the working state of the GPU when the working mode of the GPU is a normal working mode.
After the working mode of the GPU is obtained, it may be determined whether the working mode is a normal working mode. And when the working mode of the GPU is judged to be the normal working mode, executing the operation of acquiring the working state of the GPU.
And step 303, judging whether the working state of the GPU is an idle state.
After the working state is acquired, whether the working state is a busy state or an idle state can be judged. When the operating state is determined to be the idle state,step 304 is performed. And when the working state is judged to be the busy state, returning to thestep 301.
Step 304, increment the state counter by 1.
A state counter is used, and the state counter is cleared when a control period begins.
In the control period, every time the working state is acquired and the idle state is judged, the state counter is increased by 1.
Step 305, determining whether the count value of the state counter reaches a predetermined count value.
If the count value of the state counter reaches the predetermined count value before the end of the control period, which indicates that the duration of the GPU in the idle state in one control period reaches the predetermined value, it is considered that the low power consumption condition is satisfied, and step 306 is executed. If the count value of the state counter does not reach the predetermined count value, the process returns to step 301.
And if the count value of the state counter does not reach the preset count value at the end of the control period, indicating that the duration of the GPU in the idle state does not reach the preset value, determining that the low-power-consumption condition is not met, and not adjusting the working mode of the GPU. An operation of clearing the state counter may also be performed to enter the next control cycle.
And step 306, switching the GPU to a low-power-consumption working mode.
On the basis of the above technical solution, for determining whether the GPU is in the idle state in the above solution, this embodiment provides a specific implementation manner:
fig. 4 is a flowchart for determining whether the GPU is in an idle state in the GPU power consumption control method provided in the third embodiment of the present application. As shown in fig. 4, determining whether the GPU is in the idle state may specifically employ the following steps:
step 401, obtaining the occupancy rate of the GPU.
The occupancy rate may be an occupancy rate of the GPU for resources in the processing system, and may be implemented in various ways. The embodiment provides an implementation manner for acquiring the GPU occupancy:
and acquiring the total times of the GPU in a frequent working state in a preset period, and determining the occupancy rate of the GPU according to the total times. Specifically, first, in a preset period, the working state of the GPU is obtained according to a preset sampling frequency, and after the working state is obtained once, the sampling counter is incremented by 1. And then judging whether the working state is a frequent working state or not, and adding 1 to the working state counter when the working state is judged to be the frequent working state. And when one preset period is finished, taking the count value of the working state counter as the total times of the GPU in the frequent working state. And after a preset period is finished, determining the occupancy rate of the GPU according to the count values of the sampling counter and the working state counter.
Determining the occupancy rate of the GPU according to the count values of the sampling counter and the operating state counter may be calculated, for example, by the following formula:
wherein S is the occupancy rate of the GPU, R is the count value of the working state counter, and Y is the count value of the sampling counter.
Besides the above schemes, determining the GPU occupancy may also be implemented in other manners, and this embodiment is not limited in this respect.
And step 402, when the occupancy rate of the GPU is judged to be lower than or equal to the first threshold value, determining that the working state of the GPU is an idle state.
After the occupancy of the GPU is obtained, it may be determined whether the occupancy of the GPU is lower than or equal to a first threshold. If the judgment result is yes, the occupancy rate of the surface GPU is low, the occupation situation of resources is low, and the working state of the GPU is determined to be an idle state.
Example four
In this embodiment, on the basis of the above embodiments, the GPU power consumption control method is optimized.
Fig. 5 is a flowchart of a GPU power consumption control method according to the fourth embodiment of the present application. As shown in fig. 5, the GPU power consumption control method provided in this embodiment includes:
and step 501, obtaining the working mode of the GPU.
Step 502, when the GPU is in the normal operating mode, if the GPU meets the low power consumption condition, the GPU is switched to the low power consumption operating mode.
Step 503, when the GPU is in the low power consumption operating mode, if the GPU meets the normal operating condition, the GPU is switched to the normal operating mode.
Step 501 can be implemented by referring to step 101 in the first embodiment, and step 502 can be implemented by referring to step 102 in the first embodiment, which is not described in detail in this embodiment.
Instep 503, when the GPU is in the low power consumption operating mode, it is determined whether the GPU meets the normal operating condition. The normal operating condition may be whether the operating condition of the GPU meets some characteristics of normal operation, for example: the memory access times are experience times corresponding to normal operation, the bandwidth occupancy rate is a numerical value corresponding to normal operation, and the like. When the characteristic of normal operation is met, the condition of normal operation is met.
In this embodiment, the normal operating conditions are: the GPU enters a busy state. And judging whether the GPU meets normal working conditions, namely judging whether the GPU enters a busy state. The following method can be specifically adopted:
firstly, the occupancy rate of the GPU is obtained, then whether the occupancy rate of the GPU is higher than a second threshold value or not is judged, if the occupancy rate is higher than the second threshold value, the GPU is determined to enter a busy state, and the GPU meets normal working conditions. The second threshold value may have a value greater than or equal to the first threshold value.
And switching the GPU to a normal working mode after determining that the GPU enters the busy state.
The way of obtaining the GPU occupancy may adopt the specific implementation manner ofstep 401 in the above embodiment.
According to the technical scheme provided by the embodiment, by acquiring the working mode of the GPU, when the GPU is in the normal working mode, if the GPU meets the low-power-consumption condition, the GPU is switched to the low-power-consumption mode, so that the running power consumption of the GPU can be reduced; and if the GPU meets the normal working condition, switching the GPU to a normal working mode to meet the normal working requirement of the GPU. When the GPU is applied to the electronic terminal which adopts an external power supply for power supply, the consumption of electric energy can be reduced; when the GPU is applied to the mobile electronic terminal powered by the battery, the consumption of electric quantity in unit time can be reduced, and the power supply time of the battery is prolonged.
EXAMPLE five
The embodiment provides a specific implementation manner of the GPU power consumption control method based on the above embodiments.
Fig. 6 is a flowchart of a GPU power consumption control method according to the fifth embodiment of the present application. As shown in fig. 6, the GPU power consumption control method provided in this embodiment includes the following steps, and in each control period, the steps are executed in a loop until the control period is finished.
And 601, acquiring a working mode of the GPU.
For example: and acquiring a state variable for representing the GPU working mode.
Step 602, determining whether the GPU is in a normal operating mode.
And judging whether the state variable acquired in the step is a first value, wherein the first value represents a normal working mode.
If yes, go to step 603; if the determination result is negative, indicating that the state variable is the second value, go to step 608.
And step 603, acquiring the working state of the GPU.
For example: and acquiring the occupancy rate of the GPU.
And step 604, judging whether the working state of the GPU is an idle state.
And judging whether the occupancy rate of the GPU is lower than or equal to a first threshold value, for example, the first threshold value is 10%, and judging whether the occupancy rate of the GPU is lower than or equal to 10%.
If yes, go to step 605. If the determination result is negative, thestep 601 is executed again.
Step 605, increment the state counter by 1.
Step 606 is then performed.
Step 606, determining whether the count value of the state counter reaches a predetermined count value.
If yes, go to step 607; if the determination result is negative, thestep 601 is executed again until the control period is finished. The count value of the state count value is cleared at the end of one control cycle or cleared at the beginning of one control cycle.
Step 607, the GPU is switched to the low power consumption mode of operation.
Specifically, the frequency of the GPU is reduced, for example, to 5%. The GPU can work at the lowest frequency on the premise of normal work, so that the power consumption of the GPU is the lowest.
And the state variable is modified to a second value corresponding to the low power consumption working mode.
And then returns to executestep 601 until the control period is finished.
And step 608, acquiring the working state of the GPU.
For example: and acquiring the occupancy rate of the GPU.
And step 609, judging whether the working state of the GPU is a busy state.
And judging whether the occupancy rate of the GPU is higher than a second threshold value, for example, the second threshold value is 10%, and judging whether the occupancy rate of the GPU is higher than 10%.
If the determination is yes, it indicates that the GPU is in a busy state, for example, the user is performing an operation, step 610 may be performed. If the determination result is negative, thestep 601 is executed again until the control period is finished.
Step 610, switching the GPU to a normal working mode.
Specifically, the frequency of the GPU is set to be a normal working frequency, so that normal use of a user is guaranteed.
And then returns to executestep 601 until the control period is finished.
EXAMPLE six
Fig. 7 is a schematic structural diagram of a GPU power consumption control device according to a sixth embodiment of the present application. As shown in fig. 7, the present embodiment provides a power consumption control device for a GPU in a graphics processor, including: an operationmode acquisition module 71 and an operationmode switching module 72.
The workingmode obtaining module 71 is configured to obtain a working mode of the GPU. The operatingmode switching module 72 is configured to switch the GPU to the low power consumption operating mode if the GPU meets the low power consumption condition when the GPU is in the normal operating mode.
According to the technical scheme provided by the embodiment, by acquiring the working mode of the GPU, when the GPU is in the normal working mode, if the GPU meets the low-power-consumption condition, the GPU is switched to the low-power-consumption mode, and the running power consumption of the GPU can be reduced. When the GPU is applied to the electronic terminal which adopts an external power supply for power supply, the consumption of electric energy can be reduced; when the GPU is applied to the mobile electronic terminal powered by the battery, the consumption of electric quantity in unit time can be reduced, and the power supply time of the battery is prolonged.
On the basis of the technical scheme, the low power consumption condition is as follows: the duration that the GPU is in the idle state reaches a predetermined time. Fig. 8 is a schematic structural diagram of an operation mode switching module in the GPU power consumption control device according to the sixth embodiment of the present application. As shown in fig. 8, the workingmode switching module 72 specifically includes: a low power consumptioncondition judgment unit 721, and a first operationmode switching unit 722. The low power consumptioncondition determining unit 721 is configured to determine whether the duration that the GPU is in the idle state in one control cycle reaches a predetermined time, and if so, trigger the operation of the first operatingmode switching unit 722. The first operationmode switching unit 722 is used for switching the GPU to the low power consumption operation mode.
Further, the low power consumptioncondition determining unit 721 includes: an operatingstate acquiring subunit 7211, an operatingstate judging subunit 7212, acounting subunit 7213, and a low power consumptioncondition judging subunit 7214. The workingstate obtaining subunit 7211 is configured to obtain a working state of the GPU. The workingstate judgment subunit 7212 is configured to judge whether the working state of the GPU is an idle state; if yes, the operation of the counting subunit is triggered. Thecount subunit 7213 is configured to increment the state counter by 1. The low power consumptioncondition judgment subunit 7214 is configured to, before the end of the control period, judge whether the count value of the state counter reaches a predetermined count value; if so, indicating that the duration of the GPU in the idle state reaches a preset value; the count value of the state counter correspondingly represents the duration of the GPU in the idle state.
The workingstate obtaining subunit 7211 is specifically configured to obtain an occupancy rate of the GPU. The workingstate determination subunit 7212 is specifically configured to determine whether the occupancy rate of the GPU is lower than or equal to a first threshold; if yes, the working state of the GPU is indicated as idle state, and the operation of thecounting subunit 7213 is triggered.
Based on the above scheme, the workingmode switching module 72 is further configured to switch the GPU to the normal working mode if the GPU meets the normal working condition when the GPU is in the low power consumption working mode.
The normal working conditions are as follows: the GPU enters a busy state. Fig. 9 is a schematic structural diagram of another power consumption control device of a GPU according to a sixth embodiment of the present application. As shown in fig. 9, the operationmode switching module 72 further includes: a normal operatingcondition determining unit 723 and a second operatingmode switching unit 724. The normal operatingcondition determining unit 723 is configured to determine whether the GPU enters a busy state; if yes, the operation of the working mode switching unit is triggered. The second operatingmode switching unit 724 is used for switching the GPU to the normal operating mode.
The normal operatingcondition determining unit 723 includes a GPU occupancy acquiring subunit and a GPU occupancy determining subunit. The GPU occupancy rate acquiring subunit is used for acquiring the occupancy rate of the GPU. The GPU occupancy rate judging subunit is used for judging whether the occupancy rate of the GPU is higher than a second threshold value; if yes, it indicates that the GPU enters a busy state, and triggers the operation of the second operatingmode switching unit 724.
According to the scheme, by acquiring the working mode of the GPU, when the GPU is in the normal working mode, if the GPU meets the low-power-consumption condition, the GPU is switched to the low-power-consumption mode, and the operation power consumption of the GPU can be reduced; and if the GPU meets the normal working condition, switching the GPU to a normal working mode to meet the normal working requirement of the GPU. When the GPU is applied to the electronic terminal which adopts an external power supply for power supply, the consumption of electric energy can be reduced; when the GPU is applied to the mobile electronic terminal powered by the battery, the consumption of electric quantity in unit time can be reduced, and the power supply time of the battery is prolonged.
EXAMPLE seven
Fig. 10 is a schematic structural diagram of a processing system according to a seventh embodiment of the present application. As shown in fig. 10, the present embodiment provides a processing system including: agraphics processor GPU 81 and a GPU powerconsumption control device 82 as provided in any of the above.
The present embodiment also provides a computer-readable storage medium having a computer program stored thereon; the computer program is executed by a processor to implement a method as provided in any one of the above.
The processing system and the storage medium provided by the embodiment have the same technical effects as the method.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may 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, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may 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, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In the description of the present application, it is to be understood that the terms "first", "second" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implying any number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of the present application, "plurality" means at least two, e.g., two, three, etc., unless specifically limited otherwise.
In this application, unless expressly stated or limited otherwise, the terms "mounted," "connected," "secured," and the like are to be construed broadly and can include, for example, fixed connections, removable connections, or integral parts; can be mechanically connected, electrically connected or can communicate with each other; either directly or indirectly through intervening media, either internally or in any other relationship. The specific meaning of the above terms in the present application can be understood by those of ordinary skill in the art as appropriate.
While the preferred embodiments of the present application have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all alterations and modifications as fall within the scope of the application.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the spirit and scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations as well.