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

Optimise x86_64 builds with AVX friendly opts #157

Merged
merged 2 commits into from
Oct 21, 2021
Merged

Optimise x86_64 builds with AVX friendly opts #157

merged 2 commits into from
Oct 21, 2021

Conversation

mlxd
Copy link
Member

@mlxd mlxd commented Oct 20, 2021

Context: This enables AVX operations by default for Intel/AMD machines which can improve performance of vectorisable operations.

Description of the Change: AVX support is added to Linux x86_64 wheels. In addition, the width of various registers is reduced for many parametric ops by explicitly favouring 64-bit wide operations instead of 128-bit (T vs std::complex<T>) where applicable.

Benefits: Improves overall runtime performance.

Possible Drawbacks: Machines not supporting AVX (pre-2011) will require manual builds to run lightning.

Related GitHub Issues:

@github-actions
Copy link
Contributor

Hello. You may have forgotten to update the changelog!
Please edit .github/CHANGELOG.md with:

  • A one-to-two sentence description of the change. You may include a small working example for new features.
  • A link back to this PR.
  • Your name (or GitHub username) in the contributors section.

@codecov
Copy link

codecov bot commented Oct 20, 2021

Codecov Report

Merging #157 (0c52a24) into master (7c390d3) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff            @@
##            master      #157   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            4         4           
  Lines          182       182           
=========================================
  Hits           182       182           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7c390d3...0c52a24. Read the comment docs.

@github-actions
Copy link
Contributor

github-actions bot commented Oct 20, 2021

Test Report (C++) on Ubuntu

       1 files  ±0         1 suites  ±0   0s ⏱️ ±0s
   327 tests ±0     327 ✔️ ±0  0 💤 ±0  0 ±0 
1 185 runs  ±0  1 185 ✔️ ±0  0 💤 ±0  0 ±0 

Results for commit 0c52a24. ± Comparison against base commit 7c390d3.

♻️ This comment has been updated with latest results.

@mlxd mlxd requested review from trbromley and trevor-vincent and removed request for trbromley October 20, 2021 14:39
Copy link
Contributor

@trevor-vincent trevor-vincent left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome work Lee. I see no issues!

@mlxd mlxd merged commit a4c2e48 into master Oct 21, 2021
@mlxd mlxd deleted the avx_opts branch October 21, 2021 08:18
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