Abstract
In this paper we present the initial development of a streaming environment based on a programming model and machine description. The stream programming model consists of an extension to the C language and it’s translation towards a streaming machine. The extensions will be a set of OpenMP-like directives. We show how a serial application can be converted into a streaming parallel application using the proposed annotations. We also show how the machine description can be used to parametrize a cost-model simulator to predict the performance of the stream program. The cost model allows the compiler to determine the best task partitioning and scheduling for each architecture.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Carpenter, P., Rodenas, D., Martorell, X., Ramirez, A., Ayguade, E.: Code generation for streaming applications based on an abstract machine description. Technical Report UPC-DAC-RR-CAP-2007-3, Universitat Politecnica de Catalunya (April 2007)
CEPBA: Paraver performance visualization and analysis tool, http://www.cepba.upc.edu/paraver/
OpenMP: OpenMP Application Program Interface, http://www.openmp.org/
Lee, E., Messerschmitt, D.: Synchronous data flow. Proceedings of the IEEE 75(9), 1235–1245 (1987)
Chen, T., Raghavan, R., Dale, J., Iwata, E.: Cell Broadband Engine Architecture and its first implementation. IBM developer Works (2005)
Girona, S., Labarta, J., Badia, R.: Validation of Dimemas communication model for MPI collective operations. In: Proc. EuroPVM/MPI (2000)
Gordon, M., Thies, W., Amarasinghe, S.: Exploiting coarse-grained task, data, and pipeline parallelism in stream programs. In: Proceedings of the 12th international conference on Architectural support for programming languages and operating systems, pp. 151–162 (2006)
Blossom, E.: GNU radio: tools for exploring the radio frequency spectrum. Linux Journal 2004, 122 (2004)
Eduard, A., Copty, N., Duran, A., Hoeflinger, J., Lin, Y., Federico, M., Su, E., Unnikrishnan, P., Guansong, Z.: A proposal for task parallelism in OpenMP. IWOMP 2007 (submitted 2007)
Gonzalez, M., Ayguade, E., Martorell, X., Labarta, J.: Complex Pipelined Executions in OpenMP Parallel Applications. International Conference on Parallel Processing (ICPP 2001) (to appear)
Gonzalez, M., Ayguade, E., Martorell, X., Labarta, J.: Exploiting pipelined executions in OpenMP. Parallel Processing 2003. In: Proceedings. 2003 International Conference on pp. 153–160 (2003)
Bellens, P., Perez, J., Badia, R., Labarta, J., Center, B., II, U., Girona, J.: CellSs: a Programming Model for the Cell BE Architecture. In: Proceedings of the 2006 ACM/IEEE Conference on Supercomputing (2006)
CEPBA: Dimemas performance analysis tool, http://www.cepba.upc.edu/dimemas/
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Carpenter, P., Rodenas, D., Martorell, X., Ramirez, A., Ayguadé, E. (2007). A Streaming Machine Description and Programming Model. In: Vassiliadis, S., Bereković, M., Hämäläinen, T.D. (eds) Embedded Computer Systems: Architectures, Modeling, and Simulation. SAMOS 2007. Lecture Notes in Computer Science, vol 4599. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73625-7_13
Download citation
DOI: https://doi.org/10.1007/978-3-540-73625-7_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-73622-6
Online ISBN: 978-3-540-73625-7
eBook Packages: Computer ScienceComputer Science (R0)