An Iteration Space Visualizer for Polyhedral Loop Transformations in Numerical Programming
Marek Palkowski, Wlodzimierz Bielecki
Citation: Proceedings of the 2016 Federated Conference on Computer Science and Information Systems, M. Ganzha, L. Maciaszek, M. Paprzycki (eds). ACSIS, Vol. 8, pages 705–708 (2016)
Abstract. An iteration space visualizer is presented to analyze parallelism in loop nests including parallelism in tiled code of numerical programs. The tool visualizes exact data dependences available in arbitrarily nested loops as well as tiles generated with TRACO by means of the transitive closure of a loop nest dependence graph. Various graphical operations such as rotation, zooming, coloring and filtering allow for a detailed examination of dependences, iteration space slices, and shapes of generated tiles. The visualizer is a built-in TRACO module which collects results generated with TRACO and it is launched automatically when TRACO finishes code generation. The visualizer helps high-performance application developers discover parallelism available in loop nests and analyze tiled code produced by means of the polyhedral model.
- Y. Yu and E. H. D’Hollander, “Loop parallelization using the 3d iteration space visualizer,” J. Vis. Lang. Comput., vol. 12, no. 2, pp. 163–181, Apr. 2001.
- M. Palkowski, T. Klimek, and W. Bielecki, “Traco: An automatic loop nest parallelizer for numerical applications,” in Computer Science and Information Systems (FedCSIS), Sept 2015, pp. 681–686.
- S. Verdoolaege, “Integer set library - manual,” Tech. Rep., 2011. http://www.kotnet.org/~skimo/isl/manual.pdf,
- J. D. Hunter, “Matplotlib: A 2d graphics environment,” Computing In Science & Engineering, vol. 9, no. 3, pp. 90–95, 2007.
- W. Pugh and D. Wonnacott, “An exact method for analysis of value-based array data dependences,” in Sixth Annual Workshop on Program- ming Languages and Compilers for Parallel Computing. Springer-Verlag, 1993.
- Wayne Kelly et al., “The omega library interface guide,” College Park, MD, USA, Tech. Rep., 1995.
- C. Bastoul, “Code generation in the polyhedral model is easier than you think,” in PACT’13 IEEE Intern. Conf. on Parallel Architecture and Compilation Techniques, Juan-les-Pins, 2004, pp. 7–16.
- W. Bielecki, M. Palkowski, and T. Klimek, “Free scheduling for statement instances of parameterized arbitrarily nested affine loops,” Parallel Computing, vol. 38, no. 9, pp. 518–532, Sep. 2012.
- A. Lim, G. I. Cheong, and M. S. Lam, “An affine partitioning algorithm to maximize parallelism and minimize communication,” in Proceedings of the 13th ACM SIGARCH International Conference on Supercomputing. ACM Press, 1999, pp. 228–237.
- V. Loechner, “PolyLib: A library for manipulating parameterized polyhedra,” 1999. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.9.8197
- M. Griebl, “Automatic parallelization of loop programs for distributed memory architectures,” 2004.
- Y. Yu, “A 3d-java tool to visualize loop-carried dependences,” in Applications, Proceedings of the International Conference ParCo’99. College Press, 1999, pp. 17–20.
- O. Zinenko, C. Bastoul, and S. Huot, “Manipulating visualization, not codes,” in International Workshop on Polyhedral Compilation Tech- niques 2015 (IMPACT), 2015, p. 8.
- Mines Paristech, “Linpy documentation release 1.0,” 2014.