STEllAR-GROUP / octotiger

Astrophysics program simulating the evolution of star systems based on the fast multipole method on adaptive Octrees
http://octotiger.stellar-group.org/
Boost Software License 1.0
48 stars 18 forks source link

Add git hash to output #435

Closed diehlpk closed 1 year ago

diehlpk commented 1 year ago

It would be nice to add the git hash of Octo-Tiger to the output, so we could see in the log which version we used for reproducibility.

shibersag commented 1 year ago

Just as an example, here is what FLASH code outputs to its log file. The version number, the c and fortran flags, as well as the parameters used and whether they were changed or used the default value.

Interestingly, it also outputs FLASH counters and timers for each unit which would be also nice to have in Octo-Tiger

sod.log

G-071 commented 1 year ago

@diehlpk Can this be closed now that #445 is merged or do you need more information in the log?

shibersag commented 1 year ago

Thanks @G-071!

Can something like what FLASH outputs (see below) be also added to the output (or maybe is it already there)?

FLASH log file: 07-30-2019 17:05:55.542 Run number: 1

Number of MPI tasks: 1 MPI version: 3 MPI subversion: 1 Dimensionality: 2 Max Number of Blocks/Proc: 10000 Number x zones: 8 Number y zones: 8 Number z zones: 1 Setup stamp: Tue Jul 30 16:08:04 2019 Build stamp: Tue Jul 30 16:33:55 2019 System info: Darwin Sagivs-Air 17.7.0 Darwin Kernel Version 17.7.0: Sun Jun 2 20:31:42 PDT 2 Version: FLASH 4.6_release
Build directory: /Users/shiber/FLASH4.6/Sod_diag_ref7 Setup syntax: /Users/shiber/FLASH4.6/bin/setup.py Sod -auto -objdir=Sod_diag_ref7 -maxblocks=10000 f compiler flags: /usr/local/opt/mpich/bin//mpif90 -c -O2 -fdefault-real-8 -fdefault-double-8 -DMAXBLOCKS=10000 -DNXB=8 -DNYB=8 -DNZB=1 -DN_DIM=2 c compiler flags: /usr/local/opt/mpich/bin//mpicc -I /usr/local/opt/hdf5/include -DH5_USE_16_API -O2 -c -DMAXBLOCKS=10000 -DNXB=8 -DNYB=8 -DNZB=1 -DN_DIM=2 -DDarwin

G-071 commented 1 year ago

I think a lot of it is already there, at least in Kokkos builds as the Kokkos::print_configuration also includes all the HPX details. Since #445 we also print the version. As for the the "Setup syntax", I think that stuff was already printed in octotiger for a long time, however it's a bit scattered at the beginning of Octo-Tiger's output.

What might be handy to have (for quick copy/paste) is to explicitly print one line with all CLI args that were passed, which would save us the trouble of piecing that together from the rest of Octo-Tiger's output. The system info is also missing