SESSION: M17: Program Optimization through Loop Vectorization
EVENT TYPE: Tutorial
TIME: 1:30PM - 5:00PM
Presenter(s):Maria J. Garzaran, David Padua, William D. Gropp, Saeed Maleki
ABSTRACT: A significant fraction of the available performance in today’s microprocessors comes from their vector extensions. Vector instructions can be incorporated into programs automatically by compilers or manually by the programmer. Typically, however, applications do not take full advantage of these operations, greatly reducing the performance achieved.
In this tutorial, we will discuss techniques that allow applications to take advantage of microprocessor vector extensions. We will pay special attention to the limitations that prevent compilers from automatically generating efficient vector code and the manual code transformations that the programmer can apply at the source level to enable compiler vectorization. Code snippets from real applications will be used to discuss the behavior of different vendor compilers and the performance improvement obtained as a result of the vectorization. The tutorial will also show how to write vector code using intrinsics when the compiler fails to vectorize.
Maria J. Garzaran - University of Illinois at Urbana-Champaign
David Padua - University of Illinois at Urbana-Champaign
William D. Gropp - University of Illinois at Urbana-Champaign
Saeed Maleki - University of Illinois at Urbana-Champaign