Volume 15, pp. 66-77, 2003.

Cache aware data laying for the Gauss-Seidel smoother

Malik Silva


Feeding the processor with data operands is the bottleneck in many scientific computations. This bottleneck is alleviated by means of caches, small fast memories to keep data. The performance of a memory-intensive computation depends critically on whether most of the data accesses can be performed within the cache. Thus, cache aware computing is of importance. There are several well established strategies available to a programmer to make a program cache friendly. In this paper, we describe cache aware data laying, a technique which we feel has not been researched sufficiently. It is a promising technique as we achieved considerable performance improvements. For example, our data laying experiments with the Gauss-Seidel smoother resulted in up to 84% execution time improvements over the parallelogram based blocked implementation of the algorithm.

Full Text (PDF) [224 KB], BibTeX

Key words

memory barrier, caches, iterative algorithms, cache-aware algorithms, data laying

AMS subject classifications

65, 68I

Links to the cited ETNA articles

[1]Vol. 10 (2000), pp. 21-40 Craig C. Douglas, Jonathan Hu, Markus Kowarschik, Ulrich Rüde, Christian Weiss: Cache optimization for structured and unstructured grid multigrid

< Back