Giter Club home page Giter Club logo

spar's Introduction

SPar is an internal C++ Domain-Specific Language (DSL) for expressing stream parallelism.

How to Cite SPar

Griebler, D.; Danelutto, M.; Torquati, M.; Fernandes, L. G. SPar: a DSL for High-Level and Productive Stream Parallelism. Parallel Processing Letters (PPL), 27 (01), pp. 1740005, 2017. [PDF]

SPar using robust applications

Griebler, Dalvan; Filho, Renato B H; Danelutto, Marco; Fernandes, Luiz Gustavo. High-Level and Productive Stream Parallelism for Dedup, Ferret, and Bzip2. International Journal of Parallel Programming, pp. 1-19, 2018. [PDF]

There are more publications here

Root directory description

.bin

contains the 'spar' compiler, which is responsible for recognizing SPar annotation and generate stream-based parallel code targeting multi-core systems with FastFlow library (which builds on top of Pthreads)

.doc

contains all documentation

.examples

examples using SPar annotations

.libraries

are the libraries used by SPar

For compiling a program with spar, please type:

$ bin/spar -std=c++1y -spar_file <filename>.cpp -o <filename> 

SPar compilation flags

  • -spar_print => used to print in the screen the generated code

  • -spar_ondemand [<queue_size>] => used to generate ondmand scheduler

  • -spar_ordered => used to preserve the stream elements' ordered

  • -spar_blocking => used to activate the blocking mode of FastFlow

Obs: you may use '-h' to see more options

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.