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.
ADAS tradeoffs for self-driving cars
Using SpiralGen’s design space optimization tool, ADAS designers can determine the true optimized balance of safety, reliability, and cost in self-driving vehicle applications. SPIRAL technology enables teams to explore multiple simultaneous options — even different hardware platforms and components, not possible with conventional practices. What would take people-years of effort can be done in weeks.
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.