logo NASoftware
innovative computing solutions
 
 Home

 Products
  * DSP Libraries
  * VSIPL
  * CSIPL
  * VecLib
  * FFTW

 Documents
  * Datasheets
  * Timings

 Services
  * DSP Library Ports
  * Vector Processors
  * Consultancy

 Company Info
  * About NASL
  * Contact Us
  * ISO 9001
  * Privacy Policy
  * Legal Stuff


 

Vector Processors

The single instruction, multiple data (SIMD) capabilities of vector processors makes them particularly attractive for computationally demanding applications such as filtering, rendering, stream encryption, and data capture and processing from sensors that produce large volumes of data (military radar, medical imaging, weather satellites).

The power of vector processors comes from their ability to process several elements at once (applying the same operations to all elements in a short vector). This, combined with the standard processor techniques of independent processing units (load/store, integer, float, vector) running in parallel, and pipelined units processing several instructions simultaneously (sequentially up to the instruction latency) make it possible to process multiple data elements per clock cycle. Achieving this in practice is far from easy and requires an in-depth knowledge of the processor and a detailed analysis and understanding of the algorithm. For large datasets memory management is also an issue: a processor waiting for data is not producing results.

We are experienced in getting the best out of  PowerPC-Altivec (G4), Intel  and MIPS processors.
We have particular expertise in:

  • hand-crafting assembler routines for optimal performance
  • automatically generating routines which make efficient use of the target processor
  • generating routines which efficiently handle any data alignment
  • generating routines which efficiently handle any data stride.
If you want to improve the performance of your software contact us to discuss your requirements.
 

Created 30 Jan 2008 Copyright © N.A.Software