Files
SolitaryThinker db866dfb04 [misc] v2: simplify docstrings/comments + drop deleted-design-doc citations
Sweep all 296 v2 modules: simplify verbose docstrings/comments and remove 376 dangling
"(design_vN §X)" citations to the now-deleted design docs (v2/README.md is the source of
truth). Comment/docstring-only — AST-verified code-identical; the CPU suite holds at 237
passed / 5 pre-existing. Also applies yapf + ruff --fix auto-fixes (import ordering,
forward-ref annotation de-quoting under `from __future__ import annotations`; behavior-
neutral, suite-confirmed) and adds the legitimate domain terms mot/clen/te to the codespell
ignore-list. Remaining ruff (24) + mypy (68 no-untyped-call) findings are pre-existing v2
debt, untouched here.
2026-06-19 20:54:59 +00:00

29 lines
1.4 KiB
Python

"""CPU / numpy backend — the terminal rung and parity oracle.
This backend registers the numpy reference kernels. It is the bottom of every device fallback
chain: any op a richer backend hasn't implemented resolves here, and every other backend's output
is checked against this one (the consistency ladder's C0/C1 oracle).
Components are NOT registered here: the card's ``ComponentSpec.factory`` *is* the cpu/numpy
component rung (``Platform.build_component`` falls back to it when no ``(kind, device, …)`` cell
matches). That keeps every existing card working with zero registration.
"""
from __future__ import annotations
from v2.loop.sampler import flow_match_euler_step, flow_sde_step_with_logprob
from v2.platform.registry import FLOW_MATCH_STEP, FLOW_SDE_STEP, register_kernel
# The numpy solver primitives, registered as the terminal (cpu, numpy) kernels. These are the exact
# same functions the loops used to call directly — so dispatching through the registry on a CPU box
# is bit-for-bit identical to the pre-registry behavior.
register_kernel(FLOW_MATCH_STEP,
flow_match_euler_step,
device="cpu",
arch="numpy",
source="loop.sampler:flow_match_euler_step")
register_kernel(FLOW_SDE_STEP,
flow_sde_step_with_logprob,
device="cpu",
arch="numpy",
source="loop.sampler:flow_sde_step_with_logprob")