Fine-grained power optimization for heterogeneous parallel constructs
AssigneeQUALCOMM Incorporated
InventorsWenjia Ruan, Han Zhao, Tushar Kumar
Life of this patent
Estimating the term…
Abstract
Various embodiments provide methods, devices, and non-transitory processor-readable storage media enabling joint goals, such as joint power and performance goals, to be realized on a per heterogeneous processing device basis for heterogeneous parallel computing constructs. Various embodiments may enable assignments of power states for heterogeneous processing devices on a per heterogeneous processing device basis to satisfy an overall goal on the heterogeneous processing construct. Various embodiments may enable dynamic adjustment of power states for heterogeneous processing devices on a per heterogeneous processing device basis.
Claims44
A method of managing heterogeneous parallel computing, comprising:
- determining, by a controller, a joint goal for a computational work construct;
- determining, by the controller at runtime for the computational work construct, a construct power state based at least in part on the joint goal, wherein the construct power state indicates a selected power state for each of a plurality of heterogeneous processing devices;
- assigning to each of the plurality of heterogeneous processing devices, by the controller, the selected power state for that respective one of the plurality of heterogeneous processing devices indicated in the construct power state for execution of work components;
- and
- preventing, by the controller, the assignment of new work components unrelated to the computational work construct to the plurality of heterogeneous processing devices until all of the work components of the computational work construct are finished executing.
A computing device, comprising:
- a plurality of heterogeneous processing devices;
- and
- a controller configured to perform operations comprising:
- determining a joint goal for a computational work construct;
- determining, at runtime for the computational work construct, a construct power state based at least in part on the joint goal, wherein the construct power state indicates a selected power state for each of the plurality of heterogeneous processing devices;
- assigning to each of the plurality of heterogeneous processing devices the selected power state for that respective one of the plurality of heterogeneous processing devices indicated in the construct power state for execution of work components;
- and
- preventing assignment of new work components unrelated to the computational work construct to the plurality of heterogeneous processing devices until all of the work components of the computational work construct are finished executing.
A computing device, comprising:
- a plurality of heterogeneous processing devices;
- means for determining a joint goal for a computational work construct;
- means for determining, at runtime for the computational work construct, a construct power state based at least in part on the joint goal, wherein the construct power state indicates a selected power state for each of the plurality of heterogeneous processing devices;
- means for assigning to each of the plurality of heterogeneous processing devices the selected power state for that respective one of the plurality of heterogeneous processing devices indicated in the construct power state for execution of work components;
- and
- means for preventing assignment of new work components unrelated to the computational work construct to the plurality of heterogeneous processing devices until all of the work components of the computational work construct are finished executing.
A non-transitory processor readable medium having stored thereon processor executable instructions configured to cause a processor of a computing device to perform operations comprising:
- determining a joint goal for a computational work construct;
- determining, at runtime for the computational work construct, a construct power state based at least in part on the joint goal, wherein the construct power state indicates a selected power state for each of a plurality of heterogeneous processing devices;
- assigning to each of the plurality of heterogeneous processing devices the selected power state for that respective one of the plurality of heterogeneous processing devices indicated in the construct power state for execution of work components;
- and
- preventing assignment of new work components unrelated to the computational work construct to the plurality of heterogeneous processing devices until all of the work components of the computational work construct are finished executing.
Dependencies are inferred from the claim text.