
          occam For All : Kent Retargetable Occam Compiler (KROC)

                             Version 1.0.3 Beta

   We are pleased to announce the 10th beta release of the KROC system
   developed by the "occam For All" (oFA) project, which is part of the
   (UK) EPSRC Portable Software Tools for Parallel Architectures
   programme.

  *** NEW *** NEW *** NEW *** NEW *** NEW *** NEW *** NEW *** NEW ***
  *                                                                 *
  *  !!  KRoC for x86 Linux platforms using libc5 or libc6.   !!    *
  *      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~         *
  *  Inclusion of occam compiler supporting experimental            *
  *  user-defined operators with documentation to describe its use  *
  *  and two example implementations:                               *
  *    dynamic strings (DSTRING) with documentation                 *
  *    COMPLEX32 and COMPLEX64                                      *
  *                                                                 *
  *  Updated experimental synchronisation libraries:                *
  *    EVENTs, SEMAPHOREs, RESOURCEs and BUCKETs                    *
  *  with new documentation for this version.                       *
  *                                                                 *
  *  Numerous minor bug fixes                                       *
  *                                                                 *
  *** NEW *** NEW *** NEW *** NEW *** NEW *** NEW *** NEW *** NEW ***

Overview

   KROC is a portable occam(TM) 2.1 compiler system that enables occam to
   run on non-transputer platforms. We currently support these systems:

     * Sun SPARC running SunOS 4.1.3U1 or Solaris 2.5
     * DEC Alpha running OSF1/3.0
     * Intel 386/486/Pentium running Linux 2.0 with libc5 or libc6

   This release of KROC is available from the Internet Parallel
   Computing Archive (IPCA), funded by JISC at:

     *
       <URL:http://www.hensa.ac.uk/parallel/occam/projects/occam-for-al
       l/kroc/>
     *
       <URL:ftp://unix.hensa.ac.uk/pub/parallel/occam/projects/occam-fo
       r-all/kroc/>

   KROC works by translating code produced by an SGS-Thomson(TM) occam
   Toolset compiler into the native assembler for the target architecture
   and linking in a small (< 2K bytes) kernel that provides the process
   scheduling and message-passing functionality of transputer micro-code.
   Basic context-switch overheads for an arbitrary number of processes
   are around 600 nano-seconds on a Sparc-20 and 230 nano-seconds on a
   233 MHz Alpha. Process creation and shutdown overheads are the same
   order of magnitude.

Release details

   KROC supports the significantly extended occam2.1 language released by
   SGS-Thomson for the transputer along with experimental user-defined
   operator enhancments by the OFA project team. It also gives access to
   underlying OS facilities and libraries through an interfacing tool,
   which translates C header files into occam and generates the necessary
   linking stub code (Sparc SunOS only). In addition, you can call native
   assembler for inner loops of computationally intensive applications.
   Finally, the separate compilation facilities (with full semantic
   checking) helps with the management of large projects.

   The binary releases are for Sun Sparc processors running SunOS 4.1.3U1
   (aka Solaris 1.3) or SunOS 5.5 (Solaris 2.5) and DEC Alpha OSF/1 3.0.
   We now also support a binary release for Linux. It was developed under
   Slakware 3.1, but should work with slightly older versions. It does
   however require a reasonably up to date version of the GNU assembler
   (part of the binutils package). Motorola PowerPC and other processor
   versions are being worked on. At a later date, we will release a
   further version of this system containing extra tools. We hope to have
   a working multiprocessor version for networks of workstations
   available by the middle of this year (1997).

   A public source release of the generic KROC translator, kernel and
   other elements may follow later under the GNU license. If you would
   like to be an early tester for the source release, i.e. you wish to
   retarget to another processor not already listed in the TARGETS
   file, please contact us.

   You do _NOT_ need an occam compiler to use KROC since we include one
   that has been derived from the SGS-Thomson Microelectronics occam2.1
   compiler. This compiler will _not_ generate transputer binaries and is
   only usable for KROC. Lots of thanks and appreciation to SGST-ME at
   Bristol, and Tony Debling especially, for this and other materials
   that have be made public (on the IPCA).

