Hello All, (especially Sun engineers) I wanted to use this email to get people thinking about how Altivec can increase the performance of Java3D applications. That is, I hope to see responses to this email.
I know Java3D is not yet supported on the macintosh platform, and I know that most of us hope it would be. I know I would sell my dell inspiron 8100 craptop if I could develop on a Powerbook... anyways, I digress. By the way, Java3D may not exist on the Mac, but the vector math classes certainly do. So consider not only how J3D could be accelerated, but also how the vecmath classes could! So first I will give a rough overview of what Altivec can do, and then I hope to see a flood of emails! Altivec Overview: ------------------------------------------ 1) Altivec is a Single Instruction Multiple Data processing unit onboard the G4 processors (built by Motorola, sold in Apple Macs). This means for example, that for certain cpu instructions, it is possible to process several chunks of data simultaneously, instead of just one chunk. This can in some cases lead to a performance increase of 8x, sometimes more sometimes less. 2) The Altivec processing unit onboard the G4 processor can be used SIMULTANEOUSLY with other normal CPU operations. This is unlike Pentiums MMX (I believe) which allows only SIMD or tradtional CPU operations at once, but not both. 3) Altivec handles intER and intRA element operations. There are 2 integer inter element units, 1 floating point inter element unit, and 1 intra element unit. All units may run simultaneously (I believe). 4) intra element operations allows Altivec to very quickly take the bits of a data chunk, and rearrange them in any which way into a new data chunk. 5) inter element operations consist of a set of floating point and integer operations. All floating point operations in Altivec are currently single precision, while integer operations are 8 or 16 or 32 bit. (I believe) 6) To be more precise, the inter element integer operations supported on one of the units is: -, +, ?=, logical shifts, and logical operations, all in a single cycle. 7) the inter element integer operations supported on the other such unit handles multiplication, and multiplication with addition (known as multiply and accumulate I believe) within a maximum of 4 cycles (I believe) 8) the inter element floating point operations supported include addition, subtraction, multiply, and multiply accumulate, within a maximum of 4 cycles (I believe) -------------------------------------- Hows that for a crash course! I hope to hear about how to improve vecmath and J3D performance! I would refer you to the following article on Altivec by Tom Thompson if you would like to know more, or would just like to figure out if I have made any mistakes in my info! http://www.mactech.com/articles/mactech/Vol.15/15.07/AltiVecRevealed/ Cheers! Ian Nieves [EMAIL PROTECTED] =========================================================================== To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff JAVA3D-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".
