-
Notifications
You must be signed in to change notification settings - Fork 39
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
Performance improvements #6
Comments
Conversation moved here from #19 @cbachhuber wrote:
@TheCodez wrote:
@cbachhuber wrote:
|
@cbachhuber I moved the conversation to this issue, instead of a closed pr :) Commit 36232e0 should fix the long init times and also slightly improve runtime performance. Init times went from |
The one and only correct thing to do 😅 👍
Now that's amazing stuff! Thanks for improving so drastically in no time, I'm impressed! 😮 I can confirm these numbers, I now see ~740ms init time. Also thanks for adding performance to the readme! 👍 |
Let me just ask this one off-topic question here: do you have plans for an objective performance measurement? I.e. a module that compares the result of the grid to the ground truth input, computes noise etc. I think this would be valuable to have, we could open another issue for that. |
I plan to add clustering to compare cluster velocity with the simulator ground thruth at some point (not in the near future). This way we have a qualitative comparison of this projects performance. I'll add an issue to track this. |
@cbachhuber do you get a speedup with either I see no difference. |
I'm also not seeing a significant difference, unfortunately.
I always see an outlier iteration time during the second iteration. This is 40-60ms higher than the other valuse I see, see maxima in table above. What could be the reason for this? What do you think about logging iteration time during execution, and printing min/mean/median/max at the end? Similar to what the precision evaluator is doing? |
Thanks for testing, I'll take a look. That's a pretty good idea 👍 |
+1 for CI! I'm just reading that github hosts CI for free for open source projects, I didn't expect that. I guess setting up CI will be interesting with the CUDA dependency; let's see. We can also make first baby-steps with CI once the first unit tests for the utils library are working. Cool, I'm adding the time logging to my plans 👍 |
@cbachhuber I added CI for Ubuntu. It's not compiling successfully atm because of some linker errors As the CI machines have no GPU we can only compile not run the code, but I think this is fine. |
Thanks for removing, I had a weird connection issue yesterday and actually clicked 'Comment' twice 😅 I don't know why this happens on CI only. I'm also playing around with CI at the moment (though I don't have much time today).
I will also try to get this to compile in the next days, let's see who solves this first ;) And I agree, compiling is for now enough. |
Moved to here #31 :) |
Using SoA instead of AoS particles reduced the runtime by around 50ms. Changing the grid cells to SoA gives a small improvement. See https://github.com/TheCodez/dynamic-occupancy-grid-map/tree/soa Big improvements coming soon 😄 |
Awesome, looking forward to that! 😃 👍 |
Might take some time I'm thinking of using this abstraction https://asc.ziti.uni-heidelberg.de/sites/default/files/research/papers/public/St11ASX_CUDA.pdf to keep the AoS syntax. |
cudaDeviceSynchronize
when not necessaryThe text was updated successfully, but these errors were encountered: