======================================================================== APPLICATION : CSB Overview ======================================================================== Author: Aydin Buluc, UCSB, aydin@cs.ucsb.edu Date: 05/13/2009 Classes ------- CSC: - Class that implements the standard "compressed sparse column" format. - Used for baseline comparisons. BiCSB: - Production (final) class that implements "compressed sparse blocks" - Nonzeros within a block are stored in "bit-interleaved" order SYM/CSBSYM [do not use]: - Experimental class that implements a variant of "compressed sparse blocks" - Nonzeros within a block are stored in row-major order - Various optimizations are tried in this class, such as SSE, prefetching, etc. Files ----- csb_spmv(t)_test.cpp : - Driver programs for both sequential and parallel (Cilk++) runs - Usage "./executable matrixfile nosym/sym ascii/binary" or "./executable" in which case read the ascii file matrix.txt if exists (only nosym works for now - special support for symmetric matrices will be available soon) - Executables are parspmv, parspmvt, seqspmv, seqspmvt where names are self explanatory. - For parallel execution, you can specify the number of workers by setting the environmental variable CILK_NPROC. bwtest-mimd.cpp : - Usage "./bwtest-mimd -n file_1 file_2 ... file_n" - Bandwidth test program that reads does SpMV's in n different matrices simultaneously - pthreads implementation oskispmv(t).cpp : - Usage "./oskispmv(t) matrixfile" - Compares the performance of our serial implementations with plain OSKI to reveal any anomalies utility.h : - Includes constants, preprocessors directives and utility functions /////////////////////////////////////////////////////////////////////////////