Spiral: Generating Efficient Programs for Emerging Parallel Platforms
Submitted by rothpc on Tue, 2012-03-20 15:57
Dr. Franz Franchetti
Colloq: Speaker Institution:
Colloq: Date and Time:
Tue, 2011-04-12 14:00
5100, Room 128 JICS Lecture Hall
Dr. Jeffrey Vetter
Colloq: Host Email:
Spiral (www.spiral.net) is a program and hardware design generation system for linear transforms 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 and synthetic aperture radar (SAR) image formation 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 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 and Nvidia's Fermi GPU.
Colloq: Speaker Bio:
Franz Franchetti is an Assistant Research Professor with the Department of Electrical and Computer Engineering at Carnegie Mellon University. In 2006 he was member of the team winning the Gordon Bell Prize (Peak Performance Award) and in 2010 he was member of the team winning the HPC Challenge Class II Award (most productive system). 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. As member of the Spiral research team (www.spiral.net), his research goal is to enable automatic generation of highly optimized software libraries for important kernel functionality. Dr. Franchetti is co-founder of SpiralGen, a Pittsburgh, PA company commercializing the technology developed in the Spiral project.