An Open Ecosystem for Software Programmers to Compute on FPGAs

Conference: FSP 2016 - Third International Workshop on FPGAs for Software Programmers
08/29/2016 at Lausanne, Schweiz

Proceedings: Third International Workshop on FPGAs for Software Programmers (FSP 2016)

Pages: 11Language: englishTyp: PDF

Personal VDE Members are entitled to a 10% discount on this title

Chow, Paul (Department of Electrical and Computer Engineering, University of Toronto, Toronto, ON, Canada)

The reconfigurable computing community has long had the dream that software programmers will be able to use Field-Programmable Gate Arrays (FPGAs) as computing devices. With high-level synthesis (HLS) now reaching a level of quality that reasonable hardware can be generated from languages such as C, C++ and OpenCL, it would seem that having software programmers use FPGAs for computing is much closer to reality. HLS certainly overcomes a significant and important hurdle, but there are other large barriers that get very little attention for computing with FPGAs. Software programmers generally work with many abstractions, as for example with I/O to the network, and these abstractions provide important properties, such as portability and scalability. Below these abstractions, there is a significant amount of middleware infrastructure to enable and support the abstractions. Some standardization is required in the underlying platforms, particularly amongst hardware vendors, to make it easier to build, maintain and enable the infrastructure. This paper examines many issues that are often not considered when thinking about computing using FPGAs: the kinds of abstractions required, how they can be supported, what standards are needed, and the need for open standards to support an ecosystem that supports FPGAs for computing and, ultimately, an environment where software programmers can easily use FPGAs.