HyPHI - Task Based Hybrid Execution C++ Library for the Intel Xeon Phi Coprocessor

Jiri Dokulil, Enes Bajrovic, Siegfried Benkner, Martin Sandrieser, Beverly Bachmayer
2013 2013 42nd International Conference on Parallel Processing  
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
more » ... es 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.
doi:10.1109/icpp.2013.37 dblp:conf/icpp/DokulilBBSB13 fatcat:5trt5bew3vbrlfimzz6qru6wxu