Local SWAP Fusion via `applyMultiSwap()#795
Conversation
Updates version references and fixes doxygen parsing of CMake configured header broken in QuEST-Kit#616
|
Submitted PR #795 implementing local (non-distributed) SWAP fusion via Benchmark at n=24 (single-threaded): 2.36x–2.82x speedup over sequential SWAPs. Full details in the PR. |
|
Check your diff! You've accidentally committed your build files |
Apologies for that. I've added a .gitignore and verified no build artifacts are tracked in repo. The diff should be clean now :) |
|
It looks like you worked out of the Note that the unitaryHACK issue #595 has been awarded, so alas this PR isn't eligible for a prize. It is however a very useful external contribution - it's a great idea to add a fully local function, which had somehow not occurred to me! 🎉 We'd happily work with you to get this integrated, and your name added to the QuEST external contributor list. If you can switch over your changes to |
Submission: Local SWAP Fusion via
applyMultiSwap()I have implemented the local (non-distributed) SWAP fusion described in this issue.
Fork: https://github.com/VinaYrdx/QuEST
Branch: main
Key commit: e7a3d71
What was implemented
applyMultiSwap(Qureg, vector<int>, vector<int>)inoperations.h+operations.cppcpu_statevec_multiSwap_fused_sub()j > i) — no visited array neededapplySwap()for distributed/GPU quregsBenchmark (n=24, single-threaded, OpenMP disabled)
This complements PR #786's distributed case — together they cover both local and distributed SWAP fusion.