Display time writing statepoint files

This commit is contained in:
Paul Romano 2020-09-16 16:44:20 -05:00
parent bc90e6a122
commit 2997120755
5 changed files with 11 additions and 0 deletions

View file

@ -161,3 +161,5 @@ All values are given in seconds and are measured on the master process.
source sites between processes for load balancing.
- **accumulating tallies** (*double*) -- Time spent communicating
tally results and evaluating their statistics.
- **writing statepoints** (*double*) -- Time spent writing statepoint
files

View file

@ -22,6 +22,7 @@ extern Timer time_inactive;
extern Timer time_initialize;
extern Timer time_read_xs;
extern Timer time_sample_source;
extern Timer time_statepoint;
extern Timer time_tallies;
extern Timer time_total;
extern Timer time_transport;

View file

@ -420,6 +420,7 @@ void print_runtime()
show_time("SEND/RECV source sites", time_bank_sendrecv.elapsed(), 2);
}
show_time("Time accumulating tallies", time_tallies.elapsed(), 1);
show_time("Time writing statepoints", time_statepoint.elapsed(), 1);
show_time("Total time for finalization", time_finalize.elapsed());
show_time("Total time elapsed", time_total.elapsed());

View file

@ -33,6 +33,8 @@ namespace openmc {
extern "C" int
openmc_statepoint_write(const char* filename, bool* write_source)
{
simulation::time_statepoint.start();
// Set the filename
std::string filename_;
if (filename) {
@ -296,6 +298,7 @@ openmc_statepoint_write(const char* filename, bool* write_source)
}
write_dataset(runtime_group, "accumulating tallies", time_tallies.elapsed());
write_dataset(runtime_group, "total", time_total.elapsed());
write_dataset(runtime_group, "writing statepoints", time_statepoint.elapsed());
close_group(runtime_group);
file_close(file_id);
@ -314,6 +317,8 @@ openmc_statepoint_write(const char* filename, bool* write_source)
if (mpi::master || parallel) file_close(file_id);
}
simulation::time_statepoint.stop();
return 0;
}

View file

@ -17,6 +17,7 @@ Timer time_inactive;
Timer time_initialize;
Timer time_read_xs;
Timer time_sample_source;
Timer time_statepoint;
Timer time_tallies;
Timer time_total;
Timer time_transport;
@ -76,6 +77,7 @@ void reset_timers()
simulation::time_initialize.reset();
simulation::time_read_xs.reset();
simulation::time_sample_source.reset();
simulation::time_statepoint.reset();
simulation::time_tallies.reset();
simulation::time_total.reset();
simulation::time_transport.reset();