hoscar parallel mesh partitioning and adaptation · i mesh: i element i node i edge i internal i...

49
Franc ¸ois Pellegrini & C´ edric Lachat & C´ ecile Dobrzynski Septemper 3, 2013 HOSCAR PaMPA : Parallel Mesh Partitioning and Adaptation

Upload: others

Post on 28-Jun-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

Francois Pellegrini & Cedric Lachat & Cecile Dobrzynski Septemper 3, 2013

HOSCAR

PaMPA :Parallel MeshPartitioning and Adaptation

Page 2: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

State of the art

Contents

State of the art

Common needs of solvers regarding meshes

What is PaMPA

Example: Laplacian equation using P1 finite element method

Some results

Work in progress

Upcoming features

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 2

Page 3: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

State of the art Parallel remeshers

Contents

State of the artParallel remeshersLoad balancingExisting tools

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 3

Page 4: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

State of the art Parallel remeshers

Context

I Distributed meshesI Subdomain decompositionI Data exchanges between subdomains

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 4

Page 5: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

State of the art Parallel remeshers

Parallel mesh adaptation algorithms

I Parallel mesh generation (N. Chrisochoides 2005 [3])I Delaunay triangulationI Frontal methodI Refinement by subdivisions (B. G. Larwood 2003 [7])

I Communication between subdomains:I Data migrationI Matching algorithms

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 5

Page 6: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

State of the art Parallel remeshers

Problems induced by parallelism

I High complexity to parallelize remeshmethods

I Too much communication onboundaries

I Boundaries not remeshed:I Local remeshing

P0

P2

P1

P3

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 6

Page 7: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

State of the art Parallel remeshers

Sequential algorithms

I Methods:I Moving nodes and remeshing locally (O. Hassan 2006 [6])I Coarse-grain parallel remeshing through multiple successive

sequential remeshings (U. Tremel 2006 [8]):I Finding zones to remesh according to error estimator (T.

Coupez 2000 [4])I Identifying zones to remesh in parallelI Remeshing zones in sequentialI subdomain load balancing

I Main benefits:I Scalability of algorithmsI Re-use of sequential codes

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 7

Page 8: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

State of the art Load balancing

Contents

State of the artParallel remeshersLoad balancingExisting tools

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 8

Page 9: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

State of the art Load balancing

Generic dynamic load balancing

I General purpose (re)partitioning:I JostleI Zoltan (K. Devine 2000 [5])I LB Migrate (R. Chaube 2007 [2])

I Require a lot of extra coding

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 9

Page 10: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

State of the art Load balancing

Specialized dynamic load balancing softwares

I Libraries:I DRAMA (A. Basermann 2000 [1])

I Pros and cons:I Mainly interfaced with solversI Data structures based on meshes

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 10

Page 11: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

State of the art Existing tools

Contents

State of the artParallel remeshersLoad balancingExisting tools

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 11

Page 12: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

State of the art Existing tools

Existing tools for handling unstructured meshes

I Partitioners:I ChacoI MeTiSI MondriaanI PatohI ScotchI Zoltan

I Intermediate:I DRAMAI PaMPAI PHG

I Advanced:I Arcane

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 12

Page 13: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

Common needs of solvers regarding meshes

Contents

State of the art

Common needs of solvers regarding meshes

What is PaMPA

Example: Laplacian equation using P1 finite element method

Some results

Work in progress

Upcoming features

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 13

Page 14: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

Common needs of solvers regarding meshes

Common needs of solvers regarding meshes

I Handling of mesh structuresI Distribution of meshes across the processors of a parallel

architectureI Handling of load balance

I Data exchange across neighboring entitiesI Iteration on mesh entities

I Entities of any kind: e.g. elements, faces, edges, nodes, . . .I Entity sub-classes: e.g. regular or boundary faces, . . .I Inner or frontier entities with respect to neighboring processorsI Maximization of cache effects thanks to proper data reordering

I Dynamic modification of mesh structureI Dynamic redistribution

I Adaptive remeshing

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 14

