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

Benchmark performance against brian2genn and cpp_standalone #28

Closed
denisalevi opened this issue Nov 15, 2016 · 3 comments
Closed

Benchmark performance against brian2genn and cpp_standalone #28

denisalevi opened this issue Nov 15, 2016 · 3 comments
Assignees

Comments

@denisalevi
Copy link
Member

This should be the first benchmarking (speed tests) against brian2genn and cpp_standalone after updating brian2cuda to use brian2 2.0 (#22), but before major optimizations of brian2genn.
It should include automated benchmarking scripts to compare effects of later optimizations.

@denisalevi denisalevi added this to the Release 1.0 milestone Nov 15, 2016
@denisalevi denisalevi self-assigned this Nov 15, 2016
@denisalevi
Copy link
Member Author

Our benchmark folder has now speed test results from before no_or_const_delay_mode implementation, after and with additional profiling_info collected using cudaEvents.

I have until now only benchmarked against CPPStandaloneConfiguration and GeNNConifguration. But there are also CPPStandaloneConfigurationOpenMP and GeNNConfigurationOptimized.

@moritzaugustin Do we want to benchmark agains OpenMP as well?

@mstimberg Did you experience any "optimization" in the GeNNConfigurationOptimized? I did run that when I first ran the speed tests but could not see any performance difference to GeNNConfiguration and the brian2genn benchmarkfolder does not seem to have used it either. So can we just us GeNNConfiguration?

@mstimberg
Copy link
Member

@mstimberg Did you experience any "optimization" in the GeNNConfigurationOptimized? I did run that when I first ran the speed tests but could not see any performance difference to GeNNConfiguration and the brian2genn benchmarkfolder does not seem to have used it either. So can we just us GeNNConfiguration?

This is a bit misleading, I agree. The only difference between the two configurations is that GeNNConfiguration switches off the default compiler args that we normally pass to gcc (-w -O3 -ffast-math -fno-finite-math-only -march=native). This only affects the host code that is run on the CPU and I don't think any of the benchmarks spends any significant time in this code, so I don't expect it to have a measurable effect on performance. However, I'd probably just use GeNNConfigurationOptimized instead of GeNNConfiguration, simply because the "optimized" configuration uses the defaults (i.e. what a user would get if they don't change any preferences).

@denisalevi
Copy link
Member Author

We have benchmarking scripts implemented for a while now. Closing this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants