Abstract
We describe an approach to automatic parallelisation of programs written in Sieve C++ (Codeplay’s C++ extension), using the Sieve compiler and runtime system. In Sieve C++, the programmer encloses a performance-critical region of code in a sieve block, thereby instructing the compiler to delay side-effects until the end of the block. The Sieve system partitions code inside a sieve block into independent fragments and speculatively distributes them among multiple cores. We present implementation details and experimental results for the Sieve system on the Cell BE processor.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Codeplay: Portable high-performance compilers, http://www.codeplay.com/
Lokhmotov, A., Mycroft, A., Richards, A.: Delayed side-effects ease multi-core programming. In: Kermarrec, A.-M., Bougé, L., Priol, T. (eds.) Euro-Par 2007. LNCS, vol. 4641, pp. 629–638. Springer, Heidelberg (2007)
Lindley, S.: Implementing deterministic declarative concurrency using sieves. In: Proc. of the ACM SIGPLAN Workshop on Declarative Aspects of Multicore Programming (DAMP), ACM Press, New York (2007)
Allen, R., Kennedy, K.: Optimizing Compilers for Modern Architectures. Morgan Kaufmann, San Francisco (2002)
IBM/Sony/Toshiba: Cell Broadband Engine Programming Handbook Version 1.1 (2007)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Donaldson, A., Riley, C., Lokhmotov, A., Cook, A. (2008). Auto-parallelisation of Sieve C++ Programs. In: Bougé, L., et al. Euro-Par 2007 Workshops: Parallel Processing. Euro-Par 2007. Lecture Notes in Computer Science, vol 4854. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-78474-6_5
Download citation
DOI: https://doi.org/10.1007/978-3-540-78474-6_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-78472-2
Online ISBN: 978-3-540-78474-6
eBook Packages: Computer ScienceComputer Science (R0)