Nikola: Embedding Compiled GPU Functions in Haskell
View/ Open
Morrisett_Nikola.pdf (465.7Kb)
Access Status
Full text of the requested work is not available in DASH at this time ("restricted access"). For more information on restricted deposits, see our FAQ.Published Version
https://doi.org/10.1145/1863523.1863533Metadata
Show full item recordCitation
Mainland, Geoffrey, and John Gregory Morrisett. 2010. Nikola: Embedding compiled GPU functions in Haskell. In Haskell '10: Proceedings of the 2010 ACM SIGPLAN Haskell Symposium: September 30, 2010, Baltimore, Maryland, ed. Jeremy Gibbons, 67-78. New York: Association for Computing Machinery.Abstract
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.Citable link to this page
http://nrs.harvard.edu/urn-3:HUL.InstRepos:9965456
Collections
- FAS Scholarly Articles [18256]
Contact administrator regarding this item (to report mistakes or request changes)