Evaluating and Optimizing Kernels on OpenCL FPGA Platform for Energy-efficient High-performance Computing

Zheming Jin
Seminar

Compared to central processing units (CPUs) and graphics processing units (GPUs) which have fixed architectures, field-programmable gate arrays (FPGAs) offer reconfigurability and promising performance and energy efficiency. With these FPGA-based heterogeneous computing systems, programming standards have emerged to facilitate transformation of algorithms from standard systems to heterogeneous systems. Open Computing Language (OpenCL) is a standard framework for writing programs that execute across various heterogeneous computing platforms. Investigating the characteristics of kernel applications with emerging OpenCL-to-FPGA development flows is important for researchers, who have little hardware development experience, to evaluate and adopt the FPGA-based heterogeneous programming model in a laboratory. In this seminar, I will briefly introduce FPGAs, OpenCL, and OpenCL-to-FPGA development flows. Then I will show the evaluations and optimizations of OpenCL kernels on an Arria10-based OpenCL FPGA platform. The kernels are derived from the streaming, integer and floating-point intensive, and proxy applications. The experimental results show that FPGAs are promising heterogeneous computing components for energy-efficient high-performance computing.