Announcement

Collapse
No announcement yet.

Open64 Compiler Tuning On AMD Bulldozer FX-8150

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • phoronix
    started a topic Open64 Compiler Tuning On AMD Bulldozer FX-8150

    Open64 Compiler Tuning On AMD Bulldozer FX-8150

    Phoronix: Open64 Compiler Tuning On AMD Bulldozer FX-8150

    After recently comparing the AMD Bulldozer with the GCC, Open64, and LLVM/Clang compilers, in this article is a look at the performance of AMD's Open64 compiler when using their recommended compiler tuning options for Bulldozer when building software.

    http://www.phoronix.com/vr.php?view=16638

  • staalmannen
    replied
    Originally posted by yoshi314 View Post
    somebody explain - what is the point of measuring time TO COMPILE a piece of software?

    it's obvious that more aggressive optimizations will increase build time, and -O0 will be the fastest.

    my idea of benchmarking a compiler would be to measure build time of a source package with DIFFERENT BUILDS of the same compiler under the same CFLAGS, not comparing different cflags against the same build of compiler.

    Actually you have a point that compile time is a relatively "boring" measure since it probably has less impact on the choice of compiler (although you might want to have a fast compiler during development and then a really good optimizing one for when you want to distribute binaries). The interesting measures would be:

    * size of the resulting binaries
    * performance of the resulting binaries

    Leave a comment:


  • yoshi314
    replied
    somebody explain - what is the point of measuring time TO COMPILE a piece of software?

    it's obvious that more aggressive optimizations will increase build time, and -O0 will be the fastest.

    my idea of benchmarking a compiler would be to measure build time of a source package with DIFFERENT BUILDS of the same compiler under the same CFLAGS, not comparing different cflags against the same build of compiler.

    Leave a comment:


  • pszilard
    replied
    Originally posted by highlandsun View Post
    Speaking of which - I'm always annoyed by the lack of analysis in these articles. "We ran foo and it yielded this number X. Next."

    Articles like this teach readers next to nothing, it offers pretty much zero enhancement to understanding.

    I would look at results for, e.g. GraphicsMagick and ask myself "why aren't the BD-specific optimizations helping?"
    And then I'd re-run the test using valgrind cachegrind and see what the code that the compiler generated is actually doing, in an instruction-level profile, and look at the cache hits and misses. (Of course, this assumes that you've built a new enough valgrind that has already been updated to support the new AVX etc. instructions....)
    Exactly! A technology-oriented website should strive for giving insights through analysis. Also, fragmenting a single topic - in this case analysis of the Bulldozer architecture - into multiple articles that just present the reader with bare benchmark data is IMO pointless.

    I have previously mentioned this in the forums and not surprisingly Michael didn't comment. However, a fanatic-sounding guy jumped at me that I shouldn't expect Michael to be my brain-prosthesis - or something like that. :P

    I think this kind of articles are driving down the quality of Phoronix and make it similar content-mills.

    Leave a comment:


  • AnonymousCoward
    replied
    Originally posted by AgY! View Post
    The default Optimization level of open64 is -O2 .. if you specify nothing you get O2's.
    Oh, good, then at least that one is covered. Still it would be nice to know how all recommended flags together change the results.

    Leave a comment:


  • AgY!
    replied
    The default Optimization level of open64 is -O2 .. if you specify nothing you get O2's.

    In other words: The "-march=bdver1" are with O2

    + quote from the article:

    The options tested included stock (not overriding any CFLAGS/CXXFLAGS and Open64 defaults to the -O2 optimization level)

    Leave a comment:


  • Shining Arcanine
    replied
    Originally posted by AnonymousCoward View Post
    Why test only single options? At least one -O2 -march=bdver1 run and one with all recommended options would give more relevant results I think.
    It could be that Michael doesn't use Gentoo. People who use Gentoo know to do that. Users of other distributions do not unless they are kernel/systems programmers.

    Leave a comment:


  • Alliancemd
    replied
    Open64 Compiler on Ubuntu

    How to install Open64 Compiler on Ubuntu?
    I followed their instructions in Ubuntu 10.04 - 11.10 and it never worked...

    Leave a comment:


  • curaga
    replied
    Apart from that, link time optimization can also yield decent performance increase by being able to look at an entire program as a whole rather than as separate code chunks. From my tests, link-time optimizations yield performance gains of 5% at best but I'm sure there are exceptions.
    It was still somewhat broken in 4.6.1 for me, failing to build some apps and libs altogether. Apparently also not working too well w/ mingw.

    Leave a comment:


  • TeoLinuX
    replied
    Originally posted by PsynoKhi0 View Post
    Thank you, I was starting to think I was alone on that point.
    Countless sites have already thrown together graphs and called it a day, leaving readers to do the "e-peen = f(bar length)" math.

    I can read the data just fine, please focus on giving me information instead.
    Totally agree!!
    I have to rely on readers' comments to gain some info/clue on what's happening in the figures! (provided that no troll wars start or OT hijacking occur)
    Maybe some follow-up article (or some editing on the article later on) deriving from forum discussions would be of much use to increase the overall Phoronix value and interest.

    Even a wrong guess is better than no guess: forums are there to correct/insult/discuss about'em

    Leave a comment:

Working...
X