Measuring Per-Frame Energy Consumption of Real-Time Graphics - - PowerPoint PPT Presentation

measuring per frame energy consumption of real time
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

1

Measuring Per-Frame Energy Consumption of Real-Time Graphics Applications

Björn Johnsson & Tomas Akenine-Möller

  • Lund University & Intel Corporation
slide-2
SLIDE 2

Why care about energy?

2

slide-3
SLIDE 3

Visual & Parallel Computing Group

3

Computing devices increasingly battery powered

Why care about energy?

slide-4
SLIDE 4

Visual & Parallel Computing Group

4

Computing devices increasingly battery powered

  • Mobile phones
  • Laptops
  • Tablets
  • Wearable technology
  • Why care about energy?
slide-5
SLIDE 5

Visual & Parallel Computing Group

5

Computing devices increasingly battery powered

  • Mobile phones
  • Laptops
  • Tablets
  • Wearable technology

Smaller form factors require graphics

Why care about energy?

slide-6
SLIDE 6

Visual & Parallel Computing Group

6

Computing devices increasingly battery powered

  • Mobile phones
  • Laptops
  • Tablets
  • Wearable technology

Smaller form factors require graphics

  • Heat dissipation
  • Battery size and time

Why care about energy?

slide-7
SLIDE 7

Why measure the energy?

7

slide-8
SLIDE 8

Visual & Parallel Computing Group

8

Why not simulate?

Why measure the energy?

slide-9
SLIDE 9

Visual & Parallel Computing Group

9

Why not simulate?

  • Simulation models need to be trained

Why measure the energy?

slide-10
SLIDE 10

Visual & Parallel Computing Group

10

Why not simulate?

  • Simulation models need to be trained
  • Hardware speciflc

Why measure the energy?

slide-11
SLIDE 11

Visual & Parallel Computing Group

11

Why not simulate?

  • Simulation models need to be trained
  • Hardware speciflc
  • Requires additional data: rendering time, primitive count…

Why measure the energy?

slide-12
SLIDE 12

Visual & Parallel Computing Group

12

Why not simulate?

  • Simulation models need to be trained
  • Hardware speciflc
  • Requires additional data: rendering time, primitive count…
  • Need to validate

Why measure the energy?

slide-13
SLIDE 13

Why measure per-frame energy?

13

slide-14
SLIDE 14

Visual & Parallel Computing Group

14

Correlation

Why measure per-frame energy?

slide-15
SLIDE 15

Visual & Parallel Computing Group

15

Correlation

  • Visually inspect energy-hungry frames

Why measure per-frame energy?

slide-16
SLIDE 16

Visual & Parallel Computing Group

16

Correlation

  • Visually inspect energy-hungry frames
  • Other data collected per frame

– Rendering time – Primitive count

Why measure per-frame energy?

slide-17
SLIDE 17

Energy

17

slide-18
SLIDE 18

Visual & Parallel Computing Group

Voltage U (volt)

18

Energy

Time Voltage

slide-19
SLIDE 19

Visual & Parallel Computing Group

Current I (ampere)

19

Energy

Time Current Voltage

slide-20
SLIDE 20

Visual & Parallel Computing Group

Power P (watt)

  • P = U*I

20

Energy

Time Power Voltage Current

slide-21
SLIDE 21

Visual & Parallel Computing Group

Energy E (joules)

  • E = P(t) dt

21

Energy

Time Power Energy

slide-22
SLIDE 22

Our method

22

slide-23
SLIDE 23

Visual & Parallel Computing Group

23

Goal: Per-frame energy

Our method

slide-24
SLIDE 24

Visual & Parallel Computing Group

24

Goal: Per-frame energy Method overview Three main steps

Our method

slide-25
SLIDE 25

Visual & Parallel Computing Group

25

Goal: Per-frame energy Method overview Three main steps

  • Record current and voltage

Our method

Time Voltage & current

slide-26
SLIDE 26

Visual & Parallel Computing Group

26

Goal: Per-frame energy Method overview Three main steps

  • Record current and voltage

– To get power

Our method

Time P = U*I

slide-27
SLIDE 27

Visual & Parallel Computing Group

Goal: Per-frame energy Method overview Three main steps

  • Record current and voltage

– To get power

  • Acquire timestamps

27

Our method

Time Power

slide-28
SLIDE 28

Visual & Parallel Computing Group

28

Goal: Per-frame energy Method overview Three main steps

  • Record current and voltage

– To get power

  • Acquire timestamps
  • Integrate power to energy

Our method

Time Power

