Sparse Matrix Partitioning, Reordering and Vector Multiplication
Sparse Matrix Partitioning, Reordering and Vector Multiplication
Albert-Jan Yzelman, Utrecht University (NL) May, 2010
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication - - PowerPoint PPT Presentation
Sparse Matrix Partitioning, Reordering and Vector Multiplication Sparse Matrix Partitioning, Reordering and Vector Multiplication Albert-Jan Yzelman, Utrecht University (NL) May, 2010 Albert-Jan Yzelman, Utrecht University (NL) Sparse Matrix
Sparse Matrix Partitioning, Reordering and Vector Multiplication
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Bulk Synchronous Parallel
1
2
3
4
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Bulk Synchronous Parallel
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Bulk Synchronous Parallel
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Bulk Synchronous Parallel
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Bulk Synchronous Parallel
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Bulk Synchronous Parallel
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Bulk Synchronous Parallel
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Bulk Synchronous Parallel
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Bulk Synchronous Parallel
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Bulk Synchronous Parallel
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Bulk Synchronous Parallel
i
i
i
s∈[0,P−1] r(s) i
s∈[0,P−1] t(s) i
s∈[0,P−1] w(s) i
T
T−1
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Bulk Synchronous Parallel
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Matrix partitioning for SpMV
1
2
3
4
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Matrix partitioning for SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Matrix partitioning for SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Matrix partitioning for SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Matrix partitioning for SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Matrix partitioning for SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Matrix partitioning for SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Matrix partitioning for SpMV
P
i
i
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Matrix partitioning for SpMV
s∈[0,P−1] r(s) i
s∈[0,P−1] t(s) i
s
i
i
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Matrix partitioning for SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Matrix partitioning for SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Matrix partitioning for SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Matrix partitioning for SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Matrix partitioning for SpMV
3 4 8 7 5 6 1
✁ ✁ ✁ ✂✁✂ ✂✁✂ ✂✁✂ ✄✁✄✁✄✁✄ ✄✁✄✁✄✁✄ ✄✁✄✁✄✁✄ ☎✁☎✁☎✁☎ ☎✁☎✁☎✁☎ ☎✁☎✁☎✁☎ ✆✁✆ ✆✁✆ ✆✁✆ ✝✁✝ ✝✁✝ ✝✁✝ ✞✁✞ ✞✁✞ ✞✁✞ ✟✁✟ ✟✁✟ ✟✁✟ ✠✁✠ ✠✁✠ ✠✁✠ ✡✁✡ ✡✁✡ ✡✁✡ ☛✁☛ ☛✁☛ ☛✁☛ ☞✁☞ ☞✁☞ ☞✁☞2 1 4 3 5 6 7 8
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Matrix partitioning for SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Matrix partitioning for SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Matrix partitioning for SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Matrix partitioning for SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Matrix partitioning for SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Matrix partitioning for SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Matrix partitioning for SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Matrix partitioning for SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Matrix partitioning for SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Matrix partitioning for SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
1
2
3
4
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Main memory (RAM)
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Main memory (RAM)
Cache Cache (L1) (L2)
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV No cache misses 1 cache miss per row 3 cache misses 1 cache miss 7 cache misses 15 cache misses Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
1 the matrix is stored in Zig-zag CRS format, 2 each SBD block corresponds to one vertex, 3 each row corresponds to one net (containing a vertex if the
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
−
c
+
−
+
c
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
i(λi − 1).
−
c
+
−
+
c
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > Reordering for Sequential SpMV
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > In relation to PSPIKE
1
2
3
4
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > In relation to PSPIKE
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > In relation to PSPIKE
−
c
+
−
+
c
Albert-Jan Yzelman, Utrecht University (NL)
Sparse Matrix Partitioning, Reordering and Vector Multiplication > In relation to PSPIKE
−
c
+
−
+
c
Albert-Jan Yzelman, Utrecht University (NL)