publications: - title: "ERBIUM: a deterministic, concurrent intermediate representation for portable and scalable performance" author: - name: "Cupertino Miranda" link: "https://researchr.org/alias/cupertino-miranda" - name: "Philippe Dumont" link: "https://researchr.org/alias/philippe-dumont" - name: "Albert Cohen" link: "http://www-rocq.inria.fr/~acohen/index.html.fr" - name: "Marc Duranton" link: "https://researchr.org/alias/marc-duranton" - name: "Antoniu Pop" link: "http://www.cri.ensmp.fr/people/apop/" year: "2010" doi: "http://doi.acm.org/10.1145/1787275.1787312" links: doi: "http://doi.acm.org/10.1145/1787275.1787312" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/cf/MirandaDCDP10" tags: - "intermediate representation" researchr: "https://researchr.org/publication/MirandaDCDP10" cites: 0 citedby: 0 pages: "119-120" booktitle: "Proceedings of the 7th Conference on Computing Frontiers, 2010, Bertinoro, Italy, May 17-19, 2010" editor: - name: "Nancy M. Amato" link: "https://researchr.org/alias/nancy-m.-amato" - name: "Hubertus Franke" link: "https://researchr.org/alias/hubertus-franke" - name: "Paul H. J. Kelly" link: "https://researchr.org/alias/paul-h.-j.-kelly" publisher: "ACM" isbn: "978-1-4503-0044-5" kind: "inproceedings" key: "MirandaDCDP10" - title: "Preserving high-level semantics of parallel programming annotations through the compilation flow of optimizing compilers" author: - name: "Antoniu Pop" link: "http://www.cri.ensmp.fr/people/apop/" - name: "Albert Cohen" link: "http://www-rocq.inria.fr/~acohen/index.html.fr" year: "2010" month: "07" abstract: "This paper presents a technique for representing the high level semantics of parallel programming languages in the intermediate representation of optimizing compilers. The semantics of these languages does not fit well in the intermediate representation of classical optimizing compilers, designed for single-threaded applications, and is usually lowered to threaded code with opaque concurrency bindings through source-to-source compilation or a front-end compiler pass. The semantical properties of the high-level parallel language are obfuscated at a very early stage of the compilation flow. This is detrimental to the effectiveness of downstream optimizations. We define the properties we introduce in this representation and prove that they are preserved by existing optimization passes. We characterize the optimizations that are enabled or interfere with this representation and evaluate the impact of the serial optimizations enabled by this technique for concurrent programs, using a prototype implemented in a branch of GCC 4.6. While we focus on the OpenMP language as a running example, we also analyze how our semantical abstraction can serve the unification of the analyses and optimizations for a variety of parallel programming languages." links: "url": "http://hal.inria.fr/inria-00551518/PDF/paper.pdf" "url": "http://hal.inria.fr/inria-00551518/en/" tags: - "programming languages" - "optimization" - "semantics" - "intermediate representation" - "data-flow language" - "language design" - "parallel programming" - "data-flow programming" - "data-flow" - "source-to-source" - "compiler" - "programming" - "abstraction" - "program optimization" - "open-source" researchr: "https://researchr.org/publication/POP%3A2010%3AINRIA-00551518%3A1" cites: 0 citedby: 0 booktitle: "Proceedings of the 15th Workshop on Compilers for Parallel Computers (CPC'10)" address: "Vienna Autriche" kind: "inproceedings" key: "POP:2010:INRIA-00551518:1" - title: "Erbium: a deterministic, concurrent intermediate representation to map data-flow tasks to scalable, persistent streaming processes" author: - name: "Miranda, Cupertino" link: "https://researchr.org/alias/miranda%2C-cupertino" - name: "Antoniu Pop" link: "http://www.cri.ensmp.fr/people/apop/" - name: "Dumont, Philippe" link: "https://researchr.org/alias/dumont%2C-philippe" - name: "Albert Cohen" link: "http://www-rocq.inria.fr/~acohen/index.html.fr" - name: "Duranton, Marc" link: "https://researchr.org/alias/duranton%2C-marc" year: "2010" doi: "http://doi.acm.org/10.1145/1878921.1878924" abstract: "Tuning applications for multicore systems involve subtle concurrency concepts and target-dependent optimizations. This paper advocates for a streaming execution model, called ER, where persistent processes communicate and synchronize through a multi-consumer processing applications, we demonstrate the scalability and efficiency advantages of streaming compared to data-driven scheduling. To exploit these benefits in compilers for parallel languages, we propose an intermediate representation enabling the compilation of data-flow tasks into streaming processes. This intermediate representation also facilitates the application of classical compiler optimizations to concurrent programs." links: doi: "http://doi.acm.org/10.1145/1878921.1878924" "url": "http://doi.acm.org/10.1145/1878921.1878924" tags: - "programming languages" - "optimization" - "intermediate representation" - "synchronization" - "meta programming" - "data-flow language" - "persistent" - "meta-model" - "modeling language" - "language modeling" - "Stream Computing" - "parallel programming" - "data-flow programming" - "data-flow" - "compiler" - "program optimization" - "Meta-Environment" - "process modeling" - "stream processing" researchr: "https://researchr.org/publication/Miranda%3A2010%3AEDC%3A1878921.1878924" cites: 0 citedby: 0 pages: "11-20" booktitle: "Proceedings of the 2010 international conference on Compilers, architectures and synthesis for embedded systems" series: "CASES '10" address: "New York, NY, USA" publisher: "ACM" isbn: "978-1-60558-903-9" kind: "inproceedings" key: "Miranda:2010:EDC:1878921.1878924" - title: "A stream-computing extension to OpenMP" author: - name: "Antoniu Pop" link: "http://www.cri.ensmp.fr/people/apop/" - name: "Albert Cohen" link: "http://www-rocq.inria.fr/~acohen/index.html.fr" year: "2011" doi: "http://doi.acm.org/10.1145/1944862.1944867" abstract: "This paper introduces an extension to OpenMP3.0 enabling stream programming with minimal, incremental additions that seamlessly integrate into the current specification. The stream programming model decomposes programs into tasks and explicits the flow of data among them, thus exposing data, task and pipeline parallelism. It helps the programmers to express concurrency and data locality properties, avoiding non-portable low-level code and early optimizations. We survey the diverse motivations and constraints converging towards the design of our simple yet powerful language extension, and we present experimental results of a prototype implementation in a public branch of GCC 4.5." links: doi: "http://doi.acm.org/10.1145/1944862.1944867" "url": "http://doi.acm.org/10.1145/1944862.1944867" tags: - "programming languages" - "optimization" - "OpenMP" - "meta programming" - "data-flow language" - "meta-model" - "modeling language" - "language modeling" - "language design" - "Stream Computing" - "parallel programming" - "constraints" - "data-flow programming" - "data-flow" - "survey" - "programming" - "program optimization" - "Meta-Environment" - "GCC" - "incremental" - "design" researchr: "https://researchr.org/publication/Pop%3A2011%3ASEO%3A1944862.1944867" cites: 2 citedby: 0 pages: "5-14" booktitle: "Proceedings of the 6th International Conference on High Performance and Embedded Architectures and Compilers" series: "HiPEAC '11" address: "New York, NY, USA" publisher: "ACM" isbn: "978-1-4503-0241-8" kind: "inproceedings" key: "Pop:2011:SEO:1944862.1944867" - title: "Advances in Parallel-Stage Decoupled Software Pipelining" author: - name: "Feng Li" link: "https://researchr.org/alias/feng-li" - name: "Antoniu Pop" link: "http://www.cri.ensmp.fr/people/apop/" - name: "Albert Cohen" link: "http://www-rocq.inria.fr/~acohen/index.html.fr" year: "2011" abstract: "Decoupled Software Pipelining (DSWP) is a thread partitioning method enabling compilers to extract pipeline parallelism from sequential programs. Parallel Stage DSWP (PS-DSWP) is an extension that also exploits the data parallelism within pipeline filters. This paper presents a new method, inspired from loop distribution, for automatically extracting pipeline and data parallelism from serial programs. We provide a nested/structured partitioning algorithms based on the hierarchy of control dependences, and with the support of a stream extension of OpenMP as a back-end, we use nested-tasks for generating fine grained and structured stream code, without copying the conditional nodes. We use the Single Static Assignment (SSA) form as an intermediate representation, which could easily generate code for multiple producers and multiple consumers and reduce the complexity of building the scalar dependences." tags: - "program partitioning" - "rule-based" - "intermediate representation" - "SSA" - "DSWP" - "parallel programming" - "data-flow programming" - "data-flow" - "compiler" - "GCC" - "partitioning" researchr: "https://researchr.org/publication/Li-WIR-2011" cites: 0 citedby: 0 pages: "29-36" booktitle: "Proceedings of the Workshop on Intermediate Representations" editor: - name: "Florent Bouchez" link: "http://florent.bouchez.free.fr" - name: "Sebastian Hack" link: "https://researchr.org/alias/sebastian-hack" - name: "Eelco Visser" link: "http://eelcovisser.org" kind: "inproceedings" key: "Li-WIR-2011"