a supernode amalgamation algorithm for an …a supernode amalgamation algorithm for an efficient...

57
A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate team P. Hénon, P. Ramet, J. Roman LaBRI, UMR CNRS 5800, Université Bordeaux I Projet ScAlApplix, INRIA Bordeaux Sud-Ouest + collaboration with Y. Saad (University of Minnesota)

Upload: others

Post on 27-Dec-2019

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

A supernode amalgamation algorithm for an efficient block

incomplete factorization

Mini-WorkshopMinneapolis, 9 jully 2008PhyLeaS associate team

P. Hénon, P. Ramet, J. RomanLaBRI, UMR CNRS 5800, Université Bordeaux I

Projet ScAlApplix, INRIA Bordeaux Sud-Ouest+ collaboration with Y. Saad (University of Minnesota)

Page 2: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Outlines

• Introduction (motivation for hybrid approach)• Direct solvers • Methods to get dense blocks in ILU(k)• Experiments

Page 3: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Motivation of this work

•• A A popularpopular choicechoice as an as an algebraicalgebraic preconditionerpreconditioner isis an an ILU(k) ILU(k) preconditionerpreconditioner ((levellevel--ofof--fillfill basedbased incinc. facto.). facto.)

•• BUTBUT�� ParallelizationParallelization isis not not easyeasy

�� ScalarScalar formulation formulation doesdoes not not taketake advantageadvantage of of superscalarsuperscalar effecteffect (i.e. BLAS) (i.e. BLAS) => => UsuallyUsually a a lowlow value of value of fillfill isis usedused (k=0 or k=1)(k=0 or k=1)

�� ManyMany people are people are workingworking on on hybridhybrid methodsmethods(Luc Giraud (Luc Giraud atat IRIT, David IRIT, David KeyesKeyes atat LivermoreLivermore, , ……))

Page 4: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Motivation of this work

ILU + Krylov ILU + Krylov MethodsMethods

BasedBased on on scalarscalar implementationimplementation

