Hybrid OpenCL: Enhancing OpenCL for Distributed Processing

We have been developing Hybrid OpenCL, which enables the utilization of OpenCL devices by connecting them over the network. Hybrid OpenCL opens a gate to scale up OpenCL environments. By using Hybrid OpenCL, applications written in OpenCL can be easily ported to high performance cluster computers, thus, Hybrid OpenCL can provide more various distributed and parallel computing platforms. Hybrid OpenCL consists of two elements, a runtime system that provides the abstraction of OpenCL implementations and a bridge program that connects multiple OpenCL runtime systems over the network. This paper describes the design and implementation Hybrid OpenCL. Its performance for distributed processing is evaluated by using multiple nodes. The experimentation results show that the overhead introduced by Hybrid OpenCL is minimum and comparable with the combination of MPI and OpenCL.

[1]  Bálint Joó,et al.  Parallelizing the QUDA Library for Multi-GPU Calculations in Lattice Quantum Chromodynamics , 2010, 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis.

[2]  Federico Silla,et al.  An Efficient Implementation of GPU Virtualization in High Performance Clusters , 2009, Euro-Par Workshops.

[3]  Amnon Barak,et al.  A package for OpenCL based heterogeneous computing on clusters with many GPU devices , 2010, 2010 IEEE International Conference On Cluster Computing Workshops and Posters (CLUSTER WORKSHOPS).

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

[5]  Makoto Taiji,et al.  42 TFlops hierarchical N-body simulations on GPUs with applications in both astrophysics and turbulence , 2009, Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis.

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

[7]  Aaftab Munshi,et al.  The OpenCL specification , 2009, 2009 IEEE Hot Chips 21 Symposium (HCS).

[8]  Naga K. Govindaraju,et al.  GPGPU: general-purpose computation on graphics hardware , 2006, SC.