Skip to content

Layered design imp - #20

Merged
Naeemkh merged 23 commits into
mainfrom
layered_design_imp
Jun 15, 2026
Merged

Naeemkh merged 23 commits into
mainfrom
layered_design_imp

Conversation

@Naeemkh

@Naeemkh Naeemkh commented Jun 14, 2026 •

Copy link
Copy Markdown
Member

Summary

Rewrites KempnerPulse from a single script into a clean, standalone
four-layer package, with a test suite, a documentation site, and CI.

Architecture

  • Read (reader/): pluggable backends (dcgmi dmon, dcgm-exporter, replay) that emit raw per-GPU records in the source's own vocabulary.
  • Translate (translate/): maps raw records to a versioned, vendor-neutral canonical schema with normalized units.
  • Compute (compute/): pure-functional Real Utilization, the 12-category workload classification, and health states.
  • Present (present/): the Rich terminal UI (fleet / focus / plot / job views) and the CSV exporter.
  • Cross-cutting: configuration, hardware identification, GPU selection, system queries, and the lifecycle / entry point.
  • Removes the legacy single-file implementation and the temporary compatibility shim so the package stands on its own.

Packaging & CLI

  • Moves the project to a src/ layout with an updated pyproject.toml.
  • Adds a short kp alias alongside the kempnerpulse command.
  • Adds a --backend replay mode that replays a saved capture with no GPU required.
  • Moves the kempnerpulse-on-cnode.sh helper into scripts/.

Tests & CI

  • Adds a 156-test unit + integration suite covering every layer (GPU-free, via the replay backend).
  • Adds a GitHub Actions workflow that runs the suite across Python 3.9–3.12.
  • Validated live on H100 hardware (CSV export, dashboard render, and the interactive TUI).

Documentation

  • Adds a Sphinx + Furo documentation site (install, usage, architecture, and an auto-generated API reference) with a GitHub Pages deploy workflow.
  • Trims the README to a concise front page that links into the docs.

@Naeemkh Naeemkh changed the title [WIP] Layered design imp Layered design imp Jun 15, 2026
@Naeemkh
Naeemkh requested a review from mmshad June 15, 2026 00:45
@Naeemkh
Naeemkh merged commit 13f62b7 into main Jun 15, 2026
6 checks passed
@Naeemkh
Naeemkh deleted the layered_design_imp branch June 15, 2026 18:42
@mmshad mmshad mentioned this pull request Jul 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants