110 likes | 225 Views
A cache-aware algorithm for PDEs on hierarchical data structures. Frank Günther June 2004. Efficiency in memory. Multigrid. Parallelization. Hierarchical data structures. Adaptivity. Amount of data. Motivation. Solver for PDEs. Space-filling curves. G. Cantor: cardinality of manifolds
E N D
A cache-aware algorithm for PDEs on hierarchical data structures Frank GüntherJune 2004
Efficiency in memory Multigrid Parallelization Hierarchical data structures Adaptivity Amount of data Motivation Solver forPDEs A cache-aware algorithm for PDEs on hierarchical data structures Frank Günther
Space-filling curves • G. Cantor: cardinality of manifolds • Is there a continuous and bijective ? • E. Netto: No! • Search for continous and surjective mappings • Peano, Hilbert, Sierpinski, Moore, Lebesgue A cache-aware algorithm for PDEs on hierarchical data structures Frank Günther
Finite-Element-Discretization Squares on Cartesian grids Multigrid Hierarchical generating system (a-priori-) adaptivity Embedding of arbitrary geometries in the unit square Poisson’s equation Stokes’ equation Dirichlet-boundary-conditions Mathematical ingredients and demands A cache-aware algorithm for PDEs on hierarchical data structures Frank Günther
Peano’s curve and stacks • Formation of “lines of points”, which are processed monotonously • Lines are conserved for all depths of recursion • Stacks as data structure • “Coloring” depends on basis:nodal basis on finest level: 2 colors, 2 stacks hierarchical generating system: 4 colors, 8 stacks A cache-aware algorithm for PDEs on hierarchical data structures Frank Günther
The Algorithm I • Develop “rule sets” for stack access • Deterministic • No unnecessary access • All kinds of points (inner, outer, on boundary, hanging) must be covered • Efficient programming of stacks and stack access A cache-aware algorithm for PDEs on hierarchical data structures Frank Günther
The Algorithm II • Input: linearized geometry-based tree • Recursive cell-oriented programming • Optimizations for cell types • “OO by hand” A cache-aware algorithm for PDEs on hierarchical data structures Frank Günther
Results for Poisson’s equation Regular grids Adaptive grids A cache-aware algorithm for PDEs on hierarchical data structures Frank Günther
Performance • Simulation • Prediction • “What happens, and where does it happen?” • Measuring • Hardware Performance Counter • Confirmation of prediction Cache hit rate in L2-Cache beyond 99,0% A cache-aware algorithm for PDEs on hierarchical data structures Frank Günther
What are the costs of a variable? • Within regular or adaptive grid? • Within an embedded geometry? Nearly always the same! A cache-aware algorithm for PDEs on hierarchical data structures Frank Günther
Technology with high potential 3D Numerical efficiency Parallelization Efficiency inhardware More equations Efficiency by methodology Full adaptivityadv. treatment ofboundaries Fluid structureinteraction Conclusion and outlook PDE-solver with space-filling curves A cache-aware algorithm for PDEs on hierarchical data structures Frank Günther