iqm.pulla.utils_qiskit.IQMPullaBackend

iqm.pulla.utils_qiskit.IQMPullaBackend#

class iqm.pulla.utils_qiskit.IQMPullaBackend(architecture, pulla, compiler)#

Bases: IQMBackendBase

A backend that compiles circuits locally using Pulla and submits them to Station Control for execution.

Parameters:
  • architecture (DynamicQuantumArchitecture) – Describes the backend architecture.

  • pulla (Pulla) – Instance of Pulla used to execute the circuits.

  • compiler (Compiler) – Instance of Compiler used to compile the circuits.

Attributes

max_circuits

The maximum number of circuits (or Pulse schedules) that can be run in a single job.

architecture

Dynamic quantum architecture of the backend instance.

name

Name of the backend.

description

Optional human-readable description.

online_date

Date that the backend came online.

backend_version

Version of the backend being provided.

Methods

_default_options()

Return the default options

run(run_input, **options)

Run on the backend.

run(run_input, **options)#

Run on the backend.

This method returns a Job object that runs circuits. Depending on the backend this may be either an async or sync call. It is at the discretion of the provider to decide whether running should block until the execution is finished or not: the Job class can handle either situation.

Parameters:
  • run_input (QuantumCircuit or Schedule or ScheduleBlock or list) – An individual or a list of QuantumCircuit, ScheduleBlock, or Schedule objects to run on the backend.

  • options – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object.

Returns:

The job object for the run

Return type:

Job

property max_circuits: int | None#

The maximum number of circuits (or Pulse schedules) that can be run in a single job.

If there is no limit this will return None