HSTREAM: A directive-based language extension for heterogeneous stream computing
Department of Computer Science, Linnaeus University
arXiv:1809.09387 [cs.PL], (25 Sep 2018)
@article{memeti2018hstream,
title={HSTREAM: A directive-based language extension for heterogeneous stream computing},
author={Memeti, Suejb and Pllana, Sabri},
year={2018},
month={sep},
archivePrefix={"arXiv"},
primaryClass={cs.PL}
}
Big data streaming applications require utilization of heterogeneous parallel computing systems, which may comprise multiple multi-core CPUs and many-core accelerating devices such as NVIDIA GPUs and Intel Xeon Phis. Programming such systems require advanced knowledge of several hardware architectures and device-specific programming models, including OpenMP and CUDA. In this paper, we present HSTREAM, a compiler directive-based language extension to support programming stream computing applications for heterogeneous parallel computing systems. HSTREAM source-to-source compiler aims to increase the programming productivity by enabling programmers to annotate the parallel regions for heterogeneous execution and generate target specific code. The HSTREAM runtime automatically distributes the workload across CPUs and accelerating devices. We demonstrate the usefulness of HSTREAM language extension with various applications from the STREAM benchmark. Experimental evaluation results show that HSTREAM can keep the same programming simplicity as OpenMP, and the generated code can deliver performance beyond what CPUs-only and GPUs-only executions can deliver.
October 6, 2018 by hgpu