mapomatic icon indicating copy to clipboard operation
mapomatic copied to clipboard

score for default Qiskit transpiler mapping

Open balewski opened this issue 1 year ago • 0 comments

Hi, the mm.evaluate_layouts(..) returns your scores for all mapping you found. I'd like to see your score for the the layout which Qiskit would give me, using generate_preset_pass_manager() This layout was selected: [30, 29, 28, 36, 31].

The attached code gives me [] - no score at all. Can you help me to make it work? Thanks Jan

This is my software stack

qiskit                            1.2.2
qiskit-aer                        0.15.1
qiskit-algorithms                 0.3.0
qiskit-ibm-experiment             0.4.8
qiskit-ibm-runtime                0.29.0
qiskit-ionq                       0.5.6
qiskit-machine-learning           0.7.2

Here is the code

import numpy as np
from qiskit import *
from qiskit_aer import AerSimulator
import mapomatic as mm
from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager

qc = QuantumCircuit(5)
qc.h(0)
qc.cx(0,1)
qc.cx(0,2)
qc.cx(0,3)
qc.cx(0,4)
qc.measure_all()

print(qc)
service = QiskitRuntimeService()
noisy_backend = service.backend('ibm_torino')
backend = AerSimulator.from_backend(noisy_backend)
print('\n 1st pass, to convert circuit to naitive gates for ',backend.name)

pm = generate_preset_pass_manager(optimization_level=3, backend=backend)

qcT1 = pm.run(qc)
print(qcT1.draw('text', idle_wires=False))
layout0 = qcT1._layout.final_index_layout(filter_ancillas=True)
print(' initial phys layout:%s'%(layout0))

# remove idle qubits
qcT2 = mm.deflate_circuit(qcT1)
score0 = mm.evaluate_layouts(qc, [layout0], backend)
print('score0:',score0)

balewski avatar Nov 08 '24 21:11 balewski