2006 · 131 citations · 8 references
ComputingComputer EngineeringComputer ScienceComputer ArchitectureHeterogeneous ComputingParallel ComputingCachingCaching StrategiesMemory HierarchyMemory Hierarchy DesignMemory Hierarchy OptimizationMemory Subsystem DesignBlock-structured GridsCache DesignCache OptimizationHeterogeneous Multicore ArchitectureHeterogeneous Multicore DesignHeterogeneous Multicore SystemsMemory BandwidthStencil Computation
Stencil-based kernels constitute the core of many scientific applications on block-structured grids. Unfortunately, these codes achieve a low fraction of peak performance, due primarily to the disparity between processor and main memory speeds. We examine several optimizations on both the conventional cache-based memory systems of the Itanium 2, Opteron, and Power5, as well as the heterogeneous multicore design of the Cell processor. The optimizations target cache reuse across stencil sweeps, including both an implicit cache oblivious approach and a cache-aware algorithm blocked to match the cache structure. Finally, we consider stencil computations on a machine with an explicitly-managed memory hierarchy, the Cell processor. Overall, results show that a cache-aware approach is significantly faster than a cache oblivious approach and that the explicitly managed memory on Cell is more efficient: Relative to the Power5, it has almost 2x more memory bandwidth and is 3.7x faster.
8
New tiling techniques to improve cache temporal locality
Yonghong Song, Zhiyuan Li · 1999 · 195 citations
Matteo Frigo, Charles E. Leiserson, Harald Prokop et al. · ACM Transactions on Algorithms · 2012 · 190 citations
Improving locality and parallelism in nested loops
Michael E. Wolf · 1992 · 160 citations