Slashdot Mirror


Red Hat To Support PowerPC, AltiVec

Steve Cowan writes "According to an article at MacCentral, Red Hat has announced that they will produce a GNUPro toolchain and cross compiler for AltiVec-enabled PowerPC processors (such as that found in the Power Mac G4). It will be interesting to see just what kind of performance gains this will bring, because many believe that the full potential of AltiVec is far from tapped."

13 of 244 comments (clear)

  1. The real worth here... by Venomous+Louse · · Score: 3, Interesting

    The real worth here lies in the fact that MacOS X is, let's not forget, essentially a UN*X platform. If RH play their cards right on this one, we should start seeing GNU tools perceived as a technical leader where in the past they've been perceived as something more like a reliable least common denominator.

    Free software has to grow. It still needs to prove itself to make that happen. It's good to see RH concentrating on something genuinely forward-looking.

    --
    "Christianity neither is, nor ever was a part of the common law." --
  2. But... by Anonymous Coward · · Score: 1, Interesting

    Apple's toolchain on OSX is gcc already, and they've (supposedly) submitted a bunch of compiler optimizations back to the gcc group, and I'm sure IBM's mainframe linux guys have submitted a bunch as well. So is RedHat doing more development? Or just putting out a press release about all these wonderful things they didn't do?

  3. Does this affect RS6Ks? by Mojo+Trolljo · · Score: 2, Interesting

    PPC is what is used in IBM's RS/6000's. I wonder if this an attempt to undercut AIX with a competitive compiler. Having said that I wonder what IBM is doing along these lines (if anything) for a chip they principly designed and still use in their servers

    --
    This post was made by I, Mojo Trolljo, for you to read that was written by I who is Mojo Trolljo!
  4. Overlooked Arena by atathert · · Score: 2, Interesting

    The arena that this is being overlooked in is the embedded software community. Currently, to use the AltiVec instructions, I believe you are locked into using operating systems such as WindRiver's VxWorks. This will not make such a big effect on the mac community, since as previously pointed out, most of the Mac users are fanatics and not likely to change. However, there are an immmense number of PPC based embedded systems out there that could benefit from this, not only performance wise, but also not having to pay X thousands of dollars for each license of VxWorks. I for one can't wait to see how this works out.

  5. It will stay untapped. by Erich · · Score: 5, Interesting
    Parallelism is really, really, really hard to do in a compiler. Intel has a hard time doing it even after spending millions for a compiler on their VLIW architecture. DLP is typically even harder than ILP for a compiler to do.

    Compilers can typically do a pretty good job on sequential machines, but there is still a long way to go for getting good parallel code. Hand coding things is still the way to go for maximum performance.

    That being said, the compiler can probably use it some, and having a resource available is typically better than not having the resource at all.

    --

    -- Erich

    Slashdot reader since 1997

    1. Re:It will stay untapped. by RobertFisher · · Score: 4, Interesting

      I don't agree with this author's assessment. The type of "parallelism" involved in the AltiVec is SIMD -- single instruction, multiple data. It's the same kind of parallelism which Cray pioneered over 25 years ago. While in the early days, a great deal of hand-tuning was required, leading to such memorable Cray-specific replacement constructs as the vectorized Cray vector merges (CVMGT, CVMGZ, CVMGP, etc...) in place of non-vectorized If-Then's, great strides were made in Cray's compilers over the last few years. You could get very reasonable vectorized performance for most numerically intensive codes straight out of the compiler, without any modifications at all. With a bit of profiling and additional compiler directives, you could get excellent performance indeed.

      The plain fact of the matter is that SIMD is MUCH, MUCH easier than doing distributed parallelization. It took Cray about 20 years to really get it right, so given how new the Altivec is, let's give Apple and company a few years to see how much they can accomplish.

      Bob

      --
      Science, like Nature, must also be tamed, with a view turned towards its preservation.
    2. Re:It will stay untapped. by Erich · · Score: 3, Interesting
      I don't agree with this author's assessment. The type of "parallelism" involved in the AltiVec is SIMD -- single instruction, multiple data.

      Right, DLP (Data Level Parallelism) instructions. Exploiting parallelism in the data rather than the instructions. The G4 actually has a really nice set of DLP instructions, and some of the "Single Instructions" (from what I understand) actually allow you to do different operations on different parts of data -- wich is nice.

      The G4 also has ILP features -- it's a superscalar architecture can issue several instructions in a given cycle.

      But the ILP features are done automatically in hardware, and hardware doesn't have the "big picture" that the compiler (or person writing assembly code) has. Architectures that define parallelism explicitly (like VLIW (EPIC) architectures) tell the hardware what can go in parallel and what can't. Unfortunately, the compilers for VLIW architectures have a hard enough time doing good ILP code; DLP code is even harder.

      For instance, you have c code:

      c = a+b;
      d = e+f;
      Say that these are in packed words in the register file. Perhaps the compiler can write "add2 r0,r1,r2" and do both of the adds at the same time. It should be even easier to not keep track of packed words and say "add r0,r1,r2 & add r3,r4,r5", where add instructions are explicitly defined as running at the same time. And compilers can usually do this OK. It's very hard for compilers to software pipeline loops and such, which is what provides the biggest benefit.

      You could get very reasonable vectorized performance for most numerically intensive codes straight out of the compiler, without any modifications at all. With a bit of profiling and additional compiler directives, you could get excellent performance indeed.

      But GNU C isn't designed to be a vector compiler, it's designed for single-issue, non-DLP (SIMD == DLP) architectures. Sure, giving it vector and DLP or ILP resources might let it use the things once in a while, but for the most part it will go unused.

      Don't expect huge speedups everywhere without hand-tuned libraries.

      --

      -- Erich

      Slashdot reader since 1997

  6. Re:RedHat on new Macs? by j1mmy · · Score: 1, Interesting

    No, OS X does not meet Linuxy needs. The two systems each have their own benefits and pitfalls.

    Like what? Is opensource really a benefit? Does that help you get your work done? Is a lack of commercial applications a true pitfall? Can't you deal with .doc files in Abiword or StarWriter? Is a variety of window managers a good thing? How many different border and titlebar styles can you really need?

    I have yet to find a window manager for X that both looks good and behaves well. I consider the win32 GUI to be better than all of them.

    I've been using various redhats for the last year and I'm hardly in love with it. I've run freebsd for years and never felt the need to install X or do anything more with it than serve web pages. I really don't like any of the linux or BSD distros very much. I don't even like the unix paradigm or any of it's conventions and standards.

  7. Good for Motorola - somewhat for Apple by Anonymous Coward · · Score: 1, Interesting

    I think some people are missing the point here. It's not RH on a Mac, it's RH on a G4. The difference is that this could mean a new market for Motorola...i.e. make a G4-based system that isn't a Mac. Not saying they'd exclude the Mac, just saying they're not limiting themselves. Moto really needs this because the G4 just doesn't have the huge market that the x86 processors hold (so, less R&D money for Moto compared to say Intel or even AMD). Apple killed off clones and other competition (e.g. WinNT on PowerPC), and therefore hurt the development of the PPC (lower sales volume, lower revenue). Personally, I already run RH 7.2 for my mail server (Athlon-based) and I'd love to run it as a second OS on my dual-800. Even more interesting/desirable would be a new G4 system that I could put together (wow, actually buy a PPC motherboard at a decent price?!?!?!) and make it my new mail/web/DNS/render farm/samba server....yummy..

  8. Re:RedHat on new Macs? by MoneyT · · Score: 2, Interesting

    You really should give OS X a try, you might be supprised. I have a friend who for the longest time swore he would never use a commercial OS (Windows, Mac OS, BeOS etc) except in situations where there was no other alternative, however, after playing arround with OS X on my iBook for a few days he decided it might actualy be worth a shot. He now happily runs Caldera (dual boot with 98 for games) on his PC, and OS X on his (new) mac..

    As for your question about the GUI, I don't know if you can diable it per se, but I do know if on the login screen you type >console (the > is nessesary) and don't use a password, it will switch to an entirely text based mode and only returns to the GUI if you log out.

    --
    T Money
    World Domination with a plastic spoon since 1984
  9. Honestly no, by macdaddy · · Score: 3, Interesting
    at least not to me. OS X currently can't replace my PPC Linux needs. I need a box that's garunteed to run for long periods of time (2+ years) as a rock solid and stable system. I need to be able to run it headless, without a GUI, or replace/upgrade the GUI to fit my needs or fix it as needed without rebooting. OS X doesn't give me these things (yet).

    I'm old school Mac. I've been using them for a long time (not nearly as long as some though). I love the Mac GUI. It's consistent and fits my graphical needs. I love the useability of Linux and the power it affords. Not to brag but I'm a fair admin of redhat-styled Linux boxes. I pride myself on my security while still being usable. I know both very well. That's why I always use a Mac and Linux box in pairs. The Mac is my GUI and that box has 3-4 terms open on the Linux box (or VNC). I integrate both. OS X is neither. I can't call it a Mac OS because it's just so damned funky. They had a great GUI and had to go and change it. For someone just starting out on Macs or not that familar with one, this is probably not a big deal to you. For someone like myself, it's a damned nightmare. The *nix underpinnings really aren't like any *nix I'm used to. Not Solaris, Linux, IRIX, or any of the BSDs I've played around on. It just isn't the same thing. The learning curve for a person in my position is incredibly steep. Now the OS kicks ass, don't get me wrong. It's amazing how good it is for the first (major) release of a completely new OS. I can't wait until the next major revision though. Maybe 10.5 or something similar. They are bound to fix the quirks that hurt most of us. They're bound to make it even better. Maybe then I can justify forcing it on myself. For now I only run it on my network sniffing box. Until it gets better, I'll stick with 9.2.2 and my Linux terms.

  10. Use Darwin by yerricde · · Score: 2, Interesting

    I need to be able to run it headless, without a GUI, or replace/upgrade the GUI to fit my needs or fix it as needed without rebooting. OS X doesn't give me these things (yet).

    So use the Darwin operating system. It's the core of Mac OS X (kernel plus command line tools) minus the GUI. Throw X11 on top of Darwin and install a free GUI. Be happy.

    I can't call [Mac OS X] a Mac OS because it's just so damned funky.

    I thought "funky" was a compliment.

    The *nix underpinnings really aren't like any *nix I'm used to.

    Think of GNU-Darwin as BSD mixed with Linux mixed with some unique stuff. You'll get used to it, just as you got used to the other six *n?x flavors you mentioned (Solaris, Linux, IRIX, FreeBSD, NetBSD, and OpenBSD).

    --
    Will I retire or break 10K?
  11. Re:RedHat on new Macs? by neuroticia · · Score: 2, Interesting

    Yes, Darwin is opensource. Yes, OS X is based upon Nextstep/openstep. No, it is not as tested/tried & true as Linux. If it were, then it would work a LOT better than Linux in quite a few situations, remember it's dealing with an extremely *limited* range of hardware. It is dealing only with the line of Macintoshes that Apple has released and has control over. ie: the G3/G4 range. When this operating system encounters a standard hardware configuration and experiences a kernel panic it is NOT stable, it is NOT tested and proven. It is NOT a "version 10" operating system. Linux handles pretty much any range of hardware that I throw at it, including things that are a little more esoteric than anything I'd think of trying with OS X. OS X has required me to change my video card or take out a SCSI controller THAT SHIPPED with my original machine in order to install it.

    I would, however, love it if Apple would make OS X an alternative to Windows or Linux on the x86 platform. The more choices there are, the better.

    -S