Field-Programmable Gate Arrays (FPGAs) can outperform microprocessors on certain tasks by many orders of magnitude. The open research problems of computing with FPGAs are: (1) understanding the limitations of FPGAs when competing with microprocessors, and (2) providing a useful programming methodology.
First, I will show how FPGAs can be utilized to accelerate certain algorithms by up to three orders of magnitude. Examples for methods achieving the speedups are:
Second, I suggest a programming methodology for FPGAs based on Domain Specific Compilers. Domain specific compilers implement a divide-and-conquer, bottom-up approach to programming FPGAs. The vast space of possible architectures fragments into architecture families, which indirectly defines application domains. A domain specific compiler targets one architecture family and thus focuses on a single application domain. The StReAm compiler, under development at Bell Labs and Imperial College targets pipelined data-flow graphs mapped directly from object-oriented C++ to hardware. The goal is to provide a simple abstraction for programming FPGAs analogous to the abstraction of a microprocessor provided by the C programming language.
About the speaker:
Oskar Mencer is currently a Member of Technical Staff at Bell Labs in Murray Hill, and part-time at Imperial College in London. He received his Ph.D. and M.S. in Electrical Engineering from Stanford University in 2000 and 1997 respectively, and a B.S. degree in Computer Engineering from the Technion/Israel in 1994. His research interests span computer architecture, computer arithmetic, VLSI microarchitecture, CAD and reconfigurable (custom) computing. More specifically, he is interested in improving the programmability of FPGAs and making the compute power of reconfigurable computers accessible to the computer science community.
Lucent / Bell Labs
600 Mountain Ave.
Murray Hill, NJ 07974, USA
(908) 582 8031