Archives


- Beowulf
- Beowulf Announce
- Scyld-users
- Beowulf on Debian

[Beowulf] bizarre scaling behavior on a Nehalem

Many of your questions may have already been answered in earlier discussions or in the FAQ. The search results page will indicate current discussions as well as past list serves, articles, and papers.

Search

"C. Bergström" codestr0m at osunix.org
Sat Aug 15 20:13:42 PDT 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.

./Christopher




More information about the Beowulf mailing list