You are here: Home Introduction


MulticoreBSP brings Bulk Synchronous Parallel (BSP) programming to modern multicore processors. BSP programming leads to high-performance codes:

Valiant introduced the BSP model to abstractly represent a parallel computer [1]. The model enables the simplified design of parallel algorithms, and allows for the transparent analysis of those algorithms. To easily bridge design and analysis to actual codes, BSP programming interfaces exist. MulticoreBSP is one of those.

We feel that BSP programming is of such elegance and simplicity that they are suitable for general parallel programming, especially in the current age of multicore processing. The mainstream availability of parallel machines requires a mainstream ability for parallel programming. Since thinking of efficient parallel algorithms already is difficult enough, let us at least simplify the design and implementation of such algorithms by using the simple and transparent paradigm that BSP brings.

Read on about the BSP model and the MulticoreBSP library . The latest versions of the MulticoreBSP libraries await your downloads. Their documentation is available as well, and any feedback would be highly appreciated.

[1] L. G. Valiant, A bridging model for parallel computation, Communications of the ACM, 33(8), 1990; pp. 103–111.
[2] A. N. Yzelman, R. H. Bisseling, D. Roose, K. Meerbergen, MulticoreBSP for C: a high-performance library for shared-memory parallel programming, technical report TW 624, revision May 2013, KU Leuven (post-print version).