Implementation

next up previous contents
Next: Documentation Up: Library Software Development Previous: Library Software Development

Implementation

The main task is to implement the software specifications resulting from the end-users' applications on a specified range of parallel machines.

The main focus has been on the development of parallel sparse linear algebra routines. The implementation of distribution, set-up and auxiliary routines for sparse matrices stored in coordinate storage format which are distributed in cyclic row block form has been completed. Moreover, a block Jacobi preconditioner and a black-box routine for sparse matrices stored in coordinate storage have been developed. Efforts have also been made to extend the range of applicability of these routines to general row block distributions. Furthermore, all the existing reverse-communication iterative solvers in the NAG Parallel Library have been up-dated in order to make them compatible with the parallel sparse linear algebra routines developed in PINEAPL. Additionally, work has begun on putting the banded solvers in ScaLAPACK into library form.

Other work has been devoted to

  • research and acquisition of available software modules that could be used in parallel FFT modules according to NAG requirements;
  • development of a draft driver routine for 2D FFT.

Also the work on the parallel implementation of two optimization routines, a quasi-Newton routine and a sequential quadratic programming routine has begun. On the load-balancing front, possible interface definitions for the load-balancing routine have been produced for consideration by NAG. Development of the load-balancing software has begun, and an example test code has been developed to help clarify the functionality of the proposed routine. A number of discussions aimed at finalizing the interface of this routine have taken place.

An analysis of the general criteria for error handling adopted in the NAG (serial) FORTRAN Library and in the NAG Parallel Library has been carried out, in order to include a standard error handling mechanism in the parallel routines to be developed.


next up previous contents
Next: Documentation Up: Library Software Development Previous: Library Software Development
Mishi Derakhshan
Wed Apr 23 12:54:57 BST 1997