You are here: Downloads C

MulticoreBSP for C

Version 1.2 (since the 14th of May, 2014)

The MulticoreBSP for C library is available for download here, in two formats:

See here for library versions compiled for Windows. All source code is in ANSI C99 using the POSIX Threads (PThreads) and POSIX realtime (rt) extensions; see the quick-start guide on how to link these. The above software is free to use, adapt, and extend under the terms of the GNU Lesser GPL license, version 3 (see also the GNU GPL v3 license).


Version 1.2 brings improved pinning support for nested BSP runs, and adds templated BSPlib primitives for C++. Documentation was improved, compilation support and testing now includes the clang LLVM compiler, and some bugfixes relative to version 1.1.0 are included; thanks to Jing Fan and Joshua Moerman for reporting some of these. As always, the changelog contains more details.

Version 1.1 is a small revision update as the run-time thread affinity interface of MulticoreBSP for C has changed. Other notable changes include support for compilation on Windows machines, improved communication speeds, and improved synchronisation speed on systems with many cores. This version includes a new primitive: the bsp_hpsend. See the changelog for more changes and more in-depth descriptions.

Version 1.0.1 brings Mac OS X support and provides a C++-wrapper for those interested in using MulticoreBSP within C++ code. For more details, see changelog.txt.

Known issues

See the forum.

Reporting bugs

If you find bugs, or wish to suggest improvements or have other general comments, please use the forum or contact us.

Older versions

Version 1.1.0, released on the 5th of March, 2013, is still available here.

Version 1.0.1, released on the 17th of October, 2012, is still available here.

Version 1.0.0, released on the 29th of August, 2012, is still available here.


There is no updated BSPedupack for C as was the case with MulticoreBSP for Java. Instead, MulticoreBSP for C is fully compatible with the original BSPedupack package by Rob Bisseling. To use this library, MulticoreBSP for C should be compiled in compatibility mode.