HSTREAM: A directive-based language extension for heterogeneous stream computing

09/25/2018
by   Suejb Memeti, et al.
0

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.

READ FULL TEXT
research
08/30/2023

Specx: a C++ task-based runtime system for heterogeneous distributed architectures

Parallelization is needed everywhere, from laptops and mobile phones to ...
research
10/27/2021

JACC: An OpenACC Runtime Framework with Kernel-Level and Multi-GPU Parallelization

The rapid development in computing technology has paved the way for dire...
research
03/15/2023

Machine Learning-Driven Adaptive OpenMP For Portable Performance on Heterogeneous Systems

Heterogeneity has become a mainstream architecture design choice for bui...
research
05/30/2022

Closing the Performance Gap with Modern C++

On the way to Exascale, programmers face the increasing challenge of hav...
research
08/12/2022

Modeling Task Mapping for Data-intensive Applications in Heterogeneous Systems

We introduce a new model for the task mapping problem to aid in the syst...
research
12/22/2021

Lifting C Semantics for Dataflow Optimization

C is the lingua franca of programming and almost any device can be progr...
research
05/26/2020

Using PHAST to port Caffe library: First experiences and lessons learned

Performance has always been a hot topic in computing. However, the viabl...

Please sign up or login with your details

Forgot password? Click here to reset