diff --git a/docs/apidocs/parallel.rst b/docs/apidocs/parallel.rst index 47bd23255..4ffd5100a 100644 --- a/docs/apidocs/parallel.rst +++ b/docs/apidocs/parallel.rst @@ -1,3 +1,5 @@ +.. _dask: + Running with Threadpool and DASK ================================ diff --git a/qiskit/providers/aer/library/__init__.py b/qiskit/providers/aer/library/__init__.py index 1c305399f..aca571a4c 100644 --- a/qiskit/providers/aer/library/__init__.py +++ b/qiskit/providers/aer/library/__init__.py @@ -61,13 +61,6 @@ following ``QuantumCircuit`` methods which are patched when importing Aer. Saving Simulator Data ===================== -.. note :: - Each save instruction has a default label for accessing from the - circuit result data, however duplicate labels in results will result - in an exception being raised. If you use more than 1 instance of a - specific save instruction you must set a custom label for the - additional instructions. - Simulator State Save Instruction Classes ---------------------------------------- @@ -95,6 +88,14 @@ for density matrix method etc.). methods, however all other save state instructions must be applied to all qubits in a run circuit. +.. note:: + The :class:`~qiskit.providers.aer.StatevectorSimulator` (and + :class:`~qiskit.providers.aer.UnitarySimulator`) backend automatically + append every run circuit with the a :func:`SaveStatevector`` + (:func:`SaveUnitary``) instruction using the default label. Hence adding + any additional save instructions of that type will require specifying a + custom label for those instructions. + Simulator Derived Data Save Instruction Classes ----------------------------------------------- @@ -137,6 +138,13 @@ QuantumCircuit Methods The save instructions can also be added to circuits by using the following ``QuantumCircuit`` methods which are patched when importing Aer. +.. note :: + Each save method has a default label for accessing from the + circuit result data, however duplicate labels in results will result + in an exception being raised. If you use more than 1 instance of a + specific save instruction you must set a custom label for the + additional instructions. + .. autosummary:: :toctree: ../stubs/ diff --git a/releasenotes/notes/basis-gates-perf-aba3fe10a154a19a.yaml b/releasenotes/notes/0.8/basis-gates-perf-aba3fe10a154a19a.yaml similarity index 100% rename from releasenotes/notes/basis-gates-perf-aba3fe10a154a19a.yaml rename to releasenotes/notes/0.8/basis-gates-perf-aba3fe10a154a19a.yaml diff --git a/releasenotes/notes/bug-fix-mps-kraus-764cc96854585030.yaml b/releasenotes/notes/0.8/bug-fix-mps-kraus-764cc96854585030.yaml similarity index 100% rename from releasenotes/notes/bug-fix-mps-kraus-764cc96854585030.yaml rename to releasenotes/notes/0.8/bug-fix-mps-kraus-764cc96854585030.yaml diff --git a/releasenotes/notes/bug-fix-multiplexer-qubits-654bb6f8ece25b02.yaml b/releasenotes/notes/0.8/bug-fix-multiplexer-qubits-654bb6f8ece25b02.yaml similarity index 100% rename from releasenotes/notes/bug-fix-multiplexer-qubits-654bb6f8ece25b02.yaml rename to releasenotes/notes/0.8/bug-fix-multiplexer-qubits-654bb6f8ece25b02.yaml diff --git a/releasenotes/notes/ext-stab-expval-b205dcf3a26707d4.yaml b/releasenotes/notes/0.8/ext-stab-expval-b205dcf3a26707d4.yaml similarity index 100% rename from releasenotes/notes/ext-stab-expval-b205dcf3a26707d4.yaml rename to releasenotes/notes/0.8/ext-stab-expval-b205dcf3a26707d4.yaml diff --git a/releasenotes/notes/fix-gpu-memory-cf50e1def7072f38.yaml b/releasenotes/notes/0.8/fix-gpu-memory-cf50e1def7072f38.yaml similarity index 100% rename from releasenotes/notes/fix-gpu-memory-cf50e1def7072f38.yaml rename to releasenotes/notes/0.8/fix-gpu-memory-cf50e1def7072f38.yaml diff --git a/releasenotes/notes/fix-initialize-sampling-b6948e39112f6a46.yaml b/releasenotes/notes/0.8/fix-initialize-sampling-b6948e39112f6a46.yaml similarity index 100% rename from releasenotes/notes/fix-initialize-sampling-b6948e39112f6a46.yaml rename to releasenotes/notes/0.8/fix-initialize-sampling-b6948e39112f6a46.yaml diff --git a/releasenotes/notes/fix-normalize-statevector-extended-stabilizer-3811f44e003099f3.yaml b/releasenotes/notes/0.8/fix-normalize-statevector-extended-stabilizer-3811f44e003099f3.yaml similarity index 100% rename from releasenotes/notes/fix-normalize-statevector-extended-stabilizer-3811f44e003099f3.yaml rename to releasenotes/notes/0.8/fix-normalize-statevector-extended-stabilizer-3811f44e003099f3.yaml diff --git a/releasenotes/notes/fix-stabilizer-expval-8649ee03f4b4b82d.yaml b/releasenotes/notes/0.8/fix-stabilizer-expval-8649ee03f4b4b82d.yaml similarity index 100% rename from releasenotes/notes/fix-stabilizer-expval-8649ee03f4b4b82d.yaml rename to releasenotes/notes/0.8/fix-stabilizer-expval-8649ee03f4b4b82d.yaml diff --git a/releasenotes/notes/set-mps-b0efa4a250c1e8ef.yaml b/releasenotes/notes/0.8/set-mps-b0efa4a250c1e8ef.yaml similarity index 100% rename from releasenotes/notes/set-mps-b0efa4a250c1e8ef.yaml rename to releasenotes/notes/0.8/set-mps-b0efa4a250c1e8ef.yaml diff --git a/releasenotes/notes/0.9/0.9-release-0ecba93a5191e7ec.yaml b/releasenotes/notes/0.9/0.9-release-0ecba93a5191e7ec.yaml new file mode 100644 index 000000000..10c43b55e --- /dev/null +++ b/releasenotes/notes/0.9/0.9-release-0ecba93a5191e7ec.yaml @@ -0,0 +1,77 @@ +--- +prelude: | + The 0.9 release includes new backend options for parallel exeuction + of large numbers of circuits on a HPC cluster using a Dask distributed, + along with other general performance improvements and bug fixes. +features: + - | + Add qiskit library :class:`~qiskit.circuit.library.SXdgGate` + and :class:`~qiskit.circuit.library.CUGate` to the supported basis gates for + the Aer simulator backends. Note that the :class:`~qiskit.circuit.library.CUGate` + gate is only natively + supported for the ``statevector`` and ``unitary`` methods. For other simulation + methods it must be transpiled to the supported basis gates for that method. + - | + Adds support for N-qubit Pauli gate ( + :class:`qiskit.circuit.library.generalized_gates.PauliGate`) to all + simulation methods of the + :class:`~qiskit.providers.aer.AerSimulator` and + :class:`~qiskit.providers.aer.QasmSimulator`. +deprecations: + - | + Passing an assembled qobj directly to the + :meth:`~qiskit.providers.aer.AerSimulator.run` method of the Aer simulator + backends has been deprecated in favor of passing transpiled circuits + directly as ``backend.run(circuits, **run_options)``. + - | + All snapshot instructions in :mod:`qiskit.providers.aer.extensions` have + been deprecated. For replacement use the save instructions from the + :mod:`qiskit.providers.aer.library` module. + - | + Adding non-local quantum errors to a + :class:`~qiskit.providers.aer.noise.NoiseModel` has been deprecated due to + inconsistencies in how this noise is applied to the optimized circuit. + Non-local noise should be manually added to a scheduled circuit in Qiskit + using a custom transpiler pass before being run on the simulator. + - | + Use of the ``method`` option of the + :class:`~qiskit.providers.aer.StatevectorSimulator`, and + :class:`~qiskit.providers.aer.UnitarySimulator` to run a GPU simulation + has been deprecated. To run a GPU simulation on a compatible system + use the option ``device='GPU'`` instead. +upgrade: + - | + The default basis for the :class:`~qiskit.providers.aer.noise.NoiseModel` + class has been changed from ``["id", "u3", "cx"]`` to + ``["id", "rz", "sx", "cx"]`` due to the deprecation of the ``u3`` circuit + method in qiskit-terra and change of qiskit-ibmq-provider backend basis + gates. To use the old basis gates you can initialize a noise model with + custom basis gates as ``NoiseModel(basis_gates=["id", "u3", "cx"])``. + - | + Removed the ``backend_options`` kwarg from the ``run`` methnod of Aer backends + that was deprecated in qiskit-aer 0.7. All run options must now be passed as + separate kwargs. + - | + Removed passing ``system_model`` as a positional arg for the ``run`` method of the + :class:`~qiskit.providers.aer.PulseSimulator`. +fixes: + - | + Fixes bug where the if the required memory is smaller than the system memory the + multi-chunk simulation method was enabled and simulation was still started. + This case will now throw an insufficient memory exception. + - | + Fixes issue where setting the ``shots`` option for a backend with + ``set_options(shots=k)`` was always running the default number of shots (1024) + rather than the specified value. + - | + Fixes a bug in how the :class:`~qiskit.providers.aer.AerSimulator` handled the + option value for ``max_parallel_experiments=1``. Previously this was treated + the same as ``max_parallel_experiments=0``. + - | + Fixes bug in the ``extended_stabilizer`` simulation method where it + incorrectly treated qelay gate and multi-qubit Pauli instructions as + unsupported. + - | + Fixes typo in the :class:`~qiskit.providers.aer.AerSimulator` and + :class:`~qiskit.providers.aer.QasmSimulator` options for the + ``extended_stabilizer_norm_estimation_repetitions`` option. diff --git a/releasenotes/notes/0.9/custom-executor-3d0048b4dd4fa722.yaml b/releasenotes/notes/0.9/custom-executor-3d0048b4dd4fa722.yaml new file mode 100644 index 000000000..6329e6b2b --- /dev/null +++ b/releasenotes/notes/0.9/custom-executor-3d0048b4dd4fa722.yaml @@ -0,0 +1,30 @@ +--- +features: + - | + Adds the ability to set a custom executor and configure job splitting for + executing multiple circuits in parallel on a HPC clustor. A custom + executor can be set using the ``executor`` option, and job splitting is + configured by using the ``max_job_size`` option. + + For example configuring a backend and executing using + + .. code-block:: python + + backend = AerSimulator(max_job_size=1, executor=custom_executor) + job = backend.run(circuits) + + will split the exection into multiple jobs each containing a single + circuit. If job splitting is enabled the ``run`` method will return a + :class:`~qiskit.providers.aer.jobs.AerJobSet` object containing all the + individual :class:`~qiskit.providers.aer.jobs.AerJob` classes. After all + individual jobs finish running the job results are automatically combined + into a single Result object that is returned by ``job.result()``. + + Supported executors include those in the Python ``concurrent.futures`` + `module `__ + (eg. ``ThreadPoolExecutor``, ``ProcessPoolExecutor``), and + `Dask `__ distributed Client executors if the optional + dask library is installed. Using a Dask executor allows configuring parallel + execution of multiple circuits on HPC clusters. See the + Dask executor :ref:`API Documentation ` for additional details + on using Dask executors for HPC simulation. diff --git a/releasenotes/notes/0.9/mps-e81837c4acd0e0f0.yaml b/releasenotes/notes/0.9/mps-e81837c4acd0e0f0.yaml new file mode 100644 index 000000000..8b74bdd46 --- /dev/null +++ b/releasenotes/notes/0.9/mps-e81837c4acd0e0f0.yaml @@ -0,0 +1,30 @@ +--- +features: + - | + Adds ability to record logging data for the ``matrix_product_state`` + simulation method to the experiment result metadata by setting the + backend option ``mps_log_data=True``. The saved data includes the + bond dimensions and the discarded value (the sum of the squares of + the Schmidt coeffients that were discarded by approximation) after + every relevant circuit instruction. +fixes: + - | + Fixes bug with applying the ``unitary`` gate in using the ``matrix_product_state`` + simulation method which did not correctly support permutations in the ordering of + the qubits on which the gate is applied. + - | + Fixes an issue where gate fusion could still be enabled for the + ``matrix_product_state`` simulation method even though it is not supported. + Now fusion is always disabled for this method. + - | + Fixed bug in the ``matrix_product_state`` simulation method in computing the + normalization following truncation of the Schmidt coefficients after + performing the SVD. +other: + - | + Improves the performance of the measurement sampling algorithm for the + ``matrix_product_state`` simulation method. + The new default behaviour is to always sample using the + improved ``mps_apply_measure`` method. The ``mps_probabilities`` sampling + method be still used by setting the custom option value + ``mps_sample_measure_algorithm="mps_probabilities"``. diff --git a/releasenotes/notes/parameterized-run-8f2d1780359a5cc4.yaml b/releasenotes/notes/0.9/parameterized-run-8f2d1780359a5cc4.yaml similarity index 100% rename from releasenotes/notes/parameterized-run-8f2d1780359a5cc4.yaml rename to releasenotes/notes/0.9/parameterized-run-8f2d1780359a5cc4.yaml diff --git a/releasenotes/notes/pulse-sim-circuits-4b4b6f6a9f00dc77.yaml b/releasenotes/notes/0.9/pulse-sim-circuits-4b4b6f6a9f00dc77.yaml similarity index 100% rename from releasenotes/notes/pulse-sim-circuits-4b4b6f6a9f00dc77.yaml rename to releasenotes/notes/0.9/pulse-sim-circuits-4b4b6f6a9f00dc77.yaml diff --git a/releasenotes/notes/bug-fix-in-mps-unitary-835d77b381480fcd.yaml b/releasenotes/notes/bug-fix-in-mps-unitary-835d77b381480fcd.yaml deleted file mode 100644 index eb0a34e5c..000000000 --- a/releasenotes/notes/bug-fix-in-mps-unitary-835d77b381480fcd.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- - -fixes: - - | - ``unitary`` gate in MPS did not support permutations in the ordering of the - qubits on which the gate is applied. Added support for permutations. - diff --git a/releasenotes/notes/bug-fix-required-memory-check-a970c4dc6eb2896f.yaml b/releasenotes/notes/bug-fix-required-memory-check-a970c4dc6eb2896f.yaml deleted file mode 100644 index e4d79b1ae..000000000 --- a/releasenotes/notes/bug-fix-required-memory-check-a970c4dc6eb2896f.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - When required memory is smaller than the system memory, multi-chunk was enabled - and simulation was started though memory is short. This fix corrects this behavior - to throw an exception. \ No newline at end of file diff --git a/releasenotes/notes/deprecate-nonlocal-noise-fb30b2a4c387fe61.yaml b/releasenotes/notes/deprecate-nonlocal-noise-fb30b2a4c387fe61.yaml deleted file mode 100644 index 23444c58d..000000000 --- a/releasenotes/notes/deprecate-nonlocal-noise-fb30b2a4c387fe61.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -deprecations: - - | - Adding non-local quantum errors to a - :class:`~qiskit.providers.aer.noise.NoiseModel` has been deprecated due to - inconsistencies in how this noise is applied to the optimized circuit. - Non-local noise should be manually added to a scheduled circuit in Qiskit - using a custom transpiler pass before being run on the simulator. diff --git a/releasenotes/notes/deprecate-run-qobj-1a88c5bf0d1c0323.yaml b/releasenotes/notes/deprecate-run-qobj-1a88c5bf0d1c0323.yaml deleted file mode 100644 index 277d53c1d..000000000 --- a/releasenotes/notes/deprecate-run-qobj-1a88c5bf0d1c0323.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -deprecations: - - | - Passing an assembled qobj directly to the - :meth:`~qiskit.providers.aer.AerSimulator.run` method of the Aer simulator - backends has been deprecated in favor of passing transpiled circuits - directly as `backend.run(circuits, **run_options)`. diff --git a/releasenotes/notes/deprecate-snapshots-673fe6655bdc95a5.yaml b/releasenotes/notes/deprecate-snapshots-673fe6655bdc95a5.yaml deleted file mode 100644 index 4e5de16bb..000000000 --- a/releasenotes/notes/deprecate-snapshots-673fe6655bdc95a5.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -deprecations: - - | - All snapshot instructions in :mod:`qiskit.providers.aer.extensions` have - been deprecated. For replacement use the save instructions from the - :mod:`qiskit.providers.aer.library` module. diff --git a/releasenotes/notes/disable_fusion_with_mps-6757cbf8edb510a5.yaml b/releasenotes/notes/disable_fusion_with_mps-6757cbf8edb510a5.yaml deleted file mode 100644 index 3eb5e3225..000000000 --- a/releasenotes/notes/disable_fusion_with_mps-6757cbf8edb510a5.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- - -fixes: - - | - Disabled fusion when using the MPS simulation method, even when fusion is - enabled in the config. Fusion does not run correctly on MPS so should - always be disabled. See issue #1253 for an example. - diff --git a/releasenotes/notes/fix-extended-stab-pauli-24eab8c4a7c6246c.yaml b/releasenotes/notes/fix-extended-stab-pauli-24eab8c4a7c6246c.yaml deleted file mode 100644 index c6a45bf81..000000000 --- a/releasenotes/notes/fix-extended-stab-pauli-24eab8c4a7c6246c.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -fixes: - - | - Fixes bug in the "extended_stabilizer" simulation method where it - incorrectly treated delay gate and multi-qubit Pauli instructions as - unsupported. - - | - Fixes typo in the `AerSimulator` and ``QasmSimulator`` options for the - ``extended_stabilizer_norm_estimation_repetitions`` option. diff --git a/releasenotes/notes/fix-parallel-exp-bug-d5a76b6e9ac03632.yaml b/releasenotes/notes/fix-parallel-exp-bug-d5a76b6e9ac03632.yaml deleted file mode 100644 index bcaa42c0f..000000000 --- a/releasenotes/notes/fix-parallel-exp-bug-d5a76b6e9ac03632.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - Fixes a bug in how the ``AerSimulator`` handled the option value - ``max_parallel_experiments=1`` which was being previously being treated - the same as ``max_parallel_experiments=0``. diff --git a/releasenotes/notes/fix-shots-option-245f6b05ffeb6d78.yaml b/releasenotes/notes/fix-shots-option-245f6b05ffeb6d78.yaml deleted file mode 100644 index 3f8607b36..000000000 --- a/releasenotes/notes/fix-shots-option-245f6b05ffeb6d78.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - Fixes issue where setting the ``shots`` option for a backend with - ``set_options(shots=k)`` was always running the default number of shots - rather than the specified value. diff --git a/releasenotes/notes/mps-fix-normalization-092c189cf8cfa6e8.yaml b/releasenotes/notes/mps-fix-normalization-092c189cf8cfa6e8.yaml deleted file mode 100644 index 31fccd5fc..000000000 --- a/releasenotes/notes/mps-fix-normalization-092c189cf8cfa6e8.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- - -fixes: - - | - Fixed bug in computing the normalization following truncation of the - Schmidt coefficients following SVD. - diff --git a/releasenotes/notes/mps-performance-of-measure-9991ac98da35150b.yaml b/releasenotes/notes/mps-performance-of-measure-9991ac98da35150b.yaml deleted file mode 100644 index 01d4ba09c..000000000 --- a/releasenotes/notes/mps-performance-of-measure-9991ac98da35150b.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -other: - - | - Performance improvement in algorithm for measure in MPS: when all qubits are - measured, no need to propagate the effect of measuring a single qubit to - all the other qubits; it is sufficient to propagate to the nearest - neighbors, because these neighbors will be measured next. diff --git a/releasenotes/notes/mps_performance-apply_measure-e81837c4acd0e0f0.yaml b/releasenotes/notes/mps_performance-apply_measure-e81837c4acd0e0f0.yaml deleted file mode 100644 index af75f9287..000000000 --- a/releasenotes/notes/mps_performance-apply_measure-e81837c4acd0e0f0.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -other: - - | - Performance improvement in algorithm for apply_measure in MPS: this - generalizes the improvement done for all qubits to any subset of the qubits. - Also removed the heuristic for choosing the algorithm for sample_measure. - The default is now `mps_apply_measure` and the user can specify - 'mps_probabilities` if she prefers that algorithm. diff --git a/releasenotes/notes/mps_print_bond_dimension-6dc6f6cf0365c2ae.yaml b/releasenotes/notes/mps_print_bond_dimension-6dc6f6cf0365c2ae.yaml deleted file mode 100644 index 03eb609f3..000000000 --- a/releasenotes/notes/mps_print_bond_dimension-6dc6f6cf0365c2ae.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -features: - - | - If the environment variable `MPS_OUTPUT_DATA` is set to 1, then MPS - log data is printed to the metadata. This includes, after every relevant - instruction, the bond dimensions and the discarded value i.e., - the sum of the squares of the Schmidt coeffients - that were discarded by approximation. - - diff --git a/releasenotes/notes/noise_default_basis-3feced47c0a2eff7.yaml b/releasenotes/notes/noise_default_basis-3feced47c0a2eff7.yaml deleted file mode 100644 index 96067a11a..000000000 --- a/releasenotes/notes/noise_default_basis-3feced47c0a2eff7.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -upgrade: - - | - The default basis for the :class:`~qiskit.providers.aer.noise.NoiseModel` - class has been changed from ``["id", "u3", "cx"]`` to - ``["id", "rz", "sx", "cx"]`` due to the deprecation of the ``u3`` circuit - method in qiskit-terra and change of qiskit-ibmq-provider backend basis - gates. To use the old basis gates you can initialize a noise model with - custom basis gates as ``NoiseModel(basis_gates=["id", "u3", "cx"])``. diff --git a/releasenotes/notes/pauli_gate-de858933657d7d21.yaml b/releasenotes/notes/pauli_gate-de858933657d7d21.yaml deleted file mode 100644 index 6da0d8079..000000000 --- a/releasenotes/notes/pauli_gate-de858933657d7d21.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -features: - - | - Adds support for N-qubit Pauli gate ( - :class:`qiskit.circuit.library.generalized_gates.PauliGate`) to all - simulation methods of the - :class:`~qiskit.providers.aer.AerSimulator` and - :class:`~qiskit.providers.aer.QasmSimulator`. diff --git a/releasenotes/notes/remove-dep-b5a3b0e3f09eb90e.yaml b/releasenotes/notes/remove-dep-b5a3b0e3f09eb90e.yaml deleted file mode 100644 index 437d659c9..000000000 --- a/releasenotes/notes/remove-dep-b5a3b0e3f09eb90e.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -upgrade: - - | - The deprecated ``backend_options`` kwarg of the ``run`` method of Aer - backends has been removed. All run options must now be passed as - separate kwargs. diff --git a/releasenotes/notes/statevec-gpu-2bed39c68e757f3b.yaml b/releasenotes/notes/statevec-gpu-2bed39c68e757f3b.yaml deleted file mode 100644 index e62440b7c..000000000 --- a/releasenotes/notes/statevec-gpu-2bed39c68e757f3b.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -deprecations: - - | - Use of the ``method`` option of the - :class:`~qiskit.providers.aer.StatevectorSimulator`, and - :class:`~qiskit.providers.aer.UnitarySimulator` to run a GPU simulation - has been deprecated. To run a GPU simulation on a compatible system - use the option ``device='GPU'`` instead. diff --git a/releasenotes/notes/sxdg-cu-2acabbb46cadda7d.yaml b/releasenotes/notes/sxdg-cu-2acabbb46cadda7d.yaml deleted file mode 100644 index 7b4117208..000000000 --- a/releasenotes/notes/sxdg-cu-2acabbb46cadda7d.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -features: - - | - Add qiskit library SXdgGate and CUGate to the supported basis gates for - the Aer simulator backends. Note that the CUGate gate is only natively - supported for the statevector and unitary methods. For other simulation - methods it must be transpiled to the supported basis gates for that method.