Title :
Development productivity in implementing a complex heterogeneous computing application
Author :
Milton, Anthony ; Kearney, David ; Wong, Sebastien ; Lemmo, Simon
Author_Institution :
Sch. of ITMS, Univ. of South Australia, Adelaide, SA, Australia
Abstract :
The FPGA platform is increasingly faced with a multitude of competitor parallel computing architectures such as GPUs and various multicore variants. These competitor parallel platforms are attractive because they involve a software based development flow, resulting in greater developer productivity. While it has been argued that FPGA applications written in traditional hardware description languages (HDLs) may require nearly an order of magnitude more development time than corresponding parallel software development (PSD) for multi-core CPU or GPU, there are modern approaches to hardware design that drastically increase development productivity that are beginning to gain traction. One approach adopted in this work is use of the high-level HDL Bluespec. This paper compares Bluespec FPGA development with PSD for multi-core CPU and GPU, by detailing the experiences of a project that involved developing various components of a complex multi-object visual tracking algorithm for each of these platforms. We found that the development time using Bluespec was competitive with the combined development time for the CPU and GPU versions, but that limitations with the Bluespec development chain (such as lack of native floating-point support) and component integration issues with the FPGA design were areas of significant weakness for the FPGA platform. Finally, we present performance results for the various implementations of the visual tracking algorithm developed in this work, and show that the FPGA platform has the potential to exceed the performance of the CPU and GPU platforms when implementation issues can be overcome for this application.
Keywords :
field programmable gate arrays; graphics processing units; hardware description languages; multiprocessing systems; parallel programming; Bluespec FPGA development; FPGA design; PSD; complex heterogeneous computing application; complex multiobject visual tracking algorithm; hardware description languages; hardware design; high-level HDL Bluespec; multicore CPU; multicore GPU; parallel computing architectures; parallel software development; software based development flow; Convolution; Field programmable gate arrays; Graphics processing units; Hardware; Hardware design languages; Productivity; Visualization;
Conference_Titel :
Field-Programmable Technology (FPT), 2014 International Conference on
Print_ISBN :
978-1-4799-6244-0
DOI :
10.1109/FPT.2014.7082809