Table 2: Experiments of Validation of Loop Vectorization preceded by Enabling Transformations. Col. 3 - Applied transfor-
mations for the test case (1 - loop vectorization, 2 - loop collapsing, 3 - loop distribution, 4 - loop unrolling).
Serial
Number (1)
Cases (2)
Transformation
Applied (3)
Lines of codes DG Construction Time (Sec)
Equivalence Checking
Time (Sec) (8)
Src (4) Trans (5) Src (6) Trans (7)
1 alias regression 2 3, 1 15 22 0.223 0.245 0.004
2 alias regression 3,1 14 22 0.147 0.125 0.004
3 const expr 3, 1 15 20 0.101 0.114 0.036
4 conditional expr 3, 1 13 26 0.102 0.125 0.035
5 loop collapsing 3, 2, 1 18 21 0.115 0.145 0.005
allelizing transformations by parallelizing compilers.
Our experimental section indicates encouraging re-
sults for some non-trivial benchmarks for both the
transformations. The present work can be extended
in future along the following directions: 1. validation
of other parallelizing transformations such as soft-
ware pipelining applied by parallelizing compilers, 2.
localizing faulty application of enabling transforma-
tions when more than one of them are applied.
ACKNOWLEDGEMENT
We sincerely thank Dr. Debarshi Kumar Sanyal for
helping us communicating this paper.
REFERENCES
Allen, J. R., Kennedy, K., Porterfield, C., and Warren, J.
(1983). Conversion of control dependence to data de-
pendence. In Proceedings of the 10th ACM SIGACT-
SIGPLAN Symposium on Principles of Programming
Languages, POPL ’83, pages 177–189, New York,
NY, USA. ACM.
Bandyopadhyay, S., Banerjee, K., Sarkar, D., and Mandal,
C. (2012). Translation validation for PRES+ mod-
els of parallel behaviours via an FSMD equivalence
checker. In Progress in VLSI Design and Test - 16th
International Symposium, VDAT 2012, Shibpur, India,
July 1-4, 2012. Proceedings, pages 69–78.
Collard, J.-F. and Griebl, M. (1997). Array dataflow analy-
sis for explicitly parallel programs. Parallel Process-
ing Letters, 07(02):117–131.
Griebl, M. and Lengauer, C. (1996). The loop parallelizer
loopo. In Proceedings of Sixth Workshop on Compil-
ers for Parallel Computers, volume 21 of Konferen-
zen des Forschungszentrums Jlich, pages 311–320.
Forschungszentrum.
Karfa, C., Sarkar, D., Mandal, C., and Kumar, P. (2008). An
equivalence-checking method for scheduling verifica-
tion in high-level synthesis. Computer-Aided Design
of Integrated Circuits and Systems, IEEE Transactions
on, 27(3):556–569.
Krinke, J. (1998). Static slicing of threaded programs. In
Proceedings of the 1998 ACM SIGPLAN-SIGSOFT
Workshop on Program Analysis for Software Tools
and Engineering, PASTE ’98, pages 35–42, New
York, NY, USA. ACM.
Krzikalla, O., Feldhoff, K., Mller-Pfefferkorn, R., and
Nagel, W. E. (2011). Scout: A source-to-source trans-
formator for simd-optimizations. In Alexander, M.,
D’Ambra, P., Belloum, A., Bosilca, G., Cannataro,
M., Danelutto, M., Martino, B. D., Gerndt, M., Jean-
not, E., Namyst, R., Roman, J., Scott, S. L., Traff,
J. L., Valle, G., and Weidendorfer, J., editors, Euro-
Par Workshops (2), volume 7156 of Lecture Notes in
Computer Science, pages 137–145. Springer.
Kundu, S., Lerner, S., and Gupta, R. K. (2010). Transla-
tion validation of high-level synthesis. IEEE Trans. on
CAD of Integrated Circuits and Systems, 29(4):566–
579.
Padua, D. A. and Wolfe, M. J. (1986). Advanced compiler
optimizations for supercomputers. Commun. ACM,
29(12):1184–1201.
Pouchet, L. (2012). Polybench: The polyhedral bench-
mark suite. http://www-roc.inria.fr/pouchet/software/
polybench/download/.
Shashidhar, K. C., Bruynooghe, M., Catthoor, F., and
Janssens, G. (2005). Functional equivalence check-
ing for verification of algebraic transformations on
array-intensive source code. In Proceedings of De-
sign, Automation and Test in Europe, 2005. Proceed-
ings, pages 1310–1315 Vol. 2.
Verdoolaege, S., Janssens, G., and Bruynooghe, M. (2012).
Equivalence checking of static affine programs using
widening to handle recurrences. ACM Trans. Pro-
gram. Lang. Syst., 34(3):11:1–11:35.
ENASE 2016 - 11th International Conference on Evaluation of Novel Software Approaches to Software Engineering
202