Forgot your password?
Technology (Apple) Businesses Apple Technology

Red Hat To Support PowerPC, AltiVec 246

Posted by Hemos
from the adding-on-the-supports dept.
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."
This discussion has been archived. No new comments can be posted.

Red Hat To Support PowerPC, AltiVec

Comments Filter:
  • With Apple going down the OS X road, is there much need or call for RedHat? Oh sure there will be the minority who will want to try it out. But doesn't OS X meet those Linuxy needs?
    • Oops. My bad. Should have read closer. RH isn't promoting RH (OS/Linux) on Macs, but promoting programs and tools.
    • No, OS X does not meet Linuxy needs. The two systems each have their own benefits and pitfalls.

      OS X is a proprietary, largely untested OS with commercial support and a large number of commercial applications coming to it in the near future. It is BSD-based. The development team focuses mostly on the GUI.

      Redhat is an opensource, exellently developed and highly tested OS with a little bit less commercial support, a little bit more community support, and a smaller number of commercial applications... Though I expect that to change in the near future. It is Linux, and comes with a variety of window managers each with their own set of 'skills'.

      Do what win-geeks do. Dual boot. =] You just might find that you fall madly in love with RedHat and can't think of using anything else. Or not.

      I'll be seriously interested in tests/comparisions between applications running on Redhat and OS X, how they perform differently, etc.

      • by j1mmy (43634)
        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.
        • Open source/free software IS a benefit. It means that if I don't like it, I can change it.

          In addition to that, there are other reasons some prefer Linux to MacOS X. For me, I prefer a System V style init to a BSD init (runlevels are cool). I like the GNU tools being defualt. I like the flexibility X gives me. I like compiling my kernel to MY specefications.

          I've never used OS X, and have no real desire to. It's not free software, and is thus irrelevant to me. Also, can you disable the GUI in OS X so there's one less thing to go wrong when running a server? (I'm not trolling here... An honest question... I don't know this one)

          The point I make is that subtle differences in software make a huge difference to people preference. Do you like OS X better than Linux? If so, great. I like Linux, and I'm 99% happy with it. The areas I'm not happy with, I do something about.
          • by MoneyT (548795)
            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.
            • I'll definately give it a shot at some point. I'd like one around the house to port my apps to. (My senior project is using SDL and OpenGL, and currently compiles under three OS's I can verify. More would be cool). I will never, however, allow myself to become dependent on non-free software, even if it's of high quality, as I've heard OS X is.
          • Open source/free software IS a benefit. It means that if I don't like it, I can change it.

            Then welcome to Darwin, the open source core of OS X. It's there even if you don't know about it. The reason you, and most people, don't know about it is because you hardly ever have to change it or recompile the kernel yourself, while for Linux machines I find tweaking the kernel to be one of the first things I do.

            Also, can you disable the GUI in OS X so there's one less thing to go wrong when running a server?

            You sure can. Perhaps it's your decision that OS X is irrelevant that keeps you ignorant to what it actually is and what it is able to do.

      • OS X is a proprietary, largely untested OS with commercial support and a large number of commercial applications coming to it in the near future. It is BSD-based. The development team focuses mostly on the GUI.

        Ummm. No. OSX is really NeXTstep 6.1 with a macintosh application environment thrown in. NeXTstep is a proven stable OS that predates Linux by at least 3 years. Furthermore, the core foundation of OSX, known as Darwin is also open source.

      • by Brian Kendig (1959) on Monday March 11, 2002 @06:07PM (#3145241) Homepage
        'Darwin,' the FreeBSD-based core of OS X, is open source: []

        The interface, Aqua, isn't open-source because Apple wants to retain control of it.

        I wouldn't call OS X 'largely untested.' It's directly based on NeXT's OPENSTEP operating system, which was known for being very stable and having great developer tools (the game 'Doom' was written on NeXT systems because of this), and OPENSTEP has lineage back to 4.3 BSD.

        What's especially interesting is that Darwin runs on Intel PC's. This means that if Apple wanted to make Mac OS X available as an alternative to Microsoft Windows, all it would theoretically take is a recompile for the x86 architecture...

        • 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.

    • by chainsaw1 (89967) on Monday March 11, 2002 @05:37PM (#3145034)
      Motorola and IBM parted ways at the G4. The Power4 doesn't include AltiVec....IBM wanted to use the on-chip real estate for other things.

      Also, the Power4 is a 64bit chip, and the G4 is still 32bit.

      • What you say is true, but not relevant to the conversation. The Power series of processors is a high end workstation/server processor with a big emphasis on things like database and modeling performance. Thus it needs to be a 64 bit chip in order to handle that amount of memory.

        The G4 is a desktop class chip, and this means that a lot fo video work needs to be done on it (something that AltiVec works nicely with). It has no need to be 64bit at this point (wouldn't hurt necessarily, but wouldn't help). The lower power, die size, hear, and cost all are nice thing for a consumer level product.

        In other words, both chips work great for their intended audiences. And the article in question is only talking about the PowerPC family, so the Power4 is not included.
    • Honestly no, (Score:3, Interesting)

      by macdaddy (38372)
      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.

      • Use Darwin (Score:2, Interesting)

        by yerricde (125198)

        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).

        • I've seriously thought about Darwin. I just haven't had the time to try it on the machine to donate to the cause. OS X has excellent potential. Another major release (not a 10.1.3 but more like a 10.5 rewrite) and it will be much better I think. By that time many more of the open source tools I use today will recognize OS X as another platform they run on that I'll be able to make the switch much easier. I doubt I'll ever get rid of my true Linux boxes though. This will probably just be a nice replacement for my desktops.
        • Why bother then?

          Why force an Apple product into a mold that Linux already fits into? What's in it for us the end users?

      • 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,

        Well, the B&W G3 that I rack mounted at AboveNet running 10.0.1 has been up for 314 days now...

  • I've always wondered how far the G4 could be pushed. =] Can't wait to have Redhat for the G4. There's half a dozen tests I want to run and having the same "flavor" of Linux on both machines makes it more accurate. I guess I could use "everything-drake" or SuSE or whatnot, but I am quite partial to RedHat.

    Now... Decisions.. Decisions. What tests should I run? I wonder what they'll show. Oh the excitement. *Grin*

    • There's half a dozen tests I want to run and having the same "flavor" of Linux on both machines makes it more accurate.

      Agreed that it makes it more accurate, but it's still hopelessly inaccurate. Linux was written for x86 and is maintained in a x86-centric fashion (the separate ppc tree takes ages to have it's improvements folded back into the Linus tree). That's the way Linux works for a number of good reasons. What it means though is that PPC support is always lacking, not to mention support for video cards, the Mac onboard sound etc.

      The problem this causes with benchmarks is that you are *not* running the same OS and the benchmarks are *not* comparable. The only way to get a good measure of how the speed of a computer is to actually sit down and use it for a while. Why are people so obsessed with benchmarks and photoshop tests?

      • Because. They're interesting, even if they're inaccurate. It's the same thing with being interested in how different clothing impacts the speed of skaters. Different skaters will perform better with different suits, and it's wildly inaccurate but you still get some sort of an idea.

        I suppose it would be more interesting to take a day or two and try out three competing OSes. Yellowdog [], OS X [] and Redhat [] and see how they compare with eachother for a variety of different tasks.

        I guess I'm interested in it for the same reason I'm interested in trying out different OSes in the first place. Because I'm curious.

      • How is the Mac onboard sound particularly interesting? The same goes for Mac Video. The Macs are really just Kludge Klones with a PPC in place of the x86.
        • How is the Mac onboard sound particularly interesting? The same goes for Mac Video. The Macs are really just Kludge Klones with a PPC in place of the x86.

          err, not quite. Apple's have an Apple designed motherboard for a start and an Apple-specific sound chip. The video was previously the ATi cards which don't seem to be too popular on the Windows side and weren't well supported under Linux (worse under PPC linux) and these days are the latest nVidia cards which are too new to have great support.

          Add to that the fact that Macs don't have a BIOS and instead use OpenFirmware and you start to realise how different it is to write drivers for a Mac than a PC. The final thing to consider is the one you mentioned yourself, it uses a PPC not an x86 and since all instructions go through the processor that affects everything you do with the system.

          When it comes to hardware integration little differences can cause a lot of headaches.

  • by Venomous Louse (12488) on Monday March 11, 2002 @05:12PM (#3144850)

    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.

    • by Arker (91948) on Monday March 11, 2002 @05:24PM (#3144957) Homepage Journal

      The real worth here lies in the fact that MacOS X is, let's not forget, essentially a UN*X platform.

      I don't see what that has to do with anything. We're talking about porting the toolchain to the hardware. This has nothing to do with MacOs 10 at all. It's about Linux/PPC.

      Linux/PPC has been hampered for quite awhile by the lack of good GCC support for things like AltiVec. Performance suffers from lack of optimisation. It sounds like RH is undertaking to fix that. This could be very cool - if they succeed then Linux/PPC programs will be able to take advantage of the full power of the PPC chips. AltiVec doesn't help with everything, far from it, but code which it does help will see truly impressive performance gains.

      If you're not clear on what AltiVec [] is, try the link out. Basically it's MMX on steroids. It does everything MMX does, better, and some other things besides. It's really very cool tech, and it will be very nice to see Linux/PPC software finally taking advantage of it.

      • Why isn't this about MacOS X? This means GNU gcc might finally be an option for PowerPC-processors. What Operating systems they run should probably not matter.
        Currently GNU gcc isn't really viable for other architectures than x86 because of pretty slow code generated.
        • Currently GNU gcc isn't really viable for other architectures than x86 because of pretty slow code generated.

          I believe all of Mac OS X is built with gcc. Apple allegedly has several engineers working on the PPC backend.

      • by tshak (173364)
        As cool and powerful as AltiVec is (arguably a more powerful SIMD Instruction Set then SSE2), I'm skeptical as to how much additional performance gain there will be. My skepticism was renewed when John Carmack made this post [].
      • Since much of the Mac OS X software written in C/C++ is being compiled with GCC using Apple's Developer Tools, GCC improvements like improved Altivec useage is going to seriously affect both PPC/Linux and Darwin/Mac OS X.

        To say that GCC doesn't matter to Mac OS X is just wrong.
  • Slashdot has reported on Linux And The PowerPC [] before.
    • Sorry, but you foreget RedHat != Linux. This is not a repost of old news, but something new most of us find interesting.
  • Not like Photoshop, much less Photoshop plug-ins run under linux. (For those that are humor-impaired, this is a crack aimed at the oft quoted G4 is faster than x86 at Photoshop claim)
  • by IamTheRealMike (537420) <> on Monday March 11, 2002 @05:13PM (#3144861) Homepage
    Well, maybe. OS X is pretty nice, but that's another story.

    Last time my Mac-lover best mate tried Linux the poor quality and performance of Linux PPC ports frustrated him. I pointed out that it's catch-22, having lots of fanatical MacOS users means very few try other operating systems, which means there's little incentive for linux companies to make decent ports and so on.

    Problems were really apparent - for instance he tried a distro that was for PPC, but it had no Mac customisations what so ever. It just assumed he was using a 3 button mouse for instance. Hopefully if Red Hat do this properly, rather than just use a fancy compiler, OS X will have some competition on its home ground.

    • by Anonymous Coward

      RedHat's GNUPro (the old cygnus stuff) is what's being touted ... that'd be the compiler and tool chain.

      This is not a new redhat Linux distro.

      • When I was about to read the comments to this story, I was sure that there will be comments at +3 and above implying that RedHat is going to make a distribution for PowerPC.

        The moderation system on /. is broken. Moderation is done by amateurs randomly getting mod points. An average /. reader doesn't have sufficient qualification to moderate. Maybe frequent posters with good karma could moderate better?

    • Are you telling me there are Powerpc owners out there capable of installing linux, capable of using it, that dont have a 3 button mouse? Either they are brainwashed by Jobsian hype or they are a mythical creature not yet encountered in the wild.

      Really... First thing I'd do with a mac is get a real mouse for it -- damn shame I have to.
      • [asbestos]
        Yea! That pisses me off about Macs. I finaly went back to a real computer (TiBook), and I had to get a mouse before I even brought it home. I've loved the optical mice that logitech makes, and had to get a USB based one for my Mac. I love it. I can't believe I lived without the scroll-whell for so long. ;-)
  • What effect will this have on LinuxPPC and Yellow Dog?? Will RedHat 'steal' their business?
    • From what I understand LinuxPPC is a PPC port of the RedHat linux distro. I could be wrong though.
    • Re:Yellow Dog? (Score:2, Insightful)

      by mfeldstein (119843)
      From what I can tell based on the (very short) article, RedHat is *not* porting a full distro to PowerPC. They are porting an Altivec-enabled cross-compiler and something called a GNUPro Linux toolchain. (I'm not sure what the latter is, but I'm sure some other /.er can fill in the details.

      At any rate, this is not really a desktop-focused announcement. It's about the embedded market. Moto wants embedded Linux to be developed for use on PPC-backed set-top boxes, Internet appliances, network appliances, etc. It may have some positive repercussions for Unix on PPC desktop as well, but since Apple is already hard at work making the gcc work well for PPC and OS X, I'm not clear on exactly what those benefits might be.
    • i don't know if this will do anything but help the other Linux distros. Mandrake has released a version for the powerpc which worked ok, but not great. (I am basing this off of my experiences with a PowerBook G3 firewire laptop)

      The beauty of open source is that any modifacations out there will be available for all of the companies, if they follow the licensing rules.

  • by Anonymous Coward on Monday March 11, 2002 @05:17PM (#3144894)
    The article is about a release of GNUPro tools that support Altivec, not optimizing the linux kernel to use Altivec.

    As to the question of "what will this bring since altivec is underused/underappreciated?" the answer is simple: nothing.

    The same problem remains: if you want to optimize your algorithm using Altivec, you still have to jump through some hoops. GCC isn't magically going to detect that your for loop could be done 400 times faster using Altivec: you'll need to tell it.

    In short, you can do everything you need to already using the existing tools from here [].

    Just-another-tool does not news make.

  • But... (Score:1, Interesting)

    by Anonymous Coward
    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?
  • 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
    • Sure macs and IBMs use processors that based on the PPC ISA, BUT they each use incompatible supersets of the PPC ISA. And AFAIK the altivec unit (the subject of the anouncment) is not on any IBM machine.

    • No. (Score:2, Informative)

      by Duck_Taffy (551144)
      The RS/6000's use the PPC 604 chip, if memory serves correctly, which has no AltiVec unit. There would probably be no performance gain over the AIX compiler that was built specifically for that chip.
    • Sorry, Apple Macs will have no effect on IBM's RS6k market.

      RS6k users want ECC-protected cache and main memory; Apple Macs don't have this.

      RS6K users want large 128-bit+ memory paths. Apple Macs still have a 64-bit memory path, much like their PC bretheren.

      RS6k users often require standard RS232 ports (for terminals and measuring instruments). Again, Apple Macs don't have serial ports.

      RS6k users demand rock-solid reliability. Currently supervising the deployment of 26 Quicksilver G4 Macs, I note that five were DOA. One required a subsequent logic board replacement a week later.

      Our last G4 Mac deployment (25 400Mhz blue/white) resulted in four DOA, all with logic board failures.

      Sorry, the much-exalted reliability of Apple Macintosh is really a myth - they're really no better than a typical x86 PC and certainly not anywhere near that of RS6k. The price should be a sure indicator :-P


      • Another comment: RS6k users generally want serious support.

        Back in my grad school days, one of my coworkers found a serious bug in our new RS6Ks. IBM had a *team* of engineers working on fixing that bug as soon as they verified it wasn't headspace+timing on our part. (We actually didn't have a 5 9's requirement for uptime or anything, but the bug could have affected people who did.)

        Apple isn't set up to do support at that level- they sell to general consumers, not folks for whom 10 minutes of downtime is a deal-killer.

        • That is exactly why corps. pay huge dollars for mainframes.
          You have not expercied technical support until you call up a vendor with a problem, and that same day someone is on site, and fixing the problem.
          and its not lets try this, ok lets try this, BS its, that part seems to be failing? replace it now, NQA.
    • Some use IBM's POWER cpu....some use PPC....

  • Huh? (Score:3, Informative)

    by Jeffrey Baker (6191) on Monday March 11, 2002 @05:26PM (#3144964)
    I doubt this will produce any performance gains at all. Code will still need to be written specifically for the AltiVec unit, using either the C extensions or assembler. A simple recompile will not bring any gains, unless RedHat are able to improve GCC's PPC code generation.

    BTW, GCC and binutils already support the AltiVec, including the C extensions.

  • Overlooked Arena (Score:2, Interesting)

    by atathert (127489)
    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.
  • by stevek (25276) on Monday March 11, 2002 @05:31PM (#3145003) Homepage
    IIRC, Apple (perhaps with motorola), has already put all kinds of AltiVec stuff into GCC for use as the OSX system compiler. Apple has been working on their own GCC tree, but has always been feeding some stuff back up to the GCC maintainers.

    Isn't this just some marketing hype for RedHat (nee cygnus) just taking the patches already incorporated into Apple's GCC, and putting them into their commercial GCC release?

    I don't know how GCC compares to Metrowerks' Compiler, or what Apple is using for different parts of their code (I dunno if MW does OBJ-C, so Apple would likely use GCC at least for that).

    I suppose it wouldn't be too hard to look at the binaries and see what they're using.

  • by Eric Seppanen (79060) on Monday March 11, 2002 @05:36PM (#3145028)
    My guess is that they're doing this for embedded applications. Remember that Red Hat does a fair amount of business in the embedded arena, and PowerPC processors are pretty big in embedded applications. So while their work on the compilers will benefit everyone, including people running Linux on their Macs, this doesn't mean you're going to see a PowerPC version of Red Hat Linux any time soon.
    • Actually given the partnership between IBM and redhat I do expect a PPC version of RH sometime soon. At LWCE they had SUSE running on Rs6000 and said they had a preview running on the new p690 machines. I would not expect RH to leave the PPC hardware all to SUSE when they made a version of 390.
    • I'm glad to see someone with some sense comment on this rather than fly off with yet another OS X versus Linux rant.

      Note that the post indicated that they are adding cross-compiler support to their GnuPro tool chain. The main target of this tool is embedded people (which is why you would want a cross compiler).

      Regarding the comments about Apple extensions to GCC regarding Altivec, it is likely that what Cygnus/Red Hat is doing is folding in those very changes.

      All of you web surfer, word processor, gimp'in, rippin' and burnin' (i.e. desktop apps) types out there need to remember that the PowerPC is heavily used in the embedded industry.

      The reason it is used so much is the very reason why Apple could make the cute Cube. They run very low wattage (and, thus, heat) for their relative power. There are many application areas where a chip that must have 35+ dBA cooling just to keep from frying itself is just not acceptable.

      One should note that the power and heat characteristics of the x86 line are so poor that Intel doesn't really attempt to compete using them in the embedded market. For this, they eviscerated DEC in order to kill the Alpha and gain the StrongArm as their embedded offering.

      One person mentioned that compilers have difficulty automatically extracting parallelism. They are correct. However, the embedded arena is one of those areas where people will regularly hand-optimize critical sections of code in order to meet performance or economic goals.

      Desktop users must remember that embedded processors outweigh workstation processors by many orders of magnitude. This is big business, and the code involved is very interesting. However, your brand new car is not as obvious of a computing platform as your brand new laptop.

      Okay, I've expelled enough air for now. Later...
  • If Red Hat manages to develop a really good implementation of their AltiVec libraries, it could have rather far-reaching effects in the advancement of Linux onto the desktop. For example, in the current Macintosh community, a staple of the software collection is Adobe Photoshop. There is a good relationship between Mac users and the program, as well as what seems to be a good relationship between Adobe and Apple. This relationship can be seen when one takes into consideration the fact that Photoshop always runs faster on Mac hardware than on PC (that's why the Apple demos are always focused around Photoshop), and the new versions always come out for Mac first.

    If Red Hat can build a version of Linux specifically designed to run on a G4-powered AltiVec machine, and do at least as good a job of it as Apple has done with OS X, Adobe may well port Photoshop to that version of Linux. And if the users can get their Photoshop needs fulfilled, they may not necessarily care what OS they are running, and (let's presume that they are at work), if they can get Photoshop to run faster with this newfangled thing called "Red Hat," they may just give it a shot. This will lead to people learning Linux and possibly use it at home.

    And, if Adobe does port Photoshop to AltiVec Red Hat, that is just a couple of steps away from porting it to Linux in general, which would of course be a bonus to the community as a whole. The Gimp may be acceptable, it may even be good, but it is no Photoshop.

    Of course, this is only one example, and many other good things may well come of this.
    • by masonbrown (208074) on Monday March 11, 2002 @06:46PM (#3145498) Homepage
      And maybe, then Adobe will drop Photoshop on Windows, and make everyone use Linux. And maybe then, Microsoft will go out of business. And maybe then, Adobe will open source Photoshop, and make it free for everyone. And maybe then, Apple will give away its computers as free community property.......
    • the resaon that apple always showcases photoshop benchmarks, besides the fact that the Mac's tend to fair better, is that Apples' bread & butter audience lives and dies by Photoshop (and Quark, Illustrator and Freehand).

      So simply a faster photoshop machine will not take any share from Apple. It would take the combination of all the apps to present a threat to their mainstay audience. Wintel hasn't been able to do that, even with the much cheaper hardware, since the costs of the software made the hardware price difference much less discernable...

      So no matter how good a job GNOME and KDE projects do, until the whole smattering of apps is available, there's little use in any of them being available. But the mainstays won't come to GNOME and KDE until they have decent color management. Which, unfortuately, means licensing patents, which goes against the gain of free software.

      And yes, photoshop users do care what their machine is doing underneath it all... they know their macs inside and out, most of them, and can troubleshoot their own problems when something goes awry... another reason the mac has maintained so far... Why learn another OS, like windows or linux when the users have so much vested experience in Mac OS ___... though there is the problem that they're going to have to relearn OS X. But if they're going to make a jump away from the Mac OS as it's presented to them, it's not going to be a baby leap to Linux PPC, or Linux x86, it'll be to Windows, what the other 95% of the world is using...

      Srrry... i think you just got far ahead of yourself in the symbolism of a new compiler!
  • RedHat nearly entered the PPC Distro world years ago, and backed off. IIRC, this turned into LinuxPPC after they left their work.

    This article is not saying anything about a RH distro on PPC, but merely "will produce a GNUPro Linux toolchain and cross compiler for Motorola's AltiVec-enabled PowerPC processors".

    While this could produce better PPC distros, it is not an announcement of an impending RedHat for Macintosh. It wouldn't surprise me if they're targeting RS/6000 boxes or embedded markets with this.
  • by Erich (151) on Monday March 11, 2002 @05:44PM (#3145078) Homepage Journal
    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.

    • Already Being Tapped (Score:2, Informative)

      by hotsauce (514237)

      I dunno, check out the Altivec Forum and the Scitech List, people writing in C seeing large performance improvements.

      From what I understand, the RC-5 and SETI apps are C with pre-compiler directives. The RC-5 G4 client blows throws keys 16 times faster than a same-speed P4.

    • by RobertFisher (21116) on Monday March 11, 2002 @07:03PM (#3145600) Homepage Journal
      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.

      • by Erich (151)
        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.

  • So RedHat gives 64-bit Alpha (one of the best if not one of the most affordable 64-bit platforms) and UltraSPARC tacit lukewarm support and then announces a toolkit for 32-bit PPC (and specifically AltiVec G4 Apple Macintoshes)?

    It certainly is a race to the bottom.


  • by Anonymous Coward
    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..
  • All I see is the tools that support altivec. There is nothing in the article about a RH PPC ditribution or more altivec stuff in the kernel. You could speculate that this could be the beginning of Redhat on the PPC but this isn't conclusive. Redhat does have interests in embedded applications [] too so you could speculate they are looking into embedded G4 systems too.

    Some have said they would love to see a RH distro. Seems more linux distros for PPC are RH derivitives (Linuxppc, Yellow Dog, Mandrake, etc.) but there are alternatives too (Suse, Debian, etc.) and of course the BSDs. :)

  • by Anonymous Coward

    You can find out more about Altivec here []. Support by Redhat has been talked about before on the mailing list, with some RH developers jumping in at points.

    Altivec does short parallel vector crunching by adding some 128bit registers for you to play with and SIMD operations to crunch a bunch of numbers in them. Where I work we use Altivec to optimize matrix operations and it does its job well. Neat stuff, even though I'm not an assembly man myself.

  • Having someone take ownership of an Altivec-aware toolchain is fantastic. Thank you, Redhat. The community, especially those of us who use Linux on PPC systems, thank you.

    Now, as far as the untapped power of Altivec, here's the slightly off-topic problem.

    To write Altivec code, you need a toolchain of compilers and linkers that understand Altivec. Those compilers won't change your code to use Altivec, but will permit you to do so. This is not a trivial matter to say the list, mostly because the Altivec ABI is difficult to maintain in a compiler because, for instance, it defines vector types.

    The only thing that will truly tap the power of Altivec is auto-vectorization, eg. you write slow, unoptimized code with no knowledge of Altivec, and the compiler does it for you. This, as compiler writers know, is the holy grail of vector compilers. Apple implemented some auto-vectorization in its gcc, which required calls across the front-end/back-end boundary, which obviously can't be accepted outright into the FSF tree, hence the lack of good Altivec support in gcc for Linux.

    The real issue is that even if you can write good code to make gcc autovectorize for this specific rev of Altivec, its an even less pleasant task to abstract that away so that you can have some starting place for autovectorizing on other platforms (MMX and whatever its called today, 3DNow!, etc.) or the next generation of Altivec.

    If Redhat puts even a little development effort into that effort, the benefit to the open software community as a whole would be amazing.
  • by amix (226257)

    The G3/G4, Power4 etc. belong to the PowerPC (PPC) family of CPUs. Of course, we all know this.

    However, few participating in the discussion seem to acknowledge, that there is more systems running PPC than Apple's Macs.

    PPC is important in the embedded market. It has a high performance, stays relatively cool There are 'computers on a card' (a PCI card with a G3/G4 on it plus memory). They communicate over TCP/IP (or proprietary protocols) over the PCI bus with the host system. Nice if you want to have a mini cluster, a physical firewall, or whatever...

    Then we have several (Micro)ATX mobos, some even for dual G4 (SMP). They get used mostly in the industry, however, this year will see two new home/office-desktop G3/G4 systems that have nothing in common with Apple. See here:

    So it is obvious that RedHat, being focussed more on industry/server markets than on hte Desktop (that is their current goal as far as I am informed) has some interest in supporting PPC development. Altivec is a very good instruction set and having optimizations for it will be a great benefit. Altivec is not only for MultiMedia, btw. !

    Theoretically, all these systems could run LinuxPPC !

    Personally I am happy to see some major resource supporting the PowerPC since I would prefer a PPC machine far more than the archaical, outlived, patched & hacked i86 platform (can you use all your PCI slots without clashes...? I can't and my MoBo is from April last year...) Also the PPCs keep quite cool, meaning one could live without an active fan, unlike the Athlon hair-driers...;-)

    For the enhusiasts: There are at least two other desktop (!) OS in the works, which are PPC native and come with SMP support: MorphOS (in the works since three years or more) [] and AmigaOS4.x

  • Correct me if I am wrong, but isn't Redhat able to do this because of the work Apple has done with Darwin?

All this wheeling and dealing around, why, it isn't for money, it's for fun. Money's just the way we keep score. -- Henry Tyroon