1
Measuring Per-Frame Energy Consumption of Real-Time Graphics Applications
Björn Johnsson & Tomas Akenine-Möller
- Lund University & Intel Corporation
Measuring Per-Frame Energy Consumption of Real-Time Graphics - - PowerPoint PPT Presentation
Measuring Per-Frame Energy Consumption of Real-Time Graphics Applications Bjrn Johnsson & Tomas Akenine-Mller Lund University & Intel Corporation 1 Why care about energy? 2 Why care about energy? Computing devices
1
Björn Johnsson & Tomas Akenine-Möller
2
Visual & Parallel Computing Group
3
Computing devices increasingly battery powered
Visual & Parallel Computing Group
4
Computing devices increasingly battery powered
Visual & Parallel Computing Group
5
Computing devices increasingly battery powered
Smaller form factors require graphics
Visual & Parallel Computing Group
6
Computing devices increasingly battery powered
Smaller form factors require graphics
7
Visual & Parallel Computing Group
8
Why not simulate?
Visual & Parallel Computing Group
9
Why not simulate?
Visual & Parallel Computing Group
10
Why not simulate?
Visual & Parallel Computing Group
11
Why not simulate?
Visual & Parallel Computing Group
12
Why not simulate?
13
Visual & Parallel Computing Group
14
Correlation
Visual & Parallel Computing Group
15
Correlation
Visual & Parallel Computing Group
16
Correlation
– Rendering time – Primitive count
17
Visual & Parallel Computing Group
Voltage U (volt)
18
Time Voltage
Visual & Parallel Computing Group
Current I (ampere)
19
Time Current Voltage
Visual & Parallel Computing Group
Power P (watt)
20
Time Power Voltage Current
Visual & Parallel Computing Group
Energy E (joules)
21
Time Power Energy
22
Visual & Parallel Computing Group
23
Goal: Per-frame energy
Visual & Parallel Computing Group
24
Goal: Per-frame energy Method overview Three main steps
Visual & Parallel Computing Group
25
Goal: Per-frame energy Method overview Three main steps
Time Voltage & current
Visual & Parallel Computing Group
26
Goal: Per-frame energy Method overview Three main steps
– To get power
Time P = U*I
Visual & Parallel Computing Group
Goal: Per-frame energy Method overview Three main steps
– To get power
27
Time Power
Visual & Parallel Computing Group
28
Goal: Per-frame energy Method overview Three main steps
– To get power
Time Power
Visual & Parallel Computing Group
Time Frame 1 Frame 2 Power
29
Goal: Per-frame energy Method overview Three main steps
– To get power
– For each frame
Visual & Parallel Computing Group
30
Step 1: Record current and voltage Recording
Visual & Parallel Computing Group
31
Step 1: Record current and voltage Recording
– What is measured? – What is not measured?
Battery +
DAQ
Visual & Parallel Computing Group
32
Step 1: Record current and voltage Recording
– What is measured? – What is not measured?
CPU+ GPU PSU DAQ Motherboard
Battery +
DAQ
Visual & Parallel Computing Group
33
Step 1: Record current and voltage Recording
– What is measured? – What is not measured?
CPU+ GPU PSU DAQ Motherboard
ATX +12V
Battery +
DAQ
CPU+ GPU PSU DAQ Motherboard
Visual & Parallel Computing Group
34
Step 1: Record current and voltage Recording
– What is measured? – What is not measured?
CPU+ GPU PSU DAQ Motherboard
ATX +12V
CPU+ GPU PSU DAQ Motherboard
Battery +
DAQ
Visual & Parallel Computing Group
35
Step 2: Acquire timestamps
Intel Iris Pro
Visual & Parallel Computing Group
36
Step 2: Acquire timestamps Method 1: Recording
– Requires source code
Intel Iris Pro
Visual & Parallel Computing Group
Step 2: Acquire timestamps Method 1: Recording
– Requires source code
Method 2: Detect frame starts
– Semi-automatic – Works without source code
37
Intel Iris Pro
Visual & Parallel Computing Group
Detecting frame starts
Intel Iris Pro Intel Iris Pro Intel Iris Pro
Visual & Parallel Computing Group
Intel Iris Pro
Detecting frame starts
Mark Intel Iris Pro Intel Iris Pro
Visual & Parallel Computing Group
Intel Iris Pro
Detecting frame starts
Record Intel Iris Pro Intel Iris Pro
Visual & Parallel Computing Group
Intel Iris Pro
Detecting frame starts
Found Intel Iris Pro Intel Iris Pro
Visual & Parallel Computing Group
Intel Iris Pro
Detecting frame starts
Intel Iris Pro Intel Iris Pro
Visual & Parallel Computing Group
Detecting frame starts
Intel Iris Pro Intel Iris Pro Intel Iris Pro
Visual & Parallel Computing Group
44
Step 3: Integrate energy Integrate between timestamps
Intel Iris Pro
t=start end
E = f
t
Visual & Parallel Computing Group
Step 3: Integrate energy Integrate between timestamps
E = ≈ P(t) dt
45
Intel Iris Pro
end t
f
t=start
46
Visual & Parallel Computing Group
47
Application launch
iPhone 4S
Visual & Parallel Computing Group
48
Application launch
iPhone 4S
Visual & Parallel Computing Group
49
Application launch
– 5-10% higher – Both load and idle
iPhone 4S
Visual & Parallel Computing Group
glFinish()
50
GPU CPU Time
Visual & Parallel Computing Group
51
glFinish()
GPU CPU Time glFinish()
Visual & Parallel Computing Group
52
glFinish()
With glFinish() Without glFinish() iPhone 4S iPhone 4S
Visual & Parallel Computing Group
53
Disturbance by Operating System
iPhone 4S
Visual & Parallel Computing Group
54
Disturbance by Operating System
iPhone 4S
Visual & Parallel Computing Group
55
Disturbance by Operating System
iPhone 4S
Visual & Parallel Computing Group
56
Disturbance by Operating System
– Same pattern without app running
iPhone 4S
Visual & Parallel Computing Group
57
iPhone 4S
Disturbance by Operating System
– Same pattern without app running
Similar disturbances on most platforms
Visual & Parallel Computing Group
58
iPhone 4S
Disturbance by Operating System
– Same pattern without app running
Similar disturbances on most platforms
– E.g. on integrated GPUs
59
Visual & Parallel Computing Group
60
Method recap
Visual & Parallel Computing Group
61
Method recap Three steps
Visual & Parallel Computing Group
62
Method recap Three steps
Visual & Parallel Computing Group
63
Method recap Three steps
Visual & Parallel Computing Group
64
Method recap Three steps
Visual & Parallel Computing Group
65
Our advice
Visual & Parallel Computing Group
66
Our advice
Visual & Parallel Computing Group
67
Our advice
Visual & Parallel Computing Group
68
Our advice
Visual & Parallel Computing Group
69
Our advice
Visual & Parallel Computing Group
70
Our advice
Measure
Visual & Parallel Computing Group
71
Our advice
Measure Observe
Visual & Parallel Computing Group
72
Our advice
Measure Observe Find the pitfalls of your platform
73