JCL: An OpenCL Programming Toolkit for Heterogeneous Computing

In this paper, we propose a new OpenCL toolkit called JCL for heterogeneous clusters. Using this toolkit, users can make use of multiple remote heterogeneous processors including CPUs and GPUs for the execution of their OpenCL programs. Since load balance is an important issue for the performance of the user programs executed by heterogeneous processors, the proposed toolkit provides users with a set of load-balancing functions to automatically adjust the amount of data assigned to each processor according to processor’s computation power. We have evaluated the performance of the proposed toolkit in this paper. Our experimental result shows that the proposed toolkit really can enable the test programs to effectively exploit heterogeneous processors for enhancing their execution performance.

[1]  Naga K. Govindaraju,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007 .

[2]  Amnon Barak,et al.  The Virtual OpenCL (VCL) Cluster Platform , 2012 .

[3]  Changjun Zhu,et al.  The Socket Programming and Software Design for Communication Based on Client/Server , 2009, 2009 Pacific-Asia Conference on Circuits, Communications and Systems.

[4]  Lin Shi,et al.  vCUDA: GPU accelerated high performance computing in virtual machines , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[5]  J. Kurzak,et al.  Introduction to Programming High Performance Applications on the CELL Broadband Engine , 2007 .

[6]  Pat Hanrahan,et al.  Brook for GPUs: stream computing on graphics hardware , 2004, SIGGRAPH 2004.

[7]  Forum Mpi MPI: A Message-Passing Interface , 1994 .

[8]  Michael J. Quinn,et al.  Parallel programming in C with MPI and OpenMP , 2003 .

[9]  Takashi Nakamura,et al.  Hybrid OpenCL: Connecting Different OpenCL Implementations over Network , 2010, 2010 10th IEEE International Conference on Computer and Information Technology.

[10]  Rajkumar Buyya,et al.  High-Performance Cloud Computing: A View of Scientific Applications , 2009, 2009 10th International Symposium on Pervasive Systems, Algorithms, and Networks.