Los Alamos National Laboratory

Science >  LANL Institutes

National Security Education Center


Spiral: Program Generation for Linear Transforms and Beyond

August 25, 2009
Time: 10:00 - 11:00 AM
Location: National Security Education Center (NSEC), IMMS Access Grid Conference Room (LARP, 1st Floor, Suite 101)

The slides from the presentation are available here.

Speaker:  Franz Franchetti, Department of Electrical and Computer Engineering, Carnegie Mellon University

Abstract:  Spiral (www.spiral.net) is a program and hardware design generation system for linear transform such as the discrete Fourier transform, discrete cosine transforms, filters, and others.  We are currently extending Spiral beyond its original problem domain, using coding algorithms (Viterbi decoding and JPEG 2000 encoding) and image formation synthetic aperture radar, SAR) as examples.  For a user-selected problem specification, Spiral autonomously generates different algorithms, represented in a declarative form as mathematical formulas, and their implementations to find the best match to the given target platform.  Besides the search, Spiral performs deterministic optimizations on the formula level, effectively restructuring the code in ways unpractical at the code or design level.  Spiral generates specialized single-size implementations or adaptive general-size autotuning libraries, and utilizes special instructions and multiple processor cores. The implementation generated by Spiral rival the performance of expertly hand-tuned libraries.

In this talk, we give a short overview on Spiral.  We explain then how Spiral generates efficient programs for parallel platforms including vector architectures, shared and distributed memory platforms, and GPUs; as well as hardware designs (Verilog) and automatically partitioned software/hardware implementations.  We overview how Spiral targets the Cell BE and PowerXCell 8i, the BlueGene/P PPC450d processors, as well as Intel's upcoming Larrabee GPU and AVX vector instruction set.  As all optimizations in Spiral, parallelization and partitioning are performed on a high abstraction level of algorithm representation, using rewriting systems.

Biography:  Franz Franchetti is an Assistant Research Professor with 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. He was a postdoctoral research a postdoctoral research associate associate with the Institute for Analysis and Scientific Computing during 2003. In 2004-2005 he was with the Department of Electrical and Computer Engineering at Carnegie Mellon University and a recipient of the Schrödinger fellowship awarded by the Austrian Science Fund. In 2006 he was member of the team winning the Gordon Bell Prize (Peak Performance Award). From 2005-2008 he was Systems Scientists (special faculty) with Carnegie Mellon’s ECE Department.

Dr. Franchetti's research focuses on automatic performance tuning and program generation for emerging  parallel platforms, including multicore CPUs, clusters and high-performance systems (HPC), graphics processors (GPUs), field programmable gate arrays (FPGAs), and FPGA-acceleration for CPUs. His research goal is to enable automatic generation of highly optimized software libraries for important kernel functionality. He is member of the Spiral research team (www.spiral.net).  More information can be found at http://www.ece.cmu.edu/~franzf.

Contact Josephine Olivas, jojo@lanl.gov, 663-5725, if you wish to meet with Franz Franchetti during his visit.

<< Back to calendar
Operated by Los Alamos National Security, LLC for the U.S. Department of Energy's NNSA
Inside | © Copyright 2008-09 Los Alamos National Security, LLC All rights reserved | Disclaimer/Privacy | Web Contact