GPU Declarative Framework

Robert W. Senser, Jr.
University of Colorado
University of Colorado, 2014


   title={GPU Declarative Framework},

   author={Senser JR, Robert W},


   school={University of Colorado}


Download Download (PDF)   View View   Source Source   



This dissertation presents our novel declarative framework, called the Declarative Framework for GPUs (DEFG). GPUs are highly sophisticated computing devices, capable of computing at very high speeds. The framework makes the development of OpenCL-based GPU applications less complex, and less time consuming. The framework’s approach is two-fold. First, we developed the DEFG domain-specific language in such a way that it uses primarily declarative statements, and design patterns, to define the CPU actions to manage GPU kernels. This approach makes the GPU processing power more accessible. It does this by lowering the amount of specialized GPU knowledge the GPU software developer must possess. It also decreases the volume of code written, meaning these applications can be written more easily and quickly. The second aspect of our approach is the addition of high-value GPU capabilities, most notably the declarative utilization of additional GPU devices. The use of multiple devices, in this DEFG manner, allows for scaling the application run-time performance without rewriting the entire application. This aspect of DEFG makes developing multiple-GPU applications faster and more straightforward. In this dissertation, we describe DEFG’s novel parser, optimizer and code generator, as well as, provide detailed descriptions of DEFG’s domain specific language and associated design patterns. Taken together, these components make it possible for the developer to write DEFG source and generate C/C++ programs containing highly optimized OpenCL requests that provide high-performance. In order to demonstrate the viability of DEFG, we produce applications related to common areas of computer science: image filtering, graph processing, sorting, and numerical algebra, specifically iterative matrix inversion. We select these applications because each one explores different aspects of GPU use and OpenCL. Taken together, they demonstrate DEFG’s ability to function well over a wide range of applications. To show DEFG’s capabilities in image processing, we implement the Sobel operator and median image filter applications, with an emphasis on multiple-GPU processing. Our graph-processing, breadth-first search application shows DEFG’s ability to process large irregular data structures, with multiple GPUs. In the sorting realm, the novel roughly sorting application shows DEFG’s GPU-based sorting capability. Finally, the numerical algebra application, an interesting iterative matrix inversion implementation, exhibits DEFG’s ability to implement iterative, GPU-based, numerical processing. DEFG’s domain specific language is able to use mainly declarations to describe the CPU actions needed to manage complex GPU actions. We demonstrate that this approach to GPU-oriented software development succeeds through the production of our OpenCL applications.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2024 hgpu.org

All rights belong to the respective authors

Contact us: