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 contractions, switch to C++20, and test with GHA #22

Merged
merged 21 commits into from
Sep 16, 2024

Conversation

fevangelista
Copy link
Owner

@fevangelista fevangelista commented Sep 12, 2024

This PR does several things:

  • Remove dependencies on fmt (now uses std::format)
  • Uses #pragma once instead of header guards
  • Parallelizes one of the most expensive steps of Wick's theorem (canonicalization)
  • Enables testing via GitHub actions

These two changes can speed up the execution of Wick&D significantly. Here are timings for the tests:

C++17 single thread: 127 s (default)
C++17 async:          35 s
C++20 single thread:  68 s
C++20 async:          20 s

Copy link

codecov bot commented Sep 12, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 82.93%. Comparing base (dd7b78e) to head (cafe5b0).

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #22      +/-   ##
==========================================
- Coverage   83.91%   82.93%   -0.98%     
==========================================
  Files          47       46       -1     
  Lines        1964     1998      +34     
==========================================
+ Hits         1648     1657       +9     
- Misses        316      341      +25     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@fevangelista fevangelista changed the title Parallelize contractions and switch to C++20 Parallelize contractions, switch to C++20, and test with GHA Sep 16, 2024
@fevangelista fevangelista merged commit cf8d083 into main Sep 16, 2024
2 checks passed
@fevangelista fevangelista deleted the parallel branch September 16, 2024 14:42
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.

1 participant