OpenRCL: Low-Power High-Performance Computing with Reconfigurable Devices
- 1 August 2010
- conference paper
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 458-463
- https://doi.org/10.1109/fpl.2010.93
Abstract
This work presents the Open Reconfigurable Computing Language (OpenRCL) system designed to enable low-power 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 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.Keywords
This publication has 9 references indexed in Scilit:
- High-throughput bayesian computing machine with reconfigurable hardwarePublished by Association for Computing Machinery (ACM) ,2010
- Fast scan algorithms on graphics processorsPublished by Association for Computing Machinery (ACM) ,2008
- Task Scheduling for Parallel SystemsPublished by Wiley ,2006
- LLVM: A compilation framework for lifelong program analysis & transformationPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2004
- Dynamic power consumption in Virtex™-II FPGA familyPublished by Association for Computing Machinery (ACM) ,2002
- Approximation Bounds for a General Class of Precedence Constrained Parallel Machine Scheduling ProblemsLecture Notes in Computer Science, 1998
- On the granularity and clustering of directed acyclic task graphsIEEE Transactions on Parallel and Distributed Systems, 1993
- Multiprocessor Scheduling with the Aid of Network Flow AlgorithmsIEEE Transactions on Software Engineering, 1977
- A programming languagePublished by Association for Computing Machinery (ACM) ,1962