Loading...
Please wait, while we are loading the content...
Similar Documents
Native offload of haskell repa programs to gpgpu.
| Content Provider | CiteSeerX |
|---|---|
| Author | Liu, Hai Day, Laurence E. Glew, Neal Anderson, Todd A. Barik, Rajkishore |
| Abstract | In light of recent hardware advances, General Purpose Graph-ics Processing Units (GPGPUs) are becoming increasingly com-monplace, and demand novel programming models to account for their radically different architecture. For the most part, existing ap-proaches to programming GPGPUs within a high-level program-ming language choose to embed a domain specific language (DSL) within a host metalanguage and implement a compiler mapping programs written within said DSL to code in low-level languages such as OpenCL or CUDA. We question this design choice, and argue that by directly implementing a GPGPU offload primitive as part of a general-purpose language compiler, we gain access to a substantial number of existing optimization techniques with-out having to reimplement them in a DSL compiler. In this paper we describe the structure of our prototypical treatment of this re-search direction, demonstrating the applicability of our approach by showing how to bridge between APIs by extending the Repa library of Haskell with an offload primitive, and detailing an ex-perimental implementation of our approach within the Intel Labs Haskell Research Compiler. We also provide a detailed study of a set of nine benchmarks, by compiling them to both GPU and two distinct CPUs and comparing their performance. |
| File Format | |
| Access Restriction | Open |
| Subject Keyword | Native Offload Haskell Repa Program Low-level Language Ex-perimental Implementation Design Choice Demand Novel Gpgpu Offload Primitive Optimization Technique General Purpose Graph-ics Processing Unit Compiler Mapping Program Intel Lab Haskell Research Compiler Distinct Cpu High-level Program-ming Language Choose Radically Different Architecture Detailed Study Substantial Number Repa Library Re-search Direction Offload Primitive Recent Hardware Advance Dsl Compiler Domain Specific Language General-purpose Language Compiler Prototypical Treatment Host Metalanguage |
| Content Type | Text |
| Resource Type | Article |