BackendV2
class qiskit.providers.BackendV2(provider=None, name=None, description=None, online_date=None, backend_version=None, **fields)
백엔드용 추상 클래스
이 추상 클래스는 공급자가 생성한 모든 백엔드 객체에 사용됩니다. 이 버전은 구성 속성이 더 이상 존재하지 않는다는 점에서 이전의 추상적인 백엔드 클래스와 다릅니다. 대신 백엔드 디바이스의 필수 불변 속성을 노출하는 속성이 추가됩니다. 예를 들어 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()
기본 옵션 반환
이 메서드는 기본 옵션에 사용되는 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
instruction_durations
반환하는 InstructionDurations 객체를 반환합니다.
instructions
양식 백엔드의 명령 튜플 목록 (instruction, (qubits))
max_circuits
단일 작업에서 실행할 수 있는 최대 회로 수입니다.
제한이 없는 경우 없음이 반환됩니다
meas_map
다중화된 측정값의 그룹을 반환합니다
백엔드에서 펄스 스케줄링을 지원하는 경우 이 기능을 구현해야 합니다.
리턴
다중화된 측정값의 그룹화
레이즈
NotImplementedError – 백엔드가 측정 항목 매핑 쿼리를 지원하지 않는 경우
num_qubits
백엔드에 있는 큐비트 수를 반환합니다.
operation_names
백엔드에서 지원하는 명령어 이름 목록입니다.
operations
백엔드에서 지원하는 Instruction 인스턴스 목록입니다.
options
백엔드에 대한 옵션을 반환합니다
백엔드의 옵션은 백엔드 사용 방식을 정의하는 동적 매개변수입니다. 메서드를 제어하는 데 사용됩니다 run() 메서드를 제어하는 데 사용됩니다.
provider
target
version
기본값: 2
name
백엔드 이름입니다.
description
사람이 읽을 수 있는 설명(선택 사항).
online_date
백엔드가 온라인 상태가 된 날짜입니다.
backend_version
제공 중인 백엔드 버전입니다. 이것은 버전인 BackendV2.version의 버전인 Backend 와는 다릅니다.
메소드
qubit_properties
qubit_properties(qubit)
주어진 큐비트에 대해 QubitProperties 를 반환합니다.
정의되어 있지 않거나 백엔드에서 이러한 세부 정보 쿼리를 지원하지 않는 경우 이 메서드를 구현할 필요가 없습니다.
매개변수
qubit (int |list[int]) – 해당 QubitProperties 객체를 얻기 위한 큐비트. 이는 1 큐비트에 해당하는 단일 정수이거나 큐비트 목록일 수 있으며, 객체 QubitProperties 목록이 동일한 순서대로 반환됩니다
리턴
지정된 큐비트에 대한 QubitProperties 객체를 반환합니다. 큐비트 목록이 제공되면 목록이 반환됩니다. 큐비트에 대한 프로퍼티가 누락된 경우 None.
레이즈
NotImplementedError – 백엔드가 큐비트 속성 쿼리를 지원하지 않는 경우
리턴 유형
run
abstractmethod run(run_input, **options)
백엔드에서 실행합니다.
이 메서드는 회로를 실행하는 Job 객체를 반환합니다. 백엔드에 따라 비동기 또는 동기 호출이 될 수 있습니다. 실행이 완료될 때까지 실행을 차단할지 여부는 공급자의 재량에 따라 결정되며, Job 클래스는 두 가지 상황을 모두 처리할 수 있습니다.
매개변수
- run_input (QuantumCircuit orlist) – 백엔드에서 실행할 객체 하나 또는 객체
QuantumCircuit목록. - 옵션 - 구성 실행을 위해 백엔드에 전달할 모든 kwarg 옵션입니다. 키가 옵션 속성/객체에도 있는 경우 옵션 객체에 설정된 값 대신 지정된 값이 사용될 것으로 예상됩니다.
리턴
실행할 작업 개체
리턴 유형
set_options
set_options(**fields)
백엔드에 대한 옵션 필드 설정
이 방법은 백엔드의 옵션을 업데이트하는 데 사용됩니다. 실행하기 전에 옵션을 변경해야 하는 경우 옵션에 대한 새 값과 함께 kwarg를 전달하면 됩니다.
매개변수
필드 - 옵션을 업데이트할 필드
레이즈
AttributeError – 전달된 필드가 옵션에 포함되어 있지 않은 경우