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

Improve certification performance #539

Merged
merged 2 commits into from
Jun 6, 2023
Merged

Improve certification performance #539

merged 2 commits into from
Jun 6, 2023

Conversation

saschatimme
Copy link
Member

Two improvements:

  1. Reduces memory footprint of our certificates. We stored previously also the interval Jacobian used in the certification step. This change reduces the stored AcbMatrix to only one interval that contains the unique solution. On my test on a small 8 x 8 system this should reduce the memory footprint of a single certificate ca. by a good amount. I did not benchmark it but from my investigation a 5 - 10x reduction should be possible (more dramatic for larger system due to the n^2 elements of the Jacobian). My motivation is that I need to certify a system with almost 5 Million solutions and my Julia process ended up allocating almost 70gb of memory (and as a result ended up doing lots of memory swapping). So a 5 - 10x reduction makes the whole computation much more feasible again. (Did not yet run the computation again but will report back what peak memory consumption was).

  2. Enable multi threading of the certificate computation. Obvious easy win here. The 3264 certification got a speed up of 4x using 8 threads. I expect a bigger speed up when the system is larger

@saschatimme saschatimme closed this Jun 6, 2023
@saschatimme saschatimme reopened this Jun 6, 2023
@saschatimme
Copy link
Member Author

Merging, since test failure is unrelated

@saschatimme saschatimme merged commit 526a1a4 into main Jun 6, 2023
5 of 8 checks passed
@saschatimme saschatimme deleted the feat/cert branch July 5, 2023 12:40
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.

None yet

1 participant