Welcome to libfork - v3.7.2#

This is libfork’s API documentation, for info on building and installing please see the README.md.

Core API#

namespace core

An inline namespace that wraps core functionality.

This is the namespace that contains the minimal user-facing API of libfork, notably this excludes schedulers and algorithms.

Schedulers#

Schedulers are objects that map the computation graph to worker threads, libfork supplies a selection of useful defaults.

Algorithms#

Algorithms operate at a higher level of abstraction than pure fork-join, currently libfork does not have many but watch this space…

Extension API#

namespace ext

An inline namespace that wraps extension functionality.

This namespace is part of libforks public API but is intended for advanced users writing schedulers, It exposes the scheduler/context API’s alongside some implementation details (such as lock-free dequeues, a hwloc abstraction, and synchronization primitives) that could be useful when implementing custom schedulers.

Internal documentation#

namespace impl

An internal namespace that wraps implementation details.

Warning

This is exposed as internal documentation only it is not part of the public facing API.