This talk provides a current and comprehensive overview of teh SPIRAL system, that has been developed over 20 years at Carnegie Mellon University, and is now available as BSD Open Source System. We show that SPIRAL is a rule based AI system that captures the knowledge of how algorithms, computer architecture, and program transformations are defined and interact. We develop the underlying formal framework to capture computational algorithms, computing platforms, and program transformations of interest, using a unifying mathematical formalism we call operator language (OL). Then we cast the problem of synthesizing highly optimized computational kernels for a given machine as a strongly constrained optimization problem that is solved by a multi-stage rewriting system. Since all rewrite steps are semantics preserving identity operations, our approach allows us to formally prove the equivalence between the kernel specification and the synthesized program. Finally we present a first look at FFTX and SpectralPack. We aim at translating the LAPACK/BLAS approach from the numerical linear algebra world to the N log N/spectral algorithm domain.
Franz Franchetti is Professor in the Department of Electrical and Computer Engineering at Carnegie Mellon University. He received the Dipl.-Ing. (M.Sc.) degree in Technical Mathematics and the Dr. techn. (Ph.D.) degree in Computational Mathematics from the Vienna University of Technology in 2000 and 2003, respectively. Dr. Franchetti's research focuses on automatic performance tuning and program generation for emerging parallel platforms and algorithm/hardware co-synthesis. Within the Spiral effort, his research goal is to enable automatic generation of highly optimized software libraries for important kernel functionality.
Faculty Host: David Padua