-
Notifications
You must be signed in to change notification settings - Fork 221
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
Implement ComputationTimeSummary
similar to ProfilingSummary
#1439
Comments
Ah wait, if we don't add timers before and after
Any opinions on the names here? |
I wonder, maybe it would make sense to integrate this with the profiling system (and |
Good idea. Could even add profiling of before/after codeobjects that run outside the clock as detailed summary of the init/finalization timer (e.g. synapse generation of all synapse objects). What would be the format?
Or rather some nested table (which would require changing the Should probably not change the |
I was more thinking of a nested table, but it could also be just sequential, as in your example. We need to change
Hmm, yes, probably. I doubt many people have been using it, but better to err on the side of caution here. |
Hi @mstimberg,
I implemented a
ComputationTimeSummary
for my talk yesterday. I would like to get that into Brian, I find it useful for Brian2CUDA (to know why a small, short simulation is taking unexpectedly long e.g.).Usage:
Output:
I made a quick patch for my talk here, but would place it somewhere else probably and also remove the hard coded print of course. Here is my implementation: 251a995
For this implementation, I just copied the timing code from my benchmark scripts. Its probably unnecessary to use
chrono
here, astd::clock
ist probably a bit easier? Actually, I just realized that we don't need any timer in generated code at all... We already have_last_run_time
and the python timer of the binary execution. I'll updated my implementation accordingly.What is the best place to put this? Maybe
brian2/device/device.py
? Any other additions other than what I implemented above? Only makes sense for standalone I guess.The text was updated successfully, but these errors were encountered: