skip to main content
10.1145/3407947.3407948acmotherconferencesArticle/Chapter ViewAbstractPublication Pageshp3cConference Proceedingsconference-collections
research-article

Computational Experience with Diagonally Structured Linear Algebra in Java

Authors Info & Claims
Published:06 August 2020Publication History

ABSTRACT

It is a commonly held view that Java's lack of support for true rectangular arrays is one of the main impediments to its widespread applicability in numerical computing. In a recent work, we have proposed efficient implementation of linear algebra kernels such as matrix-vector and matrix-matrix multiplications by formulating arithmetic calculations in terms of diagonals, and thereby giving an orientation-neutral (column-/row-major layout) computational scheme. Diagonally-structured computation is especially suitable for banded matrices. In this paper we show that, using our diagonal framework, Java native arrays can yield superior computational performance. We present two alternative implementations for matrix-matrix multiplication operation in Java. The results from numerical testing demonstrate the advantage of our proposed methods.

References

  1. 2008: (Accessed:2018-07-21). BLAS (Basic Linear Algebra Subprograms). https://www.netlib.org/lapack/Google ScholarGoogle Scholar
  2. Nuerrennisahan Nurgul Aimaiti. 2018. A Computational study of sparse or structured matrix operations, MSC Thesis, Department of Mathematics and Computer Science, University of Lethbridge, Alberta, Canada.Google ScholarGoogle Scholar
  3. Ronald F Boisvert, Jack J Dongarra, Roldan Pozo, Karin A Remington, and GW Stewart. 1998. Developing numerical libraries in Java. Concurrency: Practice and Experience 10, 11-13 (1998), 1117--1129.Google ScholarGoogle ScholarCross RefCross Ref
  4. Ronald F Boisvert, José Moreira, Michael Philippsen, and Roldan Pozo. 2001. Java and numerical computing. Computing in Science & Engineering 3, 2 (2001), 18.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Randal E. Bryant and David R. O'Hallaron. 2016. Computer Systems: A Programmer's Perspective (3rd ed.). Addison-Wesley Publishing Company, USA.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Francisco Heron de Carvalho Junior and Cenez Araújo Rezende. 2016. Performance evaluation of virtual execution environments for intensive computing on usual representations of multidimensional arrays. Science of Computer Programming 132 (2016), 29--49.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. J Jack Dongarra and Aad J van der Steen. 2012. High-performance computing systems: Status and outlook. Acta Numerica 21 (2012), 379--474.Google ScholarGoogle ScholarCross RefCross Ref
  8. Geir Gundersen and Trond Steihaug. 2004. Data structures in Java for matrix computations. Concurrency and computation: Practice and Experience 16, 8 (2004), 799--815.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Geir Gundersen and Trond Steihaug. 2012. On diagonally structured problems in unconstrained optimization using an inexact super Halley method. J. Comput. Appl. Math. 236, 15 (2012), 3685--3695. https://doi.org/10.1016/j.cam.2011.07.006Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Shahadat Hossain and Mohammad Sakib Mahmud. 2019. On Computing with Diagonally Structured Matrices. In Proceedings of The Twenty Third IEEE High Performance Extreme Computing Conference (HPEC 2019). IEEE.Google ScholarGoogle ScholarCross RefCross Ref
  11. Mikel Lujan, Anila Usman, Patrick Hardie, TL Freeman, and John R Gurd. 2005. Storage formats for sparse matrices in Java. In International Conference on Computational Science. Springer, 364--371.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. José E Moreira, Samuel P Midkiff, and Manish Gupta. 2000. From flop to megaflops: Java for technical computing. ACM Transactions on Programming Languages and Systems (TOPLAS) 22, 2 (2000), 265--295.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Jose E Moreira, Samuel P Midkiff, and Manish Gupta. 2003. Supporting multidimensional arrays in Java. Concurrency and Computation: Practice and Experience 15, 3-5 (2003), 317--340.Google ScholarGoogle ScholarCross RefCross Ref
  14. Igor Pechtchanski and Vivek Sarkar. 2005. Immutability specification and its applications. Concurrency and Computation: Practice and Experience 17, 5-6 (2005), 639--662.Google ScholarGoogle ScholarCross RefCross Ref
  15. Ana Rodriguez, Cristian Mateos, and Alejandro Zunino. 2017. Improving scientific application execution on android mobile devices via code re-factorings. Software: Practice and Experience 47, 5 (2017), 763--796.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Thomas Stricker and T Cross. 1997. Global address space, non-uniform band-width: A memory system performance characterization of parallel systems. In Proceedings Third International Symposium on High-Performance Computer Architecture. IEEE, 168--179.Google ScholarGoogle ScholarCross RefCross Ref
  17. Kathy Yelick, Luigi Semenzato, Geoff Pike, Carleton Miyamoto, Ben Liblit, Arvind Krishnamurthy, Paul Hilfinger, Susan Graham, David Gay, Phil Colella, et al. 1998. Titanium: a high-performance Java dialect. Concurrency and Computation: Practice and Experience 10, 11-13 (1998), 825--836.Google ScholarGoogle Scholar
  18. Zahari Zlatev, Phuong Vu, Jerzy Wasniewski, and Kjeld Schaumburg. 1988. Com-putations with symmetric, positive definite and band matrices on a parallel vector processor. Parallel Comput. 8, 1-3 (1988), 301--31Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Computational Experience with Diagonally Structured Linear Algebra in Java

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Other conferences
        HP3C 2020: Proceedings of the 2020 4th International Conference on High Performance Compilation, Computing and Communications
        June 2020
        191 pages
        ISBN:9781450376914
        DOI:10.1145/3407947

        Copyright © 2020 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 6 August 2020

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed limited
      • Article Metrics

        • Downloads (Last 12 months)2
        • Downloads (Last 6 weeks)0

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader