Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Apple seems to differ with you....

PPC970FX said:
Damn is it posible, I say it again

People the Altivec is a Hardware feature. HARDWARE. And not a SINGEL X86 CPUare having it now, and I dont think any x86 cpu will have it EVER. Now there is in the X86 world something more or less the same but much weaker. that is called SSE. Now the ONLY thing rosetta can do is to make shure that what was before a Altivec code on a PPC with altivec suport is oSSE Performance Programming n a X86 a SSE code.

You can not do anything more then that. It is imposible, unless the X86 CPU have altivec suport.

And I am not shure that the Altivec code can be translated into SSE in any way, but if it can be done it is the best Rosetta can do.
"much weaker" - Apple's developer documentation doesn't say that.

AppleDeveloperConnection said:
SSE Performance Programming

Intel's Streaming SIMD Extensions (hereafter called SSE) is a 128-bit SIMD vector extension to the x86 ISA that is quite similar to AltiVec.
...
AltiVec and SSE are quite similar at the highest levels. They are SIMD vector units with the same vector size (128-bits) and a similar general design. SSE adds several important new features compared to AltiVec. The single and double precision floating point engines are fully IEEE-754 compliant, which means that all four rounding modes, exceptions and flags are available. Misaligned loads and stores are handled in hardware.

There is hardware support for floating point division and square root. There is a Sum of Absolute Differences instruction for video encoding. All of the floating point operations provided are available in both scalar and packed variants.


If Apple says that SSE has "several important new features" compared to AltiVec, perhaps you should listen...

Also, consider that SSE as an architecture, and any SSE implementation in any chip, are two very different things.

Future x64 chips could run SSE instruction far faster than any AltiVec implementation - don't make the mistake of condemning an architecture for the failings of an implementation.
 
AidenShaw said:
"much weaker" - Apple's developer documentation doesn't say that.



If Apple says that SSE has "several important new features" compared to AltiVec, perhaps you should listen...

Also, consider that SSE as an architecture, and any SSE implementation in any chip, are two very different things.

Future x64 chips could run SSE instruction far faster than any AltiVec implementation - don't make the mistake of condemning an architecture for the failings of an implementation.

Okei do you think that they would say that they changed to a weaker vector extension? They just can not say that. And you mean future X86-64 right? And I think that X86 is far more powerfull then PPC chip by chip, scaling I am not so shure. My point is just that AltiVec is not practical to emulate, since it is a hardware feature.

I think that AltiVec is more powerfull in general then SSE3. But I can understand that some people think that it is the other way around. Then we can agree to disagree.
 
PPC970FX said:
Okei do you think that they would say that they changed to a weaker vector extension? They just can not say that.
You mean Apple is lying to us all? :eek:

PPC970FX said:
And you mean future X86-64 right?
SSE3 is in current Netburst (32-bit and 64-bit), and it will be in Yonah/Merom/Conroe and all new chips. Dothan (the current Pentium M) uses SSE2.

SSE3 is very similar to SSE2, but adds a dozen or so new instructions. In general SSE2 and SSE3 are comparable, but SSE3 can be faster for some application (e.g. SSE3 can do vector calculation on imaginary numbers - very useful for some codes).

See http://www.intel.com/technology/itj/2004/volume08issue01/art01_microarchitecture/p06_sse.htm for an in-depth description of the new SSE3 instructions.

