> < ^ Date: Thu, 18 Feb 1993 17:30:39 +0100
> < ^ From: Steve Linton <sal@dcs.st-and.ac.uk >
> < ^ Subject: Re: GAP on super/parallel computers

Everything I am about to say is guesswork, and I would be delighted
to be proved wrong:

GAP is very unlikely to benefit from a massively parallel system
such as a connection machine without considerable help. In
principle, some (though not very many) of the array operations
involved in large list or permutation calculations could be speeded
up, but they would have to be VERY large before the gain exceeded
the overhead of distributing the data to the various machines. Also
the compiler is unlikely to spot any useful parallelisations in the
GAP kernel. It will be looking for floating point array calculations
and the like.

Super-computers are also usually optimised mainly for floating point
array calculations, but will probably still give you some gain on
large list, permutation and vector operations. They also usually
have basic scalar processors comparable to the fastest workstations,
and lots of real memory, both of which may help you.

Of the options you suggest, I'd recommend the RS/6000, on the
grounds of ease of porting and ease of use. The ES/9000 might be a
few times faster as would the Cray, but you'd really be wasting
their capabilities, and you'd probably have to do some work on the

I don't know what machine you're working on, but a Sun Sparcstation
1+ scores about 15000 GAPstones (see the archives of this list for
lots more ratings) and an RS6000 (possibly not the model you have in
mind) scores 41000. I would guess (pure stab in the dark) at about
100000 for the ES/9000, and perhaps 200000 on the Cray, but I could
be miles out.

Have you made sure that you can't speed up your programs by
improving algorithms, or even by recoding key steps in C? This is
usually the best choice where it's possible.


> < [top]