Page 15: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

What is PaMPA

Contents

State of the art

Common needs of solvers regarding meshes

What is PaMPA

Example: Laplacian equation using P1 finite element method

Some results

Work in progress

Upcoming features

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 15

Page 16: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

What is PaMPA

What is PaMPA

I PaMPA: “Parallel Mesh Partitioning and Adaptation”I Middleware library managing the parallel repartitioning and

remeshing of unstructured meshes modeled as interconnectedvaluated entities

I The user can focus on his/her “core business”:I SolverI Sequential remesher

I Coupling with MMG3D provided for tetrahedra

Physics, solver

Remeshing and redistribution

PT-Scotch

Seq. Qual.Measurement

Sequentialremesher

MMG3D

PaMPA

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 16

Page 17: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

What is PaMPA

Definitions

I Mesh:I ElementI NodeI Edge

I InternalI Boundary

I PaMPA Mesh:I VertexI RelationI EntityI Sub-entityI Enriched graph

Top-level mesh entityMay bear some data (volume,

pressure, etc.)

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 17

Page 18: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

What is PaMPA

Definitions

I Mesh:I ElementI NodeI Edge

I InternalI Boundary

I PaMPA Mesh:I VertexI RelationI EntityI Sub-entityI Enriched graph

May bear some data (geometry,etc.)

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 17

Page 19: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

What is PaMPA

Definitions

I Mesh:I ElementI NodeI Edge

I InternalI Boundary

I PaMPA Mesh:I VertexI RelationI EntityI Sub-entityI Enriched graph

May bear some data (flux, etc.)

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 17

Page 20: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

What is PaMPA

Definitions

I Mesh:I ElementI NodeI Edge

I InternalI Boundary

I PaMPA Mesh:I VertexI RelationI EntityI Sub-entityI Enriched graph

Regular mesh edge

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 17

Page 21: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

What is PaMPA

Definitions

I Mesh:I ElementI NodeI Edge

I InternalI Boundary

I PaMPA Mesh:I VertexI RelationI EntityI Sub-entityI Enriched graph

Boundary mesh edge

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 17

Page 22: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

What is PaMPA

Definitions

I Mesh:I ElementI NodeI Edge

I InternalI Boundary

I PaMPA Mesh:I VertexI RelationI EntityI Sub-entityI Enriched graph

What all entities are in fact. . .

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 17

Page 23: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

What is PaMPA

Definitions

I Mesh:I ElementI NodeI Edge

I InternalI Boundary

I PaMPA Mesh:I VertexI RelationI EntityI Sub-entityI Enriched graph

Subset of edges between verticesbelonging to prescribed entity types

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 17

Page 24: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

What is PaMPA

Definitions

I Mesh:I ElementI NodeI Edge

I InternalI Boundary

I PaMPA Mesh:I VertexI RelationI EntityI Sub-entityI Enriched graph

Subset of vertices bearing the samedata

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 17

Page 25: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

What is PaMPA

Definitions

I Mesh:I ElementI NodeI Edge

I InternalI Boundary

I PaMPA Mesh:I VertexI RelationI EntityI Sub-entityI Enriched graph

Subset of entity vertices that maybear additional specific data

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 17

Page 26: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

What is PaMPA

Definitions

I Mesh:I ElementI NodeI Edge

I InternalI Boundary

I PaMPA Mesh:I VertexI RelationI EntityI Sub-entityI Enriched graph

Whole set of vertices and relationsEvery vertex belongs to one and only

one entity (and sub-entity)

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 17

Page 27: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

What is PaMPA

Global vue

I All vertices have a global unique number

baseval

enttglbnbr

proccnttab

procvrttab

1

3

3 4 3

1 4 8 11

5

1

2 9

7

4

3 6 8

10

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 18

Page 28: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

What is PaMPA

Local vision of process 0

I All local and ghost vertices have a compact local indexI Per-entity numbering

vertgstnbr

vertlocnbr

edgelocnbr

ventloctab

edgeloctab

