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

Parallelize motion model update #34

Merged
merged 2 commits into from
Jan 2, 2023
Merged

Conversation

nahueespinosa
Copy link
Member

@nahueespinosa nahueespinosa commented Jan 2, 2023

This patch parallelizes the motion model update using standard C++ execution policies.

Particles: 2000
Points: 1080

  Sequential Duration [ms] Parallel Duration [ms] Speed up
Motion update 10.0660 1.2060 8.346600332
Sensor update 15.4800 * 15.2250 1.016748768
Resampling 11.5730 11.6670 0.9919430873
Total 37.1190 28.0980 1.321054879

*The sensor update is parallelized in both columns.

Related to #3.

@nahueespinosa nahueespinosa self-assigned this Jan 2, 2023
@nahueespinosa
Copy link
Member Author

nahueespinosa commented Jan 2, 2023

With low particle counts, the overhead of spinning multiple threads becomes significant, especially on the motion update. However, we still see improvements in execution time:

Particles: 100
Points: 1080

  Sequential Duration [ms] Parallel Duration [ms] Speed up
Motion update 0.5750 0.2330 2.467811159
Sensor update 7.7610 1.6820 4.614149822
Resampling 0.6920 0.7390 0.9364005413
Total 9.0280 2.6540 3.401657875

@nahueespinosa nahueespinosa merged commit 421cd7d into master Jan 2, 2023
@nahueespinosa nahueespinosa deleted the nahuel/parallelize_motion branch January 2, 2023 18:30
@nahueespinosa nahueespinosa added enhancement New feature or request cpp Related to C++ code labels Jan 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cpp Related to C++ code enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants