Enhancing the Usability and Utilization of Accelerated Architectures via Docker

Accelerated architectures such as GPUs (Graphics Processing Units) and MICs (Many Integrated Cores) have been proven to increase the performance of many algorithms compared to their CPU counterparts and are widely available in local, campus-wide and national infrastructures, however, their utilizati...

Full description

Saved in:
Bibliographic Details
Published in2015 IEEE/ACM 8th International Conference on Utility and Cloud Computing (UCC) pp. 361 - 367
Main Authors Haydel, Nicholas, Gesing, Sandra, Taylor, Ian, Madey, Gregory, Dakkak, Abdul, de Gonzalo, Simon Garcia, Hwu, Wen-Mei W.
Format Conference Proceeding
LanguageEnglish
Published ACM 01.12.2015
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Accelerated architectures such as GPUs (Graphics Processing Units) and MICs (Many Integrated Cores) have been proven to increase the performance of many algorithms compared to their CPU counterparts and are widely available in local, campus-wide and national infrastructures, however, their utilization is not following the same pace as their deployment. Reasons for the underutilization lay partly on the software side with proprietary and complex interfaces for development and usage. A common API providing an extra layer to abstract the differences and specific characteristics of those architectures would deliver a far more portable interface for application developers. This cloud challenge proposal presents such an API that addresses these issues using a container-based approach. The resulting environment provides Docker-based containers for deploying accelerator libraries, such as CUDA Toolkit, OpenCL and OpenACC, onto a wide variety of different platforms and operating systems. By leveraging the container approach, we can overlay accelerator libraries onto the host without needing to be concerned about the intricacies of underlying operating system of the host. Docker therefore provides the advantage of being easily applicable on diverse architectures, virtualizing the necessary environment and including libraries as well as applications in a standardized way. The novelty of our approach is the extra layer for utilization and device discovery in this layer improving the usability and uniform development of accelerated methods with direct access to resources.
DOI:10.1109/UCC.2015.57