Slashdot Mirror


Application Optimization with Compilers for LOP

An anonymous reader writes "Interested in tuning your C/C++ applications for Linux on POWER? This article compares the optimization options for both Linux on POWER C/C++ compilers: GCC and IBM XL C/C++. This paper also reviews tactics, such as Interprocedural Analysis, Profile Directed Feedback, and High Order Transformations, which are used by one or both of the compilers to extract higher performance from the Power architecture."

7 of 20 comments (clear)

  1. what the hell by giel · · Score: 1, Funny
    I cannot be the only one reading this thinking "What the hell is Linux on POWER?"

    For sure you're not the only one. Almost everybody nowadays starts posting before even reading an article and or related links. Very 'Insightful'.

    --
    giel.y contains 2 shift/reduce conflicts
  2. Power PC rocks !! by Gopal.V · · Score: 3, Informative

    PowerPC CPU is a cool design - not only does it deliver great performance at lower clock speeds, but the entire design is great for compiler devs .

    For one, they have true 3 register operations. Which means that every binary operation has a src1, src2, and dst. Also all opcodes are 32 bit - no exceptions (jmp offsets are easy to check for).

    Because of 32 registers (not a measly 8), most of the code can run very fast off them , especially those tight loops. Also the cache touch instructions which do not segfault for invalid addresses helps you fetch arrays before their indexes are validated.

    All in all, I prefer PPC to x86 on any day. Now if only they'd have a common FPU opcode set.

    1. Re:Power PC rocks !! by keesh · · Score: 1, Informative

      Uh, you just described SPARCv9, not Power. Power opcodes come in multiple sizes.

  3. Re:What? by den_erpel · · Score: 1

    Perhaps you should have a look at Wikipedia. It is the base for a lot of processor architectures, including PowerPC. A lot of embedded architectures use a PowerPC instead of an Intel or other uC.

    Considering the spread, I for one am interested very interested in the article and esp. in order to see what kind of improvements gcc can still obtain. This gives me a very strong incentive to keep a close eye on the development and re-create my crosscompilation environment with major and mid gcc releases.

    --
    Genius doesn't work on an assembly line basis. You can't simply say, "Today I will be brilliant."
  4. Nothing to see here... by Anonymous Coward · · Score: 2, Funny
    Look, I'm all for optimizations and compiler technology, but the example is *lame*. First it's copying gigs of memory from one array to the other in a _non-sequential_ (!) manner. I think it is safe to say that by reordering the loops you would get all the benefits of the IBM compiler. Why not use the memcpy() function then??

    I think the lesson here is not how a compiler can save you time but how you can save time by not reading the article.

  5. Not quite the operator I'd use... by Millennium · · Score: 1

    It's more accurate to say that PowerPC POWER, rather than that PowerPC != POWER..

    There are several lines of chips based off of the POWER architecture. PowerPC is one of them, and as others have mentioned it has fixed-size 32-bit instructions. It's a subset of the POWER architecture which has this particular property, but that property might not apply to POWER itself.

  6. Re:What? by 0racle · · Score: 1

    Could that be because Power doesn't stand for PowerPC. PPC is just one chip type in the Power family. Its an article summary, not glossary. If you don't know what something is, look it up yourself.

    --
    "I use a Mac because I'm just better than you are."