What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct...
Transcript of What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct...
![Page 1: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/1.jpg)
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company,for the United States Department of Energy’s National Nuclear Security Administration
under contract DEAC0494AL85000.
What's new in Isorropia ? Coloring & Ordering
Cédric Chevalier
Erik Boman, Lee Ann Fisk(thanks to Karen Devine)
Sandia National Laboratories, NM, USATrilinos User’s Group, Oct 21, 2008.
20087514C
![Page 2: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/2.jpg)
What is Isorropia ?• « equilibrium » in Greek:
– First goal, providing load balancing in Trilinos
• Now, Isorropia is a toolbox to do combinatoric operations on matrices or graphs:– Partitioning and Load Balancing– Coloring– Sparse matrix ordering
• Mostly built on top of Zoltan
User/Application
Trilinos Package
Isorropia
Zoltan
Trilinos
![Page 3: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/3.jpg)
How does it work ? • Dependance on Zoltan, now part of Trilinos• Dependance on Teuchos• Some advanced features with EpetraExt
• To compile: ./configure enableisorropia
• Works in parallel and in serial
Isorropia
Teuchos Epetra Zoltan EpetraExt
Trilinos
ParMetis Scotch
![Page 4: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/4.jpg)
Software design (1)
Isorropia::Operator(virtual)
Partitioner OrdererColorer
An Isorropia::Operator is NOT an Epetra Operator !
• An abstract interface, not dependent of the partitioning software or the input type
![Page 5: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/5.jpg)
Software design (2)• An implementation of the previous interface:
– Only Epetra input is supported but the design allows to do the same for other packages
– Only Zoltan is supported but other software can be easily integrated
• This model will be extended by several partitioner class to do different kind of partitioning
![Page 6: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/6.jpg)
Coloring
![Page 7: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/7.jpg)
Distance1 Graph Coloring• Problem (NPhard)
Color the vertices of a graph with as few colors as possible such that no two adjacent vertices receive the same color.
• Applications– Iterative solution of sparse linear systems– Preconditioners– Sparse tiling– Eigenvalue computation– Parallel graph partitioning
![Page 8: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/8.jpg)
Distance2 Graph Coloring• Problem (NPhard)
Color the vertices of a graph with as few colors as possible such that a pair of vertices connected by a path on two or less edges receives different colors.
• Applications– Derivative matrix computation in numerical optimization– Channel assignment– Facility location
• Related problems– Partial distance2 coloring– Star coloring
![Page 9: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/9.jpg)
What Isorropia can do ?• Can compute:
– Distance1 coloring– Distance2 coloring
• Deals with:– Undirected graphs, distributed or not (Epetra_CrsGraph)– Symmetric matrices, distributed or not
(Epetra_RowMatrix)• Isorropia uses Zoltan's coloring capabilities• Isorropia doesn't implement any coloring algorithms
![Page 10: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/10.jpg)
Software interface• One abstract class: Colorer• The coloring can be perform by the method color()
• Object Colorer provides different accessors:– operator[]– numColors(): global number of colors used– numElemsWithColor(): number of local elements with
the given color– elemsWithColor(): array of these local elements– generateMapColoring(): Epetra_MapColoring object
(requires EpetraExt)
![Page 11: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/11.jpg)
ExampleEpetra_CrsMatrix A;
...Isorropia::Epetra::Colorer colorer(A,paramlist);colorer.color(); /* Performs coloring */ /* Parallel loop */
For (int c=1; c <= colorer.numColors() ; ++c){int length = colorer.numElemsWithColor(c);int *columns = new int[length];colorer.elemsWithColor(c, columns, length);/* Do some computations of columns of A of color c */
... }
![Page 12: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/12.jpg)
Experimental Results
![Page 13: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/13.jpg)
Future work• May be extended to other colorings to be suitable for:
– Automatic differenciation– Finite differences computations
• Possible interaction with other coloring software like ColPack (CSCAPES)
![Page 14: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/14.jpg)
Sparse Matrix Ordering
![Page 15: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/15.jpg)
Sparse Matrix Ordering problem• When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt or A→LU)).
• Fillin depends on the order of the unknowns.– Need to provide fillreducing orderings.
A L A L
![Page 16: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/16.jpg)
Fill Reducing ordering• Combinatorial problem, depending on only the structure of the matrix A:
– We can work on the graph associated with A.• NPComplete, thus we deal only with heuristics.• Most popular heuristics:
– Minimum Degree algorithms (AMD, MMD, AMF …)M– Nested Dissection
![Page 17: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/17.jpg)
A
SBA S B
Nested dissection (1)N• Principle [George 1973]
– Find a vertex separator S in graph.– Order vertices of S with highest available indices.– Recursively apply the algorithm to the two separated
subgraphs A and B.
![Page 18: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/18.jpg)
Nested dissection (2)N•Advantages:
– Induces high quality block decompositions.• Suitable for block BLAS 3 computations.
– Increases the concurrency of computations.• Compared to minimum degree algorithms.• Very suitable for parallel factorization.
– It’s the scope here: parallel ordering is for parallel factorization.
![Page 19: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/19.jpg)
Isorropia interface• One abstract class: Orderer• The ordering can be perform by the method order()
• Input : Epetra_RowMatrix or Epetra_CrsGraph
• Object Orderer provides:– Operator[]: associates to a Local ID the permuted
Global ID – Only the permutation vector is available (for more
advanced uses, Zoltan provides more informations)
![Page 20: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/20.jpg)
How do we compute ordering ?• Computations are done via Zoltan, but in third party libraries:
– Metis– ParMetis– Scotch (PTScotch)– Easy to add another
![Page 21: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/21.jpg)
Usages• Focused on Cholesky factorization:
– Limited to symmetric matrices– Can be use for symmetrised matrices (AAt or A+At), but
not automatically converted• In the future, can deal with ordering for unsymmetric LU factorization:
– Will be available also directly in Zoltan by using Hypergraph model
![Page 22: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/22.jpg)
Example
Epetra_CrsMatrix A; /* Square Matrix */...
Isorropia::Epetra::Orderer orderer(A,paramlist);orderer.order(); /* Performs ordering */
/* orderer[LID] is the new global position of LID according to the ordering */
/* Call direct solver:SuperLU/Mumps/UMFPack/Pastix ... */
![Page 23: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/23.jpg)
Experimental results (1)•Metric is OPC, the operation count of Cholesky factorization.•Largest matrix ordered by PTScotch: 83 millions of unknowns on 256 processors (CEA/CESTA)u .•Some of our largest test graphs.
CEA/CESTA1.29E+147.61756862311423millions
Circuit simulation, Qimonda8.92E+106.76291438613qimonda07
3D mechanics mesh, Parasol5.48E+1281.2838354944audikw1
degree|E||V|DescriptionOSS
Average Size (x1000)Graph
![Page 24: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/24.jpg)
Experimental results (2)
3.825.659.8017.1523.0932.69tPM
18.1624.7433.8345.1953.1973.11tPTS
1.07E+138.91E+128.88E+127.78E+126.37E+125.82E+12OPM
5.45E+125.45E+125.45E+125.54E+125.65E+125.73E+12OPTS
audikw1643216842case
Number of processesTest
![Page 25: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/25.jpg)
Experimental results (3)•ParMETIS crashes for all other graphs.
103.73147.35211.68295.38416.45671.60tPTS
2.45E+141.94E+142.71E+143.99E+142.91E+141.45E+14OPTS
23millions
16.6217.3022.2334.68tPTS
7.70E+106.94E+106.38E+105.80E+10OPTS
Qimonda07
643216842case
Number of processesTest
![Page 26: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/26.jpg)
Future directions• Add unsymmetric LU ordering (not available elsewhere)
• Direct integration in Amesos ? – Current interface is enough for SuperLU (even with the
next LU ordering)– How it works for other solvers ?– Do users call directly their solver ?
• Adaptation to provide other matrix ordering ?– Bandwith reduction by RCM or GPS
• Add more powerful interface ? Like in Zoltan ?
![Page 27: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/27.jpg)
General Summary• Isorropia is ready to be in production• Isorropia offers some interesting tools for helping/improving parallelisation in solvers
• Isorropia is wider than Partitioning:– Access to (at least a big part of) the power of Zoltan with
minimal effort
![Page 28: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/28.jpg)
The End
Thank You !
![Page 29: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/29.jpg)
1
![Page 30: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/30.jpg)
2
![Page 31: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/31.jpg)
33
![Page 32: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/32.jpg)
4
Software design (1)
Isorropia::Operator(virtual)
Partitioner OrdererColorer
An Isorropia::Operator is NOT an Epetra Operator !
• An abstract interface, not dependent of the partitioning software or the input type
Doubleclick to add an object
![Page 33: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/33.jpg)
5
Software design (2)• An implementation of the previous interface:
– Only Epetra input is supported but the design allows to do the same for other packages
– Only Zoltan is supported but other software can be easily integrated
• This model will be extended by several partitioner class to do different kind of partitioning
![Page 34: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/34.jpg)
6
Coloring
![Page 35: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/35.jpg)
77
Distance1 Graph Coloring• Problem (NPhard)
Color the vertices of a graph with as few colors as possible such that no two adjacent vertices receive the same color.
• Applications– Iterative solution of sparse linear systems– Preconditioners– Sparse tiling– Eigenvalue computation– Parallel graph partitioning
![Page 36: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/36.jpg)
88
Distance2 Graph Coloring• Problem (NPhard)
Color the vertices of a graph with as few colors as possible such that a pair of vertices connected by a path on two or less edges receives different colors.
• Applications– Derivative matrix computation in numerical optimization– Channel assignment– Facility location
• Related problems– Partial distance2 coloring– Star coloring
![Page 37: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/37.jpg)
9
What Isorropia can do ?• Can compute:
– Distance1 coloring– Distance2 coloring
• Deals with:– Undirected graphs, distributed or not (Epetra_CrsGraph)– Symmetric matrices, distributed or not
(Epetra_RowMatrix)• Isorropia uses Zoltan's coloring capabilities• Isorropia doesn't implement any coloring algorithms
![Page 38: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/38.jpg)
1010
![Page 39: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/39.jpg)
11
ExampleEpetra_CrsMatrix A;
...Isorropia::Epetra::Colorer colorer(A,paramlist);colorer.color(); /* Performs coloring */ /* Parallel loop */
For (int c=1; c <= colorer.numColors() ; ++c){int length = colorer.numElemsWithColor(c);int *columns = new int[length];colorer.elemsWithColor(c, columns, length);/* Do some computations of columns of A of color c */
... }
![Page 40: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/40.jpg)
1212
Experimental Results
![Page 41: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/41.jpg)
1313
Future work• May be extended to other colorings to be suitable for:
– Automatic differenciation– Finite differences computations
• Possible interaction with other coloring software like ColPack (CSCAPES)
![Page 42: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/42.jpg)
1414
Sparse Matrix Ordering
![Page 43: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/43.jpg)
1515
Sparse Matrix Ordering problem• When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt or A→LU)).
• Fillin depends on the order of the unknowns.– Need to provide fillreducing orderings.
A L A L
![Page 44: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/44.jpg)
1616
Fill Reducing ordering• Combinatorial problem, depending on only the structure of the matrix A:
– We can work on the graph associated with A.• NPComplete, thus we deal only with heuristics.• Most popular heuristics:
– Minimum Degree algorithms (AMD, MMD, AMF …)M– Nested Dissection
![Page 45: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/45.jpg)
1717
![Page 46: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/46.jpg)
1818
![Page 47: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/47.jpg)
1919
![Page 48: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/48.jpg)
20
How do we compute ordering ?• Computations are done via Zoltan, but in third party libraries:
– Metis– ParMetis– Scotch (PTScotch)– Easy to add another
![Page 49: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/49.jpg)
21
Usages• Focused on Cholesky factorization:
– Limited to symmetric matrices– Can be use for symmetrised matrices (AAt or A+At), but
not automatically converted• In the future, can deal with ordering for unsymmetric LU factorization:
– Will be available also directly in Zoltan by using Hypergraph model
![Page 50: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/50.jpg)
22
Example
Epetra_CrsMatrix A; /* Square Matrix */...
Isorropia::Epetra::Orderer orderer(A,paramlist);orderer.order(); /* Performs ordering */
/* orderer[LID] is the new global position of LID according to the ordering */
/* Call direct solver:SuperLU/Mumps/UMFPack/Pastix ... */
![Page 51: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/51.jpg)
2323
![Page 52: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/52.jpg)
2424
![Page 53: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/53.jpg)
2525
![Page 54: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/54.jpg)
26
Future directions• Add unsymmetric LU ordering (not available elsewhere)
• Direct integration in Amesos ? – Current interface is enough for SuperLU (even with the
next LU ordering)– How it works for other solvers ?– Do users call directly their solver ?
• Adaptation to provide other matrix ordering ?– Bandwith reduction by RCM or GPS
• Add more powerful interface ? Like in Zoltan ?
![Page 55: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/55.jpg)
27
General Summary• Isorropia is ready to be in production• Isorropia offers some interesting tools for helping/improving parallelisation in solvers
• Isorropia is wider than Partitioning:– Access to (at least a big part of) the power of Zoltan with
minimal effort
![Page 56: What's new in Isorropia ? Coloring & Ordering · •When solving sparse linear systems with direct methods, nonzero terms are created during the factorization process (A→LLt , A→LDLt](https://reader033.fdocuments.in/reader033/viewer/2022060320/5f0cf1fc7e708231d437e879/html5/thumbnails/56.jpg)
28
The End
Thank You !