ian@loral.UUCP (Ian Kaplan) (12/05/84)
I have read a few brief articles and some of Convex's marketing literature. The Convex computer is supposed to be a mini-supercomputer. Like the Cray machines, Convex has parallel vector units (a vector add-subtract unit, a vector multiply-divide unit and a vector unit which performs loads, stores and vector edits). As far as I can tell the vector units are 128 elements in lenght and each element can be a 32 or 64 bit number. The Convex literature states that they can perform a vector operation on a vector of 64 bit floating point elements in 100nsec. I assume that they mean that they can do divides in this time. Convex claims that their peak performance is 60 MFLOPS. This level of performance is achieved when all three of the parallel vector units are busy at the same time. Performance like this is rarely achieved outside of hand coded assembly routines. Although Convex claims that their FORTRAN compiler "fully utilizes the architectural capabilities of the Convex hardware", this seems somewhat doubtful. Compilers on the Cray are usually only able to get about 80 MFLOPS out of the available 200 MFLOPS. The idea that you can take an average FORTRAN program and get a lot of performance via vectorization seems ill considered. (Convex implies that a VAX FORTRAN program will run much faster when moved to a Convex system.) FORTRAN classically has a lot of execution dependancies which make the detection of parallelism difficult. Only when a FORTRAN program is carefully written for a vector architecture can the available speed of the machine be truly utilized. Another thing to consider when evaluating vector systems is that there are usually a lot of scalar operations (i.e., register moves, jumps, compares etc...) between vector instructions. Much of the Cray's performance comes not from its parallel vector units, but from its fast scalar performance. A colleague once commented to me a study done at his lab suggested that if the speed of the Cray vector processors was made infinite (a vector operation took no time), the speed of the machine, for most applications, would increase by at most a few times. The "deeper meaning" of this seems to be that there must be some ratio between the speed of the scalar processor and its associated vector units. As I stated at the outset, I don't know that much about the Convex system. I hope that this note will stimulate some discussion regarding this new machine. I hope that my colleagues out there in net land (perhaps some from Convex) will correct any factual errors I have made regarding the Convex system. Disclaimers and all that Cray is probably a trademark of Cray Research VAX is a trademark of Digital Equipment Corp. Convex is probably a trademark of Convex Computers The opinions expressed here are not necessarily shared by the authors employers. Ian Kaplan Loral Data Flow Group Loral Instrumentation ucbvax!sdcsvax!sdcc6!loral!ian 8401 Aero Dr. San Diego, CA 92123 (619) 560-5888 x4812