Applying Automated Memory Analysis to Improve Iterative Algorithms

John M. Dennis, Elizabeth R. Jessup · SIAM Journal on Scientific Computing · 2007

In this paper, we describe automated memory analysis, a technique to improve the memory efficiency of a sparse linear iterative solver. Our automated memory analysis uses a language processor to predict the data movement required for an iterative algorithm based upon a MATLAB implementation. We demonstrate how automated memory analysis is used to reduce the execution time of a component of a global parallel ocean model. In particular, code modifications identified or evaluated through automated memory analysis enable a significant reduction in execution time for the conjugate gradient solver on a small serial problem. Further, we achieve a 9 in total execution time for the full model on 64 processors. The predictive capabilities of our automated memory analysis can be used to simplify the development of memory-efficient numerical algorithms or software.

Read the paper · More papers on PaperTik