12915

Leo: A Profile-Driven Dynamic Optimization Framework for GPU Applications

Naila Farooqui, Christopher J. Rossbach, Yuan Yu, Karsten Schwan
Georgia Institute of Technology
2014 Conference on Timely Results in Operating Systems, 2014

@article{farooqui2014leo,

   title={Leo: A Profile-Driven Dynamic Optimization Framework for GPU Applications},

   author={Farooqui, Naila and Rossbach, Christopher J and Yu, Yuan and Schwan, Karsten},

   year={2014}

}

Download Download (PDF)   View View   Source Source   

1834

views

Parallel architectures like GPUs are a tantalizing compute fabric for performance-hungry developers. While GPUs enable order-of-magnitude performance increases in many data-parallel application domains, writing efficient codes that can actually manifest those increases is a non-trivial endeavor, typically requiring developers to exercise specialized architectural features exposed directly in the programming model. Achieving good performance on GPUs involves effort-intensive tuning, typically requiring the programmer to manually evaluate multiple code versions in search of an optimal combination of problem decomposition with architecture- and runtime-specific parameters. For developers struggling to apply GPUs to more general-purpose computing problems, the introduction of irregular data structures and access patterns serves only to exacerbate these challenges, and only increases the level of effort required. This paper proposes to automate much of this effort using dynamic instrumentation to inform dynamic, profile-driven optimizations. In this vision, the programmer expresses the application using higher-level frontend programming abstractions such as Dandelion [18], allowing the system, rather than the programmer, to explore the implementation and optimization space. We argue that such a system is both feasible and urgently needed. We present the design for such a framework, called Leo. For a range of benchmarks, we demonstrate that a system implementing our design can achieve from 1.12 to 27x speedup in kernel runtimes, which translates to 7-40% improvement for end-to-end performance.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2024 hgpu.org

All rights belong to the respective authors

Contact us: