[gnu.gcc] Gcc on Sequent Balance

chassin@ecrcvax.UUCP (J.C de Kergommeaux) (11/12/88)

I'd like to hear from people using to compile parallel programs on the Sequent
Balance 8000.

In a first attempt, I had an error (segmentation fault) while using 
the parallel library. Recompiling the parallel library with gcc did not help.

In case where this problem is solvable, how does the optimizer works with
parallel programs? With the Dynix C-compiler, it is necessary to compile
the parallel programs with the option -i when the optimizer -O is invoked.
How is it with GNU?

Last but not least, is gcc more efficient than the original Dynix compiler?

Thanks for mailing me your answers directly.

Jacques Chassin de Kergommeaux,
European Computer Industry Research Centre      Tel. + (49) 89-92699-133
Arabellastr 17, 8000 Muenchen 81. West Germany.
USA     chassin%ecrcvax.uucp@pyramid.pyramid.com
        ..!pyramid!ecrcvax!chassin
EUROPE  ..!unido!ecrcvax!chassin
        chassin@ecrcvax.uucp

brooks@maddog.llnl.gov (Eugene Brooks) (12/04/88)

In article <650@ecrcvax.UUCP> chassin@ecrcvax.UUCP (J.C de Kergommeaux) writes:
>
>I'd like to hear from people using to compile parallel programs on the Sequent
>Balance 8000.

We use GCC routinely for parallel programs on the Sequent Balance.  GCC produces
much faster code, typical improvements of 30% or more, on computationally
intensive problems as compared to DYNIX CC, SUN CC, or VAX CC. You tend to see
a big improvement in codes where many common subexpressions are to be found.

In order to use GCC on our parallel programs, we added support for the -mshared
flag which causes all static memory to be in shared store.  Our parallel
programming model creates its own private memory using arrays in shared store
so we did not have to add full support for the "shared" and "private" keywords
which appear in DYNIX C.  We have no problem with optimizing parallel programs
although one sometimes finds GCC packing a variable you are busy waiting on
in a register and polling it there, a problem easily solved with the volatile
keyword.  We use our own locally developed Parallel C Preprocessor for parallel
programs, it supports an effient portable environment which also runs on
several other machines.

Anyone interested in the patches to GCC for parallel support on the Balance
or the Parallel C Preprocessor (PCP) only need give me a buzz.

brooks@maddog.uucp, brooks@maddog.llnl.gov