Thursday, June 09, 2005

Porting pains plague programmers & Put a Pentium in your G5 Power Mac

The issues with Mac OS X PowerPC application porting to the x86 architecture are already starting to cause headaches for many programmers. This Nikon software programmer has this to say:
My Wintel colleague and I have just completed some large SIMD optimizations for a very well known image processing application. I also see the same performance ratio - the AltiVec version is easily more than twice as fast as the SSE2 version (take the fastest G5 you can find and the fastest x86 you can find and the AltiVec-G5 version is easily twice as fast). I've taken pride in being able to handily beat the SSE2 version and in many cases doing so with far less instructions. I don't drink the Kool-aid.

I had a conversation with an engineer from a certain fruit company today and he said that even Intel engineers were having problems getting SSE2/3 versions of some of the Apple Altivec sample code running at anything better than half the speed of the Altivec code, and this on a CPU with twice the clock speed of a G5. Steve can sit in his distortion field all he wants but that doesn't change the fact that Altivec is far superior to SSE2/3.
It's not surprising to see this, as many have said that for some usage Altivec has distinct advantages over the various iterations of Intel's SSE. Don't expect this to change either, as Intel has no known plans to add Altivec-like functionality to its chips, and is not known to build custom chips for its customers either.

Interestingly, this Apple employee states that x86 PCI-X upgrade cards are coming to the G5 Power Macs:
Apple has maintained rights to the PPC architecture. The rights to this technology is incorporated in Apple's "Rosetta" Transitive based solution so that carbonized applications built for the PPC will work on x86 and visa-versa.

Customers with existing PPC G5's will have the option of a PCI-X based add-on card with a native Intel follow-on to the P4 "D" chip and of-course the Transitive/"Rosetta" bundle.
That would represent an interesting option to those apprehensive to buying a PowerPC Power Mac during the transition. Although I've already said that the Power PC Power Macs are probably the best option in terms of compability during this period, such an upgrade card with a G5 Power Mac could provide the best of both worlds to allow native support of both PowerPC and x86 application binaries. This would be especially useful for current developers, since it would allow development and testing of x86 ports on current G5 hardware and would negate the need for the developer to pay for Apple's x86 developer kit. One wonders however if these cards will really appear, and if so, when and for how much.

[Update June 17, 2005]

This man may not be an Apple employee after all (despite speaking as such and being on the Apple Computer SETI team). No record of his working at Apple has been found so far, according to one poster online. That would mean there is no such x86 add-in card (which would make sense if a low end x86 Mac came out within the next 9 months, since the card wouldn't be any cheaper than an x86 Mac mini anyway).


ms said...

The problem with the Intel or PPC add-on card would be that Rosetta requires that an app be run in either PPC mode or Intel mode. How could they possible share instructions for a given program between 2 processors?

Anonymous said...

An x86 add-on card might happen, remember Orange Micro? I don't know if they're still around, but you used to be able to add a Pentium via PCI to your mac to run Windows and Windows apps native. I think some of the cards included Wintel gpus and soundcards as well.