AltiVec - CompWisdom
About us  |  Why use us?  |  Press  |  Contact us

 

Topic: AltiVec



  
 AltiVec - Wikipedia, the free encyclopedia
AltiVec was developed between 1996 and 1998 by Keith Diefendorff, the distinguished scientist and director of microprocessor architecture at Apple Computer.
AltiVec is a floating point and integer SIMD instruction set designed and owned by Apple Computer, IBM and Motorola (the AIM alliance), and implemented on versions of the PowerPC including Motorola's G4 and IBM's G5 processors.
AltiVec is also unique in its support for a flexible vector permute instruction, in which each byte of a resulting vector value can be taken from any byte of either of two other vectors, parametrized by yet another vector.
http://en.wikipedia.org/wiki/AltiVec   (912 words)

  
 Exploring The Possibility Of A MacIntel-AltiVec Future :: osViews osOpinion :: Tech Opinions for the People, by the ...
AltiVec's greatest success is inarguably embodied in and best demonstrated by Adobe's Photoshop, a high-end application of inestimable importance to the world of multi-media professionals, not to mention the fact that it has incalculable value to countless numbers of artistically inclined novices bent on creating works of their own unique design or invention.
AltiVec instructions, because they are processor-specific, must be replaced on Macintosh computers that use an Intel microprocessor.
Just as for AltiVec, code that is written to use the Intel ISA typically performs many times faster than scalar code.
http://www.osopinion.com/modules.php?op=modload&name=News&file=article&sid=4772&mode=thread&order=0&thold=0   (1497 words)

  
 MacKiDo/Hardware/AltiVecVsKNI
While 8 registers was fine for a 1970's computer, that is way too few for modern compilers and algorithms which can use more registers to optimize algorithms and generate more speed.
If you think AltiVec is going to be fast in a generalized computer, you can't imagine this thing in a nice specialized embedded application.
In AltiVec "Multiply and Add" is a single instruction -- you can multiply one thing by another, and add the result to another register (or the original) -- one instruction, one cycle, done.
http://www.mackido.com/Hardware/AltiVecVsKNI.html   (4213 words)

  
 MacKiDo/Hardware/AltiVec
AltiVec is a high quality Vector Math and SIMD implementation that is easier to use, and takes the PowerPC to the next level -- so it is likely that by the time the processors are available there will be some support.
AltiVec is a far better SIMD design and implementation than MMX.
So AltiVec is like having up to 16 (8 bit) processors (computers) inside, all working at once.
http://www.mackido.com/Hardware/AltiVecVsMMX.html   (2537 words)

  
 Unrolling AltiVec, Part 1: Introducing the PowerPC SIMD unit
Different tasks performed using AltiVec instructions are handled by different components of the chip, and different chips may have different sets of components.
Furthermore, AltiVec's design allows a little more flexibility than some larger vector processors and is well-suited to the variety of tasks desktop computers face.
Motorola&; AltiVec™ is one of the names (see the sidebar, "The nine billion names of AltiVec" for the others) for a specific example of Single Instruction, Multiple Data, or SIMD, execution.
http://www-128.ibm.com/developerworks/library/pa-unrollav1   (2846 words)

  
 AltiVec Engaged
The ability to write AltiVec optimized software in C saves time and avoids the tedium associated with assembly language programming.
The AltiVec instruction set architecture (ISA) is very well designed and a pleasure to program for.
There are two functions, iquant_non_intra_m1 and select_dct_type, that are not AltiVec optimized.
http://klicman.org/altivec   (1020 words)

  
 Motorola AltiVec
The Motorola AltiVec technology is designed to be a single chip solution for high-bandwidth data processing and algorithmic intensive computations which today are typically handled off-chip by other devices, such as dedicated hardware, DSP farms or custom ASICs.
Each AltiVec instruction can specify up to three source operand and a single destination operand; all operand are vector registers, except for the load and store instructions and a few instruction types that provide operands from immediate fields.
Intra-Element Arithmetic Operations: they perform indipendent parallel computations on the elements contained in the source vector registers and place the result in the corresponding fields of the destination vector register.
http://www.tommesani.com/AltiVec.html   (526 words)

  
 Lightsoft: AltiVec Overview
