Newsgroups: comp.parallel
From: D.J.Beckett@ukc.ac.uk (Dave Beckett)
Subject: occam for all - Kent Retargetable Occam Compiler (KROC) 0.6 beta
Organization: University of Kent at Canterbury, UK.
Date: 25 Oct 1995 15:38:09 GMT
Message-ID: <46lll1$jjo@usenet.srv.cis.pitt.edu>

			   occam for all

              ---------------------------------------
	      Kent Retargetable Occam Compiler (KROC)
              ---------------------------------------

			 (Version 0.6 Beta)



We are pleased to announce the sixth 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 ***
  *                                                                 *
  *  DEC Alpha native-code occam2.1 compiler for OSF 3.0            *
  *                                                                 *
  *  Full SPARC SunOS/Solaris INT16, INT64 and internal compiler    *
  *  library ('occam8.lib') support.                                *
  *                                                                 *
  *  Numerous bug fixes in the Sparc version (since 0.3 beta)       *
  *                                                                 *
  *** NEW *** NEW *** NEW *** NEW *** NEW *** NEW *** NEW *** NEW ***


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.3
  * DEC Alpha running OSF 3.0

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.

KROC releases before 0.3beta provided full occam2 functionality, but
in a closed environment suitable primarily for education and system
development.  Releases since 0.3beta provide the significantly
extended occam2.1 language (previously known as occam2.5), not yet
released by SGS-Thomson for the transputer.  They also give access to
underlying operating system facilities and libraries (e.g. Xlib)
through an interfacing tool, which translates C header files into
occam and generates the necessary linking stub code.  In addition,
you can call native assembler for inner loops of computationally
intensive applications.  Finally, the separate compilation facilities
(with full semantic checking) simplifies the management of large
projects.  Version 0.6beta fixes numerous mistakes that were in the
earlier versions.

The full occam2.1 language reference manual is available from the WWW
site given below.  A short document describing the occam2.1
extensions is included in the release.  Both these documents can be
obtained from:

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

This binary release is for Sun Sparc processors running SunOS 4.1.3U1
or SunOS 5.3 (Solaris 2.3) and DEC Alpha OSF 3.0.  Motorola PowerPC
and other processor versions are being planned.  At a later date, we
will release a further version of this system containing extra tools
(e.g. a makefile generator and 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, kernel and
other elements 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 (IPCA), funded by JISC NTSC, (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 have be made public (on the IPCA).

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

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) and the type of system it is for (in the file HOST).

    Occam For All Team
    ofa-bugs@ukc.ac.uk
    23rd October 1995

