US11551328B2ActiveUtilityA1

Graphics energy profiling system and method

74
Assignee: PURDUE RESEARCH FOUNDATIONPriority: Apr 23, 2018Filed: Nov 23, 2021Granted: Jan 10, 2023
Est. expiryApr 23, 2038(~11.8 yrs left)· nominal 20-yr term from priority
G06F 11/3062G06T 2200/24G06F 1/28G06F 2201/865G06F 11/3058G06T 1/20G06F 11/302G06F 9/451G06F 11/3024
74
PatentIndex Score
0
Cited by
3
References
10
Claims

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

exact text as granted — not AI-modified
The invention claimed is: 
     
       1. A system for profiling energy usage in graphics user interfaces (UI) in handheld mobile devices, comprising:
 a processing unit configured to: 
 quantify during run time a central processing unit (CPU) energy drain of each UI update, comprising: 
 identify method invocations at all layers of a UI rendering software stack corresponding to each UI update, 
 log energy usage of the CPU corresponding to each method invocation, 
 calculate the CPU energy drain by an UI update by adding up the CPU energy usage by all method invocations corresponding to the UI update, 
 quantify during run time a graphics processing unit (GPU) energy drain of each UI update, 
 quantify during run time number of pixels changed due to each UI update, and 
 identify 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 system of  claim 1 , wherein the identify method invocations at all the layers of the UI rendering software stack corresponding to each UI update comprising:
 track asynchronous dependence between an UI update and corresponding callbacks across all the layers of the UI rendering software stack comprising: 
 assign a unique view-frame identification (ID) corresponding to the view in the displayed frame being changed by the UI update, 
 log 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 match all the callbacks with the same view-frame ID with the corresponding UI update. 
 
     
     
       3. The system of  claim 1 , the processing unit further adapted to:
 generate an error message reporting the graphics energy bug. 
 
     
     
       4. The system of  claim 3 , the processing unit further adapted to:
 store the error message in a non-transitory memory medium. 
 
     
     
       5. A system for profiling energy usage in graphics user interfaces (UI) in handheld mobile devices, comprising:
 a processing unit adapted to:
 quantify during run time a central processing unit (CPU) energy drain of each UI update, p 1  quantify during run time a graphics processing unit (GPU) energy drain of each UI update, comprising: 
 
 track and post processing information flow across a corresponding GPU by using an OpenGL record-and-replay method comprising: 
 label drawing commands and OpenGL calls generated at each layer of UI rendering software stack with view-frame IDs, 
 record OpenGL calls along with their view-frame IDs (but not a displayed frame) during energy profiling,
 log the GPU energy drain during each rendering interval, 
 
 in post processing, split 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, 
 quantify during run time number of pixels changed due to each UI update, and 
 identify 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 system of  claim 5 , the processing unit further adapted to:
 generate an error message reporting the graphics energy bug. 
 
     
     
       7. The system of  claim 6 , the processing unit further adapted to:
 store the error message in a non-transitory memory medium. 
 
     
     
       8. A system for profiling energy usage in graphics user interfaces (UI) in handheld mobile devices, comprising:
 a processing unit adapted to: 
 quantify during run time a central processing unit (CPU) energy drain of each UI update, quantify during run time a graphics processing unit (GPU) energy drain of each UI update, 
 quantify during run time number of pixels changed due to each UI update, comprising: 
 track and post processing information flow across a corresponding GPU by using a second OpenGL record-and-replay method, comprising: 
 label drawing commands and OpenGL calls generated at each layer of UI rendering software stack with view-frame IDs, 
 record OpenGL calls along with their view-frame IDs (but not a displayed frame) during energy profiling, 
 in post processing, reconstruct the displayed frames by replaying each group of OpenGL calls with the same view-frame ID on the GPU, and 
 compare the displayed frames to account for the number of pixels changed due to each group of OpenGL calls with a unique view-frame ID and hence the corresponding UI update, and 
 identify during run time an UI update that results in one or both of the CPU energy drain and the GPU energy drain energy drain but results in no pixel changes to the displayed frame as a graphics energy bug. 
 
     
     
       9. The system of  claim 8 , the processing system further adapted to:
 generate an error message reporting the graphics energy bug. 
 
     
     
       10. The system of  claim 9 , the processing system further adapted to:
 store the error message in a non-transitory memory medium.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.