Package: qiskit-aer-gpu
Aer - high performance quantum circuit simulation for QiskitAeris a high performance simulator for quantum circuits written in Qiskit, that includes realistic noise models.InstallationWe encourage installing Aer via the pip tool (a python package manager):pipinstallqiskit-aerPip will handle all dependencies automatically for us, and you will always install the latest (and well-tested) version.To install from source, follow the instructions in thecontribution guidelines.Installing GPU supportIn order to install and run the GPU supported simulators on Linux, you need CUDA® 11.2 or newer previously installed.
CUDA® itself would require a set of specific GPU drivers. Please follow CUDA® installation procedure in the NVIDIA®web.If you want to install our GPU supported simulators, you have to install this other package:pipinstallqiskit-aer-gpuThe package above is for CUDA&reg 12, so if your system has CUDA® 11 installed, install separate package:pipinstallqiskit-aer-gpu-cu11This will overwrite your currentqiskit-aerpackage installation giving you
the same functionality found in the canonicalqiskit-aerpackage, plus the
ability to run the GPU supported simulators: statevector, density matrix, and unitary.Note: This package is only available on x86_64 Linux. For other platforms
that have CUDA support, you will have to build from source. You can refer to
thecontributing guidefor instructions on doing this.Simulating your first Qiskit circuit with AerNow that you have Aer installed, you can start simulating quantum circuits with noise. Here is a basic example:$ pythonimportqiskitfromqiskit_aerimportAerSimulatorfromqiskit_ibm_runtimeimportQiskitRuntimeService# Generate 3-qubit GHZ statecirc=qiskit.QuantumCircuit(3)circ.h(0)circ.cx(0,1)circ.cx(1,2)circ.measure_all()# Construct an ideal simulatoraersim=AerSimulator()# Perform an ideal simulationresult_ideal=aersim.run(circ).result()counts_ideal=result_ideal.get_counts(0)print('Counts(ideal):',counts_ideal)# Counts(ideal): {'000': 493, '111': 531}# Construct a simulator using a noise model# from a real backend.provider=QiskitRuntimeService()backend=provider.get_backend("ibm_kyoto")aersim_backend=AerSimulator.from_backend(backend)# Perform noisy simulationresult_noise=aersim_backend.run(circ).result()counts_noise=result_noise.get_counts(0)print('Counts(noise):',counts_noise)# Counts(noise): {'101': 16, '110': 48, '100': 7, '001': 31, '010': 7, '000': 464, '011': 15, '111': 436}Contribution GuidelinesIf you'd like to contribute to Aer, please take a look at ourcontribution guidelines. This project adheres to Qiskit'scode of conduct. By participating, you are expected to uphold this code.We useGitHub issuesfor tracking requests and bugs. Please use ourslackfor discussion and simple questions. To join our Slack community use thelink. For questions that are more suited for a forum, we use the Qiskit tag in theStack Exchange.Next StepsNow you're set up and ready to check out some of the other examples from theAer documentation.Authors and CitationAer is the work ofmany peoplewho contribute to the project at different levels.
If you use Qiskit, please cite as per the includedBibTeX file.LicenseApache License 2.0