CLOP: A multi-stage compiler to seamlessly embed heterogeneous code

Conference Paper: GPCE'15, October, 2015

Heterogeneous programming complicates software development. We present CLOP, a platform that embeds code targeting heterogeneous compute devices in a convenient and clean way, allowing unobstructed data flow between the host code and the devices, reducing the amount of source code by an order of magnitude. The CLOP compiler uses the standard facilities of the D programming language to generate code strictly at compile-time. In this paper we describe the CLOP language and the CLOP compiler implementation.

@inproceedings{Makarov15, author = {Makarov, Dmitri and Hauswirth, Matthias}, title = {CLOP: A Multi-stage Compiler to Seamlessly Embed Heterogeneous Code}, booktitle = {Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences}, series = {GPCE 2015}, year = {2015}, isbn = {978-1-4503-3687-1}, location = {Pittsburgh, PA, USA}, pages = {109--112}, numpages = {4}, url = {}, doi = {10.1145/2814204.2814211}, acmid = {2814211}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {Embedded Languages, Heterogeneous Programming, Staging}, }