Altivec is a technology that accelerates software by enhancing the PowerPC instruction set.
There are variations on these instructions (by appending a "t" to the instruction) that allows the program to specify that a stream is transient (likely to be read from or written to only once or twice, or maybe infrequently, thus helping the memory system decide how best to deal with the stream).
For example, graphics processing requires the processor to take input data, modify it in some way and then output it as quickly as possible.
http://www.lightsoft.co.uk/Fantasm/aoverview.html   (2079 words)

  
 AltiVec™
AltiVec technology provides embedded and computing system designers with a new "one part-one code base" approach to product design.
Freescale's AltiVec technology expands the capabilities of PowerPC&; microprocessors by providing leading-edge, general-purpose processing performance while concurrently addressing high-bandwidth data processing and algorithmic-intensive computations in a single-chip solution.
With the release of Freescale's AltiVec technology-enabled library for the Linux® operating...
http://www.freescale.com/altivec   (276 words)

  
 AltiVec Fractal 1.3 – Mac OS X – VersionTracker
AltiVec, and multiple processors (MP) for its computations and uses UCLA AppleSeed's MacMPI_X library for communication between parallel processors.
Not intended to be a serious fractal exploration program, AltiVec is designed to be a benchmark generator However, If you are looking to show somebody the beauty of fractal math in a heartbeat, this is the software to use.
It is the fastest fractal program I have ever used, Amiga, PC, Mac or otherwise.
http://versiontracker.com/dyn/moreinfo/macosx/10540   (368 words)

  
 Hardware - AltiVec HIghlights
The following are examples of two AltiVec instructions, which are similar to instructions in the PowerPC scalar units.
is the AltiVec analog of the add unsigned bytes modulo (or wrap) available in the PowerPC scalar instruction set.
is the AltiVec analog of the multiply-add fused available in the scalar floating-point instruction set.
http://developer.apple.com/hardware/ve/highlights.html   (321 words)

  
 MacDevCenter.com: The AltiVec Difference
AltiVec operates on all data elements in a vector register simultaneously, with every instruction.
For example, in computations involving single-precision floating-point numbers, AltiVec can offer 4-way parallelism by simultaneously operating on four elements of a vector with each instruction.
To take advantage of the AltiVec unit, 162 new vector operations were added to the PowerPC instruction set, including functions like add, multiply-add, subtract, absolute value, truncate, round, sum, multiply-sum, average, and exponent.
http://www.oreillynet.com/pub/a/mac/2002/04/05/altivec.html   (890 words)

  
 Fantasm: AltiVec
It's so new in fact that information and tools are very thin on the ground, and yet it promises to revolutionize Macintosh computing in a way unimaginable just one or two years ago.
In conjunction with Apple's AltiVec emulator (or if you're really lucky, a real G4 AltiVec enabled processor!) this will allow Fantasm users to experiment with this new technology for the first time.
Fantasm 5.30 is the first version to support AltiVec instructions.
http://www.lightsoft.co.uk/Fantasm/altivec.html   (381 words)

  
 TechWeb: The Business Technology Network
AltiVec also features commands for "compare" and "select." The first does a Boolean element-by-element comparison between two registers; the second fills a third register based on the "compare" results.
Many of the developers attending Diefendorff's session on the PowerPC's future developments were anxious to get their hands on development tools for AltiVec, and Diefendorff drew strong murmurs of approval when he hinted at some of the functionality AltiVec could make possible, such as a software-based cellular phone inside a laptop computer.
Apple officials made it clear that AltiVec is a big part of the Mac's future -- the Mac OS is even being altered to exploit the instructions.
http://www.techweb.com/wire/story/apple/TWB19980513S0018   (959 words)

  
 UGeek - Reader Comments - AltiVec comparisons
AltiVec is capable of handling a very high percentage of the computer's functions, from Photoshop to rendering to networking to sound synthesis, speech recognition, screen redraws, and much more.
All in all, Altivec is causing more of a stir than SSE did on its release, even though Intel claimed that SSE would speed up the Internet.
Motorola's AltiVec instructions try a similar approach, but with more registers and more instructions.
http://www.geek.com/readercomm/091999/comm111.htm   (915 words)

  
 Hardware - Vector Programming Detailed Explanation
