OpenRCL: Low-Power High-Performance Computing with Reconfigurable Devices

Mingjie Lin, Ilia Lebedev, John Wawrzynek
2010 2010 International Conference on Field Programmable Logic and Applications  
This work presents the Open Reconfigurable Computing Language (OpenRCL) system designed to enable lowpower high-performance reconfigurable computing with imperative programming language such as C/C++. The key idea is to expose the FPGA platform as a compiler target for applications expressed in the OpenCL paradigm. To this end, we present a combination of low-level virtual machine instruction set, execution model, many-core architecture, and associated compiler to achieve high performance and
more » ... h performance and power efficiency by exploiting the FPGA's distributed memories and abundant hardware structures (such as DSP blocks, long carry-chains, and registers). Our resulting OpenRCL system not only allows programmers to easily express parallelism through the API defined in the OpenCL standard but also supports coarse-grain multithreading and dataflow-style fine-grain threading while permitting bit-level resource control. An OpenRCL prototype machine with 30 processing nodes was implemented using a Virtex-5 (XCV5LX155T-2) FPGA. For the well-known Parallel Prefix Sum (Scan) problem, comparing the runtime of the same problem on a GeForce 9400m using the OpenCL SDK from Apple Inc., the OpenRCL machine demonstrates comparable performance with a 5x reduction in core power consumption.
doi:10.1109/fpl.2010.93 dblp:conf/fpl/LinLW10 fatcat:2gqc62hvpbe5jczac44zrtgwum