vertloctab

vendloctab

6

3

7

3 1

1

1 1

2 3 8

1 2 3 4 2

3

4

1

2

3

1 2

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 19

Page 29: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

What is PaMPA

Features of version 0.2

I Overlap greater than 1I Parallel I/OI Parallel partitioningI Parallel remeshing based on sequential remesher

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 20

Page 30: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

What is PaMPA

Parallel remeshing

1b Tagging

2 Identifying

3 Extracting 4 Remeshing

5 Reintegrating

1a Tagging

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 21

Page 31: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

Example: Laplacian equation using P1 finite element method

Contents

State of the art

Common needs of solvers regarding meshes

What is PaMPA

Example: Laplacian equation using P1 finite element method

Some results

Work in progress

Upcoming features

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 22

Page 32: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

Example: Laplacian equation using P1 finite element method

Definition

I Solving 2D Poisson equation:I ∆u (x , y) = f (x , y)I g (x , y) = u (x , y) on the

boundary Γ

I Test case:I f (x , y) = −2∗cos (x)∗cos (y)

in the domain ΩI g (x , y) = cos (x) ∗ cos (y) on

the boundary ΓI u (x , y) = cos (x) ∗ cos (y)

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 23

Page 33: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

Example: Laplacian equation using P1 finite element method

Mesh properties

I Entities:I ElementsI NodesI Boundary edges

I Relations:I Element to elementI Element to nodeI Element to boundary edgeI Node to node

I Overlap of size 1I Values:

I Coordinates and solution on nodesI Type on boundary edgesI Area, volume on elements

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 24

Page 34: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

Example: Laplacian equation using P1 finite element method

All steps

! On a l l p r o c e s s o r s :CALL D i s t r i b u t e d M e s h ( ) ! B u i l d PaMPA d i s t r i b u t e d mesh :! 1− Read i n p a r a l l e l a c e n t r a l i z e d mesh! 2− C a l l PaMPA mesh p a r t i o n e r! 3− R e d i s t r i b u t e d i s t r i b u t e meshCALL ElementVolume ( )CALL I n i t i a l i z e M a t r i x C S R ( )

! S o l u t i o n computat ion!−−−−−−−−−−−−−−−−−−−−−

CALL I n i t S o l ( )CALL F i l l M a t r i x ( )CALL So lveSystem ( )CALL W r i t e D i s t r i b u t e d M e s h A n d S o l F i l e s ( )

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 25

Page 35: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

Example: Laplacian equation using P1 finite element method

FillMatrix

RHS = 0 .CALL PAMPAF dmeshIt In i tStart (dm, ENTITY ELEM , PAMPAF VERT ANY, i t v r t , i e r r )CALL PAMPAF dmeshItInit (dm, ENTITY ELEM , ENTITY NODE , i t n g b , i e r r )DO WHILE ( PAMPAF itHasMore ( i t v r t ) )

j t = PAMPAF itCurEnttVertNum ( i t v r t )V o l t = V o l E l ( j t )ngb = 0CALL PAMPAF itStart ( i t n g b , j t , i e r r )DO WHILE ( PAMPAF itHasMore ( i t n g b ) )

ngb = ngb + 1i s = PAMPAF itCurEnttVertNum ( i t n g b )NuElemt ( ngb ) = i sCoorElemt ( : , ngb ) = Coor ( : , i s )PAMPAF itNext ( i t n g b )

END DOCALL GradPhi ( CoorElemt ( : , 1 ) , CoorElemt ( : , 2 ) , CoorElemt ( : , 3 ) , GrdPhi )DO i = 1 , Nsmplx

i s = NuElemt ( i )DO j = 1 , Nsmplx

j s = NuElemt ( j )JJac = V o l t ∗ Sum ( GrdPhi ( : , i ) ∗ GrdPhi ( : , j ) )CALL assembly addCSR ( JJac , i s , j s )

END DO ! l oop on jRHS( i s ) = RHS( i s ) − V o l t ∗ SourceTerm ( Coor ( 1 , i s ) , Coor ( 2 , i s ) ) / Nsmplx

