Write a Blog >>
Mon 19 Jun 2017 10:50 - 11:15 at Aula Master - Compiler Optimizations Chair(s): Uday Bondhugula

We present an approach to optimize the cache locality for recursive programs by dynamically splicing—recursively interleaving—the execution of distinct function invocations. By utilizing data effect annotations, we identify concurrency and data reuse opportunities across function invocations and interleave them to reduce reuse distance. We present algorithms that efficiently track effects in recursive programs, detect interference and dependencies, and interleave execution of function invocations using user-level (non-kernel) lightweight threads. To enable multi-core execution, a program is parallelized using a nested fork/join programming model. Our cache optimization strategy is designed to work in the context of a random work stealing scheduler. We present an implementation using the MIT Cilk framework that demonstrates significant improvements in sequential and parallel performance, competitive with a state-of-the-art compile-time optimizer for loop programs and a domain-specific optimizer for stencil programs.

Mon 19 Jun

pldi-2017-papers
10:50 - 12:30: PLDI Research Papers - Compiler Optimizations at Aula Master
Chair(s): Uday BondhugulaIndian Institute of Science
pldi-2017-papers10:50 - 11:15
Talk
Jonathan Lifflander, Sriram KrishnamoorthyPacific Northwest National Laboratories
pldi-2017-papers11:15 - 11:40
Talk
Olli Saarikivi, Margus VeanesMicrosoft Research, Todd Mytkowicz, Madan MusuvathiMicrosoft Research
pldi-2017-papers11:40 - 12:05
Talk
Yufei DingNorth Carolina State University, Lin NingNorth Carolina State University, Hui GuanNorth Carolina State University, Xipeng ShenNorth Carolina State University
Media Attached
pldi-2017-papers12:05 - 12:30
Talk
David MenendezRutgers University, Santosh NagarakatteRutgers University, USA
Media Attached