Abstract:
A method of determining a model for pixel power consumption for each pixel in a display of a device displaying each color in a color space is disclosed which includes establishing a color space for the display, decomposing the color space into a plurality of subgrids, measuring the pixel power associated with a selected set of colors in each subgrid of the plurality of subgrids, establishing a pixel power model for each subgrid of the plurality of subgrids by applying a function to the power values at the selected set of colors in that subgrid, and deriving a piecewise pixel power model for the entire color space which includes pixel power models for the plurality of subgrids.
Abstract:
A method for generating an energy usage profile for a software program executed in a computing device includes generating a call trace of an executed system call, identifying a first power consumption and duration of a first power state due to the first system call using a model, identifying a second power consumption and duration of a second power state based on the model, and generating an energy usage profile for the software program. The energy usage profile includes energy consumption of the computing device for the system call based on the first power consumption level multiplied by the first duration and the second power consumption level multiplied by the second duration associated an identifier for the call trace.
Abstract:
A method of determining a model for pixel power consumption for each pixel in a display of a device displaying each color in a color space is disclosed which includes establishing a color space for the display, decomposing the color space into a plurality of subgrids, measuring the pixel power associated with a selected set of colors in each subgrid of the plurality of subgrids, establishing a pixel power model for each subgrid of the plurality of subgrids by applying a function to the power values at the selected set of colors in that subgrid, and deriving a piecewise pixel power model for the entire color space which includes pixel power models for the plurality of subgrids.
Abstract:
A method for profiling energy usage in graphics user interfaces (UI) in handheld mobile devices is disclosed, which includes quantifying the central processing unit (CPU) energy drain of each UI update, quantifying the graphics processing unit (GPU) energy drain of each UI update, quantifying the number of pixels changed due to each UI update, identifying an UI update that consumes energy drain but results in no pixel changes to the displayed frame as a graphics energy bug.
Abstract:
A method for profiling energy usage of invoking an application programming interface (API) by an application in a computing device. The method includes obtaining source code for the API, modifying each class by adding a callback function identifier field that is initiated to a unique value upon instantiation of each object that belongs to the class, identifying each location in the source code that posts the callback function for asynchronous execution by enqueueing each object instantiated from the class containing the callback function into the system callback queue, modifying the source code to log the callback function identifier of object at the location that dequeues objects from the system callback queue, modifying source code by adding two system logging function calls to log the callback function identifier of the dequeued object before and after executing the callback function, executing the application, and performing energy accounting of the asynchronous API calls.
Abstract:
A method for generating a power consumption and energy usage model for a computing device includes monitoring of the power consumption of the computing device with an external power monitor when the computing device is in a base power state, monitoring of the power consumption of the computing device during execution of a system call with a processor that interacts with a component in the computing device, and monitoring the power state of the computing device before the computing device returns to the base power state. The method further includes generating a finite state machine model of the power states and transitions between power states to model the power activities and energy consumption of the computing device in the absence of an external power monitor.
Abstract:
A method of determining a model for pixel power consumption for each pixel in a display of a device displaying each color in a color space is disclosed which includes establishing a color space for the display, decomposing the color space into a plurality of subgrids, measuring the pixel power associated with a selected set of colors in each subgrid of the plurality of subgrids, establishing a pixel power model for each subgrid of the plurality of subgrids by applying a function to the power values at the selected set of colors in that subgrid, and deriving a piecewise pixel power model for the entire color space which includes pixel power models for the plurality of subgrids.
Abstract:
A method for profiling energy usage in graphics user interfaces (UI) in handheld mobile devices is disclosed, which includes quantifying the central processing unit (CPU) energy drain of each UI update, quantifying the graphics processing unit (GPU) energy drain of each UI update, quantifying the number of pixels changed due to each UI update, identifying an UI update that consumes energy drain but results in no pixel changes to the displayed frame as a graphics energy bug.
Abstract:
A method for profiling energy usage in graphics user interfaces (UI) in handheld mobile devices is disclosed, which includes quantifying the central processing unit (CPU) energy drain of each UI update, quantifying the graphics processing unit (GPU) energy drain of each UI update, quantifying the number of pixels changed due to each UI update, identifying an UI update that consumes energy drain but results in no pixel changes to the displayed frame as a graphics energy bug.
Abstract:
Embodiments of the present invention provide a system and methods for detecting power bugs. In one embodiment, a computer-implemented method for analyzing a computer code includes generating a control flow graph for at least a portion of the computer code at a processor. The method further includes identifying power bugs by traversing the control flow graph if the control flow graph exits without performing a function call to deactivate power to any component of a device configured to execute computer executable instructions based on the computer code after performing a function call to activate power.