Nikola: embedding compiled GPU functions in Haskell
Harvard School of Engineering and Applied Sciences
Proceedings of the third ACM Haskell symposium on Haskell, Haskell ’10, 2010
@inproceedings{mainland2010nikola,
title={Nikola: Embedding compiled GPU functions in Haskell},
author={Mainland, G. and Morrisett, G.},
booktitle={Proceedings of the third ACM Haskell symposium on Haskell},
pages={67–78},
year={2010},
organization={ACM}
}
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.
September 14, 2011 by hgpu
Your response
You must be logged in to post a comment.