Advertisement

Compiling High-Level Languages for Vector Architectures

  • Christopher D. Rickett
  • Sung-Eun Choi
  • Bradford L. Chamberlain
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3602)

Abstract

In this paper, we investigate the issues of compiling high-level languages for vector architectures. Vector architectures have regained popularity in recent years, from simple desktop computers with small vector units motivated by multimedia applications to large-scale vector multiprocessing machines motivated by ever-growing computational demands. We show that generating code for various types of vector architectures can be done using several idioms, and that the best idiom is not what a programmer would normally do. Using a set of benchmark programs, we also show that the benefits of vectorization can be significant and must not be ignored. Our results show that high-level languages are an attractive means of programming vector architectures since their compilers can generate code using the specific idioms that are most effective for the low-level vectorizing compiler. This leads to source code that is clearer and more maintainable, has excellent performance across the full spectrum of vector architectures, and therefore improves programmer productivity.

Keywords

Loop Nest Dimensional Array Vectorized Loop Multidimensional Array Array Access 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Intel Corporation: Using Streaming SIMD Extensions 3 in Algorithms with Complex Arithmetic (2004)Google Scholar
  2. 2.
    Carlson, W.W., Draper, J.M., Culler, D.E., Yelick, K., Brooks, E., Warren, K.: Introduction to UPC and language specification. Technical Report CCS-TR-99-157, Center for Computing Sciences, Bowie, MD (1999)Google Scholar
  3. 3.
    Numrich, R.W., Reid, J.K.: Co-Array Fortran for parallel programming. Technical Report RAL-TR-1998-060, Rutherford Appleton Laboratory, Oxon, UK (1998)Google Scholar
  4. 4.
    Snyder, L.: Programming Guide to ZPL. MIT Press, Cambridge (1999)Google Scholar
  5. 5.
    Chamberlain, B.L.: The Design and Implementation of a Region-Based Parallel Language. PhD thesis, University of Washington (2001)Google Scholar
  6. 6.
    Yelick, K., Semenzato, L., Pike, G., Miyamoto, C., Liblit, B., Krishnamurthy, A., Hilfinger, P., Graham, S., Gay, D., Colella, P., Aiken, A.: Titanium: A high-performance Java dialect. In: ACM 1998 Workshop on Java for High-Performance Network Computing (1998)Google Scholar
  7. 7.
    Callahan, D., Chamberlain, B.L., Zima, H.P.: The Cascade High Productivity Language. In: Workshop on High-Level Parallel Programming Models and Supportive E nvironments, HIPS 2004 (2004)Google Scholar
  8. 8.
    Allen, R., Kennedy, K.: Automatic translation of FORTRAN programs to vector form. ACM Transactions on Programming Languages and Systems 9, 491–542 (1987)zbMATHCrossRefGoogle Scholar
  9. 9.
    Bacon, D.F., Graham, S.L., Sharp, O.J.: Compiler transformations for high-performance computing. ACM Computing Surveys 26, 345–420 (1994)CrossRefGoogle Scholar
  10. 10.
    Eigenmann, R., Hoeflinger, J.: Parallelizing and vectorizing compilers. Technical Report ECE-HPCLab-99201, Purdue University School of ECE, High-Performance Computing Lab (2000)Google Scholar
  11. 11.
    Padua, D.A., Wolfe, M.J.: Advanced compiler optimizations for supercomputers. Communications of the ACM 29, 1184–1201 (1986)CrossRefGoogle Scholar
  12. 12.
    Bik, A.J.C., Girkar, M., Grey, P.M., Tian, X.: Automatic intra-register vectorization for the intel architecture. International Journal of Parallel Programming 30, 65–98 (2002)zbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Christopher D. Rickett
    • 1
    • 2
  • Sung-Eun Choi
    • 2
  • Bradford L. Chamberlain
    • 3
  1. 1.South Dakota School of Mines & TechnologyRapid CityUSA
  2. 2.Los Alamos National LaboratoryLos AlamosUSA
  3. 3.Cray Inc.SeattleUSA

Personalised recommendations