| Title: | Nikola: Embedding Compiled GPU Functions in Haskell |
| Author: |
Morrisett, John Gregory; Mainland, Geoffrey
Note: Order does not necessarily reflect citation order of authors. |
| Citation: | 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. |
| Access Status: | At the direction of the depositing author this work is not currently accessible through DASH. |
| Full Text & Related Files: |
Morrisett_Nikola.pdf (476.9Kb; PDF)
|
| 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. |
| Published Version: | doi:10.1145/1863523.1863533 |
| Citable link to this page: | http://nrs.harvard.edu/urn-3:HUL.InstRepos:9965456 |
Contact administrator regarding this item (to report mistakes or request changes)