Skip to main content
IBM Quantum Platform

BasePassManager

class qiskit.passmanager.BasePassManager(tasks=(), max_iteration=1000)

GitHub

베이스: Generic[IR], ABC

패스 관리자 기본 클래스.

빈 패스 관리자 개체를 초기화합니다.

매개변수

  • tasks (Task[IR, IR] | list[Task[IR, IR]]) – 패스 매니저 일정에 추가될 패스 세트.
  • max_iteration (int) – 조건이 충족되지 않을 경우 일정이 반복되는 최대 횟수입니다.

메소드

append

append(tasks)

GitHub

패스 일정에 작업을 추가합니다.

매개변수

tasks (Task[IR, IR] | list[Task[IR, IR]]) – 스케줄에 추가할 패스 관리자 작업 세트.

레이즈

TypeError – tasks의 요소 중 하나가 passmanager Task의 하위 클래스가 아닐 때 발생합니다.

리턴 유형

없음

remove

remove(index)

GitHub

스케줄러에서 특정 패스를 제거합니다.

매개변수

index (int) – 에서 해당 위치에 따라 제거할 인덱스를 전달합니다 passes().

레이즈

PassManagerError – 인덱스를 찾을 수 없는 경우.

리턴 유형

없음

replace

replace(index, tasks)

GitHub

스케줄러에서 특정 패스를 교체합니다.

매개변수

  • index (int) – 다음의 위치에 따라 대체할 작업 인덱스 tasks()
  • tasks (Task[IR, IR] | list[Task[IR, IR]]) – 스케줄에 추가할 패스 관리자 작업 세트.

레이즈

  • TypeError – tasks의 요소 중 하나가 passmanager Task의 하위 클래스가 아닐 때 발생합니다.
  • PassManagerError – 인덱스를 찾을 수 없는 경우.

리턴 유형

없음

run

run(in_programs, callback=None, num_processes=None, *, property_set=None, **kwargs)

GitHub

지정된 in_programs 에서 모든 패스를 실행합니다.

매개변수

  • in_programs (Any |list[Any]) – 등록된 모든 패스를 통해 변환할 입력 프로그램들. 단일 입력 객체는 Python 내장 리스트 객체일 수 없습니다. 목록 객체는 최적화 대상인 여러 입력 객체로 간주됩니다.

  • callback (Callable[[Task, IR, PropertySet, float, int], None] | None) –

    각 패스 실행 후 호출되는 콜백 함수. 이 함수는 5개의 키워드 인수를 받아 호출됩니다:

    task (GenericPass): the pass being run
    passmanager_ir (Any): depending on pass manager subclass
    property_set (PropertySet): the property set
    running_time (float): the time to execute the pass
    count (int): the index for the pass execution

    전달된 정확한 인수는 패스 관리자의 내부 구조를 드러내며, 패스 관리자의 내부 구조가 변경됨에 따라 변경될 수 있습니다. 여러 버전에 걸쳐 콜백 함수를 재사용하려는 경우, 전달되는 인수가 동일한지 반드시 확인하십시오.

    콜백 기능을 사용하려면 kwargs dict를 받아 변수에 액세스하는 함수를 정의합니다. 예를 들어,

    def callback_func(**kwargs):
        task = kwargs['task']
        passmanager_ir = kwargs['passmanager_ir']
        property_set = kwargs['property_set']
        running_time = kwargs['running_time']
        count = kwargs['count']
        ...
  • num_processes (int | None) – 병렬 실행이 활성화된 경우 시작할 수 있는 병렬 프로세스의 최대 개수입니다. 이 설정은 사용자 설정 파일과 환경 QISKIT_NUM_PROCS 변수의 num_processes 설정을 재정의합니다. 이 옵션이 설정된 경우 시스템 None 기본값 또는 로컬 사용자 설정이 사용됩니다.

  • property_set (dict[str, object] | None) – 지정된 경우, 패스 매니저 파이프라인의 PropertySet 초기값으로 사용될 값입니다. 분석 결과를 안전하게 공유할 수 있다고 판단되는 경우, 이를 통해 한 실행에서 다음 실행으로 분석 결과를 유지할 수 있습니다. 일부 분석은 입력 회로와 특정 조건에 따라 달라질 수 있으므로 Target, 이 논증을 사용할 때는 각별히 주의해야 합니다.

  • kwargs - 컴파일러 프론트엔드 및 백엔드에 전달되는 임의의 인수입니다.

리턴

변환된 프로그램입니다.

리턴 유형

어떤

to_flow_controller

to_flow_controller()

GitHub

이 관리자를 하나의 FlowControllerLinear로 선형화하여 다른 패스 관리자 안에 중첩할 수 있도록 합니다.

리턴

선형화된 패스 관리자.

리턴 유형

Flow[* ControllerLinearIR*, IR]

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