article · ACM SIGPLAN Notices · 2012
Synthesising graphics card programs from DSLs
Luke Cartey, Rune B. Lyngsø, Oege de Moor
Cited by 1Abstract and details only
Abstract
Over the last five years, graphics cards have become a tempting target for scientific computing, thanks to unrivaled peak performance, often producing a runtime speed-up of x10 to x25 over comparable CPU solutions. However, this increase can be difficult to achieve, and doing so often requires a fundamental rethink. This is especially problematic in scientific computing, where experts do not want to learn yet another architecture. In this paper we develop a method for automatically parallelising recursive functions of the sort found in scientific papers. Using a static analysis of the function dependencies we identify sets - partitions - of independent elements, which we use to synthesise an efficient GPU implementation using polyhedral code generation techniques. We then augment our language with DSL extensions to support a wider variety of applications, and demonstrate the effectiveness of this with three case studies, showing significant performance improvement over equivalent CPU methods, and similar efficiency to hand-tuned GPU implementations.
Cite this paper
Cartey, L., Lyngsø, R. B., & de Moor, O. (2012). Synthesising graphics card programs from DSLs. ACM SIGPLAN Notices, 47(6), 121–132. https://doi.org/10.1145/2345156.2254080
Cartey, Luke, et al. “Synthesising graphics card programs from DSLs.” ACM SIGPLAN Notices, vol. 47, no. 6, 2012, pp. 121–32, https://doi.org/10.1145/2345156.2254080.
Cartey, Luke, Rune B. Lyngsø, and Oege de Moor. 2012. “Synthesising graphics card programs from DSLs.” ACM SIGPLAN Notices 47 (6): 121–32. https://doi.org/10.1145/2345156.2254080.
Cartey, L., Lyngsø, R.B. and de Moor, O. (2012) ‘Synthesising graphics card programs from DSLs’, ACM SIGPLAN Notices, 47(6), pp. 121–132. Available at: https://doi.org/10.1145/2345156.2254080.
@article{cartey2012synthesising,
title = {{Synthesising graphics card programs from DSLs}},
author = {Cartey, Luke and Lyngsø, Rune B. and de Moor, Oege},
journal = {ACM SIGPLAN Notices},
volume = {47},
number = {6},
pages = {121--132},
year = {2012},
doi = {10.1145/2345156.2254080}
}Made from the index record. Check names, capitalisation and page numbers against the paper. Need another style? AI for Research has over 10,000.