[Beowulf] bizarre scaling behavior on a Nehalem
codestr0m at osunix.org
Sat Aug 15 23:13:42 EDT 2009
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.
Beowulf mailing list, Beowulf at beowulf.org sponsored by Penguin Computing
To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf
More information about the Beowulf