Nikola: embedding compiled GPU functions in Haskell

Geoffrey Mainland, Greg Morrisett
Harvard School of Engineering and Applied Sciences
Proceedings of the third ACM Haskell symposium on Haskell, Haskell ’10, 2010


   title={Nikola: Embedding compiled GPU functions in Haskell},

   author={Mainland, G. and Morrisett, G.},

   booktitle={Proceedings of the third ACM Haskell symposium on Haskell},





Download Download (PDF)   View View   Source Source   Source codes Source codes




We describe Nikola, a first-order language of array computations embedded in Haskell that compiles to GPUs via CUDA using a new set of type-directed techniques to support re-usable computations. Nikola automatically handles a range of low-level details for Haskell programmers, such as marshaling data to/from the GPU, size inference for buffers, memory management, and automatic loop parallelization. Additionally, Nikola supports both compile-time and run-time code generation, making it possible for programmers to choose when and where to specialize embedded programs.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2020 hgpu.org

All rights belong to the respective authors

Contact us: