Difference: CSX (3 vs. 4)

Revision 42011-03-15 - KorniliosKourtis

Line: 1 to 1
META TOPICPARENT name="ActivitiesProjects"
The Compressed Sparse eXtended (CSX) format for sparse matrices is a sparse matrix format that seeks to minimize the memory footprint of the column index array of the typical Compressed Sparse Row (CSR) format by exploiting dense substructures inside the sparse matrix. Instead of storing a single index for every nonzero element of the sparse matrix, CSX stores a short description for each substructure found in the matrix (and selected for encoding). This technique can save significant amount of main memory storage and minimize the bandwidth requirements of the Sparse Matrix-Vector Multiplication (SpMV) kernel. Finally, the CSX format employes runtime code generation (using the LLVM compiler infrastructure) for emitting optimized SpMV routines for each encoded pattern.
Line: 11 to 11
  • K. Kourtis, V. Karakasis, G. Goumas, and N. Koziris, "CSX: An extended compression format for SpMV on shared memory systems," 16th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming (PPoPP'11) San Antonio, TX, USA, February 12-16, 2011 (pdf).


The transformation for the anti-diagonal case shown in this paper is incorrect. The correct one is:
i' = i + j - 1
j' = i, if i' <= ncols
j' = ncols + 1 - j, if i' > ncols
The transformation shown in the paper is the reverse transformation for the diagonal case.

Code links:

  • anti-diagonal (i.e., reverse-diagonal) transformation: pnt_map_rD
  • diagonal reverse transformation: pnt_rmap_D

Reported by Xiuxia Zhang

META FILEATTACHMENT attachment="csx-v0.1.tar.bz2" attr="" comment="CSX source (v0.1)" date="1297353066" name="csx-v0.1.tar.bz2" path="csx-v0.1.tar.bz2" size="63803" stream="csx-v0.1.tar.bz2" user="Main.KorniliosKourtis" version="1"
This site is powered by the TWiki collaboration platform Powered by Perl

No permission to view TWiki.WebBottomBar