1
μ
Impact of different compiler options
- n energy consumption
James Pallister University of Bristol / Embecosm Simon Hollis University of Bristol Jeremy Bennett Embecosm
Impact of different compiler options on energy consumption James - - PowerPoint PPT Presentation
Impact of different compiler options on energy consumption James Pallister University of Bristol / Embecosm Simon Hollis University of Bristol Jeremy Bennett Embecosm 1 Motivation Compiler optimizations are claimed to have a
1
James Pallister University of Bristol / Embecosm Simon Hollis University of Bristol Jeremy Bennett Embecosm
2
– Performance – Energy
– Different benchmarks – Many individual optimizations – Different platforms
– Huge amount of combinations
3
– Importance of benchmarks – Platforms – How to explore 2^150 combinations of options – Correlation between time and energy – How to predict the effect of the optimizations
4
– Integer – Floating point – Branching – Memory
5
6
8
– Pipeline Depth – Multi- vs Single- core – FPU available? – Caching – On-chip vs off-chip memory
9
ARM Cortex-M0 ARM Cortex-M3 ARM Cortex-A8 XMOS L1 Adapteva Epiphany Small memory Small memory Large memory Small memory On-chip and
Simple Pipeline Simple Pipeline, with forwarding logic, etc. Complex superscalar pipeline Simple pipeline Simple superscalar pipeline SIMD/FPU FPU Multiple threads 16 cores
10
16
20
– Generalization, not true in every case
21
FDCT, Cortex-M0 FDCT, Cortex-A8
22
FDCT, Cortex-M0 FDCT, Cortex-A8
23
FDCT, Cortex-M0 FDCT, Cortex-A8
24
25
O1 Flags, Blowfish, Cortex-M0
29
O3 Flags, 2DFIR, Cortex-A8
– NEON SIMD unit – Much lower power
30
– Still a correlation – But more variability – SIMD, superscalar
31
O1 Flags, Cubic, Cortex-M0
35
36
O2, etc.) are a good balance between compile time and performance/energy.
– MILEPOST – Genetic algorithms
38
– True for simple pipelines – Mostly true for complex pipelines – Good approximation
– Difficult to model the interactions between
39
40
41
– Simpler instruction set – Newer compiler – Many more registers