SpiralGen and Spiral technology are most beneficial for high-performance applications, from image processing to communications and defense.
Most applications in signal processing, communication, and scientific computing have very high performance requirements. To achieve this performance, these applications rely on highly optimized implementations of performance-critical, basic software components that perform the bulk of the work. Examples of such components include the fast Fourier transform in spectral analysis or molecular dynamics simulation, the Viterbi decoder or the entire physical layer in wireless communication standards, or the image formation in synthetic aperture radar.
The basic components are very hard to optimize on modern complex and parallel processors. Optimization has to be repeated whenever a new, more capable processor is available. For critical components, SpiralGen can automatically generate optimized software. Porting to new platforms can become as simple as regenerating the code.
The first success of Spiral in the commercial sector was the automatic production of about 4000 compute kernel functions for Intel’s performance library IPP for version 6.0. The functions are faster than any equivalent hand-written code and take full advantage of SIMD instruction sets.