Sciweavers

LCPC
2005
Springer

Applying Data Copy to Improve Memory Performance of General Array Computations

13 years 9 months ago
Applying Data Copy to Improve Memory Performance of General Array Computations
Abstract. Data copy is an important compiler optimization which dynamically rearranges the layout of arrays by copying their elements into local buffers. Traditionally, array copy is considered expensive and has been applied only to the working sets of fully blocked computations. This paper presents an algorithm which automatically applies data copy to optimize the performance of general computations independent of blocking. The algorithm automatically decides where to insert copy operations and which regions of arrays to copy. In addition, when specialized, it is equivalent to a general scalar replacement algorithm on arbitrary array computations. The algorithm is fully implemented and has been applied to optimize several scientific kernels. The results show that the algorithm is highly effective and that data copy can significantly improve the performance of scientific computations, both when combined with blocking and when applied alone without blocking.
Qing Yi
Added 28 Jun 2010
Updated 28 Jun 2010
Type Conference
Year 2005
Where LCPC
Authors Qing Yi
Comments (0)