Skip to main content
IBM Quantum Platform

BlockBasePadder

class BlockBasePadder(*args, **kwargs)

GitHub

베이스: TransformationPass

패딩 패스의 기본 클래스입니다.

이 패스를 사용하려면 스케줄링 패스 중 하나가 먼저 실행되어야 합니다. 여러 가지 예약 전략이 있으므로 예약 패스 선택은 패스 관리자 디자이너의 손에 달려 있습니다. 스케줄링 분석 패스가 실행되면 property_setnode_start_time 이 생성됩니다. 이 정보는 노드 인스턴스에서 키가 지정된 예상 명령어 실행 시간의 파이썬 사전으로 표현됩니다. 패딩 패스는 서킷의 모든 DAGOpNode 을 예약할 것으로 예상합니다.

이 베이스 클래스는 인터리브할 시퀀스를 정의하지는 않지만, 시퀀스가 삽입되는 위치를 관리하고 적절한 시퀀스를 구성하는 데 필요한 정보 세트를 제공합니다. 따라서 이 패스의 서브클래스는 삽입할 회로 블록을 구성하는 _pad() 메서드를 구현하기만 하면 됩니다. 이 메커니즘은 전체 DAG 회로를 관리하기 위해 많은 상용구 로직을 제거합니다.

패딩 패스 서브클래스는 만족스러운 인터리빙 시퀀스를 정의해야 한다는 점에 유의하세요:

  • 인터리브 시퀀스는 다른 노드의 시작 시간을 변경하지 않습니다
  • 인터리브 시퀀스는 제공된 time_interval 의 총 길이를 가져야 합니다.

이러한 제약 조건을 위반하는 조작은 이 베이스 패스가 각 인스트럭션의 시작 시간을 올바르게 추적하지 못하게 하여 하드웨어 정렬 제약 조건을 위반할 수 있습니다.


속성

is_analysis_pass

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

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

is_transformation_pass

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

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


메소드

__call__

__call__(circuit, property_set=None)

회로에서 패스를 실행합니다.

매개변수

  • circuit (QuantumCircuit) – 통행이 이루어지는 날짜.
  • property_set (PropertySet | dict | None) – 입력/출력 속성 집합. 분석 패스는 속성 집합을 인플레이스(in-place)로 변경할 수 있습니다. 지정되지 않은 경우, 패스의 기존 property_set 속성이 사용됩니다(설정된 경우).

리턴

변환이 성공하면, 결과값인 QuantumCircuit이 반환됩니다. 분석이 통과되면 입력 회로로 연결됩니다.

리턴 유형

QuantumCircuit

execute

execute(passmanager_ir, state, callback=None)

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

매개변수

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

리턴

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

리턴 유형

튜플[ DAGCircuit, PassManagerState ]

name

name()

패스 이름.

리턴 유형

str

run

run(dag)

GitHub

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

매개변수

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

리턴

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

레이즈

TranspilerError - 특정 노드가 예약되지 않은 경우, 이 노드가 호출되기 전에 일부 트랜스폼 패스가 삽입될 수 있습니다.

리턴 유형

DAG 회로

update_status

update_status(state, run_state)

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

매개변수

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

리턴

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

리턴 유형

PassManagerState

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