Compiling All the Time Kathy Yelick U C

  • Slides: 5
Download presentation
Compiling All the Time Kathy Yelick U. C. Berkeley, EECS

Compiling All the Time Kathy Yelick U. C. Berkeley, EECS

If Computation is Free. . . • Computation, storage, and bandwidth may be free,

If Computation is Free. . . • Computation, storage, and bandwidth may be free, but – power consumption is critical – need to tolerate hw and sw faults – latency of individual operations still matters • Use extra resources for continuous compilation for all of these. – Static compilation model is broken • separate compilation phase => time too limited • lack of information about inputs

Why Compile Continuously? • In general, compilers do 2 things: – analyze programs •

Why Compile Continuously? • In general, compilers do 2 things: – analyze programs • Often thought of as a precursor to optimization • Also useful for bug prevention/detection • E. g. , checking array bound, pointer, memory leaks, compiler errors – transform programs and data • To reduce power consumption during critical time – note: most performance optimizations also reduce power • To meet (hard or soft) real-time constraints • For “self-healing” when runtime data structures are found to be broken, e. g. , restore from replica

Can Compilers Use More Time? • Even for the mundane performance arena • Recent

Can Compilers Use More Time? • Even for the mundane performance arena • Recent work in “super-optimizers” for key algorithmic kernels indicates they can. – FFTW, PHi. PAC, Atlas, Sparsity – Search over this set of generated code, sometimes with input information

When Does Dynamic Info Help? • When the payoffs (energy or performance) are high

When Does Dynamic Info Help? • When the payoffs (energy or performance) are high enough to pay for overhead – Repeated operations (on similar data) – Deep memory/network hierarchy – Need to check proof before running • When optimization criteria change dynamically – Power now, performance later • When the optimization space is complex – Not just operation counts