Skip to main content
IBM Quantum Platform

BackendV2

class qiskit.providers.BackendV2(provider=None, name=None, description=None, online_date=None, backend_version=None, **fields)

GitHub

Bases: Backend, ABC

백엔드용 추상 클래스

이 추상 클래스는 공급자가 생성한 모든 백엔드 객체에 사용됩니다. 이 버전은 구성 속성이 더 이상 존재하지 않는다는 점에서 이전의 추상적인 백엔드 클래스와 다릅니다. 대신 백엔드 디바이스의 필수 불변 속성을 노출하는 속성이 추가됩니다. 예를 들어 backend.configuration().n_qubits 이제 backend.num_qubits 에서 액세스할 수 있습니다.

백엔드의 options 속성은 백엔드의 동적 사용자 구성 가능 옵션을 포함하는 데 사용됩니다. 백엔드 사용 방식을 구성하는 런타임 옵션에 더 많이 사용해야 합니다. 예를 들어, 실험을 실행하는 백엔드의 shots 필드에는 실행할 샷 수에 대한 인수가 포함될 수 있습니다.

get_scheduling_stage_plugin백엔드 객체에는 선택적으로 및 이라는 이름의 get_translation_stage_plugin 메서드가 포함될 수 있습니다. 백엔드 객체에 이러한 메서드가 존재하고, 이 객체가 또는 generate_preset_pass_manager() 에 transpile() 사용되는 경우, 트랜스파일링 프로세스는 기본적으로 해당 메서드에서 반환된 결과를 스케줄링 단계와 번역 컴파일 단계에 사용하게 됩니다. 이를 통해 컴파일 시 특정 요구 사항이 있는 백엔드는 해당 단계에 대한 스테이지 플러그인을 지정하여 회로를 사용자 정의 방식으로 변환함으로써, 회로가 해당 백엔드에서 실행 가능하도록 보장할 수 있습니다. 이 후크들은 기본적으로 활성화되어 있으며, 회로가 백엔드에서 실행 가능하도록 하거나 예상되는 수준의 성능을 보장하기 위해 추가 컴파일 단계가 필요한 경우에만 사용해야 합니다. 이 메서드들은 입력 인수를 받지 않으며, 스테이지 플러그인이어야 하는 메서드 이름을 나타내는 값을 str 반환해야 합니다(플러그인에 대한 자세한 내용은 참조 qiskit.transpiler.preset_passmanagers.plugin ). 일반적인 사용 사례는 백엔드 제공자가 사용자 정의 컴파일 단계를 포함하는 또는 scheduling 용 translation 스테이지 플러그인을 구현하고, 백엔드 객체의 훅 메서드가 해당 플러그인 이름을 반환하도록 하여, transpile() 가 해당 백엔드를 대상으로 할 때 이를 기본값으로 사용하도록 하는 것입니다.

이것의 서브클래스는 공용 메서드인 run() 와 내부 _default_options():

_default_options

abstractmethod classmethod _default_options()

GitHub

기본 옵션 반환

이 메서드는 기본 옵션에 사용되는 qiskit.providers.Options 서브클래스 객체를 반환합니다. 백엔드 옵션에 사용할 기본 매개변수입니다.

리턴

옵션 객체는

기본값 설정

리턴 유형

qiskit.providers.Options

BackendV2 기반 백엔드 초기화

매개변수

  • 공급자 - 백엔드의 공급자 객체에 대한 선택적 역방향 참조입니다
  • name (str | None) – 백엔드의 선택적 이름
  • description (str | None) – 백엔드에 대한 선택적 설명
  • online_date (datetime | None) – 백엔드가 가동된 날짜 및 시간(선택 사항)
  • backend_version (str | None) – 선택적인 백엔드 버전 문자열. 이는 속성과는 version 다르며, version 는 객체의 추상 Backend 인터페이스 버전을 나타내는 반면, 는 backend_version 백엔드 자체의 버전을 나타내기 때문입니다.
  • 필드 - 기본 옵션을 재정의하는 데 사용할 값에 대한 kwarg입니다.

레이즈

AttributeError – 백엔드의 옵션 범위를 벗어난 필드가 지정된 경우


속성

coupling_map

반환하는 CouplingMap 객체

dt

입력 신호의 시스템 시간 분해능 반환

백엔드에서 펄스 스케줄링을 지원하는 경우 이 기능을 구현해야 합니다.

리턴

