15700

High-level GPU programming in Julia

Tim Besard, Pieter Verstraete, Bjorn De Sutter
Computer Systems Lab, Ghent University, Belgium
arXiv:1604.03410 [cs.DC], (12 Apr 2016)

@article{besard2016highlevel,

   title={High-level GPU programming in Julia},

   author={Besard, Tim and Verstraete, Pieter and Sutter, Bjorn De},

   year={2016},

   month={apr},

   archivePrefix={"arXiv"},

   primaryClass={cs.DC}

}

Download Download (PDF)   View View   Source Source   

1633

views

GPUs are popular devices for accelerating scientific calculations. However, as GPU code is usually written in low-level languages, it breaks the abstractions of high-level languages popular with scientific programmers. To overcome this, we present a framework for CUDA GPU programming in the high-level Julia programming language. This framework compiles Julia source code for GPU execution, and takes care of the necessary low-level interactions using modern code generation techniques to avoid run-time overhead. Evaluating the framework and its APIs on a case study comprising the trace transform from the field of image processing, we find that the impact on performance is minimal, while greatly increasing programmer productivity. The metaprogramming capabilities of the Julia language proved invaluable for enabling this. Our framework significantly improves usability of GPUs, making them accessible for a wide range of programmers. It is available as free and open-source software licensed under the MIT License.
Rating: 1.7/5. From 3 votes.
Please wait...

* * *

* * *

HGPU group © 2010-2024 hgpu.org

All rights belong to the respective authors

Contact us: