Skip to main content

Transitive Closure Based Schedule of Loop Nest Statement Instances

  • Conference paper
  • First Online:
Book cover Advances in Soft and Hard Computing (ACS 2018)

Part of the book series: Advances in Intelligent Systems and Computing ((AISC,volume 889))

Included in the following conference series:

  • 378 Accesses

Abstract

A novel algorithm of loop nest statement instance scheduling is presented. It is based on the transitive closure of dependence graphs. The algorithm is implemented in the publicly available optimizing TRACO compiler, which allows for automatic parallelization of program loop nests and automatic generation of parallel compilable code in the OpenMP standard. Results of an experimental study demonstrate that the algorithm is able to generate parallel code for popular benchmarks and this code achieves satisfactory speed-up on modern machines. The computational complexity of the approach is low. Future algorithm improvements are discussed.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    To allow for computing the union of all dependence relations for imperfectly nested loops as well as valid code generation, we have to preprocess sets and relations. Preprocessing makes the sizes of tuples to be the same by means of scattering [1] and inserts identifiers of loop nest statements in the last position of tuples.

  2. 2.

    The original programs are available at the webpage http://repo.or.cz/w/pluto.git/tree/HEAD:/examples. The generated codes are available at the repository https://sourceforge.net/p/traco/code/HEAD/tree/trunk/examples/lu.

References

  1. Bastoul, C., Cohen, A., Girbal, S., Sharma, S., Temam, O.: Putting polyhedral loop transformations to work. In: International Workshop on Languages and Compilers for Parallel Computers, LCPC 2016. LNCS, Texas, vol. 2958, pp. 209–225 (2003)

    Google Scholar 

  2. Beletska, A., et al.: Coarse-grained loop parallelization: iteration space slicing vs affine transformations. Parallel Comput. 37, 479–497 (2011)

    Article  Google Scholar 

  3. Bielecki, W., Palkowski, M., Klimek, T.: Free scheduling for statement instances of parameterized arbitrarily nested affine loops. Parallel Comput. 38(9), 518–532 (2012)

    Article  Google Scholar 

  4. Bondhugula, U., et al.: A practical automatic polyhedral parallelizer and locality optimizer. SIGPLAN Not. 43(6), 101–113 (2008)

    Article  Google Scholar 

  5. Feautrier, P.: Some efficient solutions to the affine scheduling problem: I. one-dimensional time. Int. J. Parallel Program. 21(5), 313–348 (1992)

    Google Scholar 

  6. Feautrier, P.: Some efficient solutions to the affine scheduling problem. Part II. multidimensional time. Int. J. of Parallel Program. 21(6), 389–420 (1992)

    Google Scholar 

  7. Griebl, M., Feautrier, P., Lengauer, C.: Index set splitting. Int. J. Paralleling Program. 28, 607–631 (2000)

    Article  Google Scholar 

  8. Grosser, T., Verdoolaege, S., Cohen, A.: Polyhedral AST generation is more than scanning polyhedra. ACM Trans. Program. Lang. Syst. 37(4), 12:1–12:50 (2015)

    Google Scholar 

  9. Lim, A., 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, pp. 228–237. ACM Press (1999)

    Google Scholar 

  10. Pugh, W., Wonnacott, D.: An exact method for analysis of value-based array data dependences. In: Sixth Annual Workshop on Programming Languages and Compilers for Parallel Computing. Springer (1993)

    Google Scholar 

  11. Verdoolaege, S.: isl: an integer set library for the polyhedral model. In: Mathematical Software, ICMS 2010. LNCS, vol. 6327, pp. 299–302. Springer, Heidelberg (2010)

    Google Scholar 

Download references

Acknowledgements

Thanks to the Miclab Team (miclab.pl) from the Technical University of Czestochowa (Poland) that provided access to high performance multi-core machines for the experimental study presented in this paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Wlodzimierz Bielecki .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Bielecki, W., Palkowski, M. (2019). Transitive Closure Based Schedule of Loop Nest Statement Instances. In: Pejaś, J., El Fray, I., Hyla, T., Kacprzyk, J. (eds) Advances in Soft and Hard Computing. ACS 2018. Advances in Intelligent Systems and Computing, vol 889. Springer, Cham. https://doi.org/10.1007/978-3-030-03314-9_11

Download citation

Publish with us

Policies and ethics