Improving Locality for ODE Solvers by Program Transformations

Runge-Kutta methods are popular methods for the solution of ordinary differential equations and implementations are provided by many scientific libraries. The performance of Runge-Kutta methods depends on the specific application problem to be solved, but also on the characteristics of the target ma...

Full description

Bibliographic Details
Main Authors: Thomas Rauber, Gudula Rünger
Format: Article
Language:English
Published: Hindawi Limited 2004-01-01
Series:Scientific Programming
Online Access:http://dx.doi.org/10.1155/2004/175169
Description
Summary:Runge-Kutta methods are popular methods for the solution of ordinary differential equations and implementations are provided by many scientific libraries. The performance of Runge-Kutta methods depends on the specific application problem to be solved, but also on the characteristics of the target machine. For processors with a memory hierarchy, the locality of data referencing pattern has a large impact on the efficiency of a program. In this paper, we describe program transformations for Runge-Kutta methods resulting in implementations with improved locality behavior for systems of ODEs. The transformations are based on properties of the solution method but are independent from the specific application problem or the specific target machine so that the resulting implementation is suitable as library function. We show that the locality improvement leads to performance gains on different recent microprocessors.
ISSN:1058-9244
1875-919X