Skip to main content

Scalable, Portable, Verifiable Kronecker Products on Multi-scale Computers

  • Chapter
Constraint Programming and Decision Making

Part of the book series: Studies in Computational Intelligence ((SCI,volume 539))

Abstract

Understanding the layout of data and the accessing of that data is paramount to the optimal performance of an algorithm on one or many processors. This paper addresses the need for efficient tools to implement and carry out tensor based computations for scientific and engineering applications. In particular, we focus on certain ubiquitous operations such as outer products of arbitrary multi-dimensional arrays and matrix Kronecker products. We advocate an algebraic methodology based on A Mathematics of Arrays (MoA) and the ψ-Calculus, in which, any array based computer language (such as MATLAB) would be augmented to achieve optimal performance for the computation of multiple outer products. In this approach, an Operational Normal Form (ONF), which specifies the most efficient implementation in terms of starts, stops, and strides is mathematically derived given specific details of the processor/memory hierarchy. The vision of this research is the creation of a system in which the application scientist or engineer can use a functional subset of his/her favorite language and, in so doing, have the ability to generate code with high efficiency and compiler-like optimizations.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abrams, P.S.: What’s wrong with APL? In: APL 1975: Proceedings of Seventh International Conference on APL, pp. 1–8. ACM, New York (1975)

    Google Scholar 

  2. Abrams, P.S.: An APL machine. PhD thesis, Stanford University, Stanford, CA, USA (1970)

    Google Scholar 

  3. Acar, E., Dunlavy, D.M., Kolda, T.G., Morup, M.: Scalable tensor factorizations with missing data. In: SDM 2010: Proceedings of the 2010 SIAM International Conference on Data Mining (April 2010)

    Google Scholar 

  4. Acar, E., Kolda, T.G., Dunlavy, D.M.: An optimizations approach for fitting canonical tensor decompositions. Technical Report SAND2009-0857, Sandia National Laboratories, Albuquerque, NM and Livermore, CA (February 2009)

    Google Scholar 

  5. Bader, B.W., Kolda, T.G.: Matlab tensor toolbox version 2.4 (2001), http://csmr.ca.sandia.gov/~tgkolda/TensorToolbox/

  6. Bader, B.W., Kolda, T.G.: Algorithm 862: Matlab tensor classes for fast algorithm prototyping. ACM Transactions on Mathematical Software 32(4) (December 2006)

    Google Scholar 

  7. Bader, B.W., Kolda, T.G.: Efficient matlab computations with sparse and factored matrices. SIAM Journal on Scientific Computing 30(1), 205–231 (2007)

    Article  MATH  MathSciNet  Google Scholar 

  8. Berkling, K.: Arrays and the lambda calculus. Technical report, CASE Center and School of CIS, Syracuse University (1990)

    Google Scholar 

  9. Eatherton, W., Kelly, J., Schiefelbein, T., Pottinger, H., Mullin, L.R., Ziegler, R.: An fpga based reconfigurable coprocessor board utilizing a mathematics of arrays. Technical report, University of Missouri–Rolla, Computer Science Department (1995)

    Google Scholar 

  10. Gerhart, S.: Verification of APL Programs. PhD thesis, CMU (1972)

    Google Scholar 

  11. Helal, M.A.: Dimension and shape invariant programming: The implementation and the application. Master’s thesis, The American University in Cairo, Department of Computer Science (2001)

    Google Scholar 

  12. Kennedy, A., et al.: (October 2009), http://kac.maths.ed.ac.uk/nsf-nais/home.php

  13. Kepner, J.: Parallel matlab for multicore and multinode camputers. SIAM, Philadelphia (2009)

    Book  Google Scholar 

  14. Kolda, T.G., Bader, B.W.: Tensor decompositions and applications. SIAM Review 51(3), 455–500 (2009)

    Article  MATH  MathSciNet  Google Scholar 

  15. McMahon, T.: Mathematical formulation of general partitioning of multi-dimensional arrays to multi-dimensional architectures using the Psi calculus. Undergraduate Honors Thesis (1995)

    Google Scholar 

  16. Mermin, N.D.: Quantum Computer Science. Cambridge University Press, Cambridge (2007)

    Book  MATH  Google Scholar 

  17. Mullin, L.M.R.: A Mathematics of Arrays. PhD thesis, Syracuse University (December 1988)

    Google Scholar 

  18. Mullin, L.R.: A uniform way of reasoning about array–based computation in radar: Algebraically connecting the hardware/software boundary. Digital Signal Processing 15, 466–520 (2005)

    Article  Google Scholar 

  19. Mullin, L., Kluge, W., Scholtz, S.: On programming scientific applications in SAC – a functional language extended by a subsystem for high level array operations. In: Kluge, W.E. (ed.) IFL 1996. LNCS, vol. 1268, pp. 85–104. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  20. Mullin, L., Nemer, N., Thibault, S.: The Psi compiler v4.0 for HPF to Fortran 90: User’s Guide. Department of Computer Science, University of Missouri–Rolla (1994)

    Google Scholar 

  21. Mullin, L.R., Raynolds, J.E.: Conformal computing: Algebraically connecting the hardware/software boundary using a uniform approach to high-performance computation for software and hardware applications. CoRR, abs/0803.2386 (2008)

    Google Scholar 

  22. Mullin, L., Rutledge, E., Bond, R.: Monolithic compiler experiments using C+ + expression templates. In: Proceedings of the High Performance Embedded Computing Workshop (HPEC 2002). MIT Lincoln Lab, Lexington (2002)

    Google Scholar 

  23. Mullin, L., Rutledge, E., Bond, R.: Monolithic compiler experiments using C+ + Expression Templates. In: Proceedings of the High Performance Embedded Computing Workshop HPEC 2002. MIT Lincoln Laboratory, Lexington (2002)

    Google Scholar 

  24. Mullin, L., Thibault, S.: Reduction semantics for array expressions: The Psi compiler. Technical Report CSC 94-05, Department of Computer Science, University of Missouri-Rolla (1994)

    Google Scholar 

  25. NSF-NAIS Workshop Intelligent Software: The Interface between Algorithms and Machines, Ediburgh, Scotland (October 2009), http://adrg.maths.ed.ac.uk/nsf-nais

  26. Pottinger, H., Eatherton, W., Kelly, J., Schiefelbein, T., Mullin, L.R., Ziegler, R.: Hardware assists for high performance computing using a mathematics of arrays. In: FPGA 1995: Proceedings of the 1995 ACM Third International Symposium on Field-Programmable Gate Arrays, pp. 39–45. ACM, New York (1995)

    Google Scholar 

  27. Raynolds, J.E., Mullin, L.R.: Applications of conformal computing techniques to problems in computational physics: the fast fourier transform. Computer Physics Communications 170(1), 1–10 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  28. Rosenkrantz, D.J., Mullin, L.R., Hunt III, H.B.: On minimizing materializations of array-valued temporaries. ACM Trans. Program. Lang. Syst. 28(6), 1145–1177 (2006)

    Article  Google Scholar 

  29. Tu, H.-C.: FAC: A Functional Array Calculator and it’s Applicaton to APL and Functional Programming. PhD thesis, Yale University (1985)

    Google Scholar 

  30. Tu, H.-C., Perlis, A.J.: FAC: A functional APL language. IEEE Software 3(1), 36–45 (1986)

    Article  Google Scholar 

  31. Van Loan, C.: (February 2009), http://www.cs.cornell.edu/cv/tenwork/home.htm

  32. Van Loan, C.: (May 2009), http://www.cs.cornell.edu/cv/tenwork/finalreport.pdf

  33. Van Loan, C.: The Kronecker product: A product of the times. In: SIAM Conference on Applied Linear Algebra, Monterey, California (October 2009)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lenore Mullin .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Mullin, L., Raynolds, J. (2014). Scalable, Portable, Verifiable Kronecker Products on Multi-scale Computers. In: Ceberio, M., Kreinovich, V. (eds) Constraint Programming and Decision Making. Studies in Computational Intelligence, vol 539. Springer, Cham. https://doi.org/10.1007/978-3-319-04280-0_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-04280-0_14

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-04279-4

  • Online ISBN: 978-3-319-04280-0

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics