Paper Submission Deadline: | December 30, 2006 |
---|---|
Decision Notification: | January 17, 2007 |
Camera-Ready Version: | January 22, 2007 (very strict deadline) |
Advance Registartion Deadline:     | March 4, 2007 - Registration Information |
Hotel cut-off date: | March 2, 2007 - Hotel Information |
IPDPS 2007 Dates: | March 26-30, 2007 |
POHLL 2007 Date: | March 30, 2007 |
Abstract:  As the computing world "goes multicore," high performance library development finally becomes a nightmare. Optimal programs, and their underlying algorithms, have to be adapted to take full advantage of the platform¢s parallelism, memory hierarchy, and available instruction set. To make things worse, the best implementations are often platform-dependent and platforms are constantly evolving, which quickly renders libraries obsolete. As a consequence, developers are forced to permanently re-implement and re-optimize the same functionality and often even revert to assembly coding just as 50 years ago.A number of research efforts have started to address this problem in a new area called Automatic Performance Tuning with the common goal to rethink the way libraries are created. In this talk we present Spiral (www.spiral.net), a program generation system for linear transforms. Spiral generates highly optimized, platform-tuned implementations of transforms directly from a problem specification. For a user-specified transform, Spiral generates alternative algorithms, optimizes them, compiles them into programs, and "intelligently" searches for the best match to the computing platform. The main idea behind Spiral is a mathematical, declarative framework to represent algorithms and the use of rewriting systems to generate and optimize algorithms at a high level of abstraction. Optimization includes parallelization for vector architectures, shared and distributed memory platforms, GPUs, and even FPGAs. Experimental results show that the code generated by Spiral competes with, and sometimes outperforms, the best available human-written library code. Further, recent research shows that it may be possible to extend Spiral into other domains such as coding or linear algebra. As for the question in the title: Spiral shows that, at least for well-understood problem domains, a positive answer may be in reach.
![]() |
![]() |
![]() |