clOpenCL: supporting distributed heterogeneous computing in HPC clusters
Euro-Par'12 Proceedings of the 18th international conference on Parallel processing workshops
LibWater: heterogeneous distributed computing made easy
Proceedings of the 27th international ACM conference on International conference on supercomputing
Scaling analytics applications with OpenCL for loosely coupled heterogeneous clusters
Proceedings of the ACM International Conference on Computing Frontiers
Hi-index | 0.00 |
Modern computer systems are becoming increasingly heterogeneous by comprising multi-core CPUs, GPUs, and other accelerators. Current programming approaches for such systems usually require the application developer to use a combination of several programming models (e.g., MPI with OpenCL or CUDA) in order to exploit the full compute capability of a system. In this paper, we presentd OpenCL (Distributed OpenCL) - a uniform approach to programming distributed heterogeneous systems with accelerators. d OpenCL extends the OpenCL standard, such that arbitrary computing devices installed on any node of a distributed system can be used together within a single application. OpenCL allows moving data and program code to these devices in a transparent, portable manner. Sinced OpenCL is designed as a fully-fledged implementation of the OpenCL API, it allows running existing OpenCL applications in a heterogeneous distributed environment without any modifications. We describe in detail the mechanisms that are required to implement OpenCL for distributed systems, including a device management mechanism for running multiple applications concurrently. Using three application studies, we compare the performance of dOpenCL with MPI+OpenCL and a standard OpenCL implementation.