Welcome to libfork - v3.8.0

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.