![]() |
Deepity
Ultra-fast, SIMD-accelerated Predictive Coding
|
Per-LAYER, phase-level timing accumulator. More...
#include <chrono>#include <iostream>#include <iomanip>#include <string>#include <vector>#include <utility>Go to the source code of this file.
Classes | |
| struct | Deep::ProfileAccumulator |
| One layer's accumulated time-per-phase, in seconds – see the file-level note for the reconciliation invariants (PhaseSum() vs. the top-level totals vs. external wall-clock). More... | |
| struct | Deep::ProfileEntry |
| One registered layer's profiling data: its print label paired with its accumulator. More... | |
| class | Deep::ScopedTimer |
| No-op stand-in for the PCN_PROFILE build of ScopedTimer above, so PCN_TIME() call sites compile identically either way. More... | |
Namespaces | |
| namespace | Deep |
| This file exists to provide both Tensor.h and IComputeBackend.h with device types without introducing circular dependencies. | |
Macros | |
| #define | PCN_TIME(accumulator) |
| No-op unless PCN_PROFILE is defined – see the PCN_PROFILE branch above. | |
Functions | |
| std::vector< std::pair< const void *, ProfileEntry > > & | Deep::ProfileRegistry () |
| The process-wide table of every layer that's had LayerProfile() called on it at least once, in first-call order. | |
| template<typename LayerT> | |
| ProfileAccumulator & | Deep::LayerProfile (LayerT *layer) |
| Looks up (or creates, on first call) layer's accumulator in the process-wide registry, keyed by its address. | |
| void | Deep::PrintAllProfiles (double wallClockSeconds) |
| Prints every registered layer's profile, then a grand-total reconciliation against an independently measured wall-clock time. | |
Per-LAYER, phase-level timing accumulator.
Changes from the first draft, per review:
Still gated behind PCN_PROFILE; a no-op in normal builds.
| #define PCN_TIME | ( | accumulator | ) |
No-op unless PCN_PROFILE is defined – see the PCN_PROFILE branch above.