Backends and Batching

“Backend” is the term used in Nexus to mean the provider of quantum (or simulation/emulation) compute power.

Backends act as an interface for submitting circuits and provide a way for quantum software to be platform independent: the compilation and execution steps accept an instance of a backend class as an argument. That means that with little alteration, quantum programs can be edited to run against alternative providers, whether simulators, emulators or real quantum hardware.

Represented in Python code, a backend is an instance of a class called SomethingConfig - for example, QuantinuumConfig - and each provider class will accept or require different parameters. Also, one backend can encompass multiple quantum devices. For example, the QuantinuumConfig backend accepts a device_name parameter which allows the calling code to choose between the available hardware devices, syntax checkers and emulators.

Job Queues in Nexus

Nexus operates a First-In First-Out (FIFO) queue for all compilation jobs, in addition to execution jobs submitted to nexus-hosted emulators and simulators.

Execute jobs submitted to Quantinuum Systems are passed by Nexus to the appropriate queue for that backend as soon as the job is submitted to Nexus.

Supported backends

The following backends are supported:

  • Aer - a Nexus-hosted simulator running Qiskit’s Aer engine (AerState and AerUnitary are also supported).

  • Quantinuum - access to Quantinuum Systems hardware and emulators. When you use these options through Nexus, your Nexus login is automatically used to interact with Quantinuum Systems, where necessary. Your account may have access to any or all of H2, H2, syntax checkers, simulators and emulators with advanced noise models.

    Emulators may be hosted by Nexus or by Quantinuum. In this context, “Hosted by Nexus” means that use will be via your Nexus quota and Nexus’s internal job queue, whereas “Hosted by Quantinuum” means that use will be via your Hardware Quantum Credits (HQC) and subject to the queuing explained in the [Quantinuum Systems documentation](https://docs.quantinuum.com/systems/).

  • Qulacs - a Nexus-hosted simulator running the Qulacs engine.

Find out more about the backends available through Nexus from the “Backends” link in the main menu.

For full details about backends, refer to pytket documentation section on backends. Nexus uses pytket to convert circuits to run on different providers, so Nexus backends correspond to pytket backends.

Backend Availability

Backend availability can be checked on the backends page in the Nexus website. For Quantinuum Systems a calender view (showing machine availability in a calender month) is available on the page for the specific backend.

Batching behavior

Quantinuum backends

Please review: Batch Jobs.