IQMPulseJob

Contents

IQMPulseJob#

Module: iqm.qrisp_iqm.backends.iqm_pulse_job

class iqm.qrisp_iqm.backends.iqm_pulse_job.IQMPulseJob(job: T_JobTracker, *, backend: iqm.qrisp_iqm.backends.backend.IQMBackend)#

Bases: IQMJob[RunJobTracker]

Job handle for pulse-level circuit execution.

Returned by run_async() when the submitted circuit contains IQMPulseOperation instructions. The circuit is compiled locally to a pulse schedule and submitted as a pulse-level job.

Example:

>>> from qrisp import QuantumCircuit
>>> from iqm.qrisp_iqm import IQMBackend, IQMPulseOperation, IQMPulseJob
>>> from iqm.qrisp_iqm.custom_pulse_operations import delay_quantum_op
>>> backend = IQMBackend(device_instance="garnet", token="...")
>>> qc = QuantumCircuit(2)
>>> qc.h(0); qc.cx(0, 1)
>>> qc.append(IQMPulseOperation(delay_quantum_op, {"duration": 100e-9}), [qc.qubits[0]])
>>> qc.measure(qc.qubits)
>>> job = backend.run_async(qc, shots=1000)
>>> isinstance(job, IQMPulseJob)
True
>>> result = job.result()  # waits for completion, returns JobResult

Attributes

Methods

Parameters:
  • job (T_JobTracker)

  • backend (qrisp_IQMBackend)

Inheritance

Inheritance diagram of iqm.qrisp_iqm.backends.iqm_pulse_job.IQMPulseJob