Integrating Multiple Implementations and Structure Exploitation in the Component-Based Design of Parallel ODE Solvers J.M. Mantas 1 , J. Ortega Lopera 2 , and J.A. Carrillo 3 1 Software Engineering Department, University of Granada C/ P. Daniel de Saucedo s/n. 18071 Granada, Spain jmmantas@ugr.es 2 Computer Architecture and Technology Department University of Granada C/ P. Daniel de Saucedo s/n. 18071 Granada, Spain jortega@atc.ugr.es 3 Departament de Matematiques - ICREA Universitat Autonoma de Barcelona Bellaterra E-08193 carrillo@mat.uab.es Abstract. A COmponent-based Methodology to derive Parallel pro- grams to solve Ordinary Differential Equation (ODE) Solvers, termed COMPODES, is presented. The approach is useful to obtain distributed implementations of numerical algorithms which can be specified by com- bining linear algebra operations. The main contribution of the approach is the possibility of managing several implementations of the operations and exploiting the problem structure in an elegant and systematic way. As a result, software reusability is enhanced and a clear structuring of the derivation process is achieved. The approach includes a technique to take the lowest level decisions systematically and is illustrated by deri- ving several implementations of a numerical scheme to solve stiff ODEs. 1 Introduction One important formulation for the ODEs arising from the modelling process is that of the Initial Value Problem (IVP) for ODE [3]. The goal in the IVP is to find a function y : IR IR d at an interval [t 0 ,t f ] given its value at t 0 , y(t 0 )= y 0 , and a system function f : IR × IR d IR d fulfilling that y (t)= f (t, y). The computational demands of the numerical methods to solve IVPs, and the complexity of the IVPs which arise in practical applications, suggests the use of efficient algorithms for Distributed-Memory Parallel Machines (DMPMs). In order to achieve an acceptable performance on a DMPM, the parallel design of this kind of numerical software must take into account 1) the task and data parallelism exhibited by the method (usually, several subcomputations in a time step can be executed simultaneously and each one is composed of linear algebra operations) 2) the characteristics of the particular DMPM and 3) the particular structure of the IVP whose exploitation is fundamental. J. Dongarra, D. Laforenza, S. Orlando (Eds.): Euro PVM/MPI 2003, LNCS 2840, pp. 438–446, 2003. c Springer-Verlag Berlin Heidelberg 2003