Skip to main content
IBM Quantum Platform

PadDelay

class qiskit.transpiler.passes.PadDelay(*args, **kwargs)

GitHub

베이스: BasePadding

지연 지침으로 유휴 시간을 늘리세요.

연속된 지연은 이 패스의 출력에 병합됩니다.

from qiskit import QuantumCircuit
from qiskit.transpiler import InstructionDurations

durations = InstructionDurations([("x", None, 160), ("cx", None, 800)])

qc = QuantumCircuit(2)
qc.delay(100, 0)
qc.x(1)
qc.cx(0, 1)

최대한 빨리 예약된 회로 출력은 다음과 같이 될 수 있습니다

     ┌────────────────┐
q_0: ┤ Delay(160[dt]) ├──■──
     └─────┬───┬──────┘┌─┴─┐
q_1: ──────┤ X ├───────┤ X ├
           └───┘       └───┘

q_0 와이어에서 Delay 의 100dt (q_0)과 XGate 의 160dt (q_1)의 지속 시간 차이에서 발생하는 60dt 의 추가 유휴 시간은 q_0 와이어의 지연 명령, 즉 총 160dt에 흡수된다는 점에 유의하세요.

자세한 내용은 BasePadding 패스를 참조하세요.

새 패딩 지연 패스를 생성합니다.

매개변수

  • fill_very_end - 회로의 끝 부분을 지연으로 채우려면 True 을 설정합니다.
  • 대상 - 대상 백엔드를 나타내는 Target 대상 백엔드를 나타냅니다. 패딩 패스가 제공되고 큐비트에서 지연 명령을 지원하지 않는 경우, 패딩 패스는 큐비트의 유휴 시간을 패딩하지 않습니다.
  • 수업 시간 – 수업 시간. Target이는 주로.이 없는 레거시 애플리케이션을 위한 것입니다. 일반적으로 이 인자 대신 해당 target 인자를 사용해야 하며, 두 인자가 모두 지정된 target 경우 해당 인자가 이 인자보다 우선 적용됩니다.

속성

is_analysis_pass

패스가 분석 패스인지 확인합니다.

패스가 AnalysisPass, 인 경우 패스가 DAG를 분석하고 해당 분석 결과를 속성 집합에 쓸 수 있음을 의미합니다. 이러한 종류의 패스에서는 DAG에 대한 수정이 허용되지 않습니다.

is_transformation_pass

패스가 변환 패스인지 확인합니다.

패스가 TransformationPass, 인 경우 패스가 DAG를 조작할 수는 있지만 속성 집합을 수정할 수는 없음을 의미합니다(단, 읽을 수는 있음).


메소드

execute

execute(passmanager_ir, state, callback=None)

GitHub

입력된 키스킷 IR에 대한 최적화 작업을 실행합니다.

매개변수

  • passmanager_ir (DAGCircuit) – 최적화할 Qiskit IR.
  • state (DAGCircuit) – 패스 관리자 자체에 의한 워크플로 실행과 관련된 상태.
  • callback (Callable[[Task, DAGCircuit, PropertySet, float, int], None] | None) – 최적화 작업이 실행될 때마다 호출되는 콜백 함수입니다.

리턴

최적화된 키스킷 IR 및 워크플로 상태.

리턴 유형

튜플 [ DAGCircuit, PassManagerState ]

get_duration

get_duration(node, dag)

GitHub

회로에서 지정된 노드의 지속 시간을 가져옵니다.

name

name()

GitHub

패스 이름.

리턴 유형

str

run

run(dag)

GitHub

dag 에서 패딩 패스를 실행합니다.

매개변수

dag (DAGCircuit) – DAG를 확인합니다.

리턴

지침으로 가득 찬 유휴 시간이 있는 DAG.

리턴 유형

DAGCircuit

레이즈

TranspilerError – 특정 노드가 스케줄링되지 않은 경우, 해당 노드가 호출되기 전에 어떤 변환 단계가 삽입되었을 가능성이 높습니다.

update_status

update_status(state, run_state)

GitHub

워크플로 상태를 업데이트합니다.

매개변수

  • state (PassManagerState) – 관리자 상태를 전달하여 업데이트합니다.
  • run_state (RunState) – 현재 작업의 완료 상태입니다.

리턴

패스 관리자 상태가 업데이트되었습니다.

리턴 유형

PassManagerState

이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.