dOpenCL: Towards a Uniform Programming Approach for Distributed Heterogeneous Multi-/Many-Core Systems

P. Kegel, M. Steuwer, S. Gorlatch

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

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.
Original languageEnglish
Title of host publicationParallel and Distributed Processing Symposium Workshops PhD Forum (IPDPSW), 2012 IEEE 26th International
Pages174-186
Number of pages13
DOIs
Publication statusPublished - 1 May 2012

Keywords

  • application program interfaces
  • multiprocessing systems
  • parallel programming
  • public domain software
  • software standards
  • OpenCL standard
  • concurrence applications
  • dOpenCL
  • device management mechanism
  • distributed OpenCL API
  • distributed heterogeneous manycore systems
  • distributed heterogeneous multicore systems
  • multicore CPU
  • multicore GPU
  • program code
  • uniform programming approach
  • Compounds
  • Context
  • Graphics processing unit
  • Kernel
  • Programming
  • Servers
  • Standards
  • Distributed Systems
  • GPU Computing
  • Heterogeneous Systems
  • OpenCL

Fingerprint

Dive into the research topics of 'dOpenCL: Towards a Uniform Programming Approach for Distributed Heterogeneous Multi-/Many-Core Systems'. Together they form a unique fingerprint.

Cite this