Tom Elken wrote:
On Behalf Of Christian Bell
On Aug 12, 2009, at 11:14 AM, Bill Broadley wrote:

Is it really necessary for dynamic arrays
 to be substantially slower than static?
Yes -- when pointers, the compiler assumes (by default) that the
pointers can alias each other, which can prevent aggressive
optimizations that are otherwise possible with arrays.
 ...
 I remember stacking half a dozen pragmas over a
3-line loop on a Cray C compiler years ago to ensure that accesses
where suitably optimized (or in this case, vectorized).

To add some details to what Christian says, the HPC Challenge version of STREAM 
uses dynamic arrays and is hard to optimize.  I don't know what's best with 
current compiler versions, but you could try some of these that were used in 
past HPCC submissions with your program, Bill:

PathScale 2.2.1 on Opteron:
Base OPT flags: -O3 -OPT:Ofast:fold_reassociate=0 STREAMFLAGS=-O3 -OPT:Ofast:fold_reassociate=0 -OPT:alias=restrict:align_unsafe=on -CG:movnti=1

I hope people don't mind me replying specifically to this PathScale related stuff, but last publicly released version was 3.2 (and a follow-up 3.3-beta) If you're a PathScale customer and interested in this update please feel free to contact me off list.

./Christopher

_______________________________________________
Beowulf mailing list, Beowulf@beowulf.org sponsored by Penguin Computing
To change your subscription (digest mode or unsubscribe) visit 
http://www.beowulf.org/mailman/listinfo/beowulf

Reply via email to