(4.52 MB)
Download file

Supporting Data for Design Principles for Sparse Matrix Multiplication on the GPU paper at Euro-Par 2018

Download (4.52 MB)
posted on 28.08.2018, 10:45 authored by Carl Yang, Aydin Buluc, John D. Owens
This repository contains the code and scripts for verifying the claims in the paper "Design Principles for Sparse Matrix Multiplication on the GPU" accepted to the International European Conference on Parallel and Distributed Computing (Euro-Par) 2018.

The related study involves the implementation of novel algorithms for sparse-matrix dense matrix multiplication (SpMM) on the GPU, considering thread-level parallelism, latency hiding with instruction-level parallelism and load-balancing. The approach combines recent advances from the related problem of sparse matrix-dense vector multiplication (SpMV) and a key memory access pattern identified as critical to SpMM performance in order to propose and implement two SpMM algorithms: Row-splitting SpMM and Merge-based SpMM.

Please see Overview Document.pdf included in this repository for installation instructions.

This repository consists of a single .zip archive holding the source code and data for SpMM algorithms using the GraphBLAS primitive:

/graphblas - holds graphblas source code files in C++ language files in .hpp format and bash script .sh format.
/test - source code files in C++ format .cpp and CUDA developer files, an NVIDIA architecture created for parallel processing on nVidia GPUs: .cu
/ext - source code files in C++ format .cpp and CUDA developer files: .cu
Contains source code, benchmarks and data files for merge-spmv: Merge-based Parallel Sparse Matrix-Vector Multiplication and moderngpu; the Modern GPU code and commentary intended to promote new and productive ways of thinking about GPU computing.

/dataset: real-world datasets on which proposed SpMM method is performed, as described in the related Euro-Par 2018 paper. Data are either in .mtx matrix format for small row length datasets or Makefiles relevant graph names and urls to generate data. Data are derived from The University of Florida sparse matrix collection.


Research Data Support

Research data support provided by Springer Nature.