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

PERF: Update Autoscoper to include PSO optimization #69

Merged
merged 1 commit into from
Nov 7, 2023

Conversation

jcfr
Copy link
Contributor

@jcfr jcfr commented Nov 7, 2023

Refactor the Particle Swarm Optimization (PSO) implementation by introducing a specialized Particle data structure alongside a particle collection. This structure allows us to efficiently manage and track computed Normalized Cross-Correlation (NCC) values for each particle. As a result, we now evaluate each particle only once per iteration, as opposed to between 2 and 5 times in the worst-case scenario.

This optimization has led to a remarkable reduction in per-frame execution time on a typical workstation using the OpenCL back-end, dropping it from the range of 9 to 18 seconds to a much-improved 3 to 6 seconds.

List of changes:

$ git shortlog 73eb359dc..4bdedd802 --no-merges
Anthony Lombardi (1):
      PERF: Introduce particle data structure for PSO

Refactor the Particle Swarm Optimization (PSO) implementation by introducing a
specialized Particle data structure alongside a particle collection.
This structure allows us to efficiently manage and track computed Normalized
Cross-Correlation (NCC) values for each particle. As a result, we now evaluate
each particle only once per iteration, as opposed to between 2 and 5 times in
the worst-case scenario.

This optimization has led to a remarkable reduction in per-frame execution time
on a typical workstation using the OpenCL back-end, dropping it from the range
of 9 to 18 seconds to a much-improved 3 to 6 seconds.

List of changes:

$ git shortlog 73eb359dc..4bdedd802 --no-merges
Anthony Lombardi (1):
      PERF: Introduce particle data structure for PSO

Co-authored-by: Anthony Lombardi <[email protected]>
@NicerNewerCar NicerNewerCar merged commit 72bb4ae into BrownBiomechanics:main Nov 7, 2023
2 checks passed
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

Successfully merging this pull request may close these issues.

2 participants