Wool - fine grained independent task parallelism in C

Short version: Wool is an extremely fast (low overhead) implementation of independent task parallelism. It spawns and joins with a new task in under 20 cycles on our development machine, a quite ordinary dual quadcore AMD Opteron server. This is more than an order of magnitude faster than comparable systems like TBB, Cilk++ and OpenMP, and gives Wool a definite performance advantage over these systems. Wool works with plain ordinary C and is released under GPL.

Long version: Wool is a C-library supporting fine grained independent task parallelism. Ok, we'll explain what we mean.

For more information, check the Wool User's Guide.


Please drop me a line if you download Wool, and if you wish, I'll put you on a mailing list of Wool users. Can be a good way to get help!

The current version is 0.1.5alpha. This is a snapshot of my current development version. Worth noting:
The previous version is 0.1.2alpha. Worth noting:

Alternate versions

Here is a version where main is not a task, better to use when parallelizing a complex code. Use ROOT_FOR and ROOT_CALL when invoking Wool code from sequential code.
Version 0.2 (yes, I know I should merge this functionality with the development version!).

Older versions

Material for CSL lab meeting

A sequential quicksort program and rmw. Quick instructions for unpacking and building Wool:

tar xzf wool-0.1.1.tgz


If have any questions, please contact Karl-Filip Faxén (kff in the domain sics.se). If you download Wool, do drop me a line as well!