Extracting Both Affine and Non-linear Synchronization-Free Slices in Program Loops

  • Wlodzimierz Bielecki
  • Marek Palkowski
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6067)


An approach is presented permitting for extracting both affine and non-linear synchronization-free slices in program loops. It requires an exact dependence analysis. To describe and implement the approach, the dependence analysis by Pugh and Wonnacott was chosen where dependences are found in the form of tuple relations. The approach is based on operations on integer tuple relations and sets and it has been implemented and verified by means of the Omega project software. Results of experiments with the UTDSP benchmark suite are discussed. Speed-up and efficiency of parallel code produced by means of the approach is studied.


synchronization-free slices free-scheduling parallel shared memory programs dependence graph 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Akhter, S., Roberts, J.: Multi-core Programming, Intel Books by Engineers, for Engineers (2006)Google Scholar
  2. 2.
    Allen, R., Kennedy, K.: Optimizing Compilers for Modern Architectures, p. 790. Morgan Kaufmann, San Francisco (2001)Google Scholar
  3. 3.
    Banerjee, U.: Unimodular transformations of double loops. In: Proceedings of the Third Workshop on Languages and Compilers for Parallel Computing, pp. 192–219 (1990)Google Scholar
  4. 4.
    Feautrier, P.: Toward automatic distribution. Journal of Parallel Processing Letters 4, 233–244 (1994)CrossRefGoogle Scholar
  5. 5.
    Lim, W., Cheong, G.I., Lam, M.S.: An affine partitioning algorithm to maximize parallelism and minimize communication. In: Proceedings of the 13th ACM SIGARCH International Conference on Supercomputing (1999)Google Scholar
  6. 6.
    Darte, A., Robert, Y., Vivien, F.: Scheduling and Automatic Parallelization. Birkhuser, Boston (2000)zbMATHGoogle Scholar
  7. 7.
    Bielecki, W., Beletska, A., Palkowski, M., San Pietro, P.: Extracting synchronization-free chains of dependent iterations in non-uniform loops. In: 14th International Multi-Conference on Advanced Computer Systems, Polish Journal of Environmental Studies, Miedzyzdroje, vol. 16(5B), pp. 165–171 (2007)Google Scholar
  8. 8.
    Bielecki, W., Beletska, A., Palkowski, M., San Pietro, P.: Extracting synchronization-free trees composed of non-uniform loop operations. In: Bourgeois, A.G., Zheng, S.Q. (eds.) ICA3PP 2008. LNCS, vol. 5022, pp. 185–195. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  9. 9.
    Boulet, P., Darte, A., Silber, G., Vivien, F.: Loop paralellelization algorithms: from parallelism extraction to code generation, Technical Report 97-17, LIP, ENS-Lyon, France, p. 30 (June 1997)Google Scholar
  10. 10.
  11. 11.
    Pugh, W., Wonnacott, D.: An exact method for analysis of value-based array data dependences. In: The Sixth Annual Workshop on Programming Languages and Compilers for Parallel Computing. Springer, Heidelberg (1993)Google Scholar
  12. 12.
    Kelly, W., Maslov, V., Pugh, W., Rosser, E., Shpeisman, T., Wonnacott, D.: The omega library interface guide. Technical report, College Park, MD, USA (1995)Google Scholar
  13. 13.
    Pugh, W., Rosser, E.: Iteration space slicing and its application to communication optimization. In: Proceedings of the International Conference on Supercomputing, pp. 221–228 (1997)Google Scholar
  14. 14.
  15. 15.
  16. 16.
    Implementation of the presented approach source code, and documentation,

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Wlodzimierz Bielecki
    • 1
  • Marek Palkowski
    • 1
  1. 1.Faculty of Computer ScienceTechnical University of SzczecinSzczecinPoland

Personalised recommendations