|
| | Activations.h |
| | Defines the activation functions of a predictive coding model.
|
| | ActivationType.h |
| | Just the ActivationType enum, deliberately split out of Activations.h – zero dependency on <immintrin.h>/<sleef.h>/<omp.h>.
|
| | AdamOptimizer.h |
| | Vectorized AdamW update, operating per-element over an array of weights (or biases) – NOT the single-scalar-averaging design from the earlier draft, which would have collapsed many distinct per-weight gradients into one shared update and thrown away exactly the per-parameter information Adam depends on.
|
| | DeviceMemoryArena.h |
| | A 64-byte-aligned bump-pointer allocator over a single device buffer, mirroring this codebase's host-side MemoryArena, but backed by IComputeBackend::Allocate()/Free() rather than raw cudaMalloc/cudaFree directly – the same allocation path Tensor already uses and CUDAFunctionsVerify already exercises, rather than a second, separate, unverified call site.
|
| | Im2Col.h |
| | Standalone im2col / col2im utilities: convolution expressed as matrix multiplication, so ConvPCLayer can reuse cblas_sgemm rather than needing hand-written conv kernels.
|
| | MemoryArena.h |
| | A 64-byte-aligned bump-pointer allocator over a single heap-allocated block, used to pack every layer's beliefs/errors/ weights/scratch buffers into one contiguous region for cache locality (see the "Contiguous Arena Allocator" design note in the project README). Host-side counterpart to DeviceMemoryArena.h's CUDA version.
|
| | ModelIO.h |
| | Saves/loads a network's compiled weight arena to/from disk, as a JSON header (per-layer shapes/offsets) plus a raw binary float blob.
|
| | Optimize.h |
| | Defines useful optimization functions of a PC model.
|
| | Profile.h |
| | Per-LAYER, phase-level timing accumulator.
|
| | StreamAlignedBatcher.h |
| | C++ port of the Python StreamAlignedBatcher – builds batches with a fixed number of examples per class, grouped together, required for I_avg's per-class averaging (Eq. 7 of "Faster Predictive Coding Networks
via Better Initialization").
|
| | Timer.h |