Modeling the behaviour of linear algebra algorithms with message-passing

Modeling the behaviour of linear algebra algorithms is very suitable for designing linear algebra software for high performance computers. This modelization would enable us to predict the execution time of the routines depending on a number of parameters. There are two groups of parameters, in the first, there are the parameters whose values can be chosen by the user: number of processors, processors grid configuration, distribution of data in the system, block size; and in the second, we have the parameters that specify the characteristics of a target architecture: arithmetic cost and start-up and word-sending cost of a communication operation. Thus, a linear algebra library could be designed in such a way that each routine takes the values of the parameters of the first group that provide the expected optimum execution time, and solves the problem. This library could, therefore be employed by a non-expert user to solve scientific or engineering problems, because the user does not need to determine the values of these parameters. The design methodology is analysed with one-sided block Jacobi methods to solve the symmetric eigenvalue problem. Variants for a logical ring and a logical rectangular mesh of processors are considered. An analytical model of the algorithm is developed, and the behaviour of the algorithm is analysed with message-passing using MPI in a SGI Origin 2000. With the parameters chosen by our model, the execution time is reduced from about 50% higher than the optimal to just 2%.