Open anavasca opened 2 years ago
as in the past, I believe that @doichanj can solve the problem. Thank you very much for everything.
@doichanj investigated this issue and found that it is from gate fusion and not from GPU/MPI implementation. I created a new issue #1657. Once it is resolved, please check the above problem can be resolved.
Informations
What is the current behavior?
when I launch the following program I get an error when distributing it with mpi:
from IPython.display import clear_output from qiskit import * from qiskit.visualization import plot_histogram import numpy as np from qiskit.tools.monitor import job_monitor from qiskit.providers.aer import AerSimulator import sys import warnings from qiskit.utils import algorithm_globals
warnings.filterwarnings('ignore', category=DeprecationWarning) pi = np.pi
algorithm_globals.random_seed = 1
###############################################################################################
def qftdagger(circ, n_qubits): """n-qubit QFTdagger the first n qubits in circ""" for qubit in range(int(nqubits/2)): circ.swap(qubit, n_qubits-qubit-1) for j in range(0,nqubits): for m in range(j): circ.cp(-np.pi/float(2**(j-m)), m, j) circ_.h(j)
###############################################################################################
def qpepre(circ, nqubits): circ.h(range(nqubits)) circ.x(n_qubits)
###############################################################################################
def run_job(circ, backend, shots=10000): job=execute(circ, backend, shots =shots,blocking_enable=True, blocking_qubits=15,seed_simulator=1) return job.result().get_counts()
###############################################################################################
simulator = AerSimulator(method="statevector")
###############################################################################################
def get_pi_estimate(n_qubits):
###############################################################################################
nqs = 20
thisnq_pi_estimate = get_pi_estimate(nqs) print(f"{nqs} qubits, pi ≈ {thisnq_pi_estimate}")
###############################################################################################
Steps to reproduce the problem
when I launch the following program with the statement :
!time mpirun -np 1 -quiet -hostfile /home/ubuntu/qiskit_pruebas/host/all_hosts_gas python /home/ubuntu/qiskit_pruebas/scripts/QPE/qpe.py
I get the following terminal error:
terminate called after throwing an instance of 'std::invalid_argument' what(): QubitUnitary::State::invalid instruction 'cp'. [ip-172-31-31-126:03815] Process received signal [ip-172-31-31-126:03815] Signal: Aborted (6) [ip-172-31-31-126:03815] Signal code: (-6) [ip-172-31-31-126:03815] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x43090)[0x7f49a71eb090] [ip-172-31-31-126:03815] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcb)[0x7f49a71eb00b] [ip-172-31-31-126:03815] [ 2] /lib/x86_64-linux-gnu/libc.so.6(abort+0x12b)[0x7f49a71ca859] [ip-172-31-31-126:03815] [ 3] /lib/x86_64-linux-gnu/libstdc++.so.6(+0x9e911)[0x7f499e4f0911] [ip-172-31-31-126:03815] [ 4] /lib/x86_64-linux-gnu/libstdc++.so.6(+0xaa38c)[0x7f499e4fc38c] [ip-172-31-31-126:03815] [ 5] /lib/x86_64-linux-gnu/libstdc++.so.6(+0xa9369)[0x7f499e4fb369] [ip-172-31-31-126:03815] [ 6] /lib/x86_64-linux-gnu/libstdc++.so.6(gxx_personality_v0+0x2a1)[0x7f499e4fbd21] [ip-172-31-31-126:03815] [ 7] /lib/x86_64-linux-gnu/libgcc_s.so.1(+0x10bef)[0x7f49a5015bef] [ip-172-31-31-126:03815] [ 8] /lib/x86_64-linux-gnu/libgcc_s.so.1(_Unwind_Resume+0x12a)[0x7f49a50165aa] [ip-172-31-31-126:03815] [ 9] /home/ubuntu/.local/lib/python3.8/site-packages/qiskit/providers/aer/backends/controller_wrappers.cpython-38-x86_64-linux-gnu.so(+0x2e8c3)[0x7f499a3208c3] [ip-172-31-31-126:03815] [10] /home/ubuntu/.local/lib/python3.8/site-packages/qiskit/providers/aer/backends/controller_wrappers.cpython-38-x86_64-linux-gnu.so(+0x4e6da)[0x7f499a3406da] [ip-172-31-31-126:03815] [11] /home/ubuntu/.local/lib/python3.8/site-packages/qiskit/providers/aer/backends/controller_wrappers.cpython-38-x86_64-linux-gnu.so(+0x4e7fd)[0x7f499a3407fd] [ip-172-31-31-126:03815] [12] /lib/x86_64-linux-gnu/libgomp.so.1(+0x1a78e)[0x7f499801878e] [ip-172-31-31-126:03815] [13] /lib/x86_64-linux-gnu/libpthread.so.0(+0x8609)[0x7f49a718d609] [ip-172-31-31-126:03815] [14] /lib/x86_64-linux-gnu/libc.so.6(clone+0x43)[0x7f49a72c7133] [ip-172-31-31-126:03815] End of error message terminate called after throwing an instance of 'std::invalid_argument' what(): QubitUnitary::State::invalid instruction 'cp'. [ip-172-31-24-171:03726] Process received signal [ip-172-31-24-171:03726] Signal: Aborted (6) [ip-172-31-24-171:03726] Signal code: (-6) [ip-172-31-24-171:03726] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x43090)[0x7f1d0ab20090] [ip-172-31-24-171:03726] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcb)[0x7f1d0ab2000b] [ip-172-31-24-171:03726] [ 2] /lib/x86_64-linux-gnu/libc.so.6(abort+0x12b)[0x7f1d0aaff859] [ip-172-31-24-171:03726] [ 3] /lib/x86_64-linux-gnu/libstdc++.so.6(+0x9e911)[0x7f1d01e25911] [ip-172-31-24-171:03726] [ 4] /lib/x86_64-linux-gnu/libstdc++.so.6(+0xaa38c)[0x7f1d01e3138c] [ip-172-31-24-171:03726] [ 5] /lib/x86_64-linux-gnu/libstdc++.so.6(+0xa9369)[0x7f1d01e30369] [ip-172-31-24-171:03726] [ 6] /lib/x86_64-linux-gnu/libstdc++.so.6(__gxx_personality_v0+0x2a1)[0x7f1d01e30d21] [ip-172-31-24-171:03726] [ 7] /lib/x86_64-linux-gnu/libgcc_s.so.1(+0x10bef)[0x7f1d0894abef] [ip-172-31-24-171:03726] [ 8] /lib/x86_64-linux-gnu/libgcc_s.so.1(_Unwind_Resume+0x12a)[0x7f1d0894b5aa] [ip-172-31-24-171:03726] [ 9] /home/ubuntu/.local/lib/python3.8/site-packages/qiskit/providers/aer/backends/controller_wrappers.cpython-38-x86_64-linux-gnu.so(+0x2e8c3)[0x7f1cfdc558c3] [ip-172-31-24-171:03726] [10] /home/ubuntu/.local/lib/python3.8/site-packages/qiskit/providers/aer/backends/controller_wrappers.cpython-38-x86_64-linux-gnu.so(+0x4e6da)[0x7f1cfdc756da] [ip-172-31-24-171:03726] [11] /home/ubuntu/.local/lib/python3.8/site-packages/qiskit/providers/aer/backends/controller_wrappers.cpython-38-x86_64-linux-gnu.so(+0x4e7fd)[0x7f1cfdc757fd] [ip-172-31-24-171:03726] [12] /lib/x86_64-linux-gnu/libgomp.so.1(+0x1a78e)[0x7f1cfb94d78e] [ip-172-31-24-171:03726] [13] /lib/x86_64-linux-gnu/libpthread.so.0(+0x8609)[0x7f1d0aac2609] [ip-172-31-24-171:03726] [14] /lib/x86_64-linux-gnu/libc.so.6(clone+0x43)[0x7f1d0abfc133] [ip-172-31-24-171:03726] End of error message terminate called after throwing an instance of 'std::invalid_argument' what(): QubitUnitary::State::invalid instruction 'cp'. [ip-172-31-27-140:04166] Process received signal [ip-172-31-27-140:04166] Signal: Aborted (6) [ip-172-31-27-140:04166] Signal code: (-6) [ip-172-31-27-140:04166] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x43090)[0x7f1288d38090] [ip-172-31-27-140:04166] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcb)[0x7f1288d3800b] [ip-172-31-27-140:04166] [ 2] /lib/x86_64-linux-gnu/libc.so.6(abort+0x12b)[0x7f1288d17859] [ip-172-31-27-140:04166] [ 3] /lib/x86_64-linux-gnu/libstdc++.so.6(+0x9e911)[0x7f128003d911] [ip-172-31-27-140:04166] [ 4] /lib/x86_64-linux-gnu/libstdc++.so.6(+0xaa38c)[0x7f128004938c] [ip-172-31-27-140:04166] [ 5] /lib/x86_64-linux-gnu/libstdc++.so.6(+0xa9369)[0x7f1280048369] [ip-172-31-27-140:04166] [ 6] /lib/x86_64-linux-gnu/libstdc++.so.6(gxx_personality_v0+0x2a1)[0x7f1280048d21] [ip-172-31-27-140:04166] [ 7] /lib/x86_64-linux-gnu/libgcc_s.so.1(+0x10bef)[0x7f1286b62bef] [ip-172-31-27-140:04166] [ 8] /lib/x86_64-linux-gnu/libgcc_s.so.1(_Unwind_Resume+0x12a)[0x7f1286b635aa] [ip-172-31-27-140:04166] [ 9] /home/ubuntu/.local/lib/python3.8/site-packages/qiskit/providers/aer/backends/controller_wrappers.cpython-38-x86_64-linux-gnu.so(+0x2e8c3)[0x7f127be6d8c3] [ip-172-31-27-140:04166] [10] /home/ubuntu/.local/lib/python3.8/site-packages/qiskit/providers/aer/backends/controller_wrappers.cpython-38-x86_64-linux-gnu.so(+0x4e6da)[0x7f127be8d6da] [ip-172-31-27-140:04166] [11] /home/ubuntu/.local/lib/python3.8/site-packages/qiskit/providers/aer/backends/controller_wrappers.cpython-38-x86_64-linux-gnu.so(+0x4e7fd)[0x7f127be8d7fd] [ip-172-31-27-140:04166] [12] /lib/x86_64-linux-gnu/libgomp.so.1(+0x1a78e)[0x7f1279b6578e] [ip-172-31-27-140:04166] [13] /lib/x86_64-linux-gnu/libpthread.so.0(+0x8609)[0x7f1288cda609] [ip-172-31-27-140:04166] [14] /lib/x86_64-linux-gnu/libc.so.6(clone+0x43)[0x7f1288e14133] [ip-172-31-27-140:04166] End of error message
however when I launch the program with the statement :
!time mpirun -np 1 -quiet -hostfile /home/ubuntu/qiskit_pruebas/host/all_hosts_gas python /home/ubuntu/qiskit_pruebas/scripts/QPE/qpe.py
I get the right result:
20 qubits, pi ≈ 3.1415936627398344
What is the expected behavior?
should get the same result but in less time.
Suggested solutions
as the error indicates, I think the problem is related to the cp gate.