If you are a developer who would like to make more use of AltiVec in your application, you should first explore the functionality that is available in Apple's Accelerate.framework (previously available as vecLib.framework).
Developers looking to write their own AltiVec accelerated functions will find vectorized versions of many math library functions in vecLib.framework.
Finally, we have a discussion of how best to make sure that programs that use AltiVec work properly on processors that do not have a AltiVec unit, such as the G3.
http://developer.apple.com/hardware/ve/quickstart.html   (1275 words)

  
 Dauger Research, Inc., Altivec Fractal Carbon Demo Page
AltiVec, multiple processors (MP), and cluster computing (via MPI) for its computations.
This is the primary difference between the AltiVec and non-AltiVec version of the z^2 code.
The remaining differences involve preparing the vector variables with the appropriate data prior to the iteration loop and saving the final data out into a regular array of floating-point numbers for later conversion to pixel data.
http://www.daugerresearch.com/fractaldemos/altivecfractalcarbon.html   (483 words)

  
 AltiVec Technology
Mercury Computer Systems is likely the largest user of AltiVec technology after Apple.
This purpose of this mailing list is to discuss AltiVec Technology, Freescale's trademark for the first PowerPC SIMD extension.
Apple leverages these processors in various computer form factors, including the new Mac mini.
http://www.simdtech.org/altivec   (169 words)

  
 AppleInsider- An Inside Look at the AltiVec Enhanced PowerPC G4
For example, the AltiVec enhanced G4 will be capable of performing processes on up to 16 pixels simultaneous as opposed to one.
Sources also noted that the AltiVec extended instruction set can increase overall speech processing computational throughput capacity by up to 40 percent.
The AltiVec Instruction Set features 162 new instructions added to the PowerPC ISA, 4-operand non- destructive instructions, an enhanced cache/memory interface, and a simplified load/ store architecture.
http://www.appleinsider.com/articles/9902/altivec-g4.shtml   (833 words)

  
 First Look at an Apple G4 with the Altivec Processor Linux Journal
These instructions are detailed in the AltiVec Technology Programming Environments Manual (altivec_pem).
The higher-level C instructions that use these new assembler instructions can be found in the AltiVec Technology Programming Interface Manual (altivec_pim).
Motorola has also announced the 7410 and the 7450, which feature an L2 cache on the die, a large backside L3 cache, a faster processor core and a deeper, seven-stage pipeline.
http://www.linuxjournal.com/article.php?sid=4584.   (2777 words)

  
 G4 Velocity Engine (AltiVec) Speed Tests
AltiVec plug-ins make a significant difference in the speed of the Photoshop effects.
The AltiVecCore Plug-in must be in the Adobe folder in the System folder and an alias must be present in the Adobe Photoshop Only folder in the Plug-ins folder.
Thanks to AltiVec "aware" apps like Photoshop and the solution of the
http://www.barefeats.com/altivec.html   (462 words)

  
 Hardware - SSE Performance Programming
Similar parity exists over the 60 or 70% of the AltiVec ISA that is the most commonly used part of AltiVec.
There is a partial AltiVec to SSE translation table in the Universal Binary Programming Guide, Appendix B.
Similar selectors exist for MMX, SSE and SSE2, but since those are required features for MacOS X for Intel, it is not required that you test them before using those vector extensions, in software intended solely for MacOS X for Intel.
http://developer.apple.com/hardware/ve/sse.html   (9708 words)

  
 MacSlash Altivec And Monte Carlo Methods
I found the mersenne twister altivec code very helpful, and learning altivec was a lot easier after playing with it.
He told me that using the G4´s Altivec module could speed up calculations, but, on the other hand, the precision can drop dangerously and that it is possible to find convergency problems.
The code doesn't use Altivec at all--rather than spending a lot of time figuring out where single precision wouldn't do any damage, I took the lazy way out and made everything double precision.
http://macslash.org/AskMacSlash/02/09/18/0527239.shtml   (3824 words)

  
 XServe Cluster Running the AltiVec Fractal Benchmark
The AltiVec Fractal Carbon demo uses fractal computations that are iterative in nature.
Members of the Applied Cluster Computing Group, building on their experience using other parallel computers and cluster types, spearheaded the planning, purchase, and construction of this XServe cluster.
The Applied Cluster Computing Group (formerly known as the High-Performance Computing Group) at NASA's Jet Propulsion Laboratory (JPL) recently acquired and assembled a cluster using 33 XServes.
http://daugerresearch.com/fractaldemos/JPLXServes/JPLXServeClusterBenchmark.html   (690 words)

  
 Nicholas Coult's HINT Benchmark Page
