What is the DPSH runtime?
The DPSH runtime is Cognia's second execution backend. It is not a faster mode of the original network, nor a collection of effects layered on top of runtime
- It is a separate computational model designed for time-accurate, reproducible, and falsifiable experiments with neural-network dynamics.
DPSH stands for Dynamic Perceptual State Hypothesis. The runtime does not confirm any hypothesis and does not create “consciousness.” It provides a substrate and measurement apparatus on which predictions can be formulated, mechanisms disabled, matched controls constructed, and hypotheses honestly falsified.
How it differs from synchronous runtime 1
Runtime 1 (sync) |
Runtime 2 (dpsh) |
|---|---|
| advances in global steps | advances from event to event |
| rate-based activation | autonomous state neurons and spike events |
| time is determined by the iteration | time is integer nanosecond ModelTime |
| every neuron is typically updated in every step | a neuron is updated only by an event |
| suitable for existing inference and training | suitable for dynamical and causal experiments |
runtime 1 .bin snapshot |
separate, complete .dpsh snapshot |
Both runtimes use the same lexer, parser, semantic analysis, and declarative topology. A model selects DPSH, for example, as follows:
cognia "2.0"
runtime "dpsh"
Runtime selection and capability checks are strict: a construct that the selected backend cannot execute must not simply be ignored.
How computation proceeds
The foundation is a deterministic event queue ordered by (time, sequence).
An event may be a sensory input, a delivered spike, a neuron's own candidate,
an intervention, or a recorder sample. Neuron state evolves in closed form
between events, so the runtime needs no hidden integration step.
.cognia
│ parse + semantic + topology
▼
DpshSubstrate
│ neurons, synapses, modalities, oscillators, actuators
▼
DpshRuntime
│ event store → lookahead window → CPU/CUDA backend → commit
├── recorder / trace
├── plasticity and learning gate
├── prediction and multimodality
└── read-only motor boundary
The sparse synaptic graph carries positive delays, polarity, and stable edge
identities. The minimum declared delay d_min permits a half-open lookahead
window to be processed without violating causality. The physics of one neuron
and one window is shared by the CPU and CUDA paths.
Stochasticity without losing reproducibility
Spiking uses Ogata thinning over the declared hazard. The hazard upper bound is
checked even in release builds; violating it is an error, not an acceptable
approximation. RandomContext provides named per-entity streams, freeze,
replay, and a complete snapshot.
The same model, configuration, and seed must produce the same event log. Moving a single injection by 1 ns is, conversely, detectable. Experiment registries refuse to mix results from different engine or metric-definition versions.
Temporal organization and plasticity
Oscillators are analytical functions of absolute model time and insert no periodic tick events into the queue. Phase may modulate excitability, threshold, synaptic gain, and plasticity. STDP is trace-based, pre/post event order is genuinely non-commutative, and the learning gate records every weight change so that the log balance equals the final weight difference.
Higher-level mechanisms are not hidden operators
- The workspace has no host-side “select winner” command. Competition emerges from recurrent excitation and lateral inhibition; an observer only measures ignition and reversals.
- Prediction error is divided into named local channels. A magical global error scalar is rejected.
- Multimodal binding is not a runtime primitive.
ModalityBusprovides the same path for external and internal input, while an observer measures integration or shared causal impact. - Motor output is the difference between antagonistic populations, not an argmax. Attaching a motor sink must not change the event log (invariant I-9).
Experimental layer
Stimuli, experiments, and sweeps can be declared in Cognia. The runner forks
branches from a single snapshot, requires pre-registration, enforces matched
tolerances, and permits an inconclusive outcome. Reports show the complete
distribution and dependency shape rather than an automatically chosen “best
setting.”
The canonical path is:
.cognia → DpshSubstrate → snapshot → experiment branches
→ recorder + metrics → registry → report
CPU, CUDA, and performance
The CPU and CUDA backends must be scientifically interchangeable. The release gate compares event logs bit for bit over 20 models × 5 seeds, including snapshot/restore and active plasticity. The current CUDA validation suite passes 38/38 checks.
The CUDA path uses lookahead windows, a calendar event store, and resident local queues for network partitions. Performance optimization Z-9 remains open as non-blocking work: no speedup may change physics, event order, or the log.
Realtime and embodiment
RealtimeDriver offers Free and Paced modes. Paced mode ties progress to
wall-clock time, but when it falls behind it neither silently catches up model
time nor skips it; it measures and reports the overrun.
RealtimeTransportBridge is a generic bridge between named external channels
and the runtime. A particular rover, robot, or device remains in the application
layer.
A live-run trace can be replayed offline. Gate R0 requires an identical
logHash() between the live run and replay of the same trace.
What release 2.0.0 guarantees
- deterministic ordering, causality, and nanosecond model time;
- complete snapshot/restore and reproducible branching;
- bit-exact equivalence of the canonical CPU and CUDA paths;
- observers and outputs without a hidden network write path (I-8, I-9);
- explicit provenance, versions, and experiment falsification status;
- continued runtime 1 support without mixing their snapshot formats.
It does not guarantee universal biological fidelity, consciousness, automatic interpretation of results, or a particular realtime deadline on arbitrary hardware.