[net.unix] Convex C-1 computer?

rwells@bbn-spca.ARPA (Robert Wells) (04/23/85)

I'd appreciate any experience or opinions people might have about the
Convex C-1 computer.  The company is in Richardson, Texas.  The machine
costs $0.5-1.0M, runs under 4.2bsd, and has vector register hardware
instructions which are supported by their own vectorizing compiler.  It is
a 10 Mips machine, and can do up to about 40 MFlops for vector ops (i.e.,
about 1/4 of a Cray-1).

Is this a credible company and machine?  I would appreciate any comments,
opinions, rumors, speculations, contact persons, etc.  Thanks, Robert

moss@BRL-VLD.ARPA (Gary S. Moss (AMXBR-VLD-V)) (04/24/85)

Personally I'd wait until they come out with a vectorizing 'C' compiler.
They are planning on it, but I don't remember getting a firm date on it.
From what I could gather from talking to the salesman at NCGA conf., if
you don't use the vectorizing Fortran compiler to exploit the hardware,
you won't see nearly the performance you would want at that price.

-moss

earl@BRL-VAT.ARPA (VLD/ATB) (04/24/85)

You'd best check with somebody at Convex & run your benchmarks there to
ascertain those numbers.  But here is some info based upon our
initial findings:

1.  A vectorizing C compilier does not exist for this machine, thus
you will not be able to take advantage of the vector hardware using C
unless you can kludge up some kind of calls to Fortran vector subroutines.
Convex says that a vectorizing C compiler is in the works and should appear
in about a year.

2. The vectorizing Fortran compiler is still in development.  The optimizing
option still has some bugs; sometimes simple code compiled with the
highest optimization causes error reports, but moving down one optimization
level works OK.  These bugs are being fixed when encountered.

3. The non-vector operational speed is not too impressive.  We've seen
only 3.5 to 5.5 speedups over our VAX 750.  Therefore, if your code is
either written in C or non-vectorizable Fortran, you will not get a
10 Mip machine.

4.  However, if you're starting a program from scratch, (assume Fortran
for the time being...) and you can structure it to take advantage of the
vector architecture (using arrays that are long & not
wide instead of wide & long), do not call any subroutines in the loop,
do not jump out of the loop (terminate prematurely) [for example, set
a flag and when the loop completes check the flag...], and other practices
appropriate to vector machines, the machine will supposedly get up to
40 Mips.  Of course, that's a lot of "ifs".

5. Convex also has plans for improving performance, but I don't know
details or schedules.

6. Convex's Fortran compiler is generally pretty decent in that we
made a tar tape of a program & subroutines (about 130 modules in
all) with our 4.2/System V Vax 750 and were able to read it into the
Convex, get it to compile and run with relatively little difficulty
in a few hours.

7.  The machine itself is nice and compact and requires
no special site considerations (other than clean air and free air movement).


I have heard (from Convex, of course) that they have taken some Fortran
programs (not written with vectorization in mind originally) and by making
minor changes to exploit the compiler vectorization (such as redimensioning
arrays, etc) have gotten 17-19 Mips from the machine. Some of our
heavy Fortan users (read that "not pro-unix number crunchers") estimate
the Convex to be 1/8 of a Cray.

The best approach, of course, is to take (or send) your favorite applications
codes to Convex & benchmark it.  If you're used to running on a Cyber 205
or Cray, then you'd probably be very happy with the performance considering
the price.  But if you're a typical Unix C user, then you might not
be happy.

eugene@ames.UUCP (Eugene Miya) (05/01/85)

The contractor that runs our Cray XMP has just received a Convex C-1
[Technology Development of California (TDC)].  You will be able to
rent time on their machine shortly.  They are new to the Unix environment,
but I'll be telling them about uucp.

Their software (FORTRAN, 4.2, etc.) looks good.  We will be benchmarking
on a machine shortly, and I have a set of test programs to characterize
architectures.  Regarding Vectorizing C, most C programs are poor
candidates for vectorization due to the typical structure of C programs.
Vectorization only works on certain "well structured, regular" loops.
This is nothing new, the first FORTRAN programs did not vectorize well
either, so you will either restructure to gain performance benefits of
vector C (potentially non-portable) or settle for scalar performance.
That is how most supercomputer codes are structured.  It depends how much
work you are willing to put into it.

Lastly, if you are close to the South SF Bay, I might be able to run
simple benchmarks if you send them to me.  You can also mail to convex
since they are on the net.  I don't have time to modify your codes, just
run them.  I've been told that there is a 100Hz ala the 4.2 gettimeofday()
and a call 'etime()' which is a 1 microsecond clock.

--eugene miya
  NASA Ames Research Center
  {hplabs,ihnp4,dual,hao,decwrl,allegra}!ames!aurora!eugene
  emiya@ames-vmsb.ARPA