Efficient data compression methods for multi-dimensional sparse array operations

For sparse array operations, in general, the sparse arrays are compressed by some data compression schemes in order to obtain better performance. The Compressed Row/Column Storage (CRS/CCS) schemes are the two common used data compression schemes for sparse arrays in the traditional matrix representation (TMR). When extended to higher dimensional sparse arrays, array operations using the CRS/CCS schemes usually do not perform well. We propose two data compression schemes, extended Karnaugh map representation Compressed Row/Column Storage (ECRS/ ECCS) for multi-dimensional sparse arrays based on the EKMR scheme. To evaluate the proposed schemes, both theoretical analysis and experimental tests are conducted. In theoretical analysis, we analyze CRS/CCS and ECRS/ECCS schemes in terms of the time complexity, the space complexity, and the range of their usability for practical applications. In experimental test, we compare the performance of matrix-matrix addition and matrix-matrix multiplication sparse array operations that use the CRS/CCS and ECRS/ECCS schemes. The experimental results show that sparse array operations based on the ECRS/ECCS schemes outperform those based on the CRS/CCS schemes for all test samples.

[1]  Wei Li,et al.  Unifying data and control transformations for distributed shared-memory machines , 1995, PLDI '95.

[2]  Keshav Pingali,et al.  Compiling Parallel Code for Sparse Matrix Applications , 1997, SC.

[3]  K. Pingali,et al.  Compiling Parallel Code for Sparse Matrix Applications , 1997, ACM/IEEE SC 1997 Conference (SC'97).

[4]  Kanad Ghose,et al.  Caching-efficient multithreaded fast multiplication of sparse matrices , 1998, Proceedings of the First Merged International Parallel Processing Symposium and Symposium on Parallel and Distributed Processing.

[5]  Emilio L. Zapata,et al.  Cache Misses Prediction for High Performance Sparse Algorithms , 1998, Euro-Par.

[6]  Mahmut T. Kandemir,et al.  Improving Cache Locality by a Combination of Loop and Data Transformation , 1999, IEEE Trans. Computers.

[7]  Emilio L. Zapata,et al.  Cache probabilistic modeling for basic sparse algebra kernels involving matrices with a non-uniform distribution , 1998, Proceedings. 24th EUROMICRO Conference (Cat. No.98EX204).

[8]  Joel H. Saltz,et al.  Parallelization Techniques for Sparse Matrix Applications , 1996, J. Parallel Distributed Comput..

[9]  Jenq Kuen Lee,et al.  Compiler optimizations for parallel sparse programs with array intrinsics of Fortran 90 , 1999, Proceedings of the 1999 International Conference on Parallel Processing.

[10]  C.W. Kessler,et al.  The SPARAMAT approach to automatic comprehension of sparse matrix computations , 1999, Proceedings Seventh International Workshop on Program Comprehension.

[11]  Chun-Yuan Lin,et al.  Efficient Representation Scheme for Multidimensional Array Operations , 2002, IEEE Trans. Computers.

[12]  Yeh-Ching Chung,et al.  Efficient parallel algorithms for multi-dimensional matrix operations , 2000, Proceedings International Symposium on Parallel Architectures, Algorithms and Networks. I-SPAN 2000.

[13]  J. Cullum,et al.  Lanczos algorithms for large symmetric eigenvalue computations , 1985 .

[14]  Keshav Pingali,et al.  A Relational Approach to the Compilation of Sparse Matrix Programs , 1997, Euro-Par.

[15]  Jenq Kuen Lee,et al.  Parallel Sparse Supports for Array Intrinsic Functions of Fortran 90 , 2001, The Journal of Supercomputing.

[16]  Richard Barrett,et al.  Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods , 1994, Other Titles in Applied Mathematics.