110 likes | 242 Vues
This paper presents a cache-aware algorithm designed to enhance the efficiency of solving partial differential equations (PDEs) on hierarchical data structures. Key techniques include memory-efficient multigrid methods, adaptivity in finite-element discretization, and the utilization of space-filling curves. The algorithm supports a broad range of geometries and boundary conditions, specifically for problems like Poisson's and Stokes' equations. Performance metrics show a cache hit rate exceeding 99%, confirming its effectiveness in parallel computing environments and numerical simulations.
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