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

Support additional operation queuing #189

Merged
merged 5 commits into from
Jul 2, 2024
Merged

Support additional operation queuing #189

merged 5 commits into from
Jul 2, 2024

Conversation

swernli
Copy link
Collaborator

@swernli swernli commented Jun 24, 2024

This adds more operation queuing that supports X, Y, Z, S, Sadj, T, and Tadj (along with controls) when feasible. When flushed, the queue will apply each of these operations in one iteration through the state vector rather than iterating the state vector for each. In practice, this seems to provide small benefits for programs will few qubits and thus small vectors (6% to 7%) but the benefit scales with the size of the state vector (observed 23% to 50% on larger programs).

This helps address feedback on perf, fixes #188

This adds more operation queuing that supports X, Y, Z, S, Sadj, T, and Tadj (along with controls) when feasible. When flushed, the queue will apply each of these operations in one iteration through the state vector rather than iterating the state vector for each. In practice, this seems to provide small benefits for programs will few qubits and thus small vectors (6% to 7%) but the benefit scales with the size of the state vector (observed 23% to 50% on larger programs).
@swernli swernli enabled auto-merge (squash) June 28, 2024 22:34
@swernli swernli merged commit db680a7 into main Jul 2, 2024
14 checks passed
@swernli swernli deleted the swernli/op-queuing branch July 2, 2024 20:32
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.

Semi-Classical Operations Queue for Sparse Simulator
2 participants