Ocelot: A Dynamic Compiler for Bulk-Synchronous Applications in Heterogeneous Systems
Gregory Diamos, Andrew Kerr, Sudhakar Yalamanchili, and Nathan Clark. “Ocelot: A Dynamic Compiler for Bulk-Synchronous Applications in Heterogeneous Systems.” The Nineteenth International Conference on Parallel Architectures and Compilation Techniques. September 2010.
Abstract
This paper presents a high level overview of the implementation of the Ocelot dynamic compiler highlighting design decisions and trade-offs, and showcasing their effect on application performance. Several novel code transformations are explored that are applicable only when compiling explicitly parallel applications and traditional dynamic compiler optimizations are revisited for this new class of applications. This study is expected to inform the design of compilation tools for explicitly parallel programming models (such as OpenCL) as well as future CPU and GPU architectures.
Download
Ocelot: A Dynamic Compiler for Bulk-Synchronous Applications in Heterogeneous Systems [PDF]
Citation
author = {Diamos, Gregory Frederick and Kerr, Andrew Robert and Yalamanchili, Sudhakar and Clark, Nathan},
title = {Ocelot: a dynamic optimization framework for bulk-synchronous applications in heterogeneous systems},
booktitle = {Proceedings of the 19th international conference on Parallel architectures and compilation techniques},
series = {PACT ’10},
year = {2010},
isbn = {978-1-4503-0178-7},
location = {Vienna, Austria},
pages = {353–364},
numpages = {12},
url = {http://doi.acm.org/10.1145/1854273.1854318},
doi = {10.1145/1854273.1854318},
acmid = {1854318},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {cuda, ocelot, ptx},
}