wheatman / csb Goto Github PK
View Code? Open in Web Editor NEWThis project forked from passionlab/csb
This project forked from passionlab/csb
======================================================================== APPLICATION : CSB Overview ======================================================================== Author: Aydin Buluc, LBNL, [email protected] Date: 2/28/2014 - The official release with better instructions for compilation/running is here: https://people.eecs.berkeley.edu/~aydin/csb/html/index.html - This github is to allow new development (i.e. OpenMP and OpenCilk porting, bringing the SpMM case vectorization to AVX2-AVX512) 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 - Described in http://dx.doi.org/10.1145/1583991.1584053 BmCSB: - Class that implements bitmasked register blocks on top of CSB - Change the register block dimension inside utility.h (RBDIM), options are 2,4,8 (default is 8) - Decribed in http://doi.ieeecomputersociety.org/10.1109/IPDPS.2011.73 CSBSYM: - Class that implements the symmetric algorithm - Decribed in http://doi.ieeecomputersociety.org/10.1109/IPDPS.2011.73 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 Ax and A'x 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_NWORKERS. spmm_test.cpp: - Driver program for the multiple vector cases of Ax and A'x (i.e. SpMM for AX and A'X) 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 /////////////////////////////////////////////////////////////////////////////
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.