입력 신호 시간 간격(초)입니다. 백엔드에서 dt 을 정의하지 않으면 None 이 반환됩니다.

dtm

출력 신호의 시스템 시간 분해능 반환

리턴

출력 신호 시간 간격(초)입니다.

레이즈

NotImplementedError – 백엔드가 출력 신호의 시간 단계 조회를 지원하지 않는 경우

instruction_durations

반환하는 InstructionDurations 객체를 반환합니다.

instructions

양식 백엔드의 명령 튜플 목록 (instruction, (qubits))

max_circuits

단일 작업에서 실행할 수 있는 최대 회로 수입니다.

제한이 없는 경우 없음이 반환됩니다

meas_map

다중화된 측정값의 그룹을 반환합니다

백엔드에서 펄스 스케줄링을 지원하는 경우 이 기능을 구현해야 합니다.

리턴

다중화된 측정값의 그룹화

레이즈

NotImplementedError – 백엔드가 측정 항목 매핑 쿼리를 지원하지 않는 경우

num_qubits

백엔드에 있는 큐비트 수를 반환합니다.

operation_names

백엔드에서 지원하는 명령어 이름 목록입니다.

operations

백엔드에서 지원하는 Instruction 인스턴스 목록입니다.

options

백엔드에 대한 옵션을 반환합니다

백엔드의 옵션은 백엔드 사용 방식을 정의하는 동적 매개변수입니다. 메서드를 제어하는 데 사용됩니다 run() 메서드를 제어하는 데 사용됩니다.

provider

백엔드 공급자를 반환합니다.

리턴

백엔드를 담당하는 공급업체입니다.

리턴 유형

제공자

target

A qiskit.transpiler.Target 객체를 백엔드에 전달합니다.

리턴 유형

대상

version

기본값: 2

name

백엔드 이름입니다.

description

사람이 읽을 수 있는 설명(선택 사항).

online_date

백엔드가 온라인 상태가 된 날짜입니다.

backend_version

제공 중인 백엔드 버전입니다. 이것은 버전인 BackendV2.version의 버전인 Backend 와는 다릅니다.


메소드

qubit_properties

qubit_properties(qubit)

GitHub

주어진 큐비트에 대해 QubitProperties 를 반환합니다.

정의되어 있지 않거나 백엔드에서 이러한 세부 정보 쿼리를 지원하지 않는 경우 이 메서드를 구현할 필요가 없습니다.

매개변수

qubit (int |list[int]) – 해당 QubitProperties 객체를 얻기 위한 큐비트. 이는 1 큐비트에 해당하는 단일 정수이거나 큐비트 목록일 수 있으며, 객체 QubitProperties 목록이 동일한 순서대로 반환됩니다

리턴

지정된 큐비트에 대한 QubitProperties 객체를 반환합니다. 큐비트 목록이 제공되면 목록이 반환됩니다. 큐비트에 대한 프로퍼티가 누락된 경우 None.

레이즈

NotImplementedError – 백엔드가 큐비트 속성 쿼리를 지원하지 않는 경우

리턴 유형

QubitProperties | list [ QubitProperties ]

run

abstractmethod run(run_input, **options)

GitHub

백엔드에서 실행합니다.

이 메서드는 회로를 실행하는 Job 객체를 반환합니다. 백엔드에 따라 비동기 또는 동기 호출이 될 수 있습니다. 실행이 완료될 때까지 실행을 차단할지 여부는 공급자의 재량에 따라 결정되며, Job 클래스는 두 가지 상황을 모두 처리할 수 있습니다.

매개변수

  • run_input (QuantumCircuit orlist) – 백엔드에서 실행할 객체 하나 또는 객체 QuantumCircuit 목록.
  • 옵션 - 구성 실행을 위해 백엔드에 전달할 모든 kwarg 옵션입니다. 키가 옵션 속성/객체에도 있는 경우 옵션 객체에 설정된 값 대신 지정된 값이 사용될 것으로 예상됩니다.

리턴

실행할 작업 개체

리턴 유형

작업

set_options

set_options(**fields)

GitHub

백엔드에 대한 옵션 필드 설정

이 방법은 백엔드의 옵션을 업데이트하는 데 사용됩니다. 실행하기 전에 옵션을 변경해야 하는 경우 옵션에 대한 새 값과 함께 kwarg를 전달하면 됩니다.

매개변수

필드 - 옵션을 업데이트할 필드

레이즈

AttributeError – 전달된 필드가 옵션에 포함되어 있지 않은 경우

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