Slashdot Mirror


Linux Gains AltiVec Support

Anonymous Coward writes: "Terra Soft today [Note: Thursday] announced development support for AltiVec (a.k.a. "Velocity Engine"), saying that Black Lab Linux running on a PowerPC G4 may offer up to a '150-300% increase [in performance], with some Linux applications running in excess of 10 times (1,000%) their normal performance.' The AltiVec-enabled Black Lab Linux offers the GCC compiler with support for the AltiVec C and C++ extensions, as well as Linux-kernel run-time support for AltiVec enabled applications."

6 of 179 comments (clear)

  1. Re:Too bad their extensions to C++/C are really ba by Chainsaw · · Score: 3

    You are either a bad C++ programmer or just haven't heard of these things: 'vector' is a member of the C++ standard template library and is therefore not added especially for AltiVec. The STL seems to be a good place to insert these assembler optimizations. Since the class abstraction is pretty high, you can do a lot of speed-increasing operations in the dark dwellings inside the classes. All applications written in standard C++ will benefit from this.

    --
    War is one of the most horrible things a human can be exposed to. And one of the worlds largest industries.
  2. Re:Keep bringin the goodness by Mondragon · · Score: 3

    The speed benefit comes from the processor, not the applications, as it were, although they must be optimized for it. Any OS that runs on a PPC 7400 (G4) can take advantage of the AltiVec instructions. So, x86 linux won't get this benefit. An interesting thing to know would be who's patches to GCC these are (I haven't looked at the web site). Apple's version of egcs for Darwin has Altivec support (from Motorola, actually), and it's been available for while. They're in the process of assigning copyright of 60,000+ lines of gcc patches to the FSF, so it should become part of the main tree at some point.

  3. Re:So when can I buy... by Darchmare · · Score: 3

    ---
    a G4 system without the OS forcibly "bundled"?
    ---

    Probably around the time you can buy any VCR and have your choice of software bundled.

    It's Apple's hardware, and it's Apple's software. It's not like they're pulling a Microsoft here and forcing other companies to not bundle alternative operating systems - they _are_ the other company. Anyone out there is free to build their own PPC based machines with LinuxPPC preinstalled. It's not their fault that nobody has done so.


    - Jeff A. Campbell
    - VelociNews (http://www.velocinews.com)

    --

    - Jeff
  4. Woohoo! by john_boy · · Score: 3

    Altivec support has been in all of the 2.3.x kernels, but it hasn't done much yet -- only #ifdef'ed in a handful of lines of code. This is really quite cool; I'm already running Linux on a PowerPC 750 (the G3). My next machine will likely be a G4 or whatever's next.

    There's a good bit of info on the alti-vec and the G4 in this Ars Technica article (that was slashdotted a while back).

    John

  5. Woohoo! by Chris+Johnson · · Score: 5
    Sweet :) and I for one am not surprised. 'Altivec' aka 'Velocity Engine' is a bunch of _general_ _purpose_ big-ass registers which are not shared with FP registers or hobbled unreasonably. PPC is already incredibly register-rich (what is it, 32 int and 32 FP and now 32 128-bit altivec registers? That can work like 192 32-bit registers (yes you can treat them like divided address spaces- multiple values) versus Intel which gets what, 8? 16? 32? and shares its vector processing with FP registers.

    Please, if anyone can flame my data and correct it I beg of you to do so ;) but I'm not a bit surprised that G4s are doing this. Altivec lends itself to big data operations, not just vector processing. Memory moves are faster 128 bits at a time, and so on. Screen blitting, likewise. I wouldn't be a bit surprised if someone is working on an optimized X that uses G4 altivec acceleration- that would seem to be a no-brainer.

  6. links to the patches by rillian · · Score: 5

    I had a lot of trouble trying to actually find this code. It may be in the yellowdog cvs but the server seems to be down, as is the ftp server.

    They do say to go to altivec.org to download the gcc and binutils. It's in the tools section behind a "you must sign up for our email forum" form. The packages there include a new binutils, gcc, gdb, and libc to support the altivec extensions.

    Here are the direct links, for the curious: