Skip to content

API Reference

GemPBA's public surface is intentionally small.

Facade and concrete types

Purpose
gempba The only header you need — facade, factory functions, global accessors
node_manager Control panel: configure goal, submit work, wait, collect results
node Concrete final class — user-facing handle to a branch in the recursion tree

Interfaces

Pluggable contracts. Implement one to replace a built-in component.

Purpose
node_core Abstract node — owns an instance, tracks tree position, manages lifecycle
node_traits Full interface contract every node must satisfy
load_balancer Thread-level work distribution within a process
scheduler Process-level coordination — transport-agnostic IPC contract
serial_runnable Type erasure for functions crossing process boundaries
stats Runtime metrics collection
stats_visitor Format-agnostic readout of collected metrics

Implementations

Built-in concrete implementations of the above interfaces.

Interface Notes
Quasi-Horizontal load_balancer Recommended thread scheduler
Work-Stealing load_balancer Benchmarking baseline
MPI Semi-Centralized scheduler Recommended process scheduler
MPI Centralized scheduler Benchmarking baseline
Stats stats Default stats for MPI schedulers
Stats Visitors stats_visitor Built-in metric formatters