,-. ,-  ,- ,-   / / ,-  |-.  
        |-' `-` |  `-` / /  `-` `-'  

       Parallel Processing Laboratory,        
 Dept. of Informatics, University of Bergen, 
 High Technology Centre, N-5020 Bergen,Norway

BLAS (1-2-3) for the MasPar MP-1, MP-2 and DEC's MPP 12000 series.

The general-matrix BLAS routines have been implemented for the
MasPar 1200 and DECmpp 12000/Sx systems. These routines are designed
to be called from the MasPar FORTRAN language (mpfortran).

The MPL BLAS routines have been compiled and tested using MasPar
software v3.0 and the ansi-based mpl compiler.

THE BLAS EXIST IN TWO VERSIONS, a PURE FORTRAN 90 based version
and a MIXED FORTRAN90/MPL version. The pure F90 is in 

maspar/f90  ,  while the mixed version is in  maspar/mpl.

There are double and single precision, a total of 4 libraries:

maspar/f90/dblas    double real,  F90
maspar/f90/sblas    single real,  F90
maspar/mpl/dblas    double real,  F90/MPL
maspar/mpl/sblas    double real,  F90/MPL

to get a full library, type:   send all from maspar/f90/sblas 
if f90/sblas etc.

The F90 version can be expected to improve as the compiler gets better,
the Mixed version is sometimes faster, in particular for large
problems. Since the relative performance will change over time the
user is advised to check which version works best in his/her
application. Due to call-overhead, the F90 version will almost always
be faster for small problem sizes, while the mixed version sometimes
is faster for large problem sizes.

Building MPL BLAS

In order to build the mpl_blas routines, carry out the following
procedure:

Edit the Makefile, change the LIBS macro to point to the directory where
you will install the libraries. 

If you want to use K&R mpl then change the MPL macro to use 'ompl'.
MPL BLAS will compile and run with K&R mpl, but its use is not
supported.  

If you are running and older version of MasPar or DECmpp
software that does not have ANSI-MPL as the default, you will need to
specify the MPL macro as 'ampl'. It is also necessary to build
libraries specific to the machine size(es) you will be using.
In this case you should substitute '-pesize=<something>' instead
of the -pevariable flag for FFLAGS.

mplwrap is a C-Shell script which generates interface routines for
conveniently calling mpl from mpfortran.

Type 'make'