MACHINES -- BlockSolve95
Machines on which BlockSolve95 v3.0 has been tested
---------------------------------------------------------------

*** This file lists the machines and compilers on which 
*** BlockSolve95 has been tested.  We give some information
*** and problems relavent to these various machines.

---------------------------------------------------------------
Machine: Sun Sparc Workstations running 4.1.3 (PETSC_ARCH=sun4)
C compiler: gcc (version 2.7)
C++ compiler: g++ (version 2.7)
Notes:  This is the only machine for which we have tested
that the C++ version works.
---------------------------------------------------------------
Machine: IBM RS6000 running AIX 2.3), including IBM SP (PETSC_ARCH=rs6000)
C compiler: xlc (version 1.3.0.33)

Problems:  Early versions of MPICH had a bug that will result
in the program examples hanging.  You should be using the latest
version of MPICH (at least mpich-1.0.12).

Notes:  Starting jobs varies from machine to machine.  At ANL,
mpirun is *very* slow because of the scheduler.  PBX is used at
Langley; it is quite fast.  Other machines may require running 
programs directly from "poe" instead of "mpirun".

Communication:  To get any performance you must use UserSpace 
not IP.  This is set by the environmental variable MP_EUILIB,
(ie, MP_EUILIB=us, not, MP_EUILIB=ip).
Performance is much better better using the "no polling"
option, (ie, mpirun -nopoll) or (MP_CSS_INTERRUPT=YES).

Note that in include/BSdepend.h, NO_BLOCKING_SEND is defined. 
The message-passing on the SP (MPL) does not allow blocking
sends to be used in BlockSolve95 (without deadlock) so we 
use asynchronous sends on this machine.
---------------------------------------------------------------
Machine: 32 bit SGI running IRIX 5.3 (PETSC_ARCH=IRIX)
C compiler: cc (version unknown)
---------------------------------------------------------------
Machine: 64 bit SGI machine running IRIX 6.1+ (PETSC_ARCH=IRIX64)
C compiler: cc (version unknown)
Linking:  The fortran library (FS_LIB) we are linking to has
a routine named "main.o" which results in the warning (but 
no problem in running the programs):
ld64: WARNING 85: definition of main in master0.o preempts that definition in
     /usr/lib64/mips4/libftn.so.
Notes:  There is some problem with using level-2 optimization; currently
the file bmake/IRIX64/IRIX64.O is using "-O1" not "-O2".

Note on the Origin2000, using the SGI implementation of MPI (really
done for the Power Challenge) does not always seem to work.  Should
use MPICH for now.
---------------------------------------------------------------
Machine: HP running UX version 9.01 (PETSC_ARCH=hpux)
Local Machine: Our machine is a 9000/715. 
C compiler: cc (version unknown)
Notes:  The PETSc folks claim you should use Gnu make (gnumake) rather
than the native make on this machine. 
To switch to using gnumake edit the file bmake/hpux/hpux and 
define OMAKE to be the path and name of gnumake.
-----------------------------------------------------------------
Machine: Convex Exemplar running HPUX version 9.03 (PETSC_ARCH=hpux) 
C compiler: /bin/cc (version unknown)
Very little testing is done.
---------------------------------------------------------------
Machine: Sun Sparcstations running Solaris 5.3 (PETSC_ARCH=solaris)
C compiler: cc (version 3.01, we think)
Notes: 
-----------------------------------------------------------------
Machine: Cray T3D (PETSC_ARCH=t3d)
C compiler: cc 
Notes:  the interface to the Fortran BLAS is difficult on this
machine because of the problem of passing strings to Fortran.
Also, note that the BLAS routines use the single precision 
interface (eg, SGEMV instead of DGEMV) even though we are using
C doubles (8 bytes).  This explains all the weird stuff in 
include/BSsparse.h relating to the t3d.
---------------------------------------------------------------
Machine: Paragon running Release 1.0.4 Server 1.3 R1_3 (PETSC_ARCH=paragon)
C compiler: icc (Version R5.0.2)

Notes:  Using the paragon is rather difficult because it doesn't 
really seem to have a working UNIX yet...

One has a great deal of trouble compiling on the Paragon.  You will
probably see (at some time) the random error:
  crabcake% make -e BS_DIR=/ump/hpcc/home05/bsmith/BlockSolve95 BOPT=g all 
  sh: 2555969 Memory fault - core dumped
  *** Exit 139 (ignored)

(1/1/96) To make on the paragon, one seems to have the
following alias in your .cshrc file:

alias make make PETSC_ARCH=paragon -e BS_DIR=/ump/hpcc/home05/bsmith/BlockSolve95

To make, you must use: make ACTION=libfast ..., ACTION=lib doesn't work.

To run on the paragon use:
pexec "/ump/hpcc/home02/keyes/mpich/bin/mpirun -np 64 grid5.paragon 4 4 4 8 8 8 0 10 1 0 0 1 1" -sz 64

In the examples directory, the script "run.paragon" will run the BlockSolve95 examples
(after setting the location of mpirun correctly).
---------------------------------------------------------------              
Machine: DEC alpha running OSF of unknown version (PETSC_ARCH=alpha)
C compiler: cc (version unknown)

Notes:  No recent information, as we do not currently have acces to an alpha.
Notes from PETSc:
  1) If using native "make" (not needed for gnumake)
     - Must set environmental variable PETSC_DIR and 
       run make with -e option.
     - Cannot use make lib must use make -e libfast
---------------------------------------------------------------              
Machine: IBM PC running Linux, Version 1.2.3? (PETSC_ARCH=linux)
C compiler: gcc (version unknown)
We haven't tried this machine yet.
---------------------------------------------------------------              
Machine: IBM PC and compatibles running freeBSD 1.1.5.1 (PETSC_ARCH=freebsd)
C compiler: gcc (version 2.4.5)
We haven't tried this machine yet.
---------------------------------------------------------------

