2007 · 42 citations · 26 references
ComputingComputer EngineeringComputer ScienceComputational GeometryParallel AlgorithmsParallel ComputingData ParallelismGraphics Processing UnitsParallel ArchitecturesParallel ComputationParallel Numerical MethodsParallel Performance AnalysisLoop ParallelizationLoop TilingParallelizationRun-time Design Space ExplorationStencil ComputationTile Size OptimizationTiling StrategiesTilings
Stencil computations form the performance-critical core of many applications. Tiling and parallelization are two important optimizations to speed up stencil computations. Many tiling and parallelization strategies are applicable to a given stencil computation. The best strategy depends not only on the combination of the two techniques, but also on many parameters: tile and loop sizes in each dimension; computation-communication balance of the code; processor architecture; message startup costs; etc. The best choices can only be determined through design-space exploration, which is extremely tedious and error prone to do via exhaustive experimentation. We characterize the space of multi-level tilings and parallelizations for 2D/3D Gauss-Siedel stencil computation. A systematic exploration of a part of this space enabled us to derive a design which is up to a factor of two faster than the standard implementation.
26
YALMIP : a toolbox for modeling and optimization in MATLAB
Johan Löfberg · 2005 · 9.2K citations
A data locality optimizing algorithm
Michael E. Wolf, Monica S. Lam · 1991 · 1.3K citations · Full text
François Irigoin, Rémi Triolet · 1988 · 562 citations