Skip to content

Big overhead in parallel transpile for large target systems #7741

@nonhermitian

Description

@nonhermitian

Environment

  • Qiskit Terra version: 0.19.2
  • Python version: 3.8
  • Operating system: Linux

What is happening?

There is a large overhead when doing parallel transpilation for circuits targeting larger systems. In the case below they are targeting the 127Q system, but the circuits themselves consist of only x gates and are already the correct width. Thus transpilation should just be a pass-through. However, in parallel mode (quad-core machine) it takes 330sec to transpile. If I turn off parallel transpile it takes 3sec.

from qiskit import *
from mthree.circuits import balanced_cal_strings, balanced_cal_circuits

b_strs = balanced_cal_strings(127)
cal_circs = balanced_cal_circuits(b_strs)

backend = provider.backend.ibm_washington
trans_circs = transpile(cal_circs, backend, optimization_level=0)

How can we reproduce the issue?

Run above

What should happen?

Parallel should not give 100x overhead.

Any suggestions?

I am guessing this is copying overhead from forking when the systems are large.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions