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

Look into why Brian is slower than Auryn #1334

Open
thesamovar opened this issue Aug 9, 2021 · 4 comments
Open

Look into why Brian is slower than Auryn #1334

thesamovar opened this issue Aug 9, 2021 · 4 comments

Comments

@thesamovar
Copy link
Member

From a quick look, Auryn doesn't seem to be doing anything particularly different to Brian except that they are explicitly managing SIMD instructions, e.g. in this file. I thought that Brian should also be using them the way we had set things up, but perhaps not as efficiently as I think?

@fzenke any comment on this?

@fzenke
Copy link

fzenke commented Aug 11, 2021

How big are the differences we are currently talking about? Has there been a recent benchmark comparison? Since I have little time to improve Auryn these days, most of its performance improvements are due to updates to the GNU C++ compiler.

@thesamovar
Copy link
Member Author

I think the differences are not huge (not orders of magnitude) but if it would be easy for us to just throw in a few SIMD instructions here and there or make sure a few arrays are allocated in a properly aligned way, it might be that we could get a speed boost at relatively low effort.

@fzenke
Copy link

fzenke commented Aug 11, 2021

In my experience, the speed-up is non-significant for modern compiler versions which automatically use SIMD.

@thesamovar
Copy link
Member Author

That was my impression, but someone sent me some (unpublished) numebrs where they carefully controlled compiler version etc. and Auryn was still quite a bit faster than Brian for at least some models. Having had a look at the code, there doesn't seem to be anything super clever you're doing different to Brian, other than the SIMD stuff, so I'm a bit baffled as to why the speed difference!

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

No branches or pull requests

2 participants