SPIRAL
The SPIRAL system (\url{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.
Keywords for this software
References in zbMATH (referenced in 34 articles , 1 standard article )
Showing results 1 to 20 of 34.
Sorted by year (- Meng, Lingchuan; Johnson, Jeremy: High performance implementation of the TFT (2014)
- Meng, Lingchuan; Johnson, Jeremy: Automatic parallel library generation for general-size modular FFT algorithms (2013)
- Jan, Yahya; Jóźwiak, Lech: Scalable communication architectures for massively parallel hardware multi-processors (2012)
- Kaltofen, Erich L.: The “Seven Dwarfs” of symbolic computation (2012)
- Wernsing, John R.; Stitt, Greg: Elastic computing: A portable optimization framework for hybrid computers (2012)
- Carette, Jacques; Kiselyov, Oleg: Multi-stage programming with functors and monads: eliminating abstraction overhead from generic code (2011)
- Fabregat-Traver, Diego; Bientinesi, Paolo: Knowledge-based automatic generation of partitioned matrix expressions (2011)
- Genovese, Luigi; Videau, Brice; Ospici, Matthieu; Deutsch, Thierry; Goedecker, Stefan; Méhaut, Jean-François: Daubechies wavelets for high performance electronic structure calculations: the BigDFT project (2011)
- Kalinnik, Natalia; Korch, Matthias; Rauber, Thomas: An efficient time-step-based self-adaptive algorithm for predictor-corrector methods of Runge-Kutta type (2011)
- Sheeran, Mary: Functional and dynamic programming in the design of parallel prefix networks (2011)
- Long, Kevin; Kirby, Robert; Van Bloemen Waanders, Bart: Unified embedded parallel finite element computations via software-based Fréchet differentiation (2010)
- Manley, Raymond; Gregg, David: A program generator for Intel AES-NI instructions (2010)
- Meng, Lingchuan; Johnson, Jeremy; Franchetti, Franz; Voronenko, Yevgen; Maza, Marc Moreno; Xie, Yuzhen: SPIRAL-generated modular FFTs (abstract only) (2010)
- Cao, Jun; Goyal, Ayush; Novstrup, Krista A.; Midkiff, Samuel P.; Caruthers, James M.: An optimizing compiler for parallel chemistry simulations (2009)
- Johnson, Jeremy: SPIRAL and beyond: automatic derivation and optimization of DSP algorithms and more (2009)
- Li, Xin; Moreno Maza, Marc; Schost, Éric: Fast arithmetic for triangular sets: from theory to practice (2009)
- Arce-Nazario, Rafael A.; Jiménez, Manuel; Rodríguez, Domingo: Mapping of discrete cosine transforms onto distributed hardware architectures (2008)
- Carette, Jacques; Smith, Spencer; McCutchan, John; Anand, Christopher; Korobkine, Alexandre: Case studies in model manipulation for scientific computing (2008)
- Falcou, Joel; Sérot, Jocelyn: Formal semantics applied to the implementation of a skeleton-based parallel programming library (2008)
- Terrel, A.R.; Scott, L.R.; Knepley, M.G.; Kirby, R.C.: Automated FEM discretizations for the Stokes equation (2008)
Further publications can be found at: http://www.spiral.net/publications/publ-topic.html