Module Map¤
Calibrax is organized into 11 modules with clear dependency layers.
Import Dependency Graph¤
flowchart TD
core[core]
profiling[profiling]
statistics[statistics]
analysis[analysis]
validation[validation]
storage[storage]
metrics[metrics]
monitoring[monitoring]
exporters[exporters]
ci[ci]
cli[cli]
core --> profiling
core --> statistics
core --> analysis
core --> validation
core --> storage
core --> metrics
core --> monitoring
profiling --> monitoring
analysis --> ci
storage --> ci
storage --> exporters
storage --> cli
ci --> cli
style core fill:#e3f2fd
style profiling fill:#fff3e0
style statistics fill:#fff3e0
style analysis fill:#fff3e0
style validation fill:#fff3e0
style storage fill:#fff3e0
style metrics fill:#fff3e0
style monitoring fill:#fff3e0
style exporters fill:#c8e6c9
style ci fill:#c8e6c9
style cli fill:#c8e6c9
Colors:
- Light blue — foundation layer (data models, protocols)
- Light orange — processing layer (profiling, analysis, statistics, validation, storage, monitoring, metrics)
- Light green — output layer (exporters, CI, CLI)
Layer Classification¤
| Layer | Modules | Description |
|---|---|---|
| Foundation | core |
Data models, protocols, adapters, registry, result container |
| Processing | profiling, statistics, analysis, validation, storage, metrics, monitoring |
Profiling, statistical analysis, regression detection, validation, data persistence, metrics computation, alerting |
| Output | exporters, ci, cli |
External integrations, CI gating, command-line interface |
Imports flow downward only: output modules depend on processing modules, which depend on the foundation. No circular dependencies exist.
Module Contents¤
| Module | Submodules | Public Symbols | Description |
|---|---|---|---|
core |
models, protocols, adapters, registry, result |
~30 | Data models, enums, protocols, adapters, registry, result container |
profiling |
timing, resources, gpu, energy, flops, hardware, roofline, compilation, complexity, tracing, carbon |
~25 | Timing, resources, GPU, energy, FLOPs, hardware detection, roofline analysis, compilation profiling, complexity analysis, XLA tracing, carbon tracking |
statistics |
analyzer, significance |
~8 | Statistical analyzer, significance tests, effect size |
analysis |
regression, ranking, comparison, scaling, pareto, changepoint |
~10 | Regression detection, ranking, comparison reports, scaling laws, Pareto fronts, changepoint detection |
validation |
framework, convergence, accuracy |
~6 | Validation reports, convergence checking, accuracy assessment |
monitoring |
monitor, production |
~6 | Alert management, threshold monitoring, pipeline health |
storage |
store |
~2 | JSON store with baseline management |
exporters |
base, wandb, mlflow, publication |
~5 | Exporter ABC, W&B integration, MLflow integration, publication output |
metrics |
functional/ (17 domains), stateful/, learning/, plugins/, composition, wrappers, _registry |
111 registered | 4-tier metric system: pure functions, frozen backbone, learned (NNX), metric learning losses; registry with axiom-based discovery |
ci |
guard, bisection |
~4 | CI guard, bisection engine |
cli |
main |
~1 | Click command group |
Key Design Constraints¤
coredepends only onprofiling—core.resultimportsTimingSampleandResourceSummaryfor serialization; otherwisecoredepends only on JAX, Flax NNX (for adapters), and the standard libraryexportersdoes not importwandbormatplotlibat the module level — optional dependencies are guarded by availability flagscidepends onanalysisandstorage— it composes regression detection with store-based baseline managementcliis the only module that callssys.exit()— all other modules return results for programmatic handling