Domain: altivec.org
Stories and comments across the archive that link to altivec.org.
Comments · 19
-
Lose Carbon & AltiVec? 3rd parties not gonna
I've actually been thinking about this a bit, and couldn't decide if I fell on the, "There's no way Apple's duplicating their efforts on x86; it's just not economic. They're already late releasing OS X and its updates as is," side or if I figured that "Motorola and IBM just aren't getting it together with the PowerPC; it might be time to jump ship".
I usually end up thinking that if Apple used x86, the OS would lose all its tricks that are G4 specific (particularly things that used the AltiVec instruction set). These are the things that it's used to make Photoshop run faster -- not to mention iMovie, iDVD, etc -- if the OS swapped over to another processor architecture. If a Mac is slow now, wait until it loses the one ace up its sleeve when it comes to digital video. Seems that'd shoot Apple's new niche (one-stop digital hub) all to heck.
Not to mention what the switch would mean for third parties that would have to recompile (again!) for the new platform. I doubt the Classic environment is making its way to x86! Not a big deal in itself, and a break from Classic would be super, but hang on... That probably means Carbon, the compatibility layer that helps apps written for Classic run natively on OS X, is also out. Now we're talking problems. Legacy 3rd party code is out the window in many cases.
I do wonder if Apple's gone so far as to utilize whatever's the equivalent of MMX in the Pentium 4 and AMD Athlon's instruction set to overcome the problems it'd suffer by switching (pardon the pun). I still can't imagine Carbon's x86 compatible. Cocoa ("new improved NextStep") would probably be all that would make the jump.
I suppose it can't be that tough to port if you limit to Cocoa, though. As people have pointed out before, Darwin's got an x86 version now and NextStep (the OS Apple bought that was supposed to turn into OS X a little more quickly) ran on x86 hardware. I always thought it'd be silly to duplicate all the effort of the tweaks Apple put into Next for PowerPC as they were already way behind on OS X without clear x86 plans, but perhaps those tweaks aren't as fancy or ugly as I'd assumed.
I still don't think this means Apple's leaving hardware, any way you slice it. There will be something, even in x86 Macs if they show up, that makes it so that you can't run OS X without quite a bit of custom hardware that Apple controls. -
LinuxPPC AltiVec support?
Mostly out of curiosity (as I don't have a G4 on my desk anymore - it died), what does anyone know about the status of AltiVec support under LinuxPPC (as opposed to OSX, as discussed in the article)? A quick Google search indicates that Motorola made some patches for gcc a couple years ago, but that it wasn't exactly production quality.
There's a website that supposedly has tools, but you have to register for their mailing list to see what they've got (and I get enough mail as it is).
-"Zow"
-
This has been talked about on the mailing list.
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.
-
this is Cygnus, not Linux newsThe 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.
-
PPC Altivec assembly information
Is available at here
--jeff -
Horses for courses
An Altivec GCC is available from here. It works, but you may need to put your own headers in place in some instances. You have to sign up for a mailing list to get access to the archives.
but - don't bother buying a G4 just for Linux. I have a G4 Cube at 450MHz. Although the system is good, reasonable video, silent except for the hard disk, the much-hyped G4 is at most 60% of the speed of my 800MHz Athlon, and of course cost more. Also, unless someone knows of a driver, the cool speakers it comes with don't work except under MacOS. Great keyboard though.
Apple's much-quoted benchmarks may be true for Photoshop, but not for compiling a kernel. -
Re:Altivec support in GCC on Linux PPC ?
Part of the problem is Altivec patch for GCC produces binary incompatible binaries (with older non-ativec machines). Also, to get the most out of Altivec, you have to call Altivec instructions, which if you don't #ifdef, you will create source that won't compile on normal GCC (and work on non-G4 machines).
Altivec.org has both patches and rpms of patched gcc (and binutils too, I beleive). Also see the Yellow Dog Linux Devel Page, it has some altivec info. -
links to the patches
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:
- README
- PC(?) binaries (7.6 MB)
- Solaris binaries (7.3 MB)
- Linux binaries (10 MB)
- common binaries (10 MB)
- patches (288 KB) what you really want to look at
- source (30 MB) the complete, patched source to gcc+binutils+gdb+newlibc
- b inutils rpm
- gcc-a ltivec rpm. intalls in
/opt. - g cc-altivec-c++ rpm. Also installs in
/opt.
-
links to the patches
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:
- README
- PC(?) binaries (7.6 MB)
- Solaris binaries (7.3 MB)
- Linux binaries (10 MB)
- common binaries (10 MB)
- patches (288 KB) what you really want to look at
- source (30 MB) the complete, patched source to gcc+binutils+gdb+newlibc
- b inutils rpm
- gcc-a ltivec rpm. intalls in
/opt. - g cc-altivec-c++ rpm. Also installs in
/opt.
-
links to the patches
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:
- README
- PC(?) binaries (7.6 MB)
- Solaris binaries (7.3 MB)
- Linux binaries (10 MB)
- common binaries (10 MB)
- patches (288 KB) what you really want to look at
- source (30 MB) the complete, patched source to gcc+binutils+gdb+newlibc
- b inutils rpm
- gcc-a ltivec rpm. intalls in
/opt. - g cc-altivec-c++ rpm. Also installs in
/opt.
-
links to the patches
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:
- README
- PC(?) binaries (7.6 MB)
- Solaris binaries (7.3 MB)
- Linux binaries (10 MB)
- common binaries (10 MB)
- patches (288 KB) what you really want to look at
- source (30 MB) the complete, patched source to gcc+binutils+gdb+newlibc
- b inutils rpm
- gcc-a ltivec rpm. intalls in
/opt. - g cc-altivec-c++ rpm. Also installs in
/opt.
-
links to the patches
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:
- README
- PC(?) binaries (7.6 MB)
- Solaris binaries (7.3 MB)
- Linux binaries (10 MB)
- common binaries (10 MB)
- patches (288 KB) what you really want to look at
- source (30 MB) the complete, patched source to gcc+binutils+gdb+newlibc
- b inutils rpm
- gcc-a ltivec rpm. intalls in
/opt. - g cc-altivec-c++ rpm. Also installs in
/opt.
-
links to the patches
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:
- README
- PC(?) binaries (7.6 MB)
- Solaris binaries (7.3 MB)
- Linux binaries (10 MB)
- common binaries (10 MB)
- patches (288 KB) what you really want to look at
- source (30 MB) the complete, patched source to gcc+binutils+gdb+newlibc
- b inutils rpm
- gcc-a ltivec rpm. intalls in
/opt. - g cc-altivec-c++ rpm. Also installs in
/opt.
-
links to the patches
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:
- README
- PC(?) binaries (7.6 MB)
- Solaris binaries (7.3 MB)
- Linux binaries (10 MB)
- common binaries (10 MB)
- patches (288 KB) what you really want to look at
- source (30 MB) the complete, patched source to gcc+binutils+gdb+newlibc
- b inutils rpm
- gcc-a ltivec rpm. intalls in
/opt. - g cc-altivec-c++ rpm. Also installs in
/opt.
-
links to the patches
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:
- README
- PC(?) binaries (7.6 MB)
- Solaris binaries (7.3 MB)
- Linux binaries (10 MB)
- common binaries (10 MB)
- patches (288 KB) what you really want to look at
- source (30 MB) the complete, patched source to gcc+binutils+gdb+newlibc
- b inutils rpm
- gcc-a ltivec rpm. intalls in
/opt. - g cc-altivec-c++ rpm. Also installs in
/opt.
-
links to the patches
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:
- README
- PC(?) binaries (7.6 MB)
- Solaris binaries (7.3 MB)
- Linux binaries (10 MB)
- common binaries (10 MB)
- patches (288 KB) what you really want to look at
- source (30 MB) the complete, patched source to gcc+binutils+gdb+newlibc
- b inutils rpm
- gcc-a ltivec rpm. intalls in
/opt. - g cc-altivec-c++ rpm. Also installs in
/opt.
-
links to the patches
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:
- README
- PC(?) binaries (7.6 MB)
- Solaris binaries (7.3 MB)
- Linux binaries (10 MB)
- common binaries (10 MB)
- patches (288 KB) what you really want to look at
- source (30 MB) the complete, patched source to gcc+binutils+gdb+newlibc
- b inutils rpm
- gcc-a ltivec rpm. intalls in
/opt. - g cc-altivec-c++ rpm. Also installs in
/opt.
-
links to the patches
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:
- README
- PC(?) binaries (7.6 MB)
- Solaris binaries (7.3 MB)
- Linux binaries (10 MB)
- common binaries (10 MB)
- patches (288 KB) what you really want to look at
- source (30 MB) the complete, patched source to gcc+binutils+gdb+newlibc
- b inutils rpm
- gcc-a ltivec rpm. intalls in
/opt. - g cc-altivec-c++ rpm. Also installs in
/opt.
-
links to the patches
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:
- README
- PC(?) binaries (7.6 MB)
- Solaris binaries (7.3 MB)
- Linux binaries (10 MB)
- common binaries (10 MB)
- patches (288 KB) what you really want to look at
- source (30 MB) the complete, patched source to gcc+binutils+gdb+newlibc
- b inutils rpm
- gcc-a ltivec rpm. intalls in
/opt. - g cc-altivec-c++ rpm. Also installs in
/opt.