Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Log everything relevant for a run #739

Open
8 of 18 tasks
nicolasaunai opened this issue Aug 11, 2023 · 1 comment
Open
8 of 18 tasks

Log everything relevant for a run #739

nicolasaunai opened this issue Aug 11, 2023 · 1 comment
Assignees
Labels
Milestone

Comments

@nicolasaunai
Copy link
Member

nicolasaunai commented Aug 11, 2023

Each run should automatically log as many informations as possible to later retrieve the context in which it was done.
Here we list things that could be relevant:

Where should that data live?

  • a possibility is that it's exported in every h5 file the run generates
  • if no h5 is written (crashed before the first dump, or no diag required) we still need that somewhere

code information

  • git commit of PHARE that has been used to run. Warning, it should be the commit used by the build which is ran, not the commit of the code in the source dir at the time the run is performed.
  • keep the message of that commit?

runtime and build context

  • machine on which the run was performed and any relevant information about that machine
    • warning: keep track of machine on which the code was built and the one on which is ran? (front end VS nodes)
    • # of cores available + # of core used
    • memory available
    • system and version
  • python version
  • version of python lib we use
  • c++ libs versions
  • MPI version
  • Cmake version
  • HDF5 version
  • all dependencies versions
  • build date and time
  • build path
  • source path
  • run date and time

run intentions

  • allow users to enter a kind of Doc String for the performed simulation, as parameter of the Simulation() for instance.

Reader

  • display all above information in a nicely structured document (Markdown?)
@PhilipDeegan
Copy link
Member

for code information

we can add the git commit to the build info, which can then be used in the runtime info, and diagnostics

for runtime information, the mechanism is here

which I think tries to account for the three checkboxes

 # of cores available + # of core used
 memory available
 system and version

the exported build time info is here

which includes

 python version
 MPI version
 Cmake version
 HDF5 version

what's remaining for build time

version of python lib we use # not sure how this could differ really, and doesn't always exist at build time?
c++ libs versions # these things are mostly in diagnostics
all dependencies versions # this is more release related (define all)
build date and time
build path
source path

what's remaining for run time

 run date and time # kinda get this from the file timestamp

for run intentions, a description field was added to the python simulation class, which is entirely serialized into restart files and diagnostics

@nicolasaunai nicolasaunai modified the milestones: 1.0, 1.1 May 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: In Progress 👀
Development

No branches or pull requests

2 participants