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