slide-29
SLIDE 29

Visual & Parallel Computing Group

Time Frame 1 Frame 2 Power

29

Goal: Per-frame energy Method overview Three main steps

  • Record current and voltage

– To get power

  • Acquire timestamps
  • Integrate power to energy

– For each frame

Our method

slide-30
SLIDE 30

Visual & Parallel Computing Group

30

Step 1: Record current and voltage Recording

  • High frequency Data Acquisition Device (DAQ)

Our method

slide-31
SLIDE 31

Visual & Parallel Computing Group

31

Step 1: Record current and voltage Recording

  • High frequency DAQ
  • Point of connection

– What is measured? – What is not measured?

Our method

Battery +

  • iPhone 4S

DAQ

slide-32
SLIDE 32

Visual & Parallel Computing Group

32

Step 1: Record current and voltage Recording

  • High frequency DAQ
  • Point of connection

– What is measured? – What is not measured?

Our method

CPU+ GPU PSU DAQ Motherboard

Battery +

  • iPhone 4S

DAQ

slide-33
SLIDE 33

Visual & Parallel Computing Group

33

Step 1: Record current and voltage Recording

  • High frequency DAQ
  • Point of connection

– What is measured? – What is not measured?

Our method

CPU+ GPU PSU DAQ Motherboard

ATX +12V

Battery +

  • iPhone 4S

DAQ

CPU+ GPU PSU DAQ Motherboard

slide-34
SLIDE 34

Visual & Parallel Computing Group

34

Step 1: Record current and voltage Recording

  • High frequency DAQ
  • Point of connection

– What is measured? – What is not measured?

Our method

CPU+ GPU PSU DAQ Motherboard

ATX +12V

CPU+ GPU PSU DAQ Motherboard

Battery +

  • iPhone 4S

DAQ

slide-35
SLIDE 35

Visual & Parallel Computing Group

35

Step 2: Acquire timestamps

  • Our method

Intel Iris Pro

slide-36
SLIDE 36

Visual & Parallel Computing Group

36

Step 2: Acquire timestamps Method 1: Recording

  • Altering measured workload

– Requires source code

  • Synchronization required

Our method

Intel Iris Pro

slide-37
SLIDE 37

Visual & Parallel Computing Group

Step 2: Acquire timestamps Method 1: Recording

  • Altering measured workload

– Requires source code

  • Synchronization required

Method 2: Detect frame starts

  • Detect in curve

– Semi-automatic – Works without source code

37

Our method

Intel Iris Pro

slide-38
SLIDE 38

Visual & Parallel Computing Group

Detecting frame starts

  • 38

Our method

Intel Iris Pro Intel Iris Pro Intel Iris Pro

slide-39
SLIDE 39

Visual & Parallel Computing Group

Intel Iris Pro

Detecting frame starts

  • Visually detect and mark
  • 39

Our method

Mark Intel Iris Pro Intel Iris Pro

slide-40
SLIDE 40

Visual & Parallel Computing Group

Intel Iris Pro

Detecting frame starts

  • Visually detect and mark
  • Record surrounding
  • 40

Our method

Record Intel Iris Pro Intel Iris Pro

slide-41
SLIDE 41

Visual & Parallel Computing Group

Intel Iris Pro

Detecting frame starts

  • Visually detect and mark
  • Record surrounding
  • Search for similar areas using LSE
  • 41

Our method

Found Intel Iris Pro Intel Iris Pro

slide-42
SLIDE 42

Visual & Parallel Computing Group

Intel Iris Pro

Detecting frame starts

  • Where does the frame start?
  • 42

Our method

Intel Iris Pro Intel Iris Pro

slide-43
SLIDE 43

Visual & Parallel Computing Group

Detecting frame starts

  • Where does the frame start?
  • 43

Our method

Intel Iris Pro Intel Iris Pro Intel Iris Pro

slide-44
SLIDE 44

Visual & Parallel Computing Group

44

Step 3: Integrate energy Integrate between timestamps

  • P

Our method

Intel Iris Pro

t=start end

E = f

t

slide-45
SLIDE 45

Visual & Parallel Computing Group

Step 3: Integrate energy Integrate between timestamps

  • P

E = ≈ P(t) dt

45

Our method

Intel Iris Pro

end t

f

t=start

slide-46
SLIDE 46

Observations

46

slide-47
SLIDE 47

Visual & Parallel Computing Group

47

Application launch

  • First few seconds of rendering

Observations

iPhone 4S

slide-48
SLIDE 48

Visual & Parallel Computing Group

48