DifficultDifficult to to parallelizeparallelize ((mostlymostly DD + DD + Schwartz additive => # of Schwartz additive => # of iterationsiterations dependsdepends on the on the numbernumberof processors)of processors)

LowLow memorymemory consumptionconsumption

PrecisionPrecision ~ 10^~ 10^--5 5

Direct Direct methodsmethods

BLAS3 (BLAS3 (mostlymostly DGEMM)DGEMM)Thread/SMP, Thread/SMP, LoadLoad BalanceBalance……

ParallelizationParallelization job job isis donedone (MUMPS, (MUMPS, PASTIX, SUPERLUPASTIX, SUPERLU……) )

High High memorymemory consumptionconsumption : : veryverylarge 3D large 3D problemsproblems are out of are out of theirtheirleagueleague (100 millions (100 millions unknownsunknowns))

Great Great precisionprecision ~ 10^~ 10^--1818

We want a trade-off !

Page 5: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

PaStiX solver

• Current development team (SOLSTICE)• F. Pellegrini (assistant professor LaBRI/INRIA)• P. Hénon (researcher INRIA)• P. Ramet (assistant professor LaBRI/INRIA)• J. Roman (professor, leader of ScAlApplix INRIA project)

• PhD student• M. Faverge (NUMASIS project)

• Others contributors since 1998• D. Goudin (CEA-DAM)• D. Lecas (CEA-DAM)

• Main users• Electomagnetism & structural mechanics codes at CEA-DAM CESTA• MHD Plasma instabilities for ITER at CEA-Cadarache (ASTER)• Fluid mechanics at MAB Bordeaux

Page 6: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

PaStiX solver• Functionnalities

• LLt, LDLt, LU factorization (symmetric pattern) with supernodal implementation• Static pivoting (Max. Weight Matching) + It. Raff. / CG / GMRES• 1D/2D block distribution + Full BLAS3• Support external ordering library (provide Scotch ordering)• MPI/Threads implementation (SMP node / Cluster / Multi-core / NUMA)• Simple/Double precision + Float/Complexe operations• Require only C + MPI + Posix Thread• Multiple RHS (direct factorization)• Incomplete factorization ILU(k) preconditionner

• Available on INRIA Gforge• All-in-One source code• Easy to install on Linux or AIX systems• Simple API (WSMP like)• Thread safe (can be called from multiple threads in multiple MPI communicators)

• Current works• Use of parallel ordering (PT-Scotch) and parallel symbolic factorization)• Dynamic scheduling inside SMP nodes (static mapping)• Out-of Core implementation• Generic Finite Element Assembly (domaine decomposition associated to matrix

distribution)

Page 7: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Direct solver chain (in PaStiX)

Scotch(ordering &

amalgamation)

Fax(block symbolicfactorization)

Blend(refinement &

mapping)

Sopalin(factorizing &

solving)

graph partition symbolMatrixDistributed

solverMatrix

Distributedfactorized

solverMatrix

Distributedsolution

Analyze (sequential steps) // fact. and solve

Page 8: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Direct solver chain (in PaStiX)

Scotch(ordering &

amalgamation)

Fax(block symbolicfactorization)

Blend(refinement &

mapping)

Sopalin(factorizing &

solving)

graph partition symbolMatrixDistributed

solverMatrix

Distributedfactorized

solverMatrix

Distributedsolution

Sparse matrix ordering (minimizes fill-in)•Scotch: an hybrid algorithm

• incomplete Nested Dissection• the resulting subgraphs being ordered with an Approximate Minimum Degree method under constraints (HAMD)

Page 9: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Direct solver chain (in PaStiX)

Scotch(ordering &

amalgamation)

Fax(block symbolicfactorization)

Blend(refinement &

mapping)

Sopalin(factorizing &

solving)

graph partition symbolMatrixDistributed

solverMatrix

Distributedfactorized

solverMatrix

Distributedsolution

The symbolic block factorization• Q(G,P)→Q(G,P)*=Q(G*,P)=> linear in number of blocks!

• Dense block structures → only a extra few pointersto store the matrix

12

34

56

7

89

1011

1213

14

15

1617

1819

2021

22

2324

2526

2728

29

30

31

Page 10: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Direct solver chain (in PaStiX)

Scotch(ordering &

amalgamation)

Fax(block symbolicfactorization)

Blend(refinement &

mapping)

Sopalin(factorizing &

solving)

graph partition symbolMatrixDistributed

solverMatrix

Distributedfactorized

solverMatrix

Distributedsolution1 2 3 4 5 6 7 8

1 2 3 4 5 5 6 7 8

51 2 3 4 5 6 7 8

4 41 2 2 3 86 7

2321

6 7 7

CPU time prediction

Exact memory ressources

Page 11: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

• Modern architecture management (SMP nodes) : hybrid Threads/MPI implementation (all processors in the same SMP node work directly in share memory)

� Less MPI communication and lower the parallel memory overcost

Scotch(ordering &

amalgamation)

Fax(block symbolicfactorization)

Blend(refinement &

mapping)

Sopalin(factorizing &

solving)

graph partition symbolMatrixDistributed

solverMatrix

Distributedfactorized

solverMatrix

Distributedsolution

Direct solver chain (in PaStiX)

Page 12: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

• Mapping by processorStatic scheduling by processor

• Each processor owns its local part of the matrix (private user space )

• Message passing (MPI or MPI_shared_memory ) between any processors

• Aggregation of all contributions is done per processor

• Data coherency insured by MPI semantic

• Mapping by SMP nodeStatic scheduling by thread

• All the processors on a same SMP node share a local part of the matrix (shared user space )

• Message passing (MPI) between processors on different SMP nodes

Direct access to shared memory (pthread ) between processors on a same SMP node

• Aggregation of non local contributions is done per node

• Data coherency insured by explicit mutex

MPI/Threads implementation for SMP clusters

Page 13: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

MPI only

MPI−SHM

MPIMPI

Another SMP node

Processor 1

Processor 2

AUB

AUBAUB

• Processors 1 and 2 belong to the same SMP node• Data exchanges when only MPI processes are used in the parallelization

Page 14: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

MPI/Threads

Another SMP node

Thread 1

Thread 2

AUB

MPI

Shared memory

• Thread 1 and 2 are created by one MPI process• Data exchanges when there is one MPI process per SMP node and one thread per processor

� much less MPI communications(only between SMP nodes)

� no aggregation for modifications ofall blocks belonging to processorsinside of a SMP node

Page 15: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

SP3 : AUDI ; N=943.10 3 ; NNZL=1,21.109 ; 5,3 TFlops

0,00

100,00

200,00

300,00

400,00

500,00

Tim

e

16 32 64 128

SMP16

SMP8

SMP4

SMP1

Processors

0

50

100

150

200

250

300

350

400

% m

ax o

verm

em

/ m

ax

coef

f.

16 32 64 128

SMP16

SMP8

SMP4

SMP1

Processors

(134,45)(211,35)############1

87,56155,23266,89472,674

81,90145,19265,09476,408

86,07152,58270,16481,9616

128643216Processors

Num

. of t

hrea

ds

/ MP

I pro

cess

0

0,2

0,4

0,6

0,8

1

Sca

labi

lity

16 32 64 128

SMP16

SMP8

SMP4

SMP1

Processors

Page 16: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

AUDI : 943.103 (symmetric)

• SP4 : 32 ways Power4+ (with 64Go)

51,02100,4

04

47,2896,318

47,8093,1416

60,0394,2132

6432Procs

Num

. of t

hrea

ds

/ MP

I pro

cess

686

-

-

-

2

373

368

-

-

4

185

182

177

-

8

-

-

31,3

34,1

64

-952

55,399,74

57,798,68

59,79116

3216Procs

Num

. of t

hrea

ds

/ MP

I pro

cess

• SP5 : 16 ways Power5 (with 32Go)

pb. alloc.

no meaning

Page 17: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

MHD1 : 485.103 (unsymmetric)

• SP4 : 32 ways Power4+ (with 64Go)

117,80202,684

115,79197,998

111,99187,8916

115,97199,1732

6432Procs

Num

. of t

hrea

ds

/ MP

I pro

cess

977

-

-

-

2

506

505

-

-

4

-

-

-

63,4

64

-

-

78,3

84,2

32

-2652

1362624

1412618

139-16

168Procs

Num

. of t

hrea

ds

/ MP

I pro

cess

• SP5 : 16 ways Power5 (with 32Go)

Page 18: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Memory is the bottleneck !

• 3D electomagnetism code • double precision• complex arithmetic

• TERA10 CEA supercomputer• 43 millions of unknowns (~1.4Pflops)

• ½ hour on 2048 processors• 83 millions of unknowns (~5Pflops)

• 5 hours on 768 processors

Page 19: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

How to reduce memory resources• Goal: we want to adapt a (supernodal) parallel direct solver

(PaStiX) to build an incomplete block factorization and benefit from all the features that it provides:

� Algorithmic is based on linear algebra kernels (BLAS)

� Load-balancing and task scheduling are based on a fine modeling of computation and communication

� Modern architecture management (SMP nodes) : hybrid Threads/MPI implementation

Page 20: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Incomplete factorization outlines

• Which modifications in the direct solver?• The symbolic incomplete factorization • An algorithm to get dense blocks in ILU• Experiments

Page 21: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Scotch(ordering &

amalgamation)

Fax(block symbolicfactorization)

Blend(refinement &

mapping)

Sopalin(factorizing &

solving)

graph partition symbolMatrixDistributed

solverMatrix

Distributedfactorized

solverMatrix

Distributedsolution

Scotch(ordering &

amalgamation)

iFax(incompleteblock S.F.)

Blend(refinement &

mapping)

Sopalin(factorizing &

solving)

graph partition symbolMatrixDistributed

solverMatrix

Distributedincompletefactorized

solverMatrix

Distributedsolution

C.G.GMRES

Keep a N.D. ordering (NO RCM)

Page 22: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Scotch(ordering &

amalgamation)

Fax(block symbolicfactorization)

Blend(refinement &

mapping)

Sopalin(factorizing &

solving)

graph partition symbolMatrixDistributed

solverMatrix

Distributedfactorized

solverMatrix

Distributedsolution

Scotch(ordering &

amalgamation)

iFax(incompleteblock S.F.)

Blend(refinement &

mapping)

Sopalin(factorizing &

solving)

graph partition symbolMatrixDistributed

solverMatrix

Distributedincompletefactorized

solverMatrix

Distributedsolution

C.G.GMRES

Main modification

Page 23: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Scotch(ordering &

amalgamation)

Fax(block symbolicfactorization)

Blend(refinement &

mapping)

Sopalin(factorizing &

solving)

graph partition symbolMatrixDistributed

solverMatrix

Distributedfactorized

solverMatrix

Distributedsolution

Scotch(ordering &

amalgamation)

iFax(incompleteblock S.F.)

Blend(refinement &

mapping)

Sopalin(factorizing &

solving)

graph partition symbolMatrixDistributed

solverMatrix

Distributedincompletefactorized

solverMatrix

Distributedsolution

C.G.GMRES

Few modifications

Page 24: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Incomplete factorization outlines

• Which modifications in the direct solver?�The symbolic incomplete factorization • An algorithm to get dense blocks in ILU• Experiments

Page 25: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Level based ILU(k)• Scalar formulation of the level-of-fill:

Non zero entries of A have a level 0.Consider the elimination of the kth unknowns during the fact. then:

Level(aij) = MIN( level(aij) , level(aik)+level(akj)+1 )

akk

aik

akj

aij

ajj

aii

jk1

Level 3

k2k3

k1, k2, k3 < i and j

i

Page 26: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Level-of-fill metric

• Scalar formulation of the level-of-fill:• A fill-path, in the graph associated with the matrix A, is

a path between two nodes i and j such that the nodes in this path have smaller number than i and j

• There is a fill-in value (i,j), at the end of the Gauss elimination, iff there is a fill-path between i and j

• At the end of the factorization, the level-of-fill value (i,j) is p iff there is a shortest fill-path of length p+1 between i and j (0 for terms in A)

Page 27: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

• The scalar incomplete factorization have the sameasymptotical complexity than the Inc. Fact.

• BUT: it requires much less CPU time

• D. Hysom and A. Pothen gives a practical algorithm that canbe easily // (based on the search of elimination paths of length <= k+1) [Level Based Incompleted Factorization: Graphs model and Algorithm (2002)]

Level based ILU(k)

Page 28: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Level based ILU(k)

• In a FEM method a mesh node corresponds to several Degrees Of Freedom (DOF) and in this case we can use the node graph instead of the adj. graph of A i.e. : Q(G,P)→Q(G,P)k=Q(Gk,P) P = partition of mesh nodes

• This means the symbolic factorization will have a complexity in the respect of the number of nodes whereas the factorization has a complexity in respect to the number of DOF.

Page 29: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Main steps for proposed algorithm

1. find the partition P0 induced by the supernodes of A2. compute the block symbolic incomplete factorizationQ(G,P0)

k=Q(Gk,P0)

3. find the exact supernode partition in Q(G,P0)k

4. given a extra fill-in tolerance α, construct an approximatedsupernode partition P

αto improve the block structure of the

incomplete factors (detailed in next section)5. apply a block incomplete factorization using the

parallelization techniques developed for our direct solverPaStiX

Page 30: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Incomplete factorization outlines

• Which modifications in the direct solver?• The symbolic incomplete factorization �An algorithm to get dense blocks in ILU• Experiments

Page 31: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

How to build a dense block structure in ILU(k) factors ?

• In most cases, this partition is too refined (dense blocks are usually too small for BLAS3)

• Idea: we allow some extra fill-in in the symbolic factor to builda better block partition

� Ex: How can we make bigger dense blocks if we allow 20% more fill-in ?

Page 32: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

How to build a dense block structure in ILU(k) factors ?

• We imposed some constraints:

� any permutation that groups columns with similar NNZ pattern should not affect Gk

� any permutation should not destroy the elimination treestructure

=> We impose the rule « merge only with your father… » for the supernode

Page 33: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Amalgamation algorithm

Page 34: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Finding an approximated SupernodesPartition (amalgamation algorithm)

First step : find the exact supernode partition

Page 35: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Finding an approximated SupernodesPartition (amalgamation algorithm)

=extra fill-in

While the fill-in tolerance α is respected do:Merge the couple of supernodes that add the

less extra fill-in

Page 36: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Finding an approximated SupernodesPartition (amalgamation algorithm)

Page 37: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Finding an approximated SupernodesPartition (amalgamation algorithm)

Need to update the « merge » cost of the son

Page 38: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Finding an approximated SupernodesPartition (amalgamation algorithm)

Need to update the « merge » cost of the father

Page 39: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Finding an approximated SupernodesPartition (amalgamation algorithm)

Page 40: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Finding an approximated SupernodesPartition (amalgamation algorithm)

= zero entries

Page 41: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Finding an approximated SupernodesPartition (amalgamation algorithm)

Page 42: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Finding an approximated SupernodesPartition (amalgamation algorithm)

Need to update the « merge » cost of the sons

Page 43: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Finding an approximated SupernodesPartition (amalgamation algorithm)

Need to update the « merge » cost of the father

Page 44: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Finding an approximated SupernodesPartition (amalgamation algorithm)

Repeat while extra fill-in < tol

Page 45: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Cost of the algorithm

• The approximate supernode merging algorithm is reallycheap compare to the other steps

� At each step: recompute fill-add for modified (son-father) couples and maintain the heap sort.

� Complexity bound by O(D.N0 + N0.Log(N0)) N0 : number of exact supernodes in ILU factorsD : maximum number of extradiagonal blocks in a block-column

Page 46: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

BLAS modeling

• Avoid choosing arbitrary parameter (α=∞) : stop amalgamation when gain<0

GEMV : O(x.y) complexityexperimental multi-variable regression is used to set coefficients of the polynomial : a.x.y+b.x+c.y+d

• Polynomial BLAS time model• Estimate CPU time Wi spend in supernode i in the triangular solve• Gain of merging k with parent(k) :

Page 47: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Amalgamation variant

• Avoid choosing arbitrary parameter (α=∞)

Page 48: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Incomplete factorization outlines

• Which modifications in the direct solver?• The symbolic incomplete factorization • An algorithm to get dense blocks in ILU�Experiments

Page 49: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Numerical experiments

• Results on IBM power5 + Switch “Federation”

• All computations were performed in double precision

• Iterative accelerator was GMRES (no restart)

• Stopping criterion for iterative accelerators was a relative residual norm (||b-A.x||/||b||) of 1e-7

Page 50: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Test case:

• AUDIKW_1 : Symmetric matrix (3D problem) (Parasol collection)n = 943,695 nnz(A) = 39,297,771

• With direct solver : nnz(L) = 30 x nnz(A)total solution in 91s on 16 procs

Page 51: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate
Page 52: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate
Page 53: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate
Page 54: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate
Page 55: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Parallel Time: AUDI (Power5)

63.30.7821.2679.37.80258.140 %5

123.11.1652.31058.98.86518.520 %5

65.70.6618.6732.07.57194.640 %3

108.70.9139.2936.87.97331.120 %3

67.00.4212.7620.34.4456.440 %1

91.50.5121.4690.14.5974.520 %1

TotalTR SolvFactTotalTR solvFactαK

16 processors1 processor

Page 56: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Prospects:

• Parallelization of the ordering (ParMetis, PT-Scotch)and of the Inc. Symbolic Factorization

• Study influence of numerical scaling and permutation on the convergence

• Plug this solver in real simulations (CEA, ITER, …)

Page 57: A supernode amalgamation algorithm for an …A supernode amalgamation algorithm for an efficient block incomplete factorization Mini-Workshop Minneapolis, 9 jully 2008 PhyLeaS associate

Links• Scotch : http://gforge.inria.fr/projects/scotch• PaStiX : http://gforge.inria.fr/projects/pastix• MUMPS : http://mumps.enseeiht.fr/

http://graal.ens-lyon.fr/MUMPS• ScAlApplix : http://www.labri.fr/project/scalapplix

• ANR CIGC Numasis• ANR CIS Solstice & Aster

• Latest publication : to appear in Parallel Computing : On finding approximate supernodes for an efficient ILU(k) factorization

• For more publications, see : http://www.labri.fr/~ramet/