Newsgroups: comp.parallel
From: D.J.Beckett@ukc.ac.uk
Subject: ANNOUNCE: OFA Kent Retargetable occam Compiler (KROC) 0.3 Beta
Organization: University of Kent at Canterbury
Date: 19 Sep 1995 15:11:13 GMT
Message-ID: <43mmih$9v2@usenet.srv.cis.pitt.edu>

	       Kent Retargetable occam Compiler (KROC)
	       ---------------------------------------
			 Version 0.3 Beta


This is to announce the third 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 ***
  *                                                                 *
  *  Sparc native-code compiler for SunOS 4 or 5 (Solaris 2)        *
  *                                                                 *
  *  Full occam 2.1 support:                                        *
  *        RECORDs, user DATA TYPEs,                                *
  *        array RESHAPEing, BYTE arithmetic, ...                   *
  *                                                                 *
  *  Occam/C interface tool for calling C and assembler libraries   *
  *                                                                 *
  *  Separate compilation support (#USE)                            *
  *                                                                 *
  *** NEW *** NEW *** NEW *** NEW *** NEW *** NEW *** NEW *** NEW ***


KROC is a portable occam(TM) compiler system that enables occam to
run on non-transputer platforms (initially SunOS/Sparc workstations).
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 the
transputer micro-code.  Basic context-switch overheads for an
arbitrary number of processes are around 600 nano-seconds on a
Sparc-20.  Process creation and shutdown overheads are the same order
of magnitude.

The previous releases of KROC provided full occam2 functionality, but
in a closed environment suitable primarily for education and system
development.  This release provides the significantly extended
occam2.1 language (previously known as occam2.5), not yet released by
SGS-Thomson for the transputer.  It also gives access to the
underlying operating system facilities and libraries (e.g. Xlib)
through the interfacing tool, which translates C header files into
occam and generates the necessary linking code.  In addition, it
allows dropping into native assembler for inner loops of
computationally intensive applications.  Finally, the separate
compilation facilities (with full semantic checking) simplifies the
management of large projects.

The full occam2.1 language reference manual is available from the web
site given below.  A short document describing the occam2.1
extensions is included in the release.

This binary release is for Sun Sparc processors running SunOS 4 or
SunOS 5 (Solaris 2) and will be followed by a release for the DEC
Alpha on 15th October 1995 and Motorola PowerPC or other processors
at a later date.  Also on 15th October 1995, we will release a
further version of this Sparc compiler containing extra tools (e.g. a
makefile generator, support for more of the Toolset compiler-known
libraries, ...).  Compilers and run-time systems for multiprocessor
targets will follow next year (1996).

A public source release of the generic KROC translator and kernel
will follow later, probably 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.

This release is available from the Internet Parallel Computing Archive
(hosted by HENSA Unix) at either of these places:

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

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 will be made public soon (on the archive).

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

    David Wood
    Professor Peter Welch
    Michael Poole
    Carl Lewis

with the support 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).

    Occam For All Team
    ofa-bugs@ukc.ac.uk
    18th September 1995

