IP Library Granted Patent US 11,200,637
Granted Patent B2
US 11,200,637 · App. 16/853,709 · Granted Dec 14, 2021

Graphics energy profiling system and method

Inventors: Yu Charlie Hu (West Lafayette, IN); Ning Ding (Santa Clara, CA)
Assignee: Purdue Research Foundation
G06T1/20G06F1/28G06F9/451G06F11/3024G06F11/3058G06T2200/24
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,200,637
App. No.
16/853,709
Granted
Dec 14, 2021
Kind
B2
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.

Claims (48)

1. A method for profiling energy usage in graphics user interfaces (UI) in handheld mobile devices, comprising:

quantifying during run time a central processing unit (CPU) energy drain of each UI update, comprising:

identifying method invocations at all layers of a UI rendering software stack corresponding to each UI update,

logging energy usage of the CPU corresponding to each method invocation, and

calculating the CPU energy drain by an UI update by adding up the CPU energy usage by all method invocations corresponding to the UI update,

quantifying during run time a graphics processing unit (GPU) energy drain of each UI update,

quantifying during run time number of pixels changed due to each UI update, and

identifying during run time an UI update that results in one or both of the CPU energy drain and the GPU energy drain but results in no pixel changes to a displayed frame as a graphics energy bug.

2. The method of claim 1 , wherein the identifying method invocations at all the layers of the UI rendering software stack corresponding to each UI update comprising:

tracking asynchronous dependence between an UI update and corresponding callbacks across all the layers of the UI rendering software stack comprising:

assigning a unique view-frame identification (ID) corresponding to the view in the displayed frame being changed by the UI update,

logging the view-frame ID when the UI update is called, when a callback is posted, and when any callback is invoked, and

in post processing matching all the callbacks with the same view-frame ID with the corresponding UI update.

3. The method of claim 1 , further comprising:

generating an error message reporting the graphics energy bug.

4. The method of claim 3 , further comprising:

storing the error message in a non-transitory memory medium.

5. A method for profiling energy usage in graphics user interfaces (UI) in handheld mobile devices, comprising:

quantifying during run time a central processing unit (CPU) energy drain of each UI update,

quantifying during run time a graphics processing unit (GPU) energy drain of each UI update, comprising:

tracking and post processing information flow across a corresponding GPU by using an OpenGL record-and-replay method comprising:

labeling drawing commands and OpenGL calls generated at each layer of UI rendering software stack with view-frame IDs,

recording OpenGL calls along with their view-frame IDs (but not displayed frames) during energy profiling,

logging the GPU energy drain during each rendering interval,

in post processing, splitting the GPU energy drain per rendering interval among groups of OpenGL calls with different view-frame ID labels and hence different UI updates to the same displayed frame,

quantifying during run time number of pixels changed due to each UI update, and

identifying during run time an UI update that results in one or both of the CPU energy drain and the GPU energy drain but results in no pixel changes to the displayed frame as a graphics energy bug.

6. The method of claim 5 , wherein the logging GPU energy drain during each rendering interval comprising:

logging a GPU frequency and time spent in each power state during each rendering interval, and

in post processing calculating the GPU energy drain per rendering interval using a GPU power model.

7. The method of claim 5 , further comprising:

generating an error message reporting the graphics energy bug.

8. The method of claim 7 , further comprising:

storing the error message in a non-transitory memory medium.

9. A method for profiling energy usage in graphics user interfaces (UI) in handheld mobile devices, comprising:

quantifying during run time a central processing unit (CPU) energy drain of each UI update,

quantifying during run time a graphics processing unit (GPU) energy drain of each UI update,

quantifying during run time number of pixels changed due to each UI update, comprising:

tracking and post processing information flow across a corresponding GPU by using a second OpenGL record-and-replay method, comprising:

labeling drawing commands and OpenGL calls generated at each layer of UI rendering software stack with view-frame IDs,

recording OpenGL calls along with their view-frame IDs (but not displayed frames) during energy profiling,

in post processing, reconstructing the displayed frames by replaying each group of OpenGL calls with the same view-frame ID on the GPU, and

comparing the displayed frames to account for pixel changes due to each group of OpenGL calls with a unique view-frame ID and hence the corresponding UI update, an

identifying during run time an UI update that results in one or both of the CPU energy drain and the GPU energy drain but results in no pixel changes to the displayed frame as a graphics energy bug.

10. The method of claim 9 , further comprising:

generating an error message reporting the graphics energy bug.

11. The method of claim 10 , further comprising:

storing the error message in a non-transitory memory medium.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2021
From: HU, Y. CHARLIE; DING, NING
To: PURDUE RESEARCH FOUNDATION
Reel/Frame 057483/0662 →
CONFIRMATORY LICENSE Recorded Jun 23, 2020
From: PURDUE UNIVERSITY
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 053010/0655 →
Continuity (3)
Continuation 16392561 · Apr 23, 2019
Provisional Application 62661314 · Apr 23, 2018
Related Publication 20200250789A1 · Aug 6, 2020
Cited By (1)
US 12,541,810