Included Documents

     * _Installation and Use_ document in INSTALL
       _Read this first_ to find out how to set up and run KROC.
     * _KROC version history_ in NEWS.
     * _OFA Project - 'To Do' list_ in TODO.
     * A short PostScript document describing the occam2.1 extensions in
       docs/occam/oc21small.ps.
     * _An occam2.1 Checklist_ - overview document of the occam2.1
       language in docs/o2cl.ps. This covers most of the occam2 parts
       of the language in a reference form that is easy to read.
     * _Teaching Materials_ - For learning and teaching occam, we include
       the course materials we use at UKC to teach undergraduate occam
       courses. This consists of a text version of the above checklist
       document, some example programs, a support library and the
       exercises. Look in the course directory for the details.
     * A short document with an example, of how to use the hostio.lib
       etc. libraries available in this release at
       examples/inmos-libs.
     * _User Defined Operators for occam2.x_ in docs/udo.html (HTML)
       and docs/udo.ps (PostScript). The example code is in
       examples/udo/.
     * _Dynamic string library - and example of User Defined Operators_
       in docs/dstring.html (HTML) and [16]docs/dstring.ps
       (PostScript). The example code is in examples/udo/.

On-line WWW Documentation

   The full _occam2.1 language reference manual_ at:
     * <URL:http://www.hensa.ac.uk/parallel/occam/documentation/>
     * <URL:ftp://unix.hensa.ac.uk/pub/parallel/occam/documentation/>

   The complete occam library documentation is available at:

     *
       <URL:http://www.hensa.ac.uk/parallel/occam/documentation/inmos/
       >
     *
       <URL:ftp://unix.hensa.ac.uk/pub/parallel/occam/documentation/in
       mos/>

Contacts

   The development of the release of the Sparc and Alpha-targeted KROC
   was done at the University of Kent at Canterbury by the following
   people:

     David Wood
     Professor Peter Welch
     Michael Poole
     Carl Lewis
     Jim Moores

   with the help of Dave Beckett and Vedat Demiralp.

   Please contact us at the address below if you have problems. Please
   give a full description of your problem, including your source files
   that demonstrate the problem if necessary. Please also indicate the
   release of the system you are using (in the file VERSION in the
   distribution) and the type of system it is for (in the file HOST).

     _________________________________________________________________

    Occam For All Team
    ofa-bugs@ukc.ac.uk
    31st March 1997

References

   1. http://www.hensa.ac.uk/parallel/
   2. http://www.hensa.ac.uk/parallel/occam/projects/occam-for-all/kroc/
   3. ftp://unix.hensa.ac.uk/pub/parallel/occam/projects/occam-for-all/kroc/
   4. file://localhost/home/jm40/linux_kroc/kroc-1.0.1beta/TARGETS.html
   5. file://localhost/home/jm40/linux_kroc/kroc-1.0.1beta/INSTALL.html
   6. file://localhost/home/jm40/linux_kroc/kroc-1.0.1beta/NEWS.html
   7. file://localhost/home/jm40/linux_kroc/kroc-1.0.1beta/TODO.html
   8. file://localhost/home/jm40/linux_kroc/kroc-1.0.1beta/docs/occam/oc21small.ps
   9. file://localhost/home/jm40/linux_kroc/kroc-1.0.1beta/docs/o2cl.ps
  10. file://localhost/home/jm40/linux_kroc/kroc-1.0.1beta/course/
  11. file://localhost/home/jm40/linux_kroc/kroc-1.0.1beta/examples/inmos-libs/
  12. file://localhost/home/jm40/linux_kroc/kroc-1.0.1beta/docs/udo.html
  13. file://localhost/home/jm40/linux_kroc/kroc-1.0.1beta/docs/udo.ps
  14. file://localhost/home/jm40/linux_kroc/kroc-1.0.1beta/examples/udo/
  15. file://localhost/home/jm40/linux_kroc/kroc-1.0.1beta/docs/dstring.html
  16. file://localhost/home/jm40/linux_kroc/kroc-1.0.1beta/docs/dstring.ps
  17. file://localhost/home/jm40/linux_kroc/kroc-1.0.1beta/examples/udo/
  18. http://www.hensa.ac.uk/parallel/occam/documentation/
  19. ftp://unix.hensa.ac.uk/pub/parallel/occam/documentation/
  20. http://www.hensa.ac.uk/parallel/occam/documentation/inmos/index.html
  21. ftp://unix.hensa.ac.uk/pub/parallel/occam/documentation/inmos/
  22. mailto:ofa-bugs@ukc.ac.uk
