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

Computational Experience with Diagonally Structured Linear Algebra in Java

Published: 06 August 2020 Publication 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/
[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.
[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.
[4]
Ronald F Boisvert, José Moreira, Michael Philippsen, and Roldan Pozo. 2001. Java and numerical computing. Computing in Science & Engineering 3, 2 (2001), 18.
[5]
Randal E. Bryant and David R. O'Hallaron. 2016. Computer Systems: A Programmer's Perspective (3rd ed.). Addison-Wesley Publishing Company, USA.
[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.
[7]
J Jack Dongarra and Aad J van der Steen. 2012. High-performance computing systems: Status and outlook. Acta Numerica 21 (2012), 379--474.
[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.
[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.006
[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.
[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.
[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.
[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.
[14]
Igor Pechtchanski and Vivek Sarkar. 2005. Immutability specification and its applications. Concurrency and Computation: Practice and Experience 17, 5-6 (2005), 639--662.
[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.
[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.
[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.
[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--31

Recommendations

Comments

Information & Contributors

Information

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
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]

In-Cooperation

  • Xi'an Jiaotong-Liverpool University: Xi'an Jiaotong-Liverpool University
  • City University of Hong Kong: City University of Hong Kong
  • Guangdong University of Technology: Guangdong University of Technology

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 06 August 2020

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Multidimensional arrays
  2. computational linear algebra
  3. diagonal storage
  4. matrix-matrix multiplication

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

HP3C 2020

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 40
    Total Downloads
  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)2
Reflects downloads up to 16 Feb 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media