Skip to content

increase useability of the repo#8

Merged
ScSteffen merged 1 commit into
mainfrom
feature_useability
May 27, 2026
Merged

increase useability of the repo#8
ScSteffen merged 1 commit into
mainfrom
feature_useability

Conversation

@ScSteffen

@ScSteffen ScSteffen commented May 27, 2026

Copy link
Copy Markdown
Collaborator

Summary

This PR addresses the CharmKiT-side accessibility and usability gaps from kitrt_accessibility_usability_plan.md after checking that they still existed locally.

Verified Gaps And Changes

  • README onboarding drift existed: the README used the old ScSteffen/charm_kit clone URL and referenced install_KiT-RT.sh / update_KiT-RT.sh. Updated the README to use KiT-RT/CharmKiT, install_kitrt.sh, and update_kitrt.sh, and added a short decision guide for when to use CharmKiT versus kitrt_code.
  • CharmKiT was not installable as a package CLI: pyproject.toml had package-mode = false and no console script. Added package metadata, src/__init__.py, and a charm-kit entry point backed by src/cli.py.
  • Users had to know root-level runner scripts: added charm-kit run <case> and charm-kit submit <case> dispatch for lattice and hohlraum while keeping the existing scripts working.
  • Container install was sudo-oriented: updated install_kitrt.sh to detect Apptainer/Singularity, reuse existing SIFs, optionally pull CPU/CUDA images, support KITRT_CONTAINER_BUILD=skip|fakeroot|sudo|auto, and reuse an existing kitrt_code checkout.
  • The update workflow was documented but absent from git: added update_kitrt.sh and unignored it in .gitignore so it appears in the PR.
  • --slurm --cuda was blocked: removed that blocker and added SLURM CUDA script generation using the CUDA SIF, --nv, and KITRT_CUDA_MPI_RANKS / SLURM_GPUS_ON_NODE rank selection.
  • Runtime selection was Singularity-only: added KITRT_CONTAINER_RUNTIME support for local and generated SLURM container commands.
  • SLURM template needed GPU guidance: added commented GPU directives and a stable command marker.
  • Tests did not cover the new CLI and GPU SLURM path: added/updated tests for charm-kit, SLURM CUDA generation, and runner/model CUDA propagation.

Primary Files

  • README.md
  • .gitignore
  • pyproject.toml
  • src/__init__.py
  • src/cli.py
  • install_kitrt.sh
  • update_kitrt.sh
  • slurm_template.sh
  • src/config_utils.py
  • src/simulation_utils.py
  • src/models/lattice.py
  • src/models/hohlraum.py
  • run_lattice.py
  • run_hohlraum.py
  • tests/test_charm_kit_cli.py
  • tests/test_config_utils.py
  • tests/test_cli_and_runner_flags.py
  • tests/test_model_operations.py

Verification

  • python3 -m py_compile run_lattice.py run_hohlraum.py src/cli.py src/config_utils.py src/simulation_utils.py src/models/lattice.py src/models/hohlraum.py tests/test_charm_kit_cli.py tests/test_config_utils.py tests/test_simulation_utils.py
  • python3 -m pytest -q -> 32 passed
  • poetry check -> exit 0 with deprecation warnings for legacy Poetry metadata and [tool.poetry.scripts]
  • python3 -c "from src.cli import main; raise SystemExit(main(['--help']))"
  • poetry run charm-kit --help -> exit 0; Poetry warns the script is not installed until poetry install is rerun
  • git diff --check

Not Included

  • Publishing releases, GHCR images, checksums, or official SIF artifacts. Those require repository/registry credentials.
  • Site-specific SLURM account, partition, and GPU directives. The template documents where users should add them.
  • The existing untracked kitrt_code/, out_cpu.txt, out_cuda.txt, and timings.txt files were left untouched.

@ScSteffen ScSteffen merged commit ad2951f into main May 27, 2026
2 checks passed
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.

1 participant