150 likes | 283 Vues
This presentation discusses efficient data structures and algorithms tailored for d-dimensional problems, focusing on cache efficiency as the main objective. Key topics include cache hierarchies, data locality, and discretization via space-filling curves. A system of stacks will be introduced, highlighting important properties for construction, such as the projection and palindrome properties. Measured results for various configurations will be presented, including the performance of modern numerical methods for solving PDEs with high cache-hit rates. Conclusions address potential for future developments and parallelization.
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