CUNQA reference

This section will explain deeper the main components of CUNQA. As CUNQA manages the resources of a quantum infrastructure through a set of bash commands and provides an platform-user interaction through a Python API, this section is divided into two subsections: resource management and Python API.

Resource management

Three commands cover the quantum infrastructures management: qraise, qdrop, and qinfo.

  • qraise. Responsible for deploying the vQPUs to build DQC infrastructures.

  • qdrop. Responsible for releasing the resources of vQPUs when they are no longer needed.

  • qinfo. Built to obtain information about the available vQPUs.

Python API

The Python API handles two basic things: the interaction user-vQPU by sending and receiving quantum tasks and the actual design of quantum tasks.

  • The module cunqa.qpu allows submitting quantum tasks and retrieving their result to one or several vQPUs by leveraging the tools provided by the cunqa.qjob and cunqa.result modules.

  • The design of circuits is handled by the module circuit. This module contains a class called CunqaCircuit which contains the necessary directives to model a quantum task with and without communications. It also contains the submodule transformations, a series of special directives to perform cuts and unions of different circuits.

Module

Description

cunqa.qpu

Contains the QPU class and the main functions interact with vQPUs.

cunqa.qjob

Contains the class that defines and manages quantum jobs.

cunqa.result

Contains the Result, which contains the output of the executions.

cunqa.mappers

Contains map-like callables to distribute circuits among vQPUs.

cunqa.circuit

Quantum circuit abstraction for the cunqa API.