SPIRAL

The SPIRAL system (www.spiral.net) is a tool for automatically deriving, implementing and optimizing Digital Signal Processing (DSP) algorithms, in particular fast transform algorithms such as the fast Fourier transform. SPIRAL is capable of generating optimized implementations on a variety of platforms including SSE, multicore, Cell, GPU, distributed memory parallel processors, and FPGA, and has produced some of the fastest implementations of these algorithms on these platforms (SPIRAL is used by Intel in the implementation of their MKL and IPP libraries). SPIRAL uses a domain specific language, based on an algebraic formulation of DSP algorithms, and rewrite rules to generate a large number of implementations and uses intelligent search to find fast implementations. This talk provides an overview of automated generation of DSP algorithms using the SPIRAL system, briefly discusses the use of algebraic techniques in the generation of DSP algorithms, and ends with a discussion of extensions of SPIRAL that can be used for more general algorithms.


References in zbMATH (referenced in 46 articles , 1 standard article )

Showing results 21 to 40 of 46.
Sorted by year (citations)
  1. Meng, Lingchuan; Johnson, Jeremy; Franchetti, Franz; Voronenko, Yevgen; Maza, Marc Moreno; Xie, Yuzhen: SPIRAL-generated modular FFTs (abstract only) (2010) ioport
  2. Cao, Jun; Goyal, Ayush; Novstrup, Krista A.; Midkiff, Samuel P.; Caruthers, James M.: An optimizing compiler for parallel chemistry simulations (2009)
  3. D’Alberto, Paolo; Nicolau, Alexandru: Adaptive Winograd’s matrix multiplications (2009)
  4. Johnson, Jeremy: SPIRAL and beyond: automatic derivation and optimization of DSP algorithms and more (2009)
  5. Li, Xin; Moreno Maza, Marc; Schost, Éric: Fast arithmetic for triangular sets: from theory to practice (2009)
  6. Arce-Nazario, Rafael A.; Jiménez, Manuel; Rodríguez, Domingo: Mapping of discrete cosine transforms onto distributed hardware architectures (2008) ioport
  7. Carette, Jacques; Smith, Spencer; McCutchan, John; Anand, Christopher; Korobkine, Alexandre: Case studies in model manipulation for scientific computing (2008)
  8. Falcou, Joel; Sérot, Jocelyn: Formal semantics applied to the implementation of a skeleton-based parallel programming library (2008)
  9. Terrel, A. R.; Scott, L. R.; Knepley, M. G.; Kirby, R. C.: Automated FEM discretizations for the Stokes equation (2008)
  10. Dennis, J. M.; Jessup, E. R.: Applying automated memory analysis to improve iterative algorithms (2007)
  11. Johnson, Jeremy; Xu, Xu: Generating symmetric DFTs and equivariant FFT algorithms (2007)
  12. Kirby, Robert C.; Scott, L. Ridgway: Geometric optimization of the evaluation of finite element matrices (2007)
  13. Tan, Guangming; Feng, Shengzhong; Sun, Ninghui: Cache oblivious algorithms for nonserial polyadic programming (2007) ioport
  14. Cohen, Albert; Donadio, Sébastien; Garzaran, Maria-Jesus; Herrmann, Christoph; Kiselyov, Oleg; Padua, David: In search of a program generator to implement generic transformations for high-performance computing (2006)
  15. Franchetti, Franz; Voronenko, Yevgen; Püschel, Markus: A rewriting system for the vectorization of signal transforms (2006)
  16. Hitczenko, Paweł; Johnson, Jeremy R.; Huang, Hung-Jen: Distribution of a class of divide and conquer recurrences arising from the computation of the Walsh-Hadamard transform (2006)
  17. Iyer, Laxmi R.; Ramanathan, Kiruthika; Guan, Sheng-Uei: Multi-learner based recursive supervised training (2006)
  18. Tang, Ping Tak Peter: DFTI -- a new interface for fast Fourier transform libraries. (2005)
  19. Egner, Sebastian; Püschel, Markus: Symmetry-based matrix factorization (2004)
  20. Guo, Jia; Garzarán, María Jesús; Padua, David: The power of Belady’s algorithm in register allocation for long basic blocks (2004)

Further publications can be found at: http://www.spiral.net/publications/publ-topic.html