Title: Sparse MatrixVector Multiplication
1Sparse Matrix-Vector Multiplication
2Clustering benchmark graph
3Link analysis of the web
- Web page vertex
- Link directed edge
- Link matrix Aij 1 if page i links to page j
4Web graph PageRank (Google)
Brin, Page
An important page is one that many important
pages point to.
- Markov process follow a random link most of the
time otherwise, go to any page at random. - Importance stationary distribution of Markov
process. - Transition matrix is pA (1-p)ones(size(A)),
scaled so each column sums to 1. - Importance of page i is the i-th entry in the
principal eigenvector of the transition matrix. - But, the matrix is 8,000,000,000 by 8,000,000,000.
5A Page Rank Matrix
- Importance ranking of web pages
- Stationary distribution of a Markov chain
- Power method matvec and vector arithmetic
- MatlabP page ranking demo (from SC03) on
a web crawl of mit.edu (170,000 pages)
6Strongly connected components
- Symmetric permutation to block triangular form
- Find P in linear time by depth-first search
Tarjan
7RMAT Approximate Power-Law Graph
8Strongly Connected Components
9Sparse Adjacency Matrix and Graph
?
AT
x
ATx
- Adjacency matrix sparse array w/ nonzeros for
graph edges - Storage-efficient implementation from sparse data
structures
10Breadth-First Search Sparse mat vec
?
AT
x
ATx
- Multiply by adjacency matrix ? step to neighbor
vertices - Work-efficient implementation from sparse data
structures
11Breadth-First Search Sparse mat vec
?
AT
x
ATx
- Multiply by adjacency matrix ? step to neighbor
vertices - Work-efficient implementation from sparse data
structures
12Breadth-First Search Sparse mat vec
?
AT
x
ATx
- Multiply by adjacency matrix ? step to neighbor
vertices - Work-efficient implementation from sparse data
structures
13Sparse Matrix times Sparse Matrix
- Shows up often as a primitive.
- Graphs are mostly not mesh-like, i.e. geometric
locality and good separators. - On a 2D processor grid, the parallel sparse
algorithm looks much like the parallel dense
algorithm. - Redistribute to round-robin cyclic or random
distribution for load balance.
14Load Balance Without Redistribution
15Load Balance With Redistribution