SSE2 and SSE3 are in both 32-bit and 64-bit chips. (Intel's 64-bit chips are SSE3, AMD has both SSE2 x64 and SSE3 x64.)

One difference with x64 is that there are 16 of the 128-bit SSE registers when in 64-bit mode, vs 8 registers when in 32-bit mode. This means that 64-bit SSE code should be somewhat faster than 32-bit code in most cases.

PPC970FX said:
My point is just that AltiVec is not practical to emulate, since it is a hardware feature.
It is *very* practical to emulate, otherwise a program that requires AltiVec can't be run on x86.

Even scalar emulation (emulating AltiVec with standard scalar instructions) is better than nothing for many people.

It is possible, however, for Rosetta to "convert" AltiVec code to vector SSE code - to convert one hardware feature to another. This would not only let you run AltiVec code on x86, but run it at hardware accelerated speeds. That would be big.

(Note: I have no information to confirm that the rumours of AltiVec support in 8F1111 Rosetta are true, let alone confirm whether it's a scalar or vector emulation.)

PPC970FX said:
I think that AltiVec is more powerfull in general then SSE3. But I can understand that some people think that it is the other way around. Then we can agree to disagree.
I won't disagree that the AltiVec implementations in the MPC7xxx and PPC970x are more powerful than the SSE2/3 implementations in the Netburst/PentiumM chips.

The main reason is that AltiVec has been implemented with a parallel ALU to perform the operations, and Intel (so far) uses the scalar ALU (pushing the separate operations quickly into the pipeline). Intel's approach is better than scalar code in the application, but not as good as having a separate parallel ALU.

In the future, however, Intel could put one or more vector ALUs into the chip, and run SSE2/3 operations truly in parallel. This could be completely, absolutely compatible with existing SSE programs.

The architecture defines the behaviour of the SSE instructions, not whether the actual implementation uses scalar, parallel or multiple execution units to produce that behaviour.

We don't know what tricks Intel has planned for the huge numbers of transistors in the new chips - but they could decide to spend some of those transistors to make an SSE3 implementation that puts the current AltiVec implementations to shame.
____________

The landscape is changing for SSE as well.

Currently, SIMD use is hampered by the several different implementations of current systems in the installed base (MMX/SSE/SSE2/SSE3). It's a pain to test for the different capabilities. Compilers can automatically generate vector code, but they don't generate all 5 versions with the necessary runtime tests.

In the x64 world, however, every system is guaranteed to be at least SSE2 compatible. Developers can use SSE2 without checking. This will give Intel more incentive to improve the SSE implementation in silicon, since the SSE units may be used much more often in 64-bit code.
 
AidenShaw said:
Currently, SIMD use is hampered by the several different implementations of current systems in the installed base (MMX/SSE/SSE2/SSE3). It's a pain to test for the different capabilities. Compilers can automatically generate vector code, but they don't generate all 5 versions with the necessary runtime tests.

In the x64 world, however, every system is guaranteed to be at least SSE2 compatible. Developers can use SSE2 without checking. This will give Intel more incentive to improve the SSE implementation in silicon, since the SSE units may be used much more often in 64-bit code.
And in the case of Macs, developers can probably make the same assumption even for 32-bit code. Mac OS can be designed to require an SSE2 (or SSE3) chip, as long as Apple makes certain to only manufactuer Intel systems with compatible chips.

An added benefit of refusing to support generic PC platforms.
 
shamino said:
And in the case of Macs, developers can probably make the same assumption even for 32-bit code. Mac OS can be designed to require an SSE2 (or SSE3) chip, as long as Apple makes certain to only manufactuer Intel systems with compatible chips.
Apple developers are being told that SSE2 is mandatory, but SSE3 is optional. (http://developer.apple.com/document...gration_sse_overview/chapter_2_section_4.html)

Strong evidence that Dothan-based Macs are coming, since Yonah will be SSE3, and current Netburst chips are SSE3. The only SSE2 chip in the current stable is Dothan.
 
AidenShaw said:
Apple developers are being told that SSE2 is mandatory, but SSE3 is optional. (http://developer.apple.com/document...gration_sse_overview/chapter_2_section_4.html)

Strong evidence that Dothan-based Macs are coming, since Yonah will be SSE3, and current Netburst chips are SSE3. The only SSE2 chip in the current stable is Dothan.
it means they've decided to keep their options open. Apple would want to hedge their bets, in case Yonah's schedule slips.

It would be a bit of a leap to take this developer note and assume that a Dothan-based system must eventually be sold as a commercial product.
 
I'll stick with the "leap"

shamino said:
it means they've decided to keep their options open. Apple would want to hedge their bets, in case Yonah's schedule slips.

It would be a bit of a leap to take this developer note and assume that a Dothan-based system must eventually be sold as a commercial product.
Intel's roadmap has shown Dothan (single-core) and Yonah (dual-core) being sold together for some time, with the single-core Yonah coming later.

That fits in with market segmentation of iBook/MiniMac as Dothan alongside PB/iMac with Yonah.

We'll know the answer for sure by WWDC.

If you see Yonah more-or-less on time in a PB, and Dothan-based low end systems alongside them - then my "leap" wasn't so much.

If we never see a Dothan from Apple, then your skepticism was justified. (Or if Yonah isn't here for months, and a Dothan appears....)
 
What if powerbook is launched with macworld with dual core and mac mini/ibook get launched in wwdc around time of single core yonah? Could happen.
 
vniow said:
All,

The rumour that Altivec is now supported in Rosetta in the latest build is likely a hoax, if you've been keeping up on the hacking community's efforts to leak and break the latest release, you'll know that one of the more reputable ones has saw no sign of the mythical 8F1111A.

8F1111 on the other hand was just cracked yesterday.

I take it back, 8F1111A has now been leaked and cracked. Guess its real this time...
 
treblah said:
Can we just skip December and go straight to MWSF?

Yeah! It's Christmas in January this winter!
Gotta get an intelBook, gotta get an intelBook, gotta get an intelBook, ...
 
PPC970FX said:
And I am not shure that the Altivec code can be translated into SSE in any way, but if it can be done it is the best Rosetta can do.


Isn't that what they said in the first place? I mean, isn't that what this article is about? Rosetta translating AlitVec code into SSE code?
 
ingenious said:
Isn't that what they said in the first place? I mean, isn't that what this article is about? Rosetta translating AlitVec code into SSE code?
It mentions Rosetta now being compatible with AltiVec code. Whether this means translation into SSE code or into linear code is unknown at this time.
 
Well this is a good sign. Personally I belive that Mac OS X for Intel/x86 is probably almost complete. I hope that by Macworld we'll see another demo of the Mac OS X for X86. Who knows imaybe it'll be done by then and will be introduced along with some Intel Macs. Oh boy I can't wait! ;)
 
LimeiBook86 said:
Well this is a good sign. Personally I belive that Mac OS X for Intel/x86 is probably almost complete. I hope that by Macworld we'll see another demo of the Mac OS X for X86. Who knows imaybe it'll be done by then and will be introduced along with some Intel Macs. Oh boy I can't wait! ;)

No you have to wait in front of your Macintel running Rosetta.

Remember OS/2 running Windows apps in a compatibility box.... and both binary were Intel code. Image an Intel processor running PowerPC code.... Yes....wait and look at the wheel
 
phvander said:
Remember OS/2 running Windows apps in a compatibility box.... and both binary were Intel code. Image an Intel processor running PowerPC code.... Yes....wait and look at the wheel
As someone who ran a lot of Windows apps under OS/2, I have no idea what you're talking about.

OS/2 was not running an emulation environment. They were running an actual unmodified copy of Windows 3.11 in an OS/2 DOS box. And the apps ran just fine (compared with Windows 3.11 running natively on MS-DOS.) They ran faster on 32-bit versions of Windows, but that's an unfair comparison, because OS/2 never attempted to emulate that environment.

As for Rosetta, why don't you wait until it ships before you make sweeping claims about its uselessness. Unless you're violating an NDA, the only thing you know is what Apple has demonstrated (which was very impressive) and what some bloggers have written (which is, of course, a mixed bag of random speculation.)
 
phvander said:
No you have to wait in front of your Macintel running Rosetta.

Remember OS/2 running Windows apps in a compatibility box.... and both binary were Intel code. Image an Intel processor running PowerPC code.... Yes....wait and look at the wheel
I'm sorry but, did this have anything to do with my post??? :confused: Please don't quote a post if your post has nothing to do with it. But, seeing as this is your first post - Welcome to MacRumors!:p
 
shamino said:
As someone who ran a lot of Windows apps under OS/2, I have no idea what you're talking about.

OS/2 was not running an emulation environment. They were running an actual unmodified copy of Windows 3.11 in an OS/2 DOS box. And the apps ran just fine (compared with Windows 3.11 running natively on MS-DOS.) They ran faster on 32-bit versions of Windows, but that's an unfair comparison, because OS/2 never attempted to emulate that environment.

As for Rosetta, why don't you wait until it ships before you make sweeping claims about its uselessness. Unless you're violating an NDA, the only thing you know is what Apple has demonstrated (which was very impressive) and what some bloggers have written (which is, of course, a mixed bag of random speculation.)




This exactly was I was thinking......
OS/2 runs a native code in an Intel 16 bit mode.
And the performance were awfull !!!!!

So if you expects same performance running PPC code on a Intel processor, so there is someting wrong in physical laws...

Few months ago, it has been said G5 is the most terrific processor

It seems Rosetta will run PPC code much faster on an Intel processor than on a native PPC processor! terrific!

Marketing stuff!
 
phvander said:
This exactly was I was thinking......
OS/2 runs a native code in an Intel 16 bit mode.
And the performance were awfull !!!!!
OS/2 version 1.x was 16-bit. Versions 2 through 5 (yes, there was a version 5, although it was never sold in retail stores) were all 32-bit.

As for performance, native OS/2 code performed incredibly well comapred with other operating systems running on the same processors.

Most of the performance problems were from brain-dead application developers that simply tried to port their Windows code over without changing any part of their design. Which, BTW, can be said for Mac code as well - quick ports of Windows apps to Mac OS usually suck as well.

I developed software for OS/2 for seven years. I found that quick-ports of Windows code could get a 4x speedup (typically outperforming the original Windows version) after re-organizing the application around OS/2's strengths and weaknesses, instead of around Windows' strengths and weaknesses.
phvander said:
So if you expects same performance running PPC code on a Intel processor, so there is someting wrong in physical laws...
Maybe yes, maybe no. Yes, there will be a lot of overhead due to any emulation/translation environment. On the other hand, we're talking about Intel chips in the 3-3.4GHz range, emulating PPC chips in the 1.33-2.5GHz range. A 20-150% increase in clock speed (depending on what two chips you compare) can mask a lot of overhead.
phvander said:
It seems Rosetta will run PPC code much faster on an Intel processor than on a native PPC processor! terrific!
I have no idea if you're being sarcastic here or not. In actual practice, this may or may not be true, depending on what PPC chips you use as your baseline, what Intel chips you're benchmarking, and what apps you use for your tests.
 
shamino said:
OS/2 version 1.x was 16-bit. Versions 2 through 5 (yes, there was a version 5, although it was never sold in retail stores) were all 32-bit.

As for performance, native OS/2 code performed incredibly well comapred with other operating systems running on the same processors.

Most of the performance problems were from brain-dead application developers that simply tried to port their Windows code over without changing any part of their design. Which, BTW, can be said for Mac code as well - quick ports of Windows apps to Mac OS usually suck as well.

I developed software for OS/2 for seven years. I found that quick-ports of Windows code could get a 4x speedup (typically outperforming the original Windows version) after re-organizing the application around OS/2's strengths and weaknesses, instead of around Windows' strengths and weaknesses.
Maybe yes, maybe no. Yes, there will be a lot of overhead due to any emulation/translation environment. On the other hand, we're talking about Intel chips in the 3-3.4GHz range, emulating PPC chips in the 1.33-2.5GHz range. A 20-150% increase in clock speed (depending on what two chips you compare) can mask a lot of overhead.
I have no idea if you're being sarcastic here or not. In actual practice, this may or may not be true, depending on what PPC chips you use as your baseline, what Intel chips you're benchmarking, and what apps you use for your tests.


I also develop for OS/2 from 1987 to 2000....
... and OS/2 was killed by the fact that Dos and Winos2 were not thrown from OS/2.

And the OS/2 spent its time to ask it self "Am I in 16bits adress mode or in 32 bits adress mode ?"

So for MacIntel, if MACOSX must support old world PPC code it will impact Macintel OS quality due to maintening Rosetta code and a lot of stuff added inside the kernel to insure compatibility of PPC code!

And what about ISV support for their PPC code running onto an Intel MAC...
Do you think they will provide support ?

No they will force customers to switch to Intel version with lot of $$$
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.