Application launch

  • First few seconds of rendering
  • Signiflcantly higher power

Observations

iPhone 4S

slide-49
SLIDE 49

Visual & Parallel Computing Group

49

Application launch

  • First few seconds of rendering
  • Signiflcantly higher power

– 5-10% higher – Both load and idle

Observations

iPhone 4S

slide-50
SLIDE 50

Visual & Parallel Computing Group

glFinish()

50

Observations

GPU CPU Time

slide-51
SLIDE 51

Visual & Parallel Computing Group

51

glFinish()

  • Blocks the application until commands are flnished

Observations

GPU CPU Time glFinish()

slide-52
SLIDE 52

Visual & Parallel Computing Group

52

glFinish()

  • Blocks the application until commands are flnished
  • Raises the power

Observations

With glFinish() Without glFinish() iPhone 4S iPhone 4S

slide-53
SLIDE 53

Visual & Parallel Computing Group

53

Disturbance by Operating System

Observations

iPhone 4S

slide-54
SLIDE 54

Visual & Parallel Computing Group

54

Disturbance by Operating System

  • Few frames with higher power

Observations

iPhone 4S

slide-55
SLIDE 55

Visual & Parallel Computing Group

55

Disturbance by Operating System

  • Few frames with higher power
  • 90ms every 5s

Observations

iPhone 4S

slide-56
SLIDE 56

Visual & Parallel Computing Group

56

Disturbance by Operating System

  • Few frames with higher power
  • 90ms every 5s

– Same pattern without app running

Observations

iPhone 4S

slide-57
SLIDE 57

Visual & Parallel Computing Group

57

Observations

iPhone 4S

Disturbance by Operating System

  • Few frames with higher power
  • 90ms every 5s

– Same pattern without app running

Similar disturbances on most
 platforms

slide-58
SLIDE 58

Visual & Parallel Computing Group

58

Observations

iPhone 4S

Disturbance by Operating System

  • Few frames with higher power
  • 90ms every 5s

– Same pattern without app running

Similar disturbances on most
 platforms

  • Mostly irregular

– E.g. on integrated GPUs

slide-59
SLIDE 59

Conclusions

59

slide-60
SLIDE 60

Visual & Parallel Computing Group

60

Method recap

Conclusions

slide-61
SLIDE 61

Visual & Parallel Computing Group

61

Method recap Three steps

Conclusions

slide-62
SLIDE 62

Visual & Parallel Computing Group

62

Method recap Three steps

  • Measure current and voltage

Conclusions

slide-63
SLIDE 63

Visual & Parallel Computing Group

63

Method recap Three steps

  • Measure current and voltage
  • Record or detect frame starts

Conclusions

slide-64
SLIDE 64

Visual & Parallel Computing Group

64

Method recap Three steps

  • Measure current and voltage
  • Record or detect frame starts
  • Integrate power to get energy per frame

Conclusions

slide-65
SLIDE 65

Visual & Parallel Computing Group

65

Our advice

Conclusions

slide-66
SLIDE 66

Visual & Parallel Computing Group

66

Our advice

  • Avoid changing the workload

Conclusions

slide-67
SLIDE 67

Visual & Parallel Computing Group

67

Our advice

  • Avoid changing the workload
  • Disregard the flrst few seconds after launch

Conclusions

slide-68
SLIDE 68

Visual & Parallel Computing Group

68

Our advice

  • Avoid changing the workload
  • Disregard the flrst few seconds after launch
  • Be aware of the operating system

Conclusions

slide-69
SLIDE 69

Visual & Parallel Computing Group

69

Our advice

  • Avoid changing the workload
  • Disregard the flrst few seconds after launch
  • Be aware of the operating system

Conclusions

Get to know your platform!

slide-70
SLIDE 70

Visual & Parallel Computing Group

70

Our advice

  • Avoid changing the workload
  • Disregard the flrst few seconds after launch
  • Be aware of the operating system

Conclusions

Get to know your platform!

Measure

slide-71
SLIDE 71

Visual & Parallel Computing Group

71

Our advice

  • Avoid changing the workload
  • Disregard the flrst few seconds after launch
  • Be aware of the operating system

Conclusions

Get to know your platform!

Measure Observe

slide-72
SLIDE 72

Visual & Parallel Computing Group

72

Our advice

  • Avoid changing the workload
  • Disregard the flrst few seconds after launch
  • Be aware of the operating system

Conclusions

Get to know your platform!

Measure Observe Find the pitfalls of your platform

slide-73
SLIDE 73

Thank You

73

slide-74
SLIDE 74