It It should be noted that the performance of the Altivec-enabled code depends heavily on my skill and knowledge of Altivec programming; this is the first code I have written for Altivec.
This processing unit is capable of performing a given computation (say, adding two numbers together) simultaneously on groups of input data 128 bits long.
With Altivec, performance approaches that of an Alpha 21264/500 Mhz.
http://www.ima.umn.edu/~coult/hint.html   (417 words)

  
 MacKiDo/Hardware/G4
The AltiVec (Velocity Engine) Vector unit can compete in some ways with a Cray-YMP and other supercomputers of a decade ago (or even more modern) -- but todays super computers are massively parallel machines that can go up to Teraflops (trillions of floating point operations per second) instead of the G4s Gigaflops (billions).
Motorola and IBM were diverging -- but it looks like IBM caught on to how neat AltiVec is, and they are coming back into the fold and going to probably make some G4 chips as well.
But most modern super-computers get their performance not by having a fast single processor, but with thousands of off-the-shelf processors (and complex memory systems and OSs).
http://www.mackido.com/Hardware/G4.html   (1558 words)

  
 Crescent Bay Software -- VAST/AltiVec
These vector extensions allow VAST to access the AltiVec unit at close to instruction level efficiency while remaining at the source code level.
A new version of DEEP works closly with VAST/AltiVec to provide exceptional performance analysis of your AltiVec programs.
VAST can provide messages that help you understand what parts of your program have been successfully optimized and what parts have not been optimized.
http://www.crescentbaysoftware.com/vast_altivec.html   (500 words)

  
 Exploiting SIMD Parallelism in DSP and Multimedia Algorithms Using the AltiVec Technology - Nguyen, John (ResearchIndex)
In this paper, we investigate the behavior of the AltiVec technology on a set of common DSP and multimedia algorithms.
Exploiting SIMD Parallelism in DSP and Multimedia Algorithms Using the AltiVec Technology (1999)
Nguyen and L. John, Exploiting SIMD Parallelism in DSP and Multimedia Algorithm Using the AltiVec Technology, ICS99.
http://citeseer.lcs.mit.edu/nguyen99exploiting.html   (434 words)

  
 VAST/AltiVec FAQ
The AltiVec unit is classified as a vector SIMD unit, since it operates on multiple elements (in a vector register) with one instruction (SIMD = single instruction, multiple data).
If there are data dependencies in the loop, where values for one iteration are required to calculate a future iteration, then the loop cannot be vectorized directly.
Call a library routine that has been optimized to use AltiVec instructions.
http://www.crescentbaysoftware.com/altivec_FAQ.html   (4657 words)

  
 AltiVec: Definition and Links by Encyclopedian.com - All about AltiVec
AltiVec is a SIMD instruction set designed and owned by Apple Computer, IBM and Motorola, and implemented on versions of the PowerPC starting with Motorola's G4 and some of IBM's G3 products.
However the most recent PowerPC 970[?] desktop CPU from IBM will include an improved AltiVec unit.
AltiVec is likely the most powerful SIMD system in a desktop CPU.
http://www.encyclopedian.com/al/AltiVec.html   (263 words)

  
 MPW -- AltiVec Support
This page lists the components that were updated to support AltiVec, the oldest version of each component that supports AltiVec, and the date that version was created.
If you wish to program for AltiVec, your MPW environment should contain the component versions listed on this page or more recent versions.
MPW was updated in 1998 to support programming for AltiVec.
http://developer.apple.com/tools/mpw-tools/altivec.html   (114 words)

  
 AltiVec: Introduction to Programming (LSA0042a)
For a reference, the AltiVec Technology PEM (programming environments manual) is fairly good.
The entire AltiVec registers are 512 bytes of memory.
Nearly all AltiVec instructions have a "v" in them, most of them at the beginning.
http://www.lightsoft.co.uk/Fantasm/avec_prog.html   (4982 words)

  
 Hardware - Vector C Programming Model
