DistCL: A Framework for the Distributed Execution of OpenCL Kernels
Authors:
- Tahir DiopTDTahir Diop
- Steven GurfinkelSGSteven Gurfinkel
- Jason AndersonJAJason Anderson
- Natalie Enright JergerNJNatalie Enright Jerger
- 1 August 2013
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 556-566
Abstract
GPUs are used to speed up many scientific computations, however, to use several networked GPUs concurrently, the programmer must explicitly partition work and transmit data between devices. We propose DistCL, a novel framework that distributes the execution of penCL kernels across a GPU cluster. DistCL makes multiple distributed compute devices appear to be a single compute device. DistCL abstracts and manages many of the challenges associated with distributing a kernel across multiple devices including: (1) partitioning work into smaller parts, (2) scheduling these parts across the network, (3) partitioning memory so that each part of memory is written to by at most one device, and (4) tracking and transferring these parts of memory. Converting an OpenCL application to DistCL is straightforward and requires little programmer effort. This makes it a powerful and valuable tool for exploring the distributed execution of OpenCL kernels. We compare DistCL to SnuCL, which also facilitates the distribution of OpenCL kernels. We also give some insights: distributed tasks favor more compute bound problems and favour large contiguous memory accesses. DistCL achieves a maximum speedup of 29.1 and average speedups of 7.3 when distributing kernels among 32 peers over an Infiniband cluster.Keywords
This publication has 13 references indexed in Scilit:
- LibWater2013
- clOpenCL - Supporting Distributed Heterogeneous Computing in HPC ClustersLecture Notes in Computer Science, 2013
- dOpenCL: Towards a Uniform Programming Approach for Distributed Heterogeneous Multi-/Many-Core Systems2012
- Hybrid OpenCL: Enhancing OpenCL for Distributed Processing2011
- Achieving a single compute device image in OpenCL for multiple GPUs2011
- SciNet: Lessons Learned from Building a Power-efficient Top-20 System and Data CentreJournal of Physics: Conference Series, 2010
- A package for OpenCL based heterogeneous computing on clusters with many GPU devices2010
- Analyzing CUDA workloads using a detailed GPU simulator2009
- A Compute Unified System Architecture for Graphics Clusters Incorporating Data LocalityIEEE Transactions on Visualization and Computer Graphics, 2008
- Optimization principles and application performance evaluation of a multithreaded GPU using CUDA2008