graphs and sparse matrices: there and back againgilbert/talks/gilbertcsc11oct2016.pdf · siam...

59
1 Graphs and Sparse Matrices: There and Back Again John R. Gilbert University of California, Santa Barbara SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office of Science, NSF

Upload: others

Post on 03-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

1

GraphsandSparseMatrices:ThereandBackAgain

JohnR.GilbertUniversityofCalifornia,SantaBarbara

SIAMCombinatorialScientificComputingOctober11,2016

Support: Intel, Microsoft, DOE Office of Science, NSF

Page 2: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

2

Outline

• Elimination,chordalgraphs,andtreewidth

• Ataleoftwomatroids

• Magiceigenvectors

• Graphsinthelanguageoflinearalgebra

• AwordaboutATA

• Concludingremarks

Page 3: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

3

Outline

• Elimination,chordalgraphs,andtreewidth

• Ataleoftwomatroids

• Magiceigenvectors

• Graphsinthelanguageoflinearalgebra

• AwordaboutATA

• Concludingremarks

Page 4: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

4

Combinatorics in the service of linear algebra

“I observed that most of the coefficients in our matrices were zero; i.e., the nonzeros were ‘sparse’ in the matrix, and that typically the triangular matrices associated with the forward and back solution provided by Gaussian elimination would remain sparse if pivot elements were chosen with care”

- Harry Markowitz, describing the 1950s work on portfolio theory that won the 1990 Nobel Prize for Economics

Page 5: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

5

Cholesky factorization: A = LLT [Parter, Rose]

10

1 3

2

4

5

6

7

8

9

10

1 3

2

4

5

6

7

8

9

G(A) G+(A)[chordal]

Symmetric Gaussian elimination:

for j = 1 to nadd edges between j’shigher-numbered neighbors

Fill: new nonzeros in factor

Page 6: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

6

Chordal graphs and trees: Elimination tree[Duff, Schreiber]

10

1 3

2

4

5

6

7

8

9

Cholesky factor G+(A) T(A)

10

1

3

24

5

6

7

8

9

T(A) : parent(j) = min { i > j : (i, j) in G+(A) }

parent(col j) = first nonzero row below diagonal in L

• T describes dependencies among columns of factor• Can compute T from G(A) in almost linear time• Can compute filled graph G+(A) easily from T

Page 7: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

7

Sparse Gaussian elimination and chordal completion[Parter, Rose]

Repeat:Choose a vertex v and mark it;Add edges between unmarked neighbors of v;

Until: Every vertex is marked

Goal: End up with as few edges as possible.

Equivalently: Add as few edges as possible to make the graph chordal.

(Note for later: “Fewest edges” is not the only interesting objective.)

Page 8: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

8

(PAPT) (Px) = (Pb)

Ax = b

PAPT = L2L2T

A = L1L1T

13

24

5

13

24

5

25

34

1

25

34

1

Sparse Gaussian elimination and chordal completion[Parter, Rose]

Page 9: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

9

Elimination tree with nested dissection

Nested dissection and graph partitioning[George 1973, many extensions]

• Minimum-size chordal completion is NP-complete [Yannakakis]

• Heuristic: Find small vertex separator, put it last, recurse on subgraphs

• Theory: approx optimal separators => approx optimal fill

0 50 100

0

20

40

60

80

100

120

nz = 844

Matrix reordered by nested dissection

Vertex separator in graph of matrix

Page 10: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

10

Chordal graphs and data movement

• A chordal graph can be represented as a tree of overlapping cliques (complete subgraphs).

• A complete subgraph is a dense submatrix.

• Dense matrix ops do n3 work for n2 data movement.

• Most of the ops in Gaussian elimination can be done within dense matrix primitives, esp. DGEMM.

Page 11: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

Supernodes for Gaussian elimination

• Supernode-column update: k sparse vector ops become1 dense triangular solve

+ 1 dense matrix * vector+ 1 sparse vector add

