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