Canonical worlds for inference that runs several times (:world-policy :fork): one frozen fork of the caller's world per inference, from which
every run (a particle-MCMC sweep, an IPMCMC node, a BBVI iteration, a
Markov chain, a tempered-SMC particle, an inference program) forks a world
and scope of its own; the scope's cleanup, its recovery capability, and
the wallet arithmetic of :authority. See doc/worlds.md.
Canonical worlds for inference that runs several times (`:world-policy :fork`): one frozen fork of the caller's world per inference, from which every run (a particle-MCMC sweep, an IPMCMC node, a BBVI iteration, a Markov chain, a tempered-SMC particle, an inference program) forks a world and scope of its own; the scope's cleanup, its recovery capability, and the wallet arithmetic of `:authority`. See doc/worlds.md.
(balance-op authority world)CPS: what is left in world's wallet under authority, resolved in the
caller's world.
CPS: what is left in `world`'s wallet under `authority`, resolved in the caller's world.
(canonical-recovery scope lease root)What a host needs when a canonical inference failed: the worlds' descriptors and the operations that finish their cleanup, should the automatic one have failed. Process-local.
What a host needs when a canonical inference failed: the worlds' descriptors and the operations that finish their cleanup, should the automatic one have failed. Process-local.
(close-canonical! scope lease root)CPS: give up the inference's lease on scope, then close the session in
root (cancelling and joining its worlds, discarding the scope) — or,
with no session, discard the scope once quiescent, a root fork still in
flight included. Idempotent.
CPS: give up the inference's `lease` on `scope`, then close the session in `root` (cancelling and joining its worlds, discarding the scope) — or, with no session, discard the scope once quiescent, a root fork still in flight included. Idempotent.
(fork-scope-options opts purpose)The world-scope options of a canonical inference's worlds.
The world-scope options of a canonical inference's worlds.
(frozen-source opts)The frozen fork of the caller's world a multi-run inference runs every
run from (with-frozen-caller), or nil.
The frozen fork of the caller's world a multi-run inference runs every run from (`with-frozen-caller`), or nil.
(run-options opts)opts for a driver whose runs are foerster.gfi runs: inside
with-frozen-caller, :canonical-source names the frozen fork each run
forks (gfi/run-policy*); :world-policy is consumed.
`opts` for a driver whose runs are `foerster.gfi` runs: inside `with-frozen-caller`, `:canonical-source` names the frozen fork each run forks (`gfi/run-policy*`); `:world-policy` is consumed.
(share resources k)One of k even shares of the wallet resources: integer amounts rounded
down, as world.scope/copy! splits a world's budget.
One of `k` even shares of the wallet `resources`: integer amounts rounded down, as `world.scope/copy!` splits a world's budget.
(with-frozen-caller opts body)Under :world-policy :fork, (body opts') with opts' naming one frozen
fork of the caller's world, made once for the whole inference: every run
of a method that runs several (a particle-MCMC sweep, a BBVI iteration, an
IPMCMC node, a Markov chain) forks its own world from it, so all of them
see the caller's state as it was when inference started, whatever the
caller does meanwhile, and the inference draws :grant from the caller's
wallet once. The fork is owned by a scope of its own, discarded (its
wallet given back) after body ends, however it ends. body returns a
spin. Under :fresh, or inside such an inference already, (body opts).
Under `:world-policy :fork`, `(body opts')` with `opts'` naming one frozen fork of the caller's world, made once for the whole inference: every run of a method that runs several (a particle-MCMC sweep, a BBVI iteration, an IPMCMC node, a Markov chain) forks its own world from it, so all of them see the caller's state as it was when inference started, whatever the caller does meanwhile, and the inference draws `:grant` from the caller's wallet once. The fork is owned by a scope of its own, discarded (its wallet given back) after `body` ends, however it ends. `body` returns a spin. Under `:fresh`, or inside such an inference already, `(body opts)`.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |