Jobrocket is a task-based parallelism library initially developed as an internal library for the Skyrocket framework. It's designed to be lightweight with a simple interface, making use of C++11/14 concurrency primitives. Internally, Jobrocket uses a lock-free work-stealing algorithm to schedule jobs to workers.
Documentation is available here.
Here's a quick example of how to use Jobrocket:
This should output something along the lines of:
cd
into the Jobrocket root directory and run the following commands:
The following options are available with the CMake build by adding -D<option>=on
after cmake ..
Option | Description |
---|---|
BUILD_EXAMPLES | Builds all example programs along with the library into Build/<BUILD_TYPE>/Examples |
BUILD_TESTS | Builds all unit tests along with the library |
CMAKE_BUILD_TYPE | Specifies the build type for the project with the following available: Debug , Release , RelWithDebInfo |
To use Jobrocket in your project first link the static library built in /Build/
then add Jobrocket_Root/Source
to your projects include path.
To use the library and simple tasks, simply include <Jobrocket/Jobrocket.hpp>
. To use JobGroup
objects, include <Jobrocket/JobGroup>
.
Jobrocket is available under the MIT License.