Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Additional timers and local spike counter for profiling and performance measurements #434
In this pull request two timers and one counter are added to the nest kernel.
The timers contain (1) the time spent in gather_events for spike communication via MPI and (2) the time spent in gather_events for collocating spike buffers. The counter contains the number of spike events generated on the specific rank (both on- and offgrid). All these measurements are for the last call to simulate. They are reset to zero at the beginning of a new call to simulate within prepare_simulation.
These measurements are useful for light-weight profiling and collecting of performance data.
@heplesser You are right, there is no real reason for the stopwatches being member variables. And one could live with only one of them. I will update the pull request in the beginning of next week. I tend towards defining the single stopwatch as a static local variable then.
My travis tests failed only for the configurations with MPI. The corresponding error message is shown below. It occurs in "make installcheck" and looks really weird. I doubt that this is the fault of my code changes. See in the following:
Phase 1: Testing if SLI can execute scripts and report errors
Running test 'selftests/test_pass.sli'... *** Error in `mpirun': munmap_chunk(): invalid pointer: 0x00002ad9a33e111d ***