DOI QR코드

DOI QR Code

The Accuracy of the Non-continuous I Test for One-Dimensional Arrays with References Created by Induction Variables

  • Zhang, Qing (Dalian Shipping College, Economic and Technological Development Zone)
  • Received : 2013.02.01
  • Accepted : 2014.11.20
  • Published : 2014.12.31

Abstract

One-dimensional arrays with subscripts formed by induction variables in real programs appear quite frequently. For most famous data dependence testing methods, checking if integer-valued solutions exist for one-dimensional arrays with references created by induction variable is very difficult. The I test, which is a refined combination of the GCD and Banerjee tests, is an efficient and precise data dependence testing technique to compute if integer-valued solutions exist for one-dimensional arrays with constant bounds and single increments. In this paper, the non-continuous I test, which is an extension of the I test, is proposed to figure out whether there are integer-valued solutions for one-dimensional arrays with constant bounds and non-sing ularincrements or not. Experiments with the benchmarks that have been cited from Livermore and Vector Loop, reveal that there are definitive results for 67 pairs of one-dimensional arrays that were tested.

Keywords

References

  1. Z. Shen, Z. Li, and P. C. Yew, "An empirical study of Fortran programs for parallelizing compilers," IEEE Transactions on Parallel and Distributed Systems, vol. 1, no. 3, pp. 356-364, 1990. https://doi.org/10.1109/71.80162
  2. C. I. Jaramillo, "Source level debugging techniques and tools for optimized code," Ph.D. dissertation, University of Pittsburgh, PA, 2000.
  3. U. Banerjee, Dependence Analysis for Supercomputing. Boston, MA: Kluwer Academic Publishers, 1988.
  4. Z. Li, P. C. Yew, and C. Q. Zhu, "An efficient data dependence analysis for parallelizing compilers," IEEE Transactions on Parallel and Distributed Systems, vol. 1, no. 1, pp. 26-34, 1990. https://doi.org/10.1109/71.80122
  5. R. Eigenmann, J. Hoeflinger, and D. Padua, "On the automatic parallelization of the Perfect Benchmarks (R)," IEEE Transactions on Parallel and Distributed Systems, vol. 9, no. 1, pp. 5-23 1998. https://doi.org/10.1109/71.655238
  6. W. Blume and R. Eigenmann, "Nonlinear and symbolic data dependence testing," IEEE Transactions on Parallel and Distributed Systems, vol. 9, no. 12, pp. 1180-1194, 1998. https://doi.org/10.1109/71.737695
  7. J. P. Hoeflinger, "Interprocedural parallelization using memory classification analysis," Ph.D. dissertation, University of Illinois at Urbana-Champaign, IL, 1998.
  8. J. Dongarra, M. Furtney, S. Reinhardt, and J. Russell, "Parallel Loops: a test suite for parallelizing compilers: description and example results," Parallel Computing, vol. 17, no, 10, pp. 1247-1255, 1991. https://doi.org/10.1016/S0167-8191(05)80036-5
  9. K. Psarris, D. Klappholz, and X. Kong, "On the accuracy of the Banerjee test," Journal of Parallel and Distributed Computing, vol. 12, no. 2, pp. 152-157, 1991. https://doi.org/10.1016/0743-7315(91)90019-6
  10. W. Pugh, "A practical algorithm for exact array dependence analysis," Communications of the ACM, vol. 35, no. 8, pp. 102-114, 1992. https://doi.org/10.1145/135226.135233
  11. M. Wolfe and C. W. Tseng, "The power test for data dependence," IEEE Transactions on Parallel and Distributed Systems, vol. 3, no. 5, pp. 591-601, 1992. https://doi.org/10.1109/71.159042
  12. W. J. Vaughan "A residuals management model of the iron and steel industry: a linear programming approach," Ph.D. dissertation, Georgetown University, Washington, DC, 1975.
  13. R. Triolet, F. Irigoin, and P. Feautrier, "Direct parallelization of call statements," in Proceedings of the SIGPLAN Symposium on Compiler Construction, Palo Alto, CA, 1986, pp. 176-185.
  14. X. Kong, D. Klappholz, and K. Psarris, "The I test: an improved dependence test for automatic parallelization and vectorization," IEEE Transactions on Parallel and Distributed Systems, vol. 2, no. 3, pp. 342-349, 1991. https://doi.org/10.1109/71.86109
  15. P. M. Petersen, "Evaluation of programs and parallelizing compilers using dynamic analysis techniques," Ph.D. dissertation, University of Illinois at Urbana-Champaign, IL, 1993.
  16. U. Banerjee, Loop Transformations for Restructuring Compilers: The Foundations. Boston, MA: Kluwer Academic Publishers, 1993.
  17. U. Banerjee, Dependence Analysis. Boston, MA: Kluwer Academic Publishers, 1997.
  18. Y. Paek, "Compiling for distributed memory multiprocessors based on access region analysis," Ph.D. dissertation, University of Illinois at Urbana-Champaign, IL, 1997.
  19. K. Psarris, X. Kong, and D. Klappholz, "The direction vector I test," IEEE Transactions on Parallel and Distributed Systems, vol. 4, no. 11, pp. 1280-1290, 1993. https://doi.org/10.1109/71.250105
  20. K. Psarris and K. Kyriakopoulos, "Data dependence testing in practice," in Proceedings of the International Conference on Parallel Architectures and Compilation Techniques, Newport, Beach, CA, 1999, pp. 264-273.
  21. D. Niedzielski and K. Psarris, "An analytical comparison of the I-test and Omega test," in Proceedings of the 12th International Workshop on Languages and Compilers for Parallel Computing (LCPC1999), La Jolla, CA, 1999, pp. 251-270.
  22. B. T. Smith, J. M. Boyle, and J. J. Dongarra, Matrix Eigensystem Routines-EISPACK Guide, 2nd ed. Heidelberg: Springer, 1976.
  23. D. E. Knuth, The Art of Computer Programming, Volume 2: Seminumerical Algorithms, 2nd ed. Reading, MA: Addison-Wesley, 1981.
  24. W. L. Chang and C. P. Chu, "The extension of the I test," Parallel Computing, vol. 24, no. 14, pp. 2101-2127, 1998. https://doi.org/10.1016/S0167-8191(98)00091-X
  25. W. L. Chang, C. P. Chu, and J. Wu, "The generalized lambda test: a multi-dimensional version of Banerjee's algorithm," International Journal of Parallel and Distributed Systems and Networks, vol. 2, no. 2, pp. 69-78, 1999.
  26. T. C. Huang and C. M. Yang, "Data dependence analysis for array references," Journal of Systems and Software, vol. 52, no. 1, pp. 55-65, 2000. https://doi.org/10.1016/S0164-1212(99)00132-6
  27. W. L. Chang, J. W. Huang, and C. P. Chu, "The non-continuous I test: an improved dependence test for reducing complexity of source level debugging for parallel compilers," in Proceedings of the 3rd International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT2002), Kanazawa, Japan, 2002, pp. 455-462.
  28. W. L. Chang and C. P. Chu, "The generalized direction vector I test," Parallel Computing, vol. 27, no. 8, pp. 1117-1144, 2001. https://doi.org/10.1016/S0167-8191(01)00086-2
  29. W. L. Chang, C. P. Chu, and J. H. Wu, "A multi-dimensional version of the I test," Parallel Computing, vol. 27, no. 13, pp. 1783-1799, 2001. https://doi.org/10.1016/S0167-8191(01)00108-9
  30. J. Hoeflinger and Y. Paek, "A comparative analysis of dependence testing mechanisms," in Proceedings of the 13th International Workshop on Languages and Compilers for Parallel Computing (LCPC2000), Yorktown Heights, NY, 2001, pp. 289-303.
  31. W. L. Chang, C. P. Chu, and J. H. Wu, "A multi-dimensional direction vector I test," Journal of System and Software (Accepted).
  32. D. Levine, D. Callahan, and J. Dongarra, "A comparative study of automatic vectorizing compilers," Parallel Computing, vol. 17, no. 10, pp. 1223-1244, 1991. https://doi.org/10.1016/S0167-8191(05)80035-3
  33. W. Blume and R. Eigenmann, "Performance analysis pf parallelizing compilers on the Perfect Benchmarks programs," IEEE Transactions on Parallel and Distributed Systems, vol. 3, no. 6, pp. 643-656, 1992. https://doi.org/10.1109/71.180621
  34. P. M. Petersen and D. A. Padua, "Static and dynamic evaluation of data dependence analysis techniques," IEEE Transactions on Parallel and Distributed Systems, vol. 7, no. 11, pp. 1121-1132, 1996. https://doi.org/10.1109/71.544354
  35. K. Psarris and K. Kyriakopoulos, "An experimental evaluation of data dependence analysis techniques," IEEE Transactions on Parallel and Distributed Systems, vol. 15, no. 3, pp. 196-213, 2004. https://doi.org/10.1109/TPDS.2004.1264806