Phoronix: new Linux compiler = 30% boost in Bulldozer performance

jebo_4jc

[H]ard|DCer of the Month - April 2011
Joined
Apr 8, 2005
Messages
14,566
For Linux noobs like me: Tobit educated me a little on this. A compiler optimization isn't the same as a patch. In order to take advantage of a compiler optimization, we need to have the source code for the app, then compile the app using the new compiler. In other words, compiler optimization only helps apps for which you have access to source code. So, since we don't have the FAH source code, this means little, if anything, for FAH.

However, after seeing the performance improvement in the SciMark scientific computation tasks, you might go :eek: like I did.

http://www.phoronix.com/scan.php?page=article&item=open64_50_bulldozer&num=5

If you read the whole article, performance is all over the board. Some benchmarks even got slower with the new compiler, but damn, if we could only get a 30% reduction in TPF on our Zambezi and Interlagos rigs, we would be talking about 50% gains in PPD........

Somebody needs to get the FAH source code from vijay. coughkendrak
 
The source for FAH is not needed -- it's possible to build the core engine from the published gromacs source base. The gromacs piece that is relevant from a testing and performance perspective is mdrun. (I built a 64bit Windows mdrun.exe about a year ago with some optimizations which were passed back to the Stanford and gromacs developers).

Once [re]compiled, you can run a test like so:
mdrun -s xxx.tpr -nt 48 -npme 0

(where xxx.tpr is a .tpr file from a FAH work directory such as a 6904 work unit, -nt 48 is the number of threads, -npme 0 matches the number of pme nodes selected by FAH. You ctrl-C the test after a few minutes to get the performance statistics, or the runtime can be bounded via another command line option to produce predictable runtimes with detailed giga-flops performance accounting reports.)

You can also play around with a pre-built mdrun by grabbing the gromacs package (apt-get install gromacs).


I don't think a pure recompile with a new compiler is sufficient for gromacs/FAH, however. A fair amount of the code is hand-tuned SSE assembler code. This may need a fair amount of re-write. I'll mention this to Stanford in a future email.
 
Last edited:
Thanks for the info sfield. I'm way over my head already. Where's tobit when I need him.
 
So ummm yeh.......

Anything you want me to do sfield? Sounds like you have it handled, but, umm yeh.

Jebo you got an extra bucket?
 
I don't think a pure recompile with a new compiler is sufficient for gromacs/FAH, however. A fair amount of the code is hand-tuned SSE assembler code. This may need a fair amount of re-write. I'll mention this to Stanford in a future email.

Exactly. Additionally, switching C compilers on Linux, or maintaining two different compiler suites can sometimes be tricky. I may try it for shits and giggles but likely not.
 
Back
Top