Author :
Krommydas, Konstantinos ; Owaida, Muhsen ; Antonopoulos, Christos D. ; Bellas, Nikolaos ; Wu-Chun Feng
Abstract :
The proliferation of heterogeneous computing systems presents the parallel computing community with the challenge of porting legacy and emerging applications to multiple processors with diverse programming abstractions. OpenCL is a vendor-agnostic and industry-supported programming model that offers code portability on heterogeneous platforms, allowing applications to be developed once and deployed "anywhere." In this paper, we use the OpenCL implementation of the Open Dwarfs, a benchmark suite that captures patterns of computation and communication common to classes of important applications, as delineated by Berkeley\´s Dwarfs. We evaluate portability across multicore CPU, GPU, APU (CPUs+GPUs on a die), the Intel Xeon Phi co-processor, and the FPGA. To realize FPGA portability, we exploit SOpenCL (Silicon OpenCL), a CAD tool that automatically converts OpenCL kernels to customizable hardware accelerators. We show that a single, unmodified OpenCL code base, i.e., Open Dwarfs, can be effectively used to target multiple, architecturally diverse platforms.
Keywords :
parallel processing; APU; CAD tool; FPGA portability; GPU; Intel Xeon Phi coprocessor; OpenCL Dwarfs; OpenCL code base; OpenCL kernels; SOpenCL; Silicon OpenCL; code portability; diverse programming abstractions; heterogeneous computing systems; heterogeneous platforms; industry-supported programming model; multicore CPU; parallel computing community; porting legacy; reconfigurable parallel platforms; Field programmable gate arrays; Graphics processing units; Hardware; Hardware design languages; Kernel; Parallel processing; Programming; APU; CPU; FPGA; GPU; OpenCL; Xeon Phi; dwarfs; portability;