END DO ! l oop on iPAMPAF itNext ( i t v r t )

END DO

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 26

Page 36: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

Example: Laplacian equation using P1 finite element method

Solve system: Jacobi (1/2)

UaPrec = 0 . ! Suppose A = L + D + U, system to s o l v e : A x = bCALL PAMPAF dmeshItInit (dm, ENTITY NODE , ENTITY NODE , i t n g b , i e r r )DO i r e l a x = 1 , N r e l a x

r e s = 0 .CALL PAMPAF dmeshIt In i tStart (dm, ENTITY NODE , PAMPAF VERT BOUNDARY, i t v r t , i e r r )DO WHILE ( PAMPAF itHasMore ( i t v r t ) )

i s = PAMPAF itCurEnttVertNum ( i t v r t )CALL PAMPAF dmeshMatLineData (dm, ENTITY NODE , i s , I1 , I 1 F i n , i e r r )CALL PAMPAF itStart ( i t n g b , i s , i e r r )r e s 0 = RHS( i s ) ! r e s 0 = b

i v = i 1DO WHILE ( PAMPAF itHasMore ( i t n g b ) )

j s = PAMPAF itCurEnttVertNum ( i t n g b )PAMPAF itNext ( i t n g b )r e s 0 = r e s 0 − MatCSR%V a l s ( i v ) ∗ UaPrec ( j s ) ! r e s 0 = b − ( L + U) xˆni v = i v + 1

END DOUa( i s ) = r e s 0 / MatCSR%Diag ( i s ) ! xˆn+1 = ( b − ( L + U) xˆn )/DPAMPAF itNext ( i t v r t )

END DO

CALL PAMPAF dmeshHaloValueAsync (dm, ENTITY NODE , PAMPA TAG SOL , req , i e r r )

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 27

Page 37: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

Example: Laplacian equation using P1 finite element method

Solve system: Jacobi (2/2)

CALL PAMPAF dmeshIt In i tStart (dm, ENTITY NODE , PAMPAF VERT INTERNAL , i t v r t , i e r r )DO WHILE ( PAMPAF itHasMore ( i t v r t ) )

i s = PAMPAF itCurEnttVertNum ( i t v r t )CALL PAMPAF dmeshMatLineData (dm, ENTITY NODE , i s , I1 , I 1 F i n , i e r r )CALL PAMPAF itStart ( i t n g b , i s , i e r r )r e s 0 = RHS( i s ) ! r e s 0 = b

i v = i 1DO WHILE ( PAMPAF itHasMore ( i t n g b ) )

j s = PAMPAF itCurEnttVertNum ( i t n g b )PAMPAF itNext ( i t n g b )r e s 0 = r e s 0 − MatCSR%V a l s ( i v ) ∗ UaPrec ( j s ) ! r e s 0 = b − ( L + U) xˆni v = i v + 1

END DOUa( i s ) = r e s 0 / MatCSR%Diag ( i s ) ! xˆn+1 = ( b − ( L + U) xˆn )/DPAMPAF itNext ( i t v r t )

END DO

CALL PAMPAF dmeshHaloWait ( req , i e r r )

UaPrec = UaEND DO ! end loop on i r e l a x

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 28

Page 38: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

Some results

Contents

State of the art

Common needs of solvers regarding meshes

What is PaMPA

Example: Laplacian equation using P1 finite element method

Some results

Work in progress

Upcoming features

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 29

Page 39: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

Some results

First results (1/2)

Before remeshingNumber of elements 2 423 029

Number of nodes 1 071 626

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 30

Page 40: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

Some results

First results (2/2)

MMG3d PaMPA-MMG3don 1 processor on 24 processors

Processor frequency (GHz) 2,40 3,06Used memory (kb) 27 588 940 51 116 044

Elapsed time 17:15:12 00:21:14Number of elements 108 126 515 115 802 876Smallest edge length 0.1470 0.1395Largest edge length 6.3309 11.2415

