An optimization of traditional CPU emulation techniques for execution on a quantum computer

James Fitzjohn,George Wilson,Domenico Vicinanza,Adrian Winckles
DOI: https://doi.org/10.1007/s11128-024-04524-5
IF: 1.965
2024-10-01
Quantum Information Processing
Abstract:The use and adoption of quantum computers by the wider computing community is diminished by the need to adopt new programming techniques. These techniques involve moving from a high-level language where the programmer can define and manipulate objects, to a quantum model where the programmer defines and configures the circuits at a gate level. Previous work by the authors aimed to ease this transition through the use of a software development kit (Qx86 SDK) that emulates a traditional CPU for execution on a quantum computer, but only delivered a raw capability. The current work now presents a number of new methods that extends and improves the SDK's capability. These methods include optimizing traditional logic gate emulation, multiple gate simplification methods, reducing the number of required qubits and alternative optimized techniques for many CPU instructions. A quantum machine code mapping method is described that enhances the emulation of a traditional/quantum hybrid CPU prototype. While still orders of magnitude slower than the performance of a traditional CPU in terms of arithmetic, logic and bitwise operations, execution speed is shown to be markedly improved (in some cases by more than 1,000%) and without introducing any unrealistic requirements (that is, all execution can be performed utilizing less than 32 qubits). The usefulness of the SDK has now been enhanced as a reference guide, where the programmer/researcher can contrast traditional methods versus multiple quantum methods of execution.
physics, multidisciplinary,quantum science & technology, mathematical
What problem does this paper attempt to address?