"The New NAG Numerical PVM Library"

Brian Ford

NAG Ltd, Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, UK

email: brian@nag.co.uk

In the first quarter of 1995, NAG announced the first release of a new library of numerical routines, called the NAG Numerical PVM library, specifically designed for distributed memory parallel machines. The library is aimed at users with computational problems large enough to make efficient use of the increased processing power and memory capacity of multiple processors.

The library is intended for networks and clusters of workstations behaving as i f they were a single parallel machine and for dedicated distributed memory machines. It is already available for the IBM SP2, and for networks of popular workstations (DEC, HP, IBM, SGI, Sun); a version for the Cray T3D is being prepared.

In order to achieve portability across all these platforms, the library is base d on PVM (Parallel Virtual Machine). PVM was chosen for the initial release because of its widespread availability and growing popularity. Howver, the explicit dependence upon PVM is minimal. The library principally makes use of the Basic Linear Algebra Communication Subprograms (BLACS) for message passing. It assumes that the logical (virtual) topology is a two-dimensional grid of processors which are then allocated to available physical processors. Subsequent calls to library routines execute on each logical processor and co-operate to solve the problem. The model of parallelism adopted throughout the library is the Single Program Multiple Data Model (SPMD) to facilitate portability, ease of use and future design developments. A number of the utility routines are designed to shield users from PVM, or any other underlying message passing system, and to support the aim of making the library easy to use. A version based on MPI (Message Passing INterface) is planned for preparation in the near future.

The first release includes the following routines:

  • A number of ScaLAPACK routines associated with solving dense linear systems of equations
  • Two black box solvers based upon ScaLAPACK
  • Symmetric eigenproblem and SVD routines (using a Jacobi method)
  • A suite of six sparse linear equation solvers (using iterative methods)
  • 1-, 2- and multi-dimensional quadrature routines
  • An unconstrained nonlinear least squares solver
  • A random number generator
  • Data distribution support routines
  • Future releases are planned to include: more routines derived from ScaLAPACK; enhancements to the parallel iterative solvers, including preconditioners; a routine for unconstrained minization; and 2-D and 3-D FFT routines.