Skip to main content
IBM Quantum Platform

ASAPScheduleAnalysis

class ASAPScheduleAnalysis(*args, **kwargs)

GitHub

베이스: BaseDynamicCircuitAnalysis

동적 회로는 가능한 한 빨리(ASAP) 스케줄링 분석 패스를 사용합니다.

하드웨어의 제한으로 인해 동적 회로 백엔드의 고유한 스케줄링 제약 조건에 맞게 설계된 스케줄러입니다. 이는 동적 회로 백엔드도 변화함에 따라 시간이 지남에 따라 진화할 것으로 예상됩니다.

현재 형태에서는 가능한 한 빨리 명령이 시작되는 키스킷의 ASAP 스케줄러와 유사합니다.

주요 차이점은 다음과 같습니다:

  • 현재 리셋과 제어 흐름은 “양자 블록”의 종료를 유발합니다. ~ 사이의 기간

    블록의 끝이며, 다음 블록은 결정적입니다. 즉, 다음 블록이 언제 시작될지 알 수 없습니다(비결정적 길이의 고전적 함수를 평가하고 있을 수 있기 때문이며), 따라서 다음 블록은 상대적 지점( t=0 )에서 시작됩니다.

  • 측정하는 동안 분리된 큐비트에 게이트를 병렬로 적용할 수 있습니다.

  • 분리된 큐비트에 대한 측정과 초기화는 동시에 이루어지며, 이는 동일한 과정의 일부입니다.

    예측할 수 있습니다.


속성

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에서 ALAPSchedule 패스를 실행합니다.

매개변수

dag (DAGCircuit) – DAG를 일정에 반영합니다.

레이즈

  • TranspilerError - 회로가 물리적 큐비트에 매핑되지 않은 경우.
  • TranspilerError - 조건부 비트가 지원되지 않는 명령어에 추가되는 경우.

리턴

예약된 DAGCircuit.

리턴 유형

DAGCircuit

update_status

update_status(state, run_state)

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

매개변수

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

리턴

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

리턴 유형

PassManagerState

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