Published March 9, 2018 | Version v1
Dataset Open

SPar: A DSL for High-Level and Productive Stream Parallelism

  • 1. Dalvan
  • 2. Marco
  • 3. Massimo
  • 4. Luiz Gustavo

Description

This paper introduces SPar, an internal C++ Domain-Specific Language (DSL) that supports the development of classic stream parallel applications. The DSL uses standard C++ attributes to introduce annotations tagging the notable components of stream par-
allel applications: stream sources and stream processing stages. A set of tools process SPar code (C++ annotated code using the SPar attributes) to generate FastFlow C++ code that exploits the stream parallelism denoted by SPar annotations while targeting shared memory multi-core architectures. We outline the main SPar features along with the main implementation techniques and tools. Also, we show the results of experiments assessing the feasibility of the entire approach as well as SPar’s performance and expressiveness.

Files

productivity_graphs.zip

Files (27.6 kB)

Name Size Download all
md5:d2cbb9b3bd385cca43ba3870b7d2128b
27.6 kB Preview Download

Additional details

Funding

RePhrase – REfactoring Parallel Heterogeneous Resource-Aware Applications - a Software Engineering Approach 644235
European Commission