[Beowulf] Benchmark between Dell Poweredge 1950 And 1435
Bill Broadley
bill at cse.ucdavis.edu
Mon Mar 12 13:40:42 PDT 2007
Renato S. Silva wrote:
> Hi
>
> What is the best compiler for AMD processors ?
>
> Thanks
> Renato
At?
For which language (java, c, c++, f90, or ???)
Using which flags? Just -O? This can make a big difference, do you spend
time searching the optimization flag space? With or without profiling?
For which application?
I'm sure for any compiler I could find a counter example. I've seen plenty
of data points strongly in one direction or another, but nothing particularly
recent. At one point portland group was substantially behind, but I suspect
things have improved since then. I've definitely used codes that recommend
Portland's compiler because it's known correct for that code. I'd try to look
at benchmark results in your application area if available. Spec publishes
numbers that include compiler version, and flags which can provide a data
point, but the real world relevance is likely to be low (unless you run spec
all day long)
I'm quite happy with the pathscale compiler, but I've not heard anything
bad about the competition though. Sun wins some benchmarks, as does intel
(even on AMD), and I suspect the rest of the competition does as well.
I've done a fair amount of testing with memory systems and I've found
pathscale to be pretty impressive on large static arrays, with or without
openmp, stream like benchmarks scale really well (to 2 or 4 sockets).
I was quite depressed to see around 1/2 the performance when I used dynamic
arrays (allocated with c++ new or malloc). Then I tested g++, gcc, intel's
compiler, and I believe at least one other and nobody else did any better, so
I can't really complain.
If anyone knows how to get great memory performance on dynamically allocated
arrays please post. I.e. stream like bandwidth of around 2/3rd of peak.
Seems like a hidden performance penalty that would effect a large number
of codes (any that dynamically allocate arrays). At least I never learned
that dynamically allocating arrays could cause a huge performance hit (I'm
not including the time to malloc or free).
More information about the Beowulf
mailing list