Accelerating Workloads on FPGAs via OpenCL: A Case Study with OpenDwarfs

dc.contributor.authorVerma, Anshumanen
dc.contributor.authorHelal, Ahmed E.en
dc.contributor.authorKrommydas, Konstantinosen
dc.contributor.authorFeng, Wu-chunen
dc.contributor.departmentComputer Scienceen
dc.description.abstractFor decades, the streaming architecture of FPGAs has delivered accelerated performance across many application domains, such as option pricing solvers in finance, computational fluid dynamics in oil and gas, and packet processing in network routers and firewalls. However, this performance comes at the expense of programmability. FPGA developers use hardware design languages (HDLs) to implement the application data and control path and to design hardware modules for computational pipelines, memory management, synchronization, and communication. This process requires extensive knowledge of logic design, design automation tools, and low-level details of FPGA architecture, this consumes significant development time and effort. To address this lack of programmability of FPGAs, OpenCL provides an easy-to-use and portable programming model for CPUs, GPUs, APUs, and now, FPGAs. Although this significantly improved programmability yet an optimized GPU implementation of kernel may lack performance portability for FPGA. To improve the performance of OpenCL kernels on FPGAs we identify general techniques to optimize OpenCL kernels for FPGAs under device-specific hardware constraints. We then apply these optimizations techniques to the OpenDwarfs benchmark suite, which has diverse parallelism profiles and memory access patterns, in order to evaluate the effectiveness of the optimizations in terms of performance and resource utilization. Finally, we present the performance of structured grids and N-body dwarf-based benchmarks in the context of various optimization along with their potential re-factoring. We find that careful design of kernels for FPGA can result in a highly efficient pipeline achieving 91% of theoretical throughput for the structured grids dwarf. Index Terms—OpenDwarfs; FPGA; OpenCL; GPU; MIC; Accelerators; Performance Portabilityen
dc.publisherDepartment of Computer Science, Virginia Polytechnic Institute & State Universityen
dc.relation.ispartofComputer Science Technical Reportsen
dc.rightsIn Copyrighten
dc.subjectComputer systemsen
dc.subjectHigh performance computingen
dc.subjectParallel and distributed computingen
dc.titleAccelerating Workloads on FPGAs via OpenCL: A Case Study with OpenDwarfsen
dc.typeTechnical reporten


Original bundle
Now showing 1 - 1 of 1
Thumbnail Image
688.23 KB
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
1.5 KB
Item-specific license agreed upon to submission