This award is funded under the American Recovery and Reinvestment Act of 2009 (Public Law 111-5).

Graphics Processing Units (GPUs) have emerged as a promising alternative in the transition of the computing industry to mainstream parallel computing. Enabling applications to benefit from their potential requires that GPU programming be made accessible to the average programmer. This research focuses on the challenges making GPU programming easier through new high-level programming models, and enabling efficient GPU execution through compilation frameworks for these models. Two complementary GPU programming models are proposed --- OpenMP, which is widely used for shared-memory parallel programming, and Parallel Operator Data-Flow Graphs (PO-DFGs), which naturally represent algorithms in a wide range of current and emerging application domains. Various optimization techniques are developed for programs written to these models, including partitioning the program between the host CPU and GPUs, stream optimizations that render the program's memory access characteristics to be more amenable to the GPU's memory system, minimizing data transfer between the host and GPU memory, and GPU architecture-specific optimizations. The research contributes to the evolution of GPGPU programming from manual ports of applications using low-level APIs, to the use of high-level parallel programming models.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Type
Standard Grant (Standard)
Application #
0916817
Program Officer
Almadena Y. Chtchelkanova
Project Start
Project End
Budget Start
2009-08-15
Budget End
2013-07-31
Support Year
Fiscal Year
2009
Total Cost
$477,739
Indirect Cost
Name
Purdue University
Department
Type
DUNS #
City
West Lafayette
State
IN
Country
United States
Zip Code
47907