TCGMSG Send/receive subroutines ... version 4.03 (January 1993)
---------------------------------------------------------------

Robert J. Harrison

Mail Stop K1-90                             tel: 509-375-2037
Battelle Pacific Northwest Laboratory       fax: 509-375-6631
P.O. Box 999, Richland WA 99352          E-mail: rj_harrison@pnl.gov

Summary
-------

     TCGMSG is a toolkit for writing portable parallel programs using
a message passing model.  Supported are a variety of common UNIX
workstations, mini-super and super computers and hetrogenous networks
of the same, along with true parallel computers such as the Touchstone
Delta, the Intel iPSC, the Kendall Square Research KSR-1, and the
Alliant FX/2800 MPP system.  Applications port between all of these
environments without modification to the parallel constructs.  This
toolkit is available without charge, along with a set of example
'chemistry' applications.  We are using this toolkit in our production
codes, but cannot guarantee support or accept any liability for its
use.


Obtaining TCGMSG
----------------

 a) anonymous ftp from ftp.tcg.anl.gov

    If you obtain the source by ftp please send e-mail to me so that 
    I can maintain a list of users for bugfixes etc.

    Using binary mode transfer the file pub/tcgmsg/tcgmsg.4.02.tar.Z
    (or tcgmsg.4.02.tar if you don't have compress).

 b) e-mail (only if you can't ftp it please)

    Send a request to me at the above address.  I will send you a
    split uuencoded version of tcgmsg.4.02.tar.Z.

Release Notes (4.02)
--------------------

  0)  Note my new address.

  1)  New port to the KSR, done by KSR and integrated by me back
      into the main release.  This looks good, though the C
      compiler will not compile the socket based code with any
      optimisation and I have not done any extensive testing other
      than verify the test code and examples.

  2)  Script (makep) to build a .p file for a UNIX workstation
      network.  It queries a list of machines to see if they are
      up and then sorts them by their load.  Finally, a .p file
      is built to use the desired no. of machines using the least
      loaded ones first.  Have a look at the top of tcgmsg/makep
      for more info.

  3)  A few minor bug fixes.  Worst one was specific to SUN Fortran.

  4)  New function returns wall clock time in seconds as accurately
      as possible (or rather as accurately as currently implemented).

          DOUBLE PRECISION FUNCTION TCGTIME()
          double TCGTIME_()

  5)  Wrapper around nice for FORTRAN users only

          INTEGER FUNCTION NICE(INCR)
          INTEGER INCR

  6)  MD and SCF examples extensively revised to more accurately reflect 
      actual applications.

  7)  Thanks to multiple users for input (Rick Kendall, Theresa Windus,
      Mike Coolidge, Joe Golab, Rik Littlefield, ...)

  8)  Experiments with a function to probe the message queue for
      available messages. 

          INTEGER FUNCTION PROBE(TYPE, NODE)
          INTEGER TYPE, NODE

          long PROBE_(long *type, long *node)

      It is not settled how this should work.  If you want to
      experiment with PROBE_() have a look in ipcv4.0/test.partmods.c.

  9)  Are you aware of the message passing interface standardization
      effort?  Send mail to netlib@ornl.gov with the body
      'send index from mpi' to get more information.
