Different platforms for quantum computation are currently being developed with a steadily increasing number of physical qubits. To make today's devices practical for quantum software engineers, novel programming tools with maximal flexibility have to be developed. One example to extend the applicability of quantum computers to more complex computational problems is quantum control flow. The concept of control flow allows for expanded algorithmic power of the programming language in the form of conditional statements and loops, which a linearly-executed program is incapable of computing. In this work, we introduce a framework to reconcile the non-deterministic properties of quantum control flow when allocating logical qubits from a given quantum circuit to a specific NISQ device in the pre-processing and compiling stage. We consider the respective connectivity and fidelity constraints, with the goal of reducing the expected error rate of the computation. This work will allow for quantum developers and NISQ devices together to more efficiently exploit the compelling algorithmic power that the quantum Turing machine model provides.
Different platforms for quantum computation are currently being developed with a steadily increasing number of physical qubits. To make today's devices practical for quantum software engineers, novel programming tools with maximal flexibility have to be developed. One example to extend the applicability of quantum computers to more complex computational problems is quantum control flow. The concept of control flow allows for expanded algorithmic power of the programming language in the form of conditional statements and loops, which a linearly-executed program is incapable of computing. In this work, we introduce a framework to reconcile the non-deterministic properties of quantum control flow when allocating logical qubits from a given quantum circuit to a specific NISQ device in the pre-processing and compiling stage. We consider the respective connectivity and fidelity constraints, with the goal of reducing the expected error rate of the computation. This work will allow for quantum developers and NISQ devices together to more efficiently exploit the compelling algorithmic power that the quantum Turing machine model provides.
In May of 2016, IBM Research has made a quantum processor available in the cloud to the general public. The possibility of programming an actual quantum device has elicited much enthusiasm. Yet, quantum programming still lacks the compiler support that modern programming languages enjoy today. To use universal quantum computers like IBM's, programmers must design low-level circuits. In particular, they must map logical qubits into physical qubits that need to obey connectivity constraints. This task resembles the early days of programming, in which software was built in machine languages. In this paper, we formally introduce the qubit allocation problem and provide an exact solution to it. This optimal algorithm deals with the simple quantum machinery available today; however, it cannot scale up to the more complex architectures scheduled to appear. Thus, we also provide a heuristic solution to qubit allocation, which is faster than the current solutions already implemented to deal with this problem.
Today's quantum computing is performed on Noisy Intermediate-Scale Quantum (NISQ) hardware. The NISQ era allows for a limited number of qubits with several physical limitations. As NISQ devices have unavoidable noisy quantum operations, we can execute only small circuits on a quantum machine to get reliable results. But, this leads to the quantum hardware under-utilization issue. With the increase of hardware qubit number and the improvement of error rates, it becomes possible to execute multiple circuits on a quantum chip simultaneously, enhancing the throughput and the utilization of NISQ hardware. Thus, we address a timely problem on how to execute reliably multiple quantum programs on given quantum hardware. This is the first attempt to propose a complete multi-programming process flow for executing an optimal number of workloads in parallel, ensuring output fidelity by analyzing the hardware limitations.
In May of 2016, IBM Research has made a quantum processor available in the cloud to the general public. The possibility of programming an actual quantum device has elicited much enthusiasm. Yet, quantum programming still lacks the compiler support that modern programming languages enjoy today. To use universal quantum computers like IBM's, programmers must design low-level circuits. In particular, they must map logical qubits into physical qubits that need to obey connectivity constraints. This task resembles the early days of programming, in which software was built in machine languages. In this paper, we formally introduce the qubit allocation problem and provide an exact solution to it. This optimal algorithm deals with the simple quantum machinery available today; however, it cannot scale up to the more complex architectures scheduled to appear. Thus, we also provide a heuristic solution to qubit allocation, which is faster than the current solutions already implemented to deal with this problem.
In May of 2016, IBM Research has made a quantum processor available in the cloud to the general public. The possibility of programming an actual quantum device has elicited much enthusiasm. Yet, quantum programming still lacks the compiler support that modern programming languages enjoy today. To use universal quantum computers like IBM's, programmers must design low-level circuits. In particular, they must map logical qubits into physical qubits that need to obey connectivity constraints. In this work, we shall formally introduce the qubit allocation problem and provide an exact solution to it. This optimal algorithm deals with the simple quantum machinery available today; however, it cannot scale up to the more complex architectures scheduled to appear. Thus, we will also provide heuristics to solve qubit allocation, one of which is faster, and another one that performs better than the current solutions already implemented to deal with this problem.
In recent years, the advancement of quantum computers has been improving, with its use increasing in practical applications, including noisy intermediate-scale quantum (NISQ) technology. However, an obstacle that limits quantum computer usage is the connectivity restriction between logical and physical qubits. For performing quantum entanglement on NISQ machines, two logical qubits must be mapped to physical qubit pairs that much up to the connectivity constraint. This mapping process must insert additional operations into an initial quantum circuit. Many powerful algorithms have been proposed to solve the mapping problem, which also mitigate circuit size or depth and improve the fidelity of the quantum state. In this review paper, we present various studies for solving qubit mapping or allocation problems and analyze their time complexity and methods.
In the era of noisy-intermediate-scale quantum computers, we expect to see quantum devices with increasing numbers of qubits emerge in the foreseeable future. To practically run quantum programs, logical qubits have to be mapped to the physical qubits by a qubit allocation algorithm. However, on present day devices, qubits differ by their error rate and connectivity. Here, we establish and demonstrate on current experimental devices a new allocation algorithm that combines the simulated annealing method with local search of the solution space using Dijkstra's algorithm. Our algorithm takes into account the weighted connectivity constraints of both the quantum hardware and the quantum program being compiled. New quantum programs will enable unprecedented developments in physics, chemistry, and materials science and our work offers an important new pathway toward optimizing compilers for quantum programs.