James Fitzjohn, George Wilson, Domenico Vicinanza, Adrian Winckles
{"title":"An optimization of traditional CPU emulation techniques for execution on a quantum computer","authors":"James Fitzjohn, George Wilson, Domenico Vicinanza, Adrian Winckles","doi":"10.1007/s11128-024-04524-5","DOIUrl":null,"url":null,"abstract":"<div><p>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.</p></div>","PeriodicalId":746,"journal":{"name":"Quantum Information Processing","volume":"23 10","pages":""},"PeriodicalIF":2.2000,"publicationDate":"2024-09-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://link.springer.com/content/pdf/10.1007/s11128-024-04524-5.pdf","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Quantum Information Processing","FirstCategoryId":"101","ListUrlMain":"https://link.springer.com/article/10.1007/s11128-024-04524-5","RegionNum":3,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"PHYSICS, MATHEMATICAL","Score":null,"Total":0}
引用次数: 0
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.
由于需要采用新的编程技术,量子计算机在更广泛的计算领域的使用和应用受到了削弱。这些技术涉及从程序员可以定义和操作对象的高级语言,转向程序员在门级定义和配置电路的量子模型。作者之前的工作旨在通过使用软件开发工具包(Qx86 SDK)来简化这一转变,该工具包可模拟传统 CPU 在量子计算机上的执行,但只能提供原始功能。目前的工作提出了许多新方法,扩展并改进了 SDK 的能力。这些方法包括优化传统逻辑门仿真、多门简化方法、减少所需的量子位数量以及许多 CPU 指令的替代优化技术。介绍了一种量子机器代码映射方法,该方法增强了对传统/量子混合 CPU 原型的仿真。虽然在算术、逻辑和比特运算方面仍比传统 CPU 的性能慢几个数量级,但执行速度明显提高(在某些情况下提高了 1000%以上),而且没有引入任何不切实际的要求(即所有执行都可以利用少于 32 量子位来执行)。现在,SDK 作为参考指南的实用性得到了增强,程序员/研究人员可以将传统方法与多种量子执行方法进行对比。
期刊介绍:
Quantum Information Processing is a high-impact, international journal publishing cutting-edge experimental and theoretical research in all areas of Quantum Information Science. Topics of interest include quantum cryptography and communications, entanglement and discord, quantum algorithms, quantum error correction and fault tolerance, quantum computer science, quantum imaging and sensing, and experimental platforms for quantum information. Quantum Information Processing supports and inspires research by providing a comprehensive peer review process, and broadcasting high quality results in a range of formats. These include original papers, letters, broadly focused perspectives, comprehensive review articles, book reviews, and special topical issues. The journal is particularly interested in papers detailing and demonstrating quantum information protocols for cryptography, communications, computation, and sensing.