Nikola: Embedding Compiled GPU Functions in Haskell
Access StatusFull text of the requested work is not available in DASH at this time ("dark deposit"). For more information on dark deposits, see our FAQ.
MetadataShow full item record
CitationMainland, 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.
AbstractWe 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 pagehttp://nrs.harvard.edu/urn-3:HUL.InstRepos:9965456
- FAS Scholarly Articles