• Sparse BLAS 1 => Dense BLAS 2• Supernode-panel or multifrontal updates => Dense BLAS 3

{

• Supernode = group of adjacent columns of L with same nonzero structure

• Related to clique structureof filled graph G+(A)

Page 12: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

12

Aside: Matrix structure prediction

• Computing the nonzero structure of Cholesky factor L is much cheaper than computing L itself.

• Computing nnz(L) is nearly linear in nnz(A). [G, Ng, Peyton]

Not so for sparse matrix product (SpGEMM); computing nnz(B*C) seems to be as hard as computing B*C.

Can estimate nnz(B*C) accurately in time linear in nnz(B, C)! [E. Cohen 1998]

Lots of cool recent work on sampling algorithms to estimate statistics of matrix functions.

Page 13: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

13

Aside: Matrix structure prediction

• Computing the nonzero structure of Cholesky factor L is much cheaper than computing L itself.

• Computing nnz(L) is nearly linear in nnz(A). [G, Ng, Peyton]

• Not so for sparse matrix product (SpGEMM); computing nnz(B*C) seems to be as hard as computing B*C.

Can estimate nnz(B*C) accurately in time linear in nnz(B, C)! [E. Cohen 1998]

Lots of cool recent work on sampling algorithms to estimate statistics of matrix functions.

Page 14: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

14

Aside: Matrix structure prediction

• Computing the nonzero structure of Cholesky factor L is much cheaper than computing L itself.

• Computing nnz(L) is nearly linear in nnz(A). [G, Ng, Peyton]

• Not so for sparse matrix product (SpGEMM); computing nnz(B*C) seems to be as hard as computing B*C.

• Can estimate nnz(B*C) accurately in time linear in nnz(B, C)![E. Cohen 1998]

• Lots of cool recent work on sampling algorithms to estimate statistics of matrix functions.

Page 15: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

15

Complexity measures for chordal completion

• Nonzeros = edges = Σj dj (moment 1)

• Work = flops = Σj (dj)2 (moment 2)

• Front size = treewidth = maxj dj (moment ∞)

10

1 3

2

4

5

6

7

8

9

G+(A)

Elimination degree:

dj = # higher neighbors of j in G+

d = (2, 2, 2, 2, 2, 2, 1, 2, 1, 0)

Treewidth shows up in lots of other graph algorithms…

Page 16: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

16

Treewidth and Fixed-Parameter-Tractable problems [Downey/Fellows, Arnborg/Proskurowski,Sullivan, many others]

• Many NP-hard problems on graphs have low-order polynomial complexity on graphs of bounded treewidth.

• Coloring, feedback vertex set, co-path set, …

• Algebraic geometry: Solving polynomial equations by chordal elimination & Gröbner bases [Cifuentes/Parrilo]

• Bounded treewidth implies linear-time Ax = b, pretty rare!

• Treewidth of some graph classes:

– Planar: O(sqrt(n))

– Random Erdos-Renyi (connected): O(n)

– Random hyperbolic power law (>=3): O(log n) or O(1)

Page 17: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

17

Network graph decompositions

• Empirical measurements of “treelike structure” in real graphs: [Adcock/Sullivan/Mahoney 2016 etc.]

– Treewidth

– Hyperbolicity

– Core-periphery decomposition etc.

• “Bounded expansion”: Contracting some disjoint low-diameter subgraphs leaves all subgraphs sparse [Demaine et al. 2014]

• Question: What can new ways of looking at the structure of network graphs tell us about efficient linear solvers and eigensolvers?

Page 18: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

18

Outline

• Elimination,chordalgraphs,andtreewidth

• Ataleoftwomatroids

• Magiceigenvectors

• Graphsinthelanguageoflinearalgebra

• AwordaboutATA

• Concludingremarks

Page 19: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

19

Matroid: Abstraction of “independent sets” and rank

• Linear matroid:

– Rows of a matrix

– Independent set = linearly independent vectors.

– Matlab “rank”

• Matching matroid:

– Vertices of bipartite graph

– Independent set = vertices with row-complete matching.

– Matlab “sprank”

• Often the same (under a no-cancellation assumption).

• The matching matroid is less expensive to compute with!

Page 20: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

20

Bipartite matching

• Perfect matching: set of edges that hits each vertex exactly once• Matrix permutation to place nonzeros (or heavy elements) on diagonal• Efficient sequential algorithms based on augmenting paths• No known work/span efficient parallel algorithms

1 52 3 41

5

234

A

1

5

2

3

4

1

5

2

3

4

1 52 3 44

2

531

PA

Page 21: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

21

Strongly connected components

• Symmetric permutation to block triangular form

• Diagonal blocks are strong Hall (irreducible / strongly connected)

• Sequential: linear time by depth-first search [Tarjan]

• Parallel: divide & conquer, work and span depend on input[Fleischer, Hendrickson, Pinar]

1 52 4 7 3 61

5

247

36

PAPT G(A)

1 2

3

4 7

6

5

Page 22: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

22

Dulmage-Mendelsohn decomposition

1

5

234

678

12

91011

1 52 3 4 6 7 8 9 10 111

2

5

3

4

7

6

10

8

9

12

11

1

2

3

5

4

7

6

9

8

11

10

HR

SR

VR

HC

SC

VC

Page 23: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

23

Outline

• Elimination,chordalgraphs,andtreewidth

• Ataleoftwomatroids

• Magiceigenvectors

• Graphsinthelanguageoflinearalgebra

• AwordaboutATA

• Concludingremarks

Page 24: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

24

Laplacian matrix of a graph

• Symmetric, positive semidefinite matrix.

• Eigenvectors for partitioning and embedding[Fiedler, Pothen/Simon, Spielman/Teng, many others]

• Laplacian paradigm: Use Ax = b as a subroutine in graph algorithms[Kelner, Teng, many others]

• See tomorrow morning’s talks by Gary Miller, Elisabetta Bergamini, Kevin Deweese, Tristan Konolige

Page 25: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

25

Graph algorithms in sparse matrix computation

Many, many graph algorithms have been used, invented, implemented at large scale for sparse matrix computation:

• Symmetric problems: elimination tree, nonzero structure prediction, sparse triangular solve, sparse matrix-matrix multiplication, min-height etree, …

• Nonsymmetric problems: sparse triangular solve, bipartite matching (weighted and unweighted), Dulmage-Mendelsohn decomposition / strong components, …

• Iterative methods: graph partitioning again, independent set, low-stretch spanning trees, …

Page 26: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

26

Outline

• Elimination,chordalgraphs,andtreewidth

• Ataleoftwomatroids

• Magiceigenvectors

• Graphsinthelanguageoflinearalgebra

• AwordaboutATA

• Concludingremarks

Page 27: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

27

Largegraphsareeverywhere…

WWWsnapshot,courtesyY.Hyun

Yeastproteininteractions,

courtesyH.Jeong

ScientificData

Social Networks

Cyberspace

Page 28: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

28

• Byanalogytonumericalscientificcomputing...

• WhatshouldthecombinatorialBLASlooklike?

Themiddlewarechallengeforgraphanalysis

C = A*B

y = A*x

μ = xT y

BasicLinearAlgebraSubroutines(BLAS):Ops/Secvs.MatrixSize

Page 29: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

29

Sparse matrix-sparse matrix multiplication

*

Sparsematrix-sparsevectormultiplication

*

.*

Sparsearrayprimitivesforgraphs

Element-wiseoperations Sparsematrixindexing

Matricesovervarioussemirings: (+,×),(and,or), (min,+),…

Page 30: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

30

Multiple-sourcebreadth-firstsearch

B

1 2

3

4 7

6

5

AT

Page 31: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

31

Multiple-sourcebreadth-firstsearch

• Sparsearrayrepresentation=>spaceefficient

• Sparsematrix-matrixmultiplication=>workefficient

• Threepossiblelevelsofparallelism:searches,vertices,edges

BAT AT B

à

1 2

3

4 7

6

5

Page 32: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

32

Examplesofsemirings ingraphalgorithms

(“values”:edge/vertexattributes,“add”:vertexdataaggregation,“multiply”:edge dataprocessing)

Generalschemaforuser-specifiedcomputationatverticesandedges

Realfield: (R,+,*) Numericallinearalgebra

Booleanalgebra:({0 1},|, &) Graphtraversal

Tropicalsemiring:(RU{∞},min,+) Shortestpaths

(S,select,select) Select subgraph,orcontractnodestoformquotientgraph

Page 33: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

33

Countingtriangles(clusteringcoefficient)

A

5

6

3

1 2

4

Clusteringcoefficient:

• Pr (wedgei-j-kmakesatrianglewithedgei-k)

• 3*#triangles/#wedges

• 3*4 /19 =0.63 inexample

• maywanttocomputeforeachvertexj

Page 34: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

34

A

5

6

3

1 2

4

Clusteringcoefficient:

• Pr (wedgei-j-kmakesatrianglewithedgei-k)

• 3*#triangles/#wedges

• 3*4 /19 =0.63 inexample

• maywanttocomputeforeachvertexj

“Cohen’s”algorithmtocounttriangles:

- Counttrianglesbylowest-degreevertex.

- Enumerate“low-hinged”wedges.

- Keepwedgesthatclose.

hi hilo

hi hilo

hihilo

Countingtriangles(clusteringcoefficient)

Page 35: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

35

A L U

12

111 2

C

A = L + U (hi->lo + lo->hi)

L × U = B (wedge, low hinge)

A ∧ B = C (closed wedge)

sum(C)/2 = 4 triangles

A

5

6

3

1 2

4 5

6

3

1 2

4

1

1

2

B, C

Countingtriangles(clusteringcoefficient)

Page 36: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

• Aimedatgraphalgorithmdesigners/programmerswhoarenotexpertinmappingalgorithmstoparallelhardware.

• Flexibletemplated C++interface.• Scalableperformancefromlaptopto100,000-processorHPC.

• Opensourcesoftware.• Version1.5.0releasedJanuary,2016.

Anextensibledistributed-memorylibraryofferingasmallbutpowerfulsetoflinearalgebraicoperations

specificallytargetinggraphanalytics.

CombinatorialBLASgauss.cs.ucsb.edu/~aydin/CombBLAS

[Azad,Buluc,G,Lugowski,…]

Page 37: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

37

CombinatorialBLAS“users”(Jan2016)

• IBM (T.J.Watson, Zurich, & Tokyo)

• Intel• Cray• Microsoft• Stanford• MIT• UC Berkeley• Carnegie-Mellon• Georgia Tech• Purdue • Ohio State• U Texas Austin• NC State • UC San Diego• UC Merced• UC Santa Barbara

• Berkeley Lab• Sandia Labs• Columbia• U Minnesota• Duke• Indiana U• Mississippi State• SEI• Paradigm4• Mellanox• IHPC (Singapore)

• Tokyo Inst of Technology

• Chinese Academy of Sciences• U Canterbury (New Zealand)

• King Fahd U (Saudi Arabia)

• Bilkent U (Turkey)

• U Ghent (Belgium)

Page 38: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

38

TheGraphBLASeffort

• Manifesto, HPEC 2013:

• Workshops at IPDPS, HPEC, SC • Periodic working group telecons and meetings• Graph BLAS Forum: http://graphblas.org

Abstract-- It is our view that the state of the art in constructing a large collection of graph algorithms in terms of linear algebraic operations is mature enough to support the emergence of a standard set of primitive building blocks. This paper is a position paper defining the problem and announcing our intention to launch an open effort to define this standard.

Page 39: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

39HPEC 2016 GraphBLAS BoF 14 September 2016© 2016 Carnegie Mellon University

Distribution Statement A: Approved for Public Release; Distribution is Unlimited

Operation Math Out Inputsmxm C(¬M) ⊕= AT ⊕.⊗ BT C ¬, M, ⊕, A, T, ⊕.⊗, B, Tmxv (vxm) c(¬m) ⊕= AT ⊕.⊗ b c ¬, m, ⊕, A, T, ⊕.⊗, beWiseMult C(¬M) ⊕= AT ⊗ BT C ¬, M, ⊕, A, T, ⊗, B, TeWiseAdd C(¬M) ⊕= AT ⊕ BT C ¬, M, ⊕, A, T, ⊕, B, Treduce (row) c(¬m) ⊕= ⊕j AT(:,j) c ¬, m, ⊕, A, T, ⊕

apply C(¬M) ⊕= f(AT) C ¬, M, ⊕, A, T, f

transpose C(¬M) ⊕= AT C ¬, M, ⊕, A (T)

extract C(¬M) ⊕= AT(i,j) C ¬, M, ⊕, A, T, i, j

assign C(¬M) (i,j) ⊕= AT C ¬, M, ⊕, A, T, i, j

buildMatrix C(¬M) ⊕= mxn(i,j,v,⊕) C ¬, M, ⊕, ⊕, m, n, i, j, v

extractTuples (i,j,v) = A(¬M) i,j,v ¬, M, A

GraphBLAS Base Operations

Notation: i,j – index arrays, v – scalar array, m – 1D mask, other bold-lower – vector (column),M – 2D mask, other bold-caps – matrix, T – transpose, ¬ - structural complement,⊕ monoid/binary function, ⊕.⊗ semiring,blue – optional parameters, red – optional modifiers (using Descriptors)

Page 40: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

40

Breadth-firstsearchwithGraphBLAS(draftCAPIspec)

Page 41: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

41

Outline

• Elimination,chordalgraphs,andtreewidth

• Ataleoftwomatroids

• Magiceigenvectors

• Graphsinthelanguageoflinearalgebra

• AwordaboutATA

• Concludingremarks

Page 42: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

42

Storing A, operating implicitly on ATA

• CombBLAS represents graphs as adjacency matrices.

• D4M [Kepner et al.] represents graphs as incidence matrices; matrix A represents G(ATA):

column = vertex

row = hyperedge

A

Page 43: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

43

Distance-2 coloring for sparse Jacobians[Gebremedhin/Manne/Pothen etc.]

• Goal: compute (sparse) matrix J of partial derivatives, J(i,j) = ∂yi / ∂xj

• Nonoverlapping columns can be computed together.

• Method: find a coloring of G(JTJ) without forming it from J.Diagram courtesy CSCAPES

Page 44: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

44

Storing A, operating implicitly on ATA

• Many, many other cases:

– Optimization: KKT systems, interior point methods.

– Linear equations: QR factorization, structure prediction for LU factorization with partial pivoting.

• Question: What can you do fast on G(ATA) just from G(A)?

Page 45: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

Given the nonzero structure of (nonsymmetric) A, one can find . . .

• column nested dissection or min degree permutation• column elimination tree T(ATA)• row and column counts for filled graph G+(ATA)• supernodes of G+(ATA)• nonzero structure of G+(ATA)

. . . efficiently, without forming ATA.

Structure prediction for PA = LU and A = QR

Page 46: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

46

Statistics for ATA itself are harder!

• nnz(ATA) seems to be as hard as computing ATA.

– but randomized estimate is possible [Cohen 1998]

• Sampling algorithms are possible too, e.g. diamond sampling for k largest elements of ATA (or B*C in general) [Ballard/Kolda/Pinar/Seshadri 2015]

Ballard et al. ICDM 2015

Page 47: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

47

Outline

• Elimination,chordalgraphs,andtreewidth

• Ataleoftwomatroids

• Magiceigenvectors

• Graphsinthelanguageoflinearalgebra

• AwordaboutATA

• Concludingremarks

Page 48: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

48

Past50Years

As the “middleware” of scientific computing,

linear algebra has given us:

• Mathematical tools

• High-level primitives

• High-quality software libraries

• High-performance kernelsfor computer architectures

• Interactive environmentsComputers

ContinuousPhysicalModeling

LinearAlgebra

Page 49: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

49

Computers

ContinuousPhysicalModeling

LinearAlgebra

DiscreteStructureAnalysis

GraphTheory

Computers

Today

Page 50: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

50

Computers

ContinuousPhysicalModeling

LinearAlgebra& GraphTheory

DiscreteStructureAnalysis

Computers

Today

Page 51: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

51

Computers

ContinuousPhysicalModeling

LinearAlgebra

DiscreteStructureAnalysis

GraphTheory

Computers

Tomorrow?

ExtractingSensefromData

MaeLearning?

Computers

Page 52: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

52

Computers

ContinuousPhysicalModeling

LinearAlgebra

DiscreteStructureAnalysis

GraphTheory

Computers

Tomorrow?

Statistics?

Computers

ExtractingSensefromData

Page 53: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

53

Computers

ContinuousPhysicalModeling

LinearAlgebra

DiscreteStructureAnalysis

GraphTheory

Computers

Tomorrow?

DeepLearning?

Computers

ExtractingSensefromData

Page 54: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

54

Computers

ContinuousPhysicalModeling

LinearAlgebra

DiscreteStructureAnalysis

GraphTheory

Computers

Tomorrow?

Neuromorphics ?

Computers

ExtractingSensefromData

Page 55: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

55

Computers

ContinuousPhysicalModeling

LinearAlgebra

DiscreteStructureAnalysis

GraphTheory

Computers

Tomorrow?

xxaine???earngx

Computers

ExtractingSensefromData

Page 56: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

56

Computers

ContinuousPhysicalModeling

LinearAlgebra& GraphTheory& ???

DiscreteStructureAnalysis

Computers

Tomorrow?

Computers

ExtractingSensefromData

Page 57: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

57

• What can new ways of looking at the structure of network graphs tell us about Ax = b and Ax = λx ?

• What else can you do fast on G(ATA) just from G(A) ? (Especially with sampling & approximation)

• What will be the middleware for making sense of big data?

Matrix computation is beginning to repay a 50-year debt to graph algorithms.

It helps to look at things from two directions.

This is a great time to be doing research in CSC…

Page 58: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

58

This is a great time to be doing research in CSC…

• What can new ways of looking at the structure of network graphs tell us about Ax = b and Ax = λx ?

• What else can you do fast on G(ATA) just from G(A) ? (Especially with sampling & approximation)

• What will be the middleware for making sense of big data?

Matrix computation is beginning to repay a 60-year debt to graph algorithms.

It helps to look at things from two directions.

Page 59: Graphs and Sparse Matrices: There and Back Againgilbert/talks/GilbertCSC11oct2016.pdf · SIAM Combinatorial Scientific Computing October 11, 2016 Support: Intel, Microsoft, DOE Office

59

Thanks …

Ariful Azad, David Bader, Lucas Bang, Jon Berry, Eric Boman, Aydin Buluc, Ben Chang, John Conroy, Kevin

Deweese, Erika Duriakova, Assefaw Gebremedhin, ShoaibKamil, Jeremy Kepner, Tammy Kolda, Tristan Konolige,

Manoj Kumar, Adam Lugowski, Tim Mattson, Scott McMillan, Henning Meyerhenke, Jose Moreira, Esmond

Ng, Lenny Oliker, Weimin Ouyang, Ali Pinar, Alex Pothen, Carey Priebe, Steve Reinhardt, Lijie Ren, Eric

Robinson, Viral Shah, Veronika Strnadova-Neely, Blair Sullivan, Shang-Hua Teng, Yun Teng, Sam Williams

… and Intel, Microsoft, NSF, DOE Office of Science