Partitioned global workflow parallel programming model.
C++ Shell
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
examples g++-6 support Oct 24, 2016
src g++-6 support Oct 24, 2016 adding compilers info Jun 16, 2016
bind.hpp g++-6 support Oct 24, 2016 making common node default Oct 25, 2015



Bind is a parallel programming model for C++ applications that allows to quickly parallelise sequential codes without heavy refactoring. Resulting performance can be easily on pair with hand-tuned MPI-based applications and orders of magnitude faster than Apache Spark or Hadoop based implementations.
See the array.cpp example for a quick start.
For overview of the model concept check the white paper.


Make sure that C++11 and Cilk Plus is enabled (i.e. -std=c++11 -fcilkplus) and include bind.hpp from your source code.
Including mpi.h or cuda_runtime.h before bind.hpp will automatically enable respective functionality given that the compiler supports MPI and/or CUDA.
The current implementation was tested with gcc/4.9 and icc/15 (with cuda/7.5 and mvapich2/impi/cray for MPI support).


Distributed under the Boost Software License, Version 1.0.