[comp.parallel] C* simulation

becher@decwrl.dec.com (Jon Becher) (09/30/88)

Does any know of a C* (that is, Connection Machine C) language simulator
in the public domain?  It doesn't have to accept absolute legal C* syntax;
just some reasonable approximation.  Of course, it would be compiled for
a serial host.

My best guess is that such a beast would be written in C++ using classes
for domains and overloading the heck out of operators.

Anyone seen or written such a thing?  Any insights on how one would do it?

Thanks in advance,
Jon Becher

Duke University, Department of Computer Science
ARPANET: becher@cs.duke.edu    -OR-     argosy!becher@decwrl.dec.com

curtiss@mimsy.UUCP (Phil Curtiss) (10/03/88)

In article <3100@hubcap.UUCP> argosy!becher@decwrl.dec.com (Jon Becher) writes:
>
>Does any know of a C* (that is, Connection Machine C) language simulator
>in the public domain?  It doesn't have to accept absolute legal C* syntax;
>just some reasonable approximation.  Of course, it would be compiled for
>a serial host.

When you write a C* program you make calls to routines that call Paris
instructions during execution. The only routines that actually get executed
on the CM are the Paris (Parallel Instruction Set) instructions; other
non-paris routines get executed on the front end.

To get a working program you have to include the -lparis library during
compile time. The compiler then does the appropriate compilation taking care
of the Paris instructions. If you specify the option -sim to the compiler it
will compile the C* program so that when invoked it will run on the front
end only; Paris instructions are simulated.

So the simulator is actually a part of the compiler in this case.  I do not
know of any public domain C* compiler (complete with simulator).  There are
also simulators for the *Lisp programming environment but I do not know of
any that are public domain.  There is a simulator based on Koyoto Common
Lisp that runs on a Sun3 workstation (basically a package that gets included
in the default world) and a simulator for the VAX front end that has several
different worlds depending on what you want included in the world (one of
these worlds being a simulator).

>My best guess is that such a beast would be written in C++ using classes
>for domains and overloading the heck out of operators.

It turns out that the TMC C* compiler is written in lisp and is extremely
slow in both compilation and execution. Last I heard TMC is rewriting the
compiler to be extremely fast and the new compiler should be out next year(89)
but don't quote me on that ;-).

I hope this answers some of your questions.  I shall post some mail to some
of the more productive mail-lists for the CM users asking if there are any
public domain versions of the simulators but I seriously doubt there will
be.

You may be able to get a simulator, at least the *Lisp simulator, from TMC
but I doubt that is what you are looking for.

Tah.
-- 
Name: Phillip Curtiss	Domain: curtiss@umiacs.umd.edu UUCP: uunet!mimsy!curtiss
Phone: +1-301-454-7687	USPS: UMIACS, Univ. of Maryland, College Park, MD 20742
Organization: University of Maryland Institute for Advanced Computer Studies