Add AerSimulator backend#1194
Merged
Merged
Conversation
a407827 to
50afcf0
Compare
vvilpas
reviewed
Mar 30, 2021
Contributor
vvilpas
left a comment
There was a problem hiding this comment.
Looks good. Found a typo that can be dangerous.
* Includes unitary method and superop method * Adds GPU version of superop simulation method
* Algorithm tests * Standard gate library tests * Save instruction tests
After trying the heuristic for stabilizer or density matrix simulation the remaining simulation methods are selected between based on supported instructions with ordering statevector > density matrix > matrix product state > unitary > superop.
There is a segfault happening somewhere so this disables the method until we can investigate further
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
AerSimulatorbackend that in the future will replace the QasmSimulator, StatevectorSimulator and UnitarySimulator backends.The
AerProviderhas been updated to include AerSimulator backends for all available methods and devices.Details and comments
C++ Controller
In the C++ code this adds a new
aer_controllerclass which is a combination of the previous base controller and qasm controller. The idea is in the future we do not need subclasses as all methods go through the same controller and the qasm_controller, unitary_controller and statevector_controller can be deprecated.New Backend
The main differences between the new
AerSimulatorbackend and theQasmSimulatorinclude:device='GPU'option for supported methods. egAerSimulator(method='statevector', device='GPU')save_stateor anothersaveinstruction, no final statevector or unitary will be returned automatically without the save instruction.Tests
Started refactoring tests to improve running common tests on all supported methods and devices.
Currently some of these tests are failing