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 |