Worst element quality 294.2669 294.2669Element quality between 1 and 2 99.65% 99.38%

Edge length between 0.71 and 1.41 97.25% 97.65%

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 31

Page 41: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

Work in progress

Contents

State of the art

Common needs of solvers regarding meshes

What is PaMPA

Example: Laplacian equation using P1 finite element method

Some results

Work in progress

Upcoming features

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 32

Page 42: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

Work in progress

Work in progress

I Release of version 0.2I Available soon from Inria GforgeI Licensed under GPL

I Quality of parallel adapted meshesI Periodic meshes

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 33

Page 43: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

Upcoming features

Contents

State of the art

Common needs of solvers regarding meshes

What is PaMPA

Example: Laplacian equation using P1 finite element method

Some results

Work in progress

Upcoming features

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 34

Page 44: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

Upcoming features

Upcoming features

I Code industrialisationI Mesh definition with a grammarI Face orientation and displacementI Unbreakable relations

I Partitioner will not cut these edgesI E.g. to implement DG methods

I Multi-grid meshesI Parallel I/O with HDF5I Parallel mesh adaptation scalability

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA Septemper 3, 2013- 35

Page 45: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

Upcoming features

Thank you

Franois Pellegrini September 4, 2013

Page 46: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

Bibliographie

A. Basermann, J. Clinckemaillie, T. Coupez, J. Fingberg,H. Digonnet, R. Ducloux, J.-M. Gratien, U. Hartmann,G. Lonsdale, B. Maerten, D. Roose, and C. Walshaw.Dynamic load balancing of finite element applications with thedrama library, 2000.

R. Chaube, R. L. Carino, and I. Banicescu.Effectiveness of a dynamic load balancing library for scientificapplications.In ISPDC ’07: Proceedings of the Sixth InternationalSymposium on Parallel and Distributed Computing, page 32,Washington, DC, USA, 2007. IEEE Computer Society.

N. Chrisochoides.Parallel mesh generation.In in Numerical Solution of Partial Differential Equations onParallel Computers. Springer, 2005.

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA

Septemper 3, 2013- 37

Page 47: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

Bibliographie

T. Coupez, H. Digonnet, and R. Ducloux.Parallel meshing and remeshing.Applied Mathematical Modelling, 25(2):153 – 175, 2000.Dynamic load balancing of mesh-based applications on parallel.

K. Devine, B. Hendrickson, E. Boman, M. St. John, andC. Vaughan.Design of dynamic load-balancing tools for parallelapplications.In ICS ’00: Proceedings of the 14th international conferenceon Supercomputing, pages 110–118, New York, NY, USA,2000. ACM.

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA

Septemper 3, 2013- 38

Page 48: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

Bibliographie

O. Hassan, K. A. Sørensen, K. Morgan, and N. P. Weatherill.A method for time accurate turbulent compressible fluid flowsimulation with moving boundary components employing localremeshing.In International Journal for Numerical Methods in Fluids,volume 53, pages 1243–1266. John Wiley & Sons, 2007.

B. G. Larwood, N. Weatherhill, O. Hassan, and K. Morgan.Domain decomposition approach for parallel unstructuredmesh generation.In International Journal for Numerical Methods in Engineering,volume 58, pages 177–188, 2003.

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA

Septemper 3, 2013- 39

Page 49: HOSCAR Parallel Mesh Partitioning and Adaptation · I Mesh: I Element I Node I Edge I Internal I Boundary I PaMPA Mesh: I Vertex I Relation I Entity I Sub-entity I Enriched graph

Bibliographie

U. Tremel, K. A. Sørensen, S. Hitzel, H. Rieger, O. Hassan,and N. P. Weatherill.Parallel remeshing of unstructured volume grids for cfdapplications.In International Journal for Numerical Methods in Fluids,volume 53, pages 1361–1379. John Wiley & Sons, 2007.

HOSCAR - F. Pellegrini & C. Lachat & C. Dobrzynski - PaMPA

Septemper 3, 2013- 40