150 likes | 270 Views
Cache Efficient Data Structures and Algorithms for d -Dimensional Problems. Judith Hartmann TU München, Institut für Informatik V hartmanj@in.tum.de. Overview. cache hierarchies and data locality discretization by space-filling curve system of stacks measured results concluding remarks.
E N D
Cache Efficient Data Structures and Algorithms for d-Dimensional Problems Judith Hartmann TU München, Institut für Informatik V hartmanj@in.tum.de SCCS-Kolloquium
Overview • cache hierarchies and data locality • discretization by space-filling curve • system of stacks • measured results • concluding remarks Cache Efficient Data Structures and Algorithms for d-Dimensional Problems
CPU registers L1 data L1 inst L2 cache L3 cache main memory Cache Hierarchy Cache Efficient Data Structures and Algorithms for d-Dimensional Problems
Cache Efficiency as Main Objective • algorithm for solving PDEs • modern concepts (finite elements, multigrid, etc.) • cache-efficiency • road to cache-efficiency • spacefilling curve for discretization of the domain • data transport via stack system Cache Efficient Data Structures and Algorithms for d-Dimensional Problems
Iterative Construction of the Peano Curve • Leitmotiv L • for each dimension: decomposition of all diagonals Cache Efficient Data Structures and Algorithms for d-Dimensional Problems
Important Properties for the Construction of a Stack System • projection property • palindrome property • recursivity in dimension Cache Efficient Data Structures and Algorithms for d-Dimensional Problems
Organization of a d-Dimensional Iteration • induced discretizationof the unit square and order for the grid cells • processing of data Cache Efficient Data Structures and Algorithms for d-Dimensional Problems
Necessary Properties of a Useful System of Stacks • constant number of stacks • determinsitic data access • dimensional recursivity • self similarity Cache Efficient Data Structures and Algorithms for d-Dimensional Problems
Number of Stacks • number of stacks for several dimensionalities • number of i-dimensional stacks for a d-dimensional iteration • total number of lower dimensional stacks: 3d-1 Cache Efficient Data Structures and Algorithms for d-Dimensional Problems
Stacks and Geometrical Boundary Elements • matching of i-dimensional stack and i-dimensional boundary element of the unit cube • ternary encoding of geometrical boundary elements Cache Efficient Data Structures and Algorithms for d-Dimensional Problems
Data Access • parameters for each grid point • status: determination of the sort of the stack • stack numbers: which stack of this sort • basic stack numbers • mechanism of inheritance Cache Efficient Data Structures and Algorithms for d-Dimensional Problems
Necessary Properties of a Useful System of Stacks • constant number of stacks • determinsitic data access • dimensional recursivity • self similarity Cache Efficient Data Structures and Algorithms for d-Dimensional Problems
Hardware PerformancePoisson Equation on the Unit Cube • cache-hit-rates > 99,9 % • processing time per degree of freedom • decreases with increasing grid size • is augmnted by a factor ~2.7 for each dimension • processing time per degree of freedom • unpenalized disc-usage possible Cache Efficient Data Structures and Algorithms for d-Dimensional Problems
AdaptivityPoisson Equation on a Sphere • no loss of cache-efficiency:cache-hit-rates > 99,9 % • locally refined grids: • computing time improves (if appropriately approximated) • no loss of cache-efficiency Cache Efficient Data Structures and Algorithms for d-Dimensional Problems
Conclusion & Further Developments • method for solving d-dimensional PDEs • modern numerical methods • high cache-efficiency • complicated geometrics • further developements: • potential for parallelization • general system of PDEs, Stokes, Navier-Stokes, etc. • potential for solving time-dependent PDEs in 3 space dimensions Cache Efficient Data Structures and Algorithms for d-Dimensional Problems