Fast sparse matrix–vector multiplication by partitioning and reordering
Fast sparse matrix–vector multiplication by partitioning and reordering
Albert-Jan Yzelman June, 2011
Albert-Jan Yzelman
Fast sparse matrixvector multiplication by partitioning and - - PowerPoint PPT Presentation
Fast sparse matrixvector multiplication by partitioning and reordering Fast sparse matrixvector multiplication by partitioning and reordering Albert-Jan Yzelman June, 2011 Albert-Jan Yzelman Fast sparse matrixvector multiplication by
Fast sparse matrix–vector multiplication by partitioning and reordering
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering
1
2
3
4
5
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Bulk Synchronous Parallel
1
2
3
4
5
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Bulk Synchronous Parallel
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Bulk Synchronous Parallel
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Bulk Synchronous Parallel
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Bulk Synchronous Parallel
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Bulk Synchronous Parallel
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Bulk Synchronous Parallel
i
i
i
i
i
i
T
T−1
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Bulk Synchronous Parallel
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Bulk Synchronous Parallel
Fast sparse matrix–vector multiplication by partitioning and reordering > Bulk Synchronous Parallel
Fast sparse matrix–vector multiplication by partitioning and reordering > Bulk Synchronous Parallel
Fast sparse matrix–vector multiplication by partitioning and reordering > Bulk Synchronous Parallel
Fast sparse matrix–vector multiplication by partitioning and reordering > Bulk Synchronous Parallel
1 for all nonzeroes k from A
2 for all nonzeroes k from A
3 add all incoming row sums to the corresponding y[i] Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Bulk Synchronous Parallel
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Bulk Synchronous Parallel
64kB L1 64kB L1 64kB L1 Core 1 Core 2 Core 3 Core 4 512kB L2 512kB L2 512kB L2 512kB L2 System interface 6MB shared L3 cache
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Bulk Synchronous Parallel
32kB L1 32kB L1 32kB L1 Core 1 Core 2 Core 3 Core 4 4MB L2 System interface 4MB L2
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Bulk Synchronous Parallel
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Bulk Synchronous Parallel
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Bulk Synchronous Parallel
1 for all nonzeroes k from A
2 add all incoming row sums to the corresponding y[i] Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Bulk Synchronous Parallel
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Partitioning
1
2
3
4
5
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Partitioning
Fast sparse matrix–vector multiplication by partitioning and reordering > Partitioning
Fast sparse matrix–vector multiplication by partitioning and reordering > Partitioning
P
i
s
i
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Partitioning
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Partitioning
8 3 4 7 1 5 6 2
2 3 4 5 6 7 8
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Partitioning
4 12 6 9 5 14 13 8 10 11 7
2
3 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Partitioning
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Partitioning
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Partitioning
Fast sparse matrix–vector multiplication by partitioning and reordering > Partitioning
Fast sparse matrix–vector multiplication by partitioning and reordering > Partitioning
Fast sparse matrix–vector multiplication by partitioning and reordering > Partitioning
Fast sparse matrix–vector multiplication by partitioning and reordering > Partitioning
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Partitioning
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
1
2
3
4
5
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
No cache misses 1 cache miss per row 1 cache miss per row 3 cache misses per row
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
No cache misses 1 cache miss per row 3 cache misses 1 cache miss per row 7 cache misses per row 1 cache miss per row 3 cache misses per row 1 cache miss per row
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
−
c
+
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
−
c
+
−
+
c
i(λi − 1).
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Sequential SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Parallel cache-friendly SpMV
1
2
3
4
5
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Parallel cache-friendly SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Parallel cache-friendly SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Parallel cache-friendly SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Parallel cache-friendly SpMV
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Experimental results
1
2
3
4
5
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Experimental results
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Experimental results
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Experimental results
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Experimental results
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Experimental results
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Experimental results
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Experimental results
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Experimental results
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Experimental results
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Experimental results
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Experimental results
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Experimental results
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Experimental results
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Experimental results
t\p
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Experimental results
t\p
t\p
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Experimental results
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Experimental results
Albert-Jan Yzelman
Fast sparse matrix–vector multiplication by partitioning and reordering > Experimental results
Albert-Jan Yzelman