(vadduwm is the AltiVec instruction for adding two vectors full of 32 bit ints to each other.) A complete list of AltiVec intrinsic functions appears in the Instruction Reference.
You may of course program the vector unit using assembly language, if you prefer.
For example, to add two AltiVec vectors together, you would use the vec_add "function":
http://developer.apple.com/hardware/ve/model.html   (426 words)

  
 TechWeb: The Business Technology Network
If it exploits the AltiVec instructions -- a decision Apple is expected to announce Monday at its developers conference in San Jose, Calif. -- the Cupertino, Calif., computer maker will be asking software developers to deal with two different PowerPC instruction sets: with and without AltiVec.
IBM said by staying with the original, carefully streamlined PowerPC instruction set, it will be possible to increase the clock rate of the processor more quickly, which will make up for the utility of specialized but difficult-to-use instructions.
Motorola's new Networking and Computer Systems Group chose the recent NetWorld+Interop '98 in Las Vegas to reveal the first major extension to the PowerPC instruction set -- and the first major rift in the PowerPC architectural family.
http://www.techweb.com/wire/story/TWB19980511S0002   (795 words)

  
 AltiVec Programming Tools
Project Builder and GCC are free with OS X. If your OS X install package does not include a developer tools CD or disk image, then you may download the developer tools package from the ADC software downloads area.
Developers should first familiarize themselves with AltiVec by reading the Motorola's AltiVec Programming Environments Manual available from Motorola's AltiVec Technology Web site.
In addition, assemblers such as PPCAsm and MacOS X's "as" assembler have been updated to support AltiVec assembly.
http://developer.apple.com/hardware/ve/tools.html   (233 words)

  
 pixelglow software
Meanwhile, the 0.2 release is on-track for initial Intel MMX/SSE/SSE2 support — plus more goodies for all you Altivec aficionados: complex numbers, integer division algorithms for Altivec, multiply-add optimizations and more.
The new version is now a cat and dog show — with Mac OS X Tiger and Yellow Dog Linux support — featuring the macstlizer script and header designed to ease the transition from Altivec to SSE for all you Apple developers.
Discuss the intracacies of the macstl implementation at comp.lang.c++.moderated or discover why macstl may lead the next performance revolution at the Ars Technica OpenForum.
http://www.pixelglow.com   (2936 words)

  
 AltiVec FFTs
The Fast Fourier Transform (FFT) is one of the cornerstone algorithms of signal processing, and a fast implementation is frequently desired.
In several cases, it performs at better than 50% of the peak for AltiVec!
AltiVec is a set of instructions for the PowerPC processor which enhance the performance of signal and image processing using a SIMD (single-instruction multiple-data) approach.
http://findsabrina.org/altivec   (977 words)

  
 Velocity Engine
Learn how to analyze your code and reap the full benefits of the G5 for both new and existing apps.
Learn how to do SIMD vector programming for MacOS X for Intel.
This page provides a overview of the hardware and programming interfaces involved, and provides detailed translation help information for leveraging your investment in AltiVec forward to the
http://developer.apple.com/hardware/ve   (245 words)

  
 Doug's AltiVec Site - Sample Code
I looked around on the web and found an open source algorithm and implemented it in AltiVec.
It is a good example of how to expand bits into bytes inside of an AltiVec register.
In this simulation cells are created and died based on a set of rules.
http://home.san.rr.com/altivec/Pages/SampleCode.html   (387 words)

  
 Ars Technica: Inside the IBM PowerPC 970, Part II - Page 7 - (5/2003)
The G4e's Altivec implementation is the strongest part of its design.
The vector pipelines are longer than any of the others on the machine, a fact that has engendered much speculation as to what those extra stages actually are.
There are some other shortcomings to the 970's Altivec implementation, as well.
http://arstechnica.com/cpu/03q1/ppc970/ppc970-7.html   (731 words)

  
 Buena Software: AltiVec Effect
You can use it to create your own AltiVec effects, or just to see how AltiVec instructions are used.
You can learn more about the forthcoming G4 processor and its AltiVec instructions at Apple's AltiVec website.
AltiVec Effect is a Quicktime Effect which uses the G4's new parallel instructions.
http://www.buena.com/altiveceffect.html   (73 words)

  
 EETimes.com - IBM Micro plans partnerships to commercialize tech advances
