Hybrid CPU-GPU Pipeline Framework
Hasso Plattner Institute for Software Systems Engineering, 14482 Potsdam, Germany
The 2014 International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA’14), 2014
@article{khalid2014hybrid,
title={Hybrid CPU-GPU Pipeline Framework PDPTA’14},
author={Khalid, Fahad and Feinbube, Frank and Polze, Andreas},
year={2014}
}
The pipeline pattern for parallel programs is utilized in a wide array of scientific applications designed for execution on hybrid CPU-GPU architectures. However, there is a dearth of tools and libraries to support implementation of pipeline parallelism for hybrid architectures. We present the Hybrid Pipeline Framework (HyPi) that is intended to fill this gap. HyPi provides high level abstractions in C++ for implementation of pipelines on hybrid CPU-GPU architectures. It is a generic framework intended to support a wide range of applications. The complexities characteristic of such implementations, e.g., partitioning of input/output data structures, asynchronous memory transfer, communication between CPU and GPU etc., are handled by the framework and are therefore hidden from the developer. HyPi exposes certain degrees of freedom that can be tuned to optimize the performance of a simulation based on application specific requirements. We present a detailed account of the framework design, and evaluate the framework performance using a real-world application from the domain of computational biology. Results show that HyPi performs on par with a custom-tailored, hand-tuned pipeline implementation for the given application.
November 18, 2014 by hgpu