Code Optimization Services
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 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.
Contact us to discuss your requirements.