Proceedings Article10.1109/PDP.2017.56
Transforming Procedural Code for Streaming Environments
Michal Brabec,David Bednárek +1 more
- 01 Jan 2017
pp 167-175
1
TL;DR: This paper presents a framework for transformation of a C# procedural code to a Hybrid Flow Graph – a novel intermediate code which employs the streaming paradigm and can be further converted into a streaming application.
read more
Abstract: Streaming environments and similar parallel platforms are widely used in image, signal, or general data processing as a means of achieving high performance. Unfortunately, they are often associated with specific programming languages and, thus, hardly accessible for non-experts. In this paper, we present a framework for transformation of a C# procedural code to a Hybrid Flow Graph – a novel intermediate code which employs the streaming paradigm and can be further converted into a streaming application. This approach will allow creating streaming applications or their parts using a widely known imperative language instead of an intricate language specific to streaming. In this paper, we focus on the transformation of control flow which represents the main difference between procedural code, driven by control flow constructs, and streaming environments, driven by data. Since the use of a streaming platform automatically enables parallelism and vectorization, we were able to demonstrate that the streaming applications generated by our method may outperform their original C# implementation.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Procedural code integration in streaming environments
Michal Brabec
- 11 Jun 2018
TL;DR: This work presents a framework for transformation of a procedural code to a streaming application using a restricted version of the C# language as the interface and demonstrates that the streaming applications generated by the method may outperform their original C# implementation.
References
The program dependence graph and its use in optimization
TL;DR: An intermediate program representation, called the program dependence graph (PDG), that makes explicit both the data and control dependences for each operation in a program, allowing transformations to be triggered by one another and applied only to affected dependences.
The program Dependence Graph and its Use in Optimization
Jeanne Ferrante,Karl J. Ottenstein,Joe D. Warren +2 more
- 17 Apr 1984
TL;DR: An intermediate program representation, called a program dependence graph or PDG, which summarizes not only the data dependences of each operation but also summarizes the control dependence of the operations, which allows transformations such as vectorization to be performed in a manner which is uniform for both data and control dependence.
Aurora: a new model and architecture for data stream management
Daniel J. Abadi,Don Carney,Uğur Çetintemel,Mitch Cherniack,Christian Convey,Sangdon Lee,Michael Stonebraker,Nesime Tatbul,Stan Zdonik +8 more
- 01 Aug 2003
TL;DR: The basic processing model and architecture of Aurora, a new system to manage data streams for monitoring applications, are described and a stream-oriented set of operators are described.
Brook for GPUs: stream computing on graphics hardware
Ian Buck,Tim Foley,Daniel Reiter Horn,Jeremy Sugerman,Kayvon Fatahalian,Mike Houston,Pat Hanrahan +6 more
- 01 Aug 2004
TL;DR: This paper presents Brook for GPUs, a system for general-purpose computation on programmable graphics hardware that abstracts and virtualizes many aspects of graphics hardware, and presents an analysis of the effectiveness of the GPU as a compute engine compared to the CPU.
The ESTEREL language
Frédéric Boussinot,R. de Simone +1 more
- 01 Sep 1991
TL;DR: The authors present the basics of the ESTEREL reactive model of synchronous parallel systems, based on instantaneous communications and decisions, and it is shown how programs can be compiled into finite state sequential machines for efficient execution.
519
Related Papers (5)
Antoniu Pop,Albert Cohen +1 more
- 31 Mar 2012
Robert Clifton-Everest,Trevor L. McDonell,Manuel M. T. Chakravarty,Gabriele Keller +3 more
- 20 Jan 2014
Adrian Sampson,Kathryn S. McKinley,Todd Mytkowicz +2 more
- 22 Oct 2017