A possible four-way collaboration on 1-Gbit DRAM, now in the early stages of negotiations, could link IBM and Siemens' work on trench technology with Toshiba's and Fujitsu's recently announced intention to pursue stacked capacitors.
A new collaboration commitment with Apple Computer Inc. and Motorola Inc. could resolve the split over the PowerPC architecture that emerged last spring when IBM shunned the enhanced instruction set of Motorola's Altivec processor.
He declared that the two companies "will come to a solution" on how to adopt the Altivec instruction set and architecture, developed by Motorola but initially shunned by IBM.
http://www.eetimes.com/story/OEG19981218S0019   (2118 words)

  
 Hardware - SIMD Executive Summary
Indeed, approximately 60% of the instructions in the AltiVec ISA have direct counterparts on the Intel SSE/SSE2/SSE3 architecture.
Neither SIMD environment supported by Apple requires you to write in assembly.
By taking advantage of the AltiVec C Programming Model and the Intel C Programming Model, developers may leverage their experience with C, C++ or Obj C for easier entry into SIMD.
http://developer.apple.com/hardware/ve/summary.html   (755 words)

  
 New AltiVec Enabled Mac OS X Charting & Data Analysis App Released The Mac Observer
The new software is designed for data analysis and charting, and the company is touting the software's performance as a main feature.
The Mac Observer is an independent publication and has not been authorized, sponsored, or otherwise approved by Apple Computer, Inc.
New AltiVec Enabled Mac OS X Charting and Data Analysis App Released
http://www.macobserver.com/article/2002/06/03.7.shtml   (844 words)

  
 Doug's AltiVec web site
On my Sample Code page, I've got examples of what works, as well as some examples of what doesn't work and some things to flat out avoid.
I started my AltiVec journey at Apple Computer.
If what you want is some examples of AltiVec code, I've go that too.
http://home.san.rr.com/altivec   (310 words)

  
 Accelerate Your Macintosh! News Story - Connectix Comments on Virtual PC 4 Altivec Support & Why Voodoo Card ...
Their comments also cover the requirements of a G3 or G4 CPU, and how Altivec is utilized for better performance.
In particular, MMX emulation is now up to three times faster on G4 processors.
AltiVec is also used within Virtual PC 4.0 to speed up the transfer of pixel data to the Mac video display, resulting in a "snappier" feel when running PC software.
http://www.xlr8yourmac.com/VPC/ConnectixOnVPC4.html   (812 words)

  
 Macworld: News: Carmack confirms Slashdot comments, talks Altivec
"Altivec has some wins, but it won't make any significant difference unless the performance is extremely focused in a small area, and the balance of computation and bandwidth is just right."
The GeForce3 in particular is being touted by Nvidia as offering infinite flexibility for developers who want total control over the way that geometry and pixel shading information is calculated.
Carmack says that such advances will make it harder for developers to take advantage of features like the G4's Velocity Engine (or, as it's known in Motorola parlance, Altivec).
http://maccentral.macworld.com/news/0102/26.carmack.shtml   (676 words)

  
 ExactCode
With years of experience and deep insight in any aspect of a Linux system or distribution we also provide consulting facilities to migrate or adapt other Open-Source components.
This also includes SIMD assembly to accelerate hot code pathes on various platforms (MMX, SSE, Altivec, VIS,...).
We have the knowledge to build custom systems on many different architectures including PowerPC, Ultra SPARC, x86/x86-64 and ARM.
http://www.exactcode.de   (193 words)

  
 Greg Allen's Home Page
Evans, "Optimization of Vertical and Horizontal Beamforming Kernels on the PowerPC G4 Processor with AltiVec Technology", Proc.
Sonar Development Division is looking for students, both graduate and undergraduate
http://www.ece.utexas.edu/~allen   (226 words)

  
 Holger's AltiVec Anchor page
The original AltiVec Constants Table (for 8-bit constants).
Glen's templates offer the nicest way of utilizing AltiVec I know of: access to all the AltiVec primitives, good code generation if you use a recent compiler, and a much cleaner and more compact syntax than the 'official' lower level interface.
This should be especially useful when you want to vectorize larger amounts of code quickly.
http://www.informatik.uni-bremen.de/%7Ehobold/AltiVec.html   (359 words)

Compwisdom
 About us   |  Why use us?   |  Press   |  Contact us

 Copyright © 2006 CompWisdom.com Usage implies agreement with terms.