Closed anavasca closed 2 years ago
The error cache blocking : there are gates operation can not chache blocked in blocking_qubits = 16
is caused by Aer. It is related to Aer in MPI environment. Please ask it at https://github.com/Qiskit/qiskit-aer
perfect thanks @t-imamichi
Environment
What is happening?
I execute the following program with error:
import numpy as np from qiskit import QuantumCircuit, transpile, Aer, IBMQ from qiskit.tools.jupyter import from qiskit.visualization import from qiskit.providers.aer import QasmSimulator from qiskit.algorithms import NumPyMinimumEigensolver from qiskit_optimization.algorithms import GroverOptimizer, MinimumEigenOptimizer from qiskit_optimization.problems import QuadraticProgram from qiskit_optimization.translators import from_docplex_mp from qiskit import BasicAer from docplex.mp.model import Model from qiskit_optimization import QuadraticProgram from qiskit_optimization.translators import from_docplex_mp from qiskit_optimization.converters import QuadraticProgramToQubo from qiskit.providers.aer import StatevectorSimulator from qiskit.providers.aer import AerSimulator
backend = AerSimulator(method='statevector',blocking_enable=True, blocking_qubits=2)
model = Model()
Establecemos las variables y su tipo
x0 = model.binary_var(name="x0") x1 = model.binary_var(name="x1") x2 = model.binary_var(name="x2") x3 = model.binary_var(name="x3") x4 = model.binary_var(name="x4")
model.minimize(-(x0 + 5x1 + 3x2 + 2x3 + 2x4 - 3x0x3 - 8x1x2 - 7x1x4 - 5x2x4))
qp = from_docplex_mp(model)
cubo=QuadraticProgramToQubo().convert(qp)
grover_optimizer = GroverOptimizer(10, num_iterations=10, quantum_instance=backend) results = grover_optimizer.solve(cubo) print(results.prettyprint())
How can we reproduce the issue?
when I launch the programme with the command:
!time mpirun -np 1 -host 172.31.41.211:1 python /home/ubuntu/qiskit_pruebas/scripts/Qiskit_GAS_Parallelization.py
I get the correct result:
objective function value: -7.0 variable values: x0=0.0, x1=1.0, x2=0.0, x3=1.0, x4=0.0 status: SUCCESS
however when I launch the command :
!time mpirun -np 2 -host 172.31.41.211:2 python /home/ubuntu/qiskit_pruebas/scripts/Qiskit_GAS_Parallelization.py
I get the error shown below:
Simulation failed and returned the following error message: ERROR: [Experiment 0] cache blocking : there are gates operation can not chache blocked in blocking_qubits = 16 Simulation failed and returned the following error message: ERROR: [Experiment 0] cache blocking : there are gates operation can not chache blocked in blocking_qubits = 16 Traceback (most recent call last): File "/home/ubuntu/qiskit_pruebas/scripts/Qiskit_GAS_Parallelization.py", line 45, in
results = grover_optimizer.solve(cubo)
File "/home/ubuntu/.local/lib/python3.8/site-packages/qiskit_optimization/algorithms/grover_optimizer.py", line 233, in solve
outcome = self._measure(circuit)
File "/home/ubuntu/.local/lib/python3.8/site-packages/qiskit_optimization/algorithms/grover_optimizer.py", line 315, in _measure
probs = self._get_probs(circuit)
File "/home/ubuntu/.local/lib/python3.8/site-packages/qiskit_optimization/algorithms/grover_optimizer.py", line 323, in _get_probs
result = self.quantum_instance.execute(qc)
File "/home/ubuntu/.local/lib/python3.8/site-packages/qiskit/utils/quantum_instance.py", line 708, in execute
result = run_circuits(
File "/home/ubuntu/.local/lib/python3.8/site-packages/qiskit/utils/run_circuits.py", line 298, in run_circuits
raise QiskitError(f"Circuit execution failed: {msg}")
qiskit.exceptions.QiskitError: 'Circuit execution failed: ERROR: [Experiment 0] cache blocking : there are gates operation can not chache blocked in blocking_qubits = 16'
Traceback (most recent call last):
File "/home/ubuntu/qiskit_pruebas/scripts/Qiskit_GAS_Parallelization.py", line 45, in
results = grover_optimizer.solve(cubo)
File "/home/ubuntu/.local/lib/python3.8/site-packages/qiskit_optimization/algorithms/grover_optimizer.py", line 233, in solve
outcome = self._measure(circuit)
File "/home/ubuntu/.local/lib/python3.8/site-packages/qiskit_optimization/algorithms/grover_optimizer.py", line 315, in _measure
probs = self._get_probs(circuit)
File "/home/ubuntu/.local/lib/python3.8/site-packages/qiskit_optimization/algorithms/grover_optimizer.py", line 323, in _get_probs
result = self.quantum_instance.execute(qc)
File "/home/ubuntu/.local/lib/python3.8/site-packages/qiskit/utils/quantum_instance.py", line 708, in execute
result = run_circuits(
File "/home/ubuntu/.local/lib/python3.8/site-packages/qiskit/utils/run_circuits.py", line 298, in run_circuits
raise QiskitError(f"Circuit execution failed: {msg}")
qiskit.exceptions.QiskitError: 'Circuit execution failed: ERROR: [Experiment 0] cache blocking : there are gates operation can not chache blocked in blocking_qubits = 16'
What should happen?
I should get the same result but faster since I am distributing the programme.
Any suggestions?
No response