HyPHI – task based hybrid execution C++ library for the Intel Xeon Phi coprocessor
Research Group Scientific Computing, University of Vienna, Austria
42nd International Conference on Parallel Processing (ICPP-2013), 2013
@inproceedings{cs3854,
booktitle={42nd International Conference on Parallel Processing (ICPP-2013), Lyon, France, 2013},
month={October},
title={HyPHI – task based hybrid execution C++ library for the Intel Xeon Phi coprocessor},
author={Jiri Dokulil and Enes Bajrovic and Siegfried Benkner and Martin Sandrieser and Beverly Bachmayer},
year={2013},
url={http://eprints.cs.univie.ac.at/3854/}
}
The Intel Threading Building Blocks (TBB) C++ library introduced task parallelism to a wide audience of application developers. The library is easy to use and powerful, but it is limited to shared-memory machines. In this paper we present HyPHI, a novel library for the Intel Xeon Phi coprocessor for building applications which execute using a hybrid parallel model that exploits parallelism across host CPUs and Xeon Phi coprocessors simultaneously. Our library currently provides hybrid for-each and map-reduce. It hides the details of parallelization, work distribution and computation offloading from users while using internally TBB as its foundation. Despite the higher level of abstraction provided by our library we show that for certain types of applications we outperform codes that rely on the built-in offload support currently provided by the Intel compiler. We have performed a set of experiments with the library and created guidelines that help the developers decide in which situations they should use the HyPHI library.
November 20, 2013 by hgpu