Abstract
Automatic software parallelization is a key issue for high performance computing. There are many algorithms to transform program loop nests to multithreaded code. However, the time of a transformation process is usually unknown, especially for transitive closure based algorithms. The computational complexity of transitive closure calculation algorithms is relatively high and may prevent applying corresponding transformations. The paper presents the prediction of loop transformation time by means of an artificial neural network for the source-to-source TRACO compiler. The analysis of a loop nest structure and dependences is used to estimate the time of TRACO transformations. The training of a Feed-Forward Neural Network is used to make a decision about transformation time. Experiments with various NAS Parallel Benchmarks show promise for the use of neural networks in automatic code parallelization and optimization.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Kelly, W., Pugh, W.: Transitive closure of infinite graphs and its applications. Int. J. Parallel Programming 24, 579–598 (1996)
Verdoolaege, S.: Integer Set Library - Manual (2011), http://www.kotnet.org/~skimo//isl/manual.pdf
Wlodzimierz, B., Tomasz, K., Marek, P., Beletska, A.: An Iterative Algorithm of Computing the Transitive Closure of a Union of Parameterized Affine Integer Tuple Relations. In: Wu, W., Daescu, O. (eds.) COCOA 2010, Part I. LNCS, vol. 6508, pp. 104–113. Springer, Heidelberg (2010)
Verdoolaege, S., et al.: Transitive Closures of Affine Integer Tuple Relations and their Overapproximations, Rapport de recherch RR-7560, INRIA (2011), http://hal.inria.fr/inria-00578052
Beletska, A., Bielecki, W., Cohen, A., Palkowski, M., Siedlecki, K.: Coarse-grained loop parallelization: Iteration space slicing vs affine transformations. Parallel Computing 37, 479–497 (2011)
Schaul, T., et al.: PyBrain. Journal of Machine Learning Research 11, 743–746 (2010)
Bondhugula, U., Hartono, A., Ramanujan, J., Sadayappan, P.: A practical automatic polyhedral parallelizer and locality optimizer. In: ACM SIGPLAN Programming Languages Design and Implementation, PLDI 2008 (2008)
Chirag, D., Hansang, B., Seung-Jai, M., Seyong, L., Eigenmann, R., Midkiff, S.: Cetus: A Source-to-Source Compiler Infrastructure for Multicores. IEEE Computer, 36–42 (2009)
Amini, M., et al.: Par4All: From Convex Array Regions to Heterogeneous Computing. In: 2nd International Workshop on Polyhedral Compilation Techniques (IMPACT 2012), Paris, France, 01/201 (2012)
Bielecki, W., Palkowski, M., Klimek, T.: Free scheduling for statement instances of parameterized arbitrarily nested af ne loops. Parallel Computing 38(9), 518–532 (2012)
Darte, A., Robert, Y., Vivien, F.: Scheduling and Automatic Parallelization. Birkgauser (2000)
Strey, A., Riehm, J.: Automatic Generation of Efficient Parallel Programs from EpsiloNN Neural Network Specifications (1997)
Rahman, M., Pouchet, L., Sadayappan, P.: Neural Network Assisted Tile Size Selection. In: 5th International Workshop on Automatic Performance Tuning (iWAPT 2010), Berkeley, CA, USA (2010)
NAS Parallel Benchmarks (2013), http://www.nas.nasa.gov
Bielecki, W., Kraska, K., Klimek, T.: Using basis dependence distance vectors in the modified Floyd Warshall algorithm, Journal of Combinatorial Optimization (April 2014)
Pugh, W., Rosser, E.: Iteration space slicing and its application to communication optimization. In: International Conference on Supercomputing, pp. 221–228 (1997)
Pugh, W., Wonnacott, D.: An exact method for analysis of value-based array data dependences. In: Banerjee, U., Gelernter, D., Nicolau, A., Padua, D.A. (eds.) LCPC 1993. LNCS, vol. 768, pp. 546–566. Springer, Heidelberg (1994)
Kelly, W., Maslov, V., Pugh, W., Rosser, E., Shpeisman, T., Wonnacott, D.: The omega library interface guide. Technical report, College Park, MD, USA (1995)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Palkowski, M., Bielecki, W. (2015). Using an Artificial Neural Network to Predict Loop Transformation Time. In: Rutkowski, L., Korytkowski, M., Scherer, R., Tadeusiewicz, R., Zadeh, L., Zurada, J. (eds) Artificial Intelligence and Soft Computing. ICAISC 2015. Lecture Notes in Computer Science(), vol 9119. Springer, Cham. https://doi.org/10.1007/978-3-319-19324-3_10
Download citation
DOI: https://doi.org/10.1007/978-3-319-19324-3_10
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-19323-6
Online ISBN: 978-3-319-19324-3
eBook Packages: Computer ScienceComputer Science (R0)