Volume 15, pp. 66-77, 2003.
Cache aware data laying for the Gauss-Seidel smoother
Malik Silva
Abstract
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