CN108647790A - 用于统一量子计算机和量子虚拟机的接口系统及方法 - Google Patents
用于统一量子计算机和量子虚拟机的接口系统及方法 Download PDFInfo
- Publication number
- CN108647790A CN108647790A CN201810469329.0A CN201810469329A CN108647790A CN 108647790 A CN108647790 A CN 108647790A CN 201810469329 A CN201810469329 A CN 201810469329A CN 108647790 A CN108647790 A CN 108647790A
- Authority
- CN
- China
- Prior art keywords
- quantum
- interface
- virtual machine
- computer
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000004364 calculation method Methods 0.000 claims abstract description 33
- 230000026676 system process Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims 1
- 238000010079 rubber tapping Methods 0.000 claims 1
- 230000000694 effects Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 230000009466 transformation Effects 0.000 description 10
- 239000002096 quantum dot Substances 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 235000013399 edible fruits Nutrition 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000004088 simulation Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了用于统一量子计算机和量子虚拟机的接口系统及方法,属于量子计算领域。针对现有技术无法在量子计算机上使用量子指令集实现运行于量子虚拟机的量子程序的问题,本发明按照计算单元类型分别提供CPU量子虚拟机接口类和GPU量子虚拟机接口类,可让开发人员根据自己计算资源选择不同类型的量子虚拟机。本方案把操作量子计算机的指令填充到经典计算机的固定内存空间,FPGA驱动系统会根据指令的类型控制微波发射器发送对应的波形,以达到控制量子计算机的目的。避免了量子程序无法在量子虚拟机和量子计算机上复用的缺点,方便开发人员在无量子计算机的前提下,使用量子虚拟机进行开发,并且在量子程序开发完成之后,可以复用到量子计算机。
Description
技术领域
本发明提供了一种用于统一量子计算机和量子虚拟机的对外接口的方法,属于量子计算领域。
背景技术
量子计算机因其具有相对普通计算机更高效的处理数学问题的能力,例如能将破解RSA密钥的时间从数百年加速到数小时,故成为一种正在研究中的关键技术。然而,现阶段的量子计算机的原型机的量子位数量较少,实际处理速度还没有经典计算机快。为了解决这个问题,人们用量子虚拟机对量子计算机的行为进行预测,这种方法通常用来验证量子算法或者量子计算机行为的正确性,对量子算法和量子计算机设计进行指导。而量子虚拟机是人们使用经典计算机语言实现的对代表量子逻辑门的幺正变换矩阵和代表量子态的复数矢量之积的模拟,人们可使用量子指令集编写的量子程序在经典计算机上操控量子虚拟机对量子态的变化进行分析与仿真。
然而,由于量子虚拟机是使用经典计算机语言实现,导致其只能在经典计算机上执行,即无法控制量子计算机。因为,在没有统一量子虚拟机和量子计算机对外接口的前提下,量子计算机无法识别经典计算机的可执行程序,无法识别经典计算机发出的指令,无法复用量子程序,这导致研发人员需要进行额外的工作。现有技术没有比较好的量子计算机和量子虚拟机对外接口的方式。
发明内容
1、要解决的问题
针对现有技术无法在量子计算机上使用量子指令集实现运行于量子虚拟机量子程序的问题,本发明提供了一种用于统一量子虚拟机和量子计算机的接口系统及方法,避免了量子程序无法在量子虚拟机和量子计算机上复用的缺点,实现量子程序开发的软硬件解耦,方便开发人员在无量子计算机的前提下,使用量子虚拟机进行开发,并且在量子程序开发完成之后,可以无修改的复用到量子计算机。
2、技术方案
为解决上述问题,本发明采用如下的技术方案。
利用量子计算机的基本运算操作是量子逻辑门这一特点,将量子计算机与量子虚拟机的对外接口统一为量子逻辑门类。具体的设置如下:
用于统一量子计算机和量子虚拟机的接口系统,包括对外接口模块,对外接口模块与传统计算机系统相连,还包括量子虚拟机模块和量子计算机模块,对外接口模块分别连接量子虚拟机模块和量子计算机模块,量子虚拟机模块与量子虚拟机连接,量子计算机模块与量子计算机连接。
更进一步的,对外接口模块,包括:
加载接口,与外部传统计算机系统相连;
接口系统解析模块,解析量子程序为量子指令链表;
选择单元接口,选择对应的量子虚拟机或量子计算机作为计算单元;
执行接口,将使用对应计算单元执行计算量子程序。
更进一步的,所述的量子虚拟机和量子计算机的量子逻辑门都对应设定有量子逻辑门接口基类。
更进一步的,量子虚拟机的量子逻辑门接口基类包括CPU量子虚拟机接口类和GPU量子虚拟机接口类。
基于用于统一量子计算机和量子虚拟机的接口系统的接口方法,步骤如下:
(1)用户通过传统计算机系统,编写量子程序;
(2)接口系统通过加载接口,加载量子程序文档;
(3)接口系统解析模块解析量子程序,并按顺序组成量子逻辑门链表;
(4)调用单元接口,选择对应类型的量子虚拟机或量子计算机;
(5)通过对应的量子虚拟机或量子计算机执行量子程序并返回结果;
或
(1)用户通过传统计算机系统,编写量子程序;
(2)接口系统通过加载接口,加载量子程序文档;
(3)调用单元接口,选择对应类型的量子虚拟机或量子计算机;
(4)接口系统解析模块解析量子程序,并按顺序组成量子逻辑门链表;
(5)通过对应的量子虚拟机或量子计算机执行量子程序并返回结果;
或
(1)用户通过传统计算机系统,编写量子程序;
(2)接口系统解析模块解析量子程序,并按顺序组成量子逻辑门链表;
(3)接口系统通过加载接口,加载量子程序文档;
(4)调用单元接口,选择对应类型的量子虚拟机或量子计算机;
(5)通过对应的量子虚拟机或量子计算机执行量子程序并返回结果。
更进一步的,对应类型的量子虚拟机包括CPU量子虚拟机和GPU量子虚拟机。
更进一步的,当使用量子计算机时候,步骤如下,
(a)调用执行接口,接口系统把量子指令链表按照顺序填充到FPGA驱动指定的内存空间;
(b)FPGA驱动读取量子指令,并转换为对应的微波波形,用以操控量子计算机执行量子程序,并在运算结束通过测量得到计算结果;
(c)FPGA驱动把计算结果保存到指定内存空间,并发送中断指令通知CPU,计算结果准备就绪;
(d)CPU启动接口系统进程,读取计算结果。
更进一步的,FPGA驱动读取量子指令前,FPGA驱动启动,并处于阻塞等待量子指令的状态。
3、有益效果
相比于现有技术,本发明的有益效果为:
(1)本发明提供了用于统一量子虚拟机和量子计算机的对外接口系统及方法,避免了量子程序无法在量子虚拟机和量子计算机上复用的缺点,量子程序由量子指令集组成,量子指令集对应着各种量子逻辑门。本方案的接口系统会解析量子程序,并把解析的量子程序按顺序组成量子逻辑门链表,该量子逻辑门链表可用于量子虚拟机,同时也可用于操控量子计算机。统一量子计算机和量子虚拟机的对外接口,实现量子程序开发的软硬件解耦,方便开发人员在无量子计算机的前提下,使用量子虚拟机进行开发,并且在量子程序开发完成之后,可以无修改的复用到量子计算机;
(2)本发明按照计算单元类型分别提供了CPU量子虚拟机接口类和GPU量子虚拟机接口类,可让开发人员根据自己计算资源选择不同类型的量子虚拟机。当开发人员选择CPU接口类时,量子虚拟机则会根据量子逻辑门链表的顺序,使用CPU模拟量子线路;当开发人员选择GPU接口类时,量子虚拟机则会根据量子逻辑门链表的顺序,使用GPU模拟量子线路;方便开发人员进行研发工作;
(3)本发明提供可操控量子计算机的量子逻辑门接口类,该接口类会根据量子逻辑门链表的顺序,把操作量子计算机的指令填充到经典计算机的固定内存空间,在接口系统填充内存时,FPGA驱动程序会轮训该内存空间,当内存空间内指令数量超过100个,FPGA驱动系统会根据指令的类型控制微波发射器发送对应的波形,以达到控制量子计算机的目的。
附图说明
图1为接口系统架构图;
图2为量子虚拟机接口类示意图;
图3为接口系统填充指令流程图;
图4为FPGA驱动程序流程图;
图5为用户使用接口系统进行计算的整体流程示意图;
图6为实施例1基于统一接口调用CPU量子虚拟机执行量子程序的活动图;
图7为实施例2基于统一接口调用GPU量子虚拟机执行量子程序的活动图;
图8为实施例3基于统一接口调用量子计算机执行量子程序的活动图;
图9为实施例4基于统一接口调用CPU量子虚拟机执行量子程序的活动图;
图10为实施例5基于统一接口调用GPU量子虚拟机执行量子程序的活动图;
图11为实施例6基于统一接口调用量子计算机执行量子程序的活动图;
图12为实施例7基于统一接口调用CPU量子虚拟机执行量子程序的活动图;
图13为实施例8基于统一接口调用量子计算机执行量子程序的活动图;
图14为实施例9基于统一接口调用量子计算机执行量子程序的活动图。
具体实施方式
本方案利用量子计算机的基本运算操作是量子逻辑门这一特点,将量子计算机与量子虚拟机的对外接口统一为量子逻辑门类。具体的设置如下:
如图1所示,为接口系统架构图,展示接口系统的整体框架,本方案用于统一量子计算机和量子虚拟机的接口系统,包括对外接口模块,对外接口模块与传统计算机系统相连,还包括量子虚拟机模块和量子计算机模块,对外接口模块分别连接量子虚拟机模块和量子计算机模块,量子虚拟机模块与量子虚拟机连接,量子计算机模块与量子计算机连接。
对外接口模块,包括:
加载接口,与外部传统计算机系统相连;
接口系统解析模块,解析量子程序为量子指令链表;量子程序由量子指令集组成,量子指令集对应着各种量子逻辑门。接口系统解析模块会解析量子程序,并把解析的量子程序按顺序组成量子逻辑门链表,该量子逻辑门链表可用于量子虚拟机,同时也可用于操控量子计算机。所述的量子虚拟机和量子计算机的量子逻辑门都对应设定有量子逻辑门接口基类。
选择单元接口,选择对应的量子虚拟机或量子计算机作为计算单元;如图2所示,量子虚拟机接口类,展示了量子虚拟机的类图;量子虚拟机的量子逻辑门接口基类包括CPU量子虚拟机接口类和GPU量子虚拟机接口类。可让开发人员根据自己计算资源选择不同类型的量子虚拟机。当开发人员选择CPU接口类时,量子虚拟机则会根据量子逻辑门链表的顺序,使用CPU模拟量子线路;当开发人员选择GPU接口类时,量子虚拟机则会根据量子逻辑门链表的顺序,使用GPU模拟量子线路;方便开发人员进行研发工作。
如图5所示,基于用于统一量子计算机和量子虚拟机的接口系统的接口方法,步骤如下:
(1)用户通过传统计算机系统,编写量子程序;
(2)接口系统通过加载接口,加载量子程序文档;
(3)接口系统解析模块解析量子程序,并按顺序组成量子逻辑门链表;
(4)调用单元接口,选择对应类型的量子虚拟机或量子计算机;对应类型的量子虚拟机包括CPU量子虚拟机和GPU量子虚拟机。
(5)通过对应的量子虚拟机或量子计算机执行量子程序并返回结果。
本系统即根据量子虚拟机和量子计算机通用的量子逻辑门抽象出量子逻辑门接口基类,并分别实现量子虚拟机和量子计算机的量子逻辑门类。CPU模拟类的作用是使用CPU对量子逻辑门进行仿真,GPU模拟类的作用是使用GPU对量子逻辑门进行仿真。量子计算机的量子逻辑门类的作用是利用经典计算机控制量子计算机实现各量子逻辑门操作。这一接口系统具有可扩展性,可以扩展量子虚拟机的量子逻辑门类的计算单元类型;可以根据量子计算机与经典计算机的连接方式扩展相对应的量子逻辑门类。同时,接口系统也可以扩展量子逻辑门类型。还可以使用描述量子线路的量子指令集,利用一套简单的语句描述量子线路以及量子逻辑,这一方法具有普遍性,即可以既被用于量子模拟,又被用于量子计算机,应用广泛。
实施例1
如图6所示,基于统一接口调用CPU量子虚拟机执行量子程序的方法:
(1)根据量子指令集编写量子程序;
(2)调用加载文件接口,解析量子程序;
(3)接口系统会把量子程序转换为量子指令链表,如果解析成功,接口返回当前量子程序需要的量子比特数;如果不成功,返回错误类型;
(4)量子程序解析成功后,调用选择计算单元接口,选择CPU作为计算单元;
(5)调用执行接口,使用CPU量子虚拟机模拟量子程序,并在运算结束后返回计算结果。本发明用户只需要提供量子程序并按照顺序调用接口就可以调用CPU量子虚拟机,并在量子程序执行完毕后获得相应的计算结果。
实施例2:
如图7所示,基于统一接口调用GPU量子虚拟机执行量子程序的方法:
(1)根据量子指令集编写量子程序;
(2)调用加载文件接口,解析量子程序。
(3)接口系统会把量子程序转换为量子指令链表,如果解析成功,接口返回当前量子程序需要的量子比特数;如果不成功,返回错误类型;
(4)量子程序解析成功后,调用选择计算单元接口,选择GPU作为计算单元;
(5)调用执行接口,使用GPU量子虚拟机模拟量子程序,并在运算结束后返回计算结果。本发明用户只需要提供量子程序并按照顺序调用接口就可以调用GPU量子虚拟机,并在量子程序执行完毕后获得相应的计算结果。
实施例3:
基于统一接口调用量子计算机执行量子程序的方法:
如图3为接口系统填充指令流程图,其作用为展示接口系统把量子指令链表填充到FPGA驱动指定的内存空间的流程;图4为FPGA驱动程序流程图,其作用为展示FPGA驱动读取量子指令并控制微波发射器的流程;图8为基于统一接口调用量子计算机执行量子程序的活动图;
(1)根据量子指令集编写量子程序;
(2)调用加载文件接口,解析量子程序。
(3)接口系统会把量子程序转换为量子指令链表,如果解析成功接口,返回当前量子程序需要的量子比特数;如果不成功,返回错误类型;
(4)量子程序解析成功后,调用选择计算单元接口,选择量子计算机作为计算单元;
(5)调用执行接口,接口系统把量子指令链表按照顺序填充到FPGA驱动指定的内存空间;具体流程如图3所示,接口系统获取量子逻辑门链表首节点,判断节点是否为空,为空,则结束执行;不为空,生成对应量子逻辑门的指令,填充指令到指定的内存空间,并获取下一个节点,继续判断节点是否为空;依次循环,直至结束。
(6)FPGA驱动读取量子指令,并转换为对应的微波波形,用以操控量子计算机执行量子程序,并在运算结束通过测量得到计算结果。把操作量子计算机的指令填充到经典计算机的固定内存空间,在接口系统填充内存时,具体流程如图4所示,FPGA驱动程序会轮训该内存空间,读取目标内存指令长度,当内存空间内指令数量超过100个,同时不是结束指令时,FPGA驱动系统会根据指令的类型控制微波发射器发送对应的波形,以达到控制量子计算机的目的。FPGA驱动读取量子指令前,FPGA驱动启动,并处于阻塞等待量子指令的状态。
(7)FPGA驱动把计算结果保存到指定内存空间,并发送中断指令通知CPU,计算结果准备就绪。
(8)CPU启动接口系统进程,读取计算结果。
用户只需要提供量子程序并按照顺序调用接口就可以调用量子计算机,并在量子程序执行完毕后获得相应的计算结果。
实施例4
如图9所示,基于统一接口调用CPU量子虚拟机执行量子程序的方法:
(1)根据量子指令集编写量子程序;
(2)调用选择计算单元接口,选择CPU作为计算单元;
(3)调用加载文件接口,解析量子程序;
(4)接口系统会把量子程序转换为量子指令链表,如果解析成功,接口返回当前量子程序需要的量子比特数;如果不成功,返回错误类型;
(5)调用执行接口,使用CPU量子虚拟机模拟量子程序,并在运算结束后返回计算结果。本发明用户只需要提供量子程序并按照顺序调用接口就可以调用CPU量子虚拟机,并在量子程序执行完毕后获得相应的计算结果。
实施例5:
如图10所示,基于统一接口调用GPU量子虚拟机执行量子程序的方法:
(1)根据量子指令集编写量子程序;
(2)调用选择计算单元接口,选择GPU作为计算单元;
(3)调用加载文件接口,解析量子程序;
(4)接口系统会把量子程序转换为量子指令链表,如果解析成功,接口返回当前量子程序需要的量子比特数;如果不成功,返回错误类型;
(5)调用执行接口,使用GPU量子虚拟机模拟量子程序,并在运算结束后返回计算结果。本发明用户只需要提供量子程序并按照顺序调用接口就可以调用GPU量子虚拟机,并在量子程序执行完毕后获得相应的计算结果。
实施例6:
基于统一接口调用量子计算机执行量子程序的方法:
如图3为接口系统填充指令流程图,其作用为展示接口系统把量子指令链表填充到FPGA驱动指定的内存空间的流程;图4为FPGA驱动程序流程图,其作用为展示FPGA驱动读取量子指令并控制微波发射器的流程;图11为基于统一接口调用量子计算机执行量子程序的活动图;
(1)根据量子指令集编写量子程序;
(2)调用选择计算单元接口,选择量子计算机作为计算单元;
(3)调用加载文件接口,解析量子程序;
(4)接口系统会把量子程序转换为量子指令链表,如果解析成功接口,返回当前量子程序需要的量子比特数;如果不成功,返回错误类型;
(5)调用执行接口,接口系统把量子指令链表按照顺序填充到FPGA驱动指定的内存空间;具体流程如图3所示,接口系统获取量子逻辑门链表首节点,判断节点是否为空,为空,则结束执行;不为空,生成对应量子逻辑门的指令,填充指令到指定的内存空间,并获取下一个节点,继续判断节点是否为空;依次循环,直至结束。
(6)FPGA驱动读取量子指令,并转换为对应的微波波形,用以操控量子计算机执行量子程序,并在运算结束通过测量得到计算结果。把操作量子计算机的指令填充到经典计算机的固定内存空间,在接口系统填充内存时,具体流程如图4所示,FPGA驱动程序会轮训该内存空间,读取目标内存指令长度,当内存空间内指令数量超过100个,同时不是结束指令时,FPGA驱动系统会根据指令的类型控制微波发射器发送对应的波形,以达到控制量子计算机的目的。FPGA驱动读取量子指令前,FPGA驱动启动,并处于阻塞等待量子指令的状态。
(7)FPGA驱动把计算结果保存到指定内存空间,并发送中断指令通知CPU,计算结果准备就绪。
(8)CPU启动接口系统进程,读取计算结果。
用户只需要提供量子程序并按照顺序调用接口就可以调用量子计算机,并在量子程序执行完毕后获得相应的计算结果。
实施例7
如图12所示,基于统一接口调用CPU量子虚拟机执行量子程序的方法:
(1)根据量子指令集编写量子程序;
(2)调用加载文件接口,解析量子程序;
(3)调用选择计算单元接口,选择CPU作为计算单元;
(4)接口系统会把量子程序转换为量子指令链表,如果解析成功,接口返回当前量子程序需要的量子比特数;如果不成功,返回错误类型;
(5)调用执行接口,使用CPU量子虚拟机模拟量子程序,并在运算结束后返回计算结果。本发明用户只需要提供量子程序并按照顺序调用接口就可以调用CPU量子虚拟机,并在量子程序执行完毕后获得相应的计算结果。
实施例8:
如图13所示,基于统一接口调用GPU量子虚拟机执行量子程序的方法:
(1)根据量子指令集编写量子程序;
(2)调用加载文件接口,解析量子程序;
(3)调用选择计算单元接口,选择GPU作为计算单元;
(4)接口系统会把量子程序转换为量子指令链表,如果解析成功,接口返回当前量子程序需要的量子比特数;如果不成功,返回错误类型;
(5)调用执行接口,使用GPU量子虚拟机模拟量子程序,并在运算结束后返回计算结果。本发明用户只需要提供量子程序并按照顺序调用接口就可以调用GPU量子虚拟机,并在量子程序执行完毕后获得相应的计算结果。
实施例9:
基于统一接口调用量子计算机执行量子程序的方法:
如图3为接口系统填充指令流程图,其作用为展示接口系统把量子指令链表填充到FPGA驱动指定的内存空间的流程;图4为FPGA驱动程序流程图,其作用为展示FPGA驱动读取量子指令并控制微波发射器的流程;图14为基于统一接口调用量子计算机执行量子程序的活动图;
(1)根据量子指令集编写量子程序;
(2)调用加载文件接口,解析量子程序;
(3)调用选择计算单元接口,选择量子计算机作为计算单元;
(4)接口系统会把量子程序转换为量子指令链表,如果解析成功接口,返回当前量子程序需要的量子比特数;如果不成功,返回错误类型;
(5)调用执行接口,接口系统把量子指令链表按照顺序填充到FPGA驱动指定的内存空间;具体流程如图3所示,接口系统获取量子逻辑门链表首节点,判断节点是否为空,为空,则结束执行;不为空,生成对应量子逻辑门的指令,填充指令到指定的内存空间,并获取下一个节点,继续判断节点是否为空;依次循环,直至结束。
(6)FPGA驱动读取量子指令,并转换为对应的微波波形,用以操控量子计算机执行量子程序,并在运算结束通过测量得到计算结果。把操作量子计算机的指令填充到经典计算机的固定内存空间,在接口系统填充内存时,具体流程如图4所示,FPGA驱动程序会轮训该内存空间,读取目标内存指令长度,当内存空间内指令数量超过100个,同时不是结束指令时,FPGA驱动系统会根据指令的类型控制微波发射器发送对应的波形,以达到控制量子计算机的目的。FPGA驱动读取量子指令前,FPGA驱动启动,并处于阻塞等待量子指令的状态。
(7)FPGA驱动把计算结果保存到指定内存空间,并发送中断指令通知CPU,计算结果准备就绪。
(8)CPU启动接口系统进程,读取计算结果。
用户只需要提供量子程序并按照顺序调用接口就可以调用量子计算机,并在量子程序执行完毕后获得相应的计算结果。
以上示意性地对本发明创造及其实施方式进行了描述,该描述没有限制性,在不背离本发明的精神或者基本特征的情况下,能够以其他的具体形式实现本发明。附图中所示的也只是本发明创造的实施方式之一,实际的结构并不局限于此,权利要求中的任何附图标记不应限制所涉及的权利要求。所以,如果本领域的普通技术人员受其启示,在不脱离本创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本专利的保护范围。此外,“包括”一词不排除其他元件或步骤,在元件前的“一个”一词不排除包括“多个”该元件。产品权利要求中陈述的多个元件也可以由一个元件通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (8)
1.用于统一量子计算机和量子虚拟机的接口系统,其特征在于:包括对外接口模块,对外接口模块与传统计算机系统相连;还包括量子虚拟机模块和量子计算机模块,对外接口模块分别连接量子虚拟机模块和量子计算机模块,量子虚拟机模块与量子虚拟机连接,量子计算机模块与量子计算机连接。
2.根据权利要求1所述的用于统一量子计算机和量子虚拟机的接口系统,其特征在于:对外接口模块,包括:
加载接口,与外部传统计算机系统相连;
接口系统解析模块,解析量子程序为量子指令链表;
选择单元接口,选择对应的量子虚拟机或量子计算机作为计算单元;
执行接口,将使用对应计算单元执行计算量子程序。
3.根据权利要求1所述的用于统一量子计算机和量子虚拟机的接口系统,其特征在于:所述的量子虚拟机和量子计算机的量子逻辑门都对应设定有量子逻辑门接口基类。
4.根据权利要求1所述的用于统一量子计算机和量子虚拟机的接口系统,其特征在于:量子虚拟机的量子逻辑门接口基类包括CPU量子虚拟机接口类和GPU量子虚拟机接口类。
5.基于用于统一量子计算机和量子虚拟机的接口系统的接口方法,步骤如下:
(1)用户通过传统计算机系统,编写量子程序;
(2)接口系统通过加载接口,加载量子程序文档;
(3)接口系统解析模块解析量子程序,并按顺序组成量子逻辑门链表;
(4)调用单元接口,选择对应类型的量子虚拟机或量子计算机;
(5)通过对应的量子虚拟机或量子计算机执行量子程序并返回结果;
或
(1)用户通过传统计算机系统,编写量子程序;
(2)接口系统通过加载接口,加载量子程序文档;
(3)调用单元接口,选择对应类型的量子虚拟机或量子计算机;
(4)接口系统解析模块解析量子程序,并按顺序组成量子逻辑门链表;
(5)通过对应的量子虚拟机或量子计算机执行量子程序并返回结果;
或
(1)用户通过传统计算机系统,编写量子程序;
(2)接口系统解析模块解析量子程序,并按顺序组成量子逻辑门链表;
(3)接口系统通过加载接口,加载量子程序文档;
(4)调用单元接口,选择对应类型的量子虚拟机或量子计算机;
(5)通过对应的量子虚拟机或量子计算机执行量子程序并返回结果。
6.根据权利要求5所述的基于用于统一量子计算机和量子虚拟机的接口系统的接口方法,其特征在于:对应类型的量子虚拟机包括CPU量子虚拟机和GPU量子虚拟机。
7.根据权利要求5所述的基于用于统一量子计算机和量子虚拟机的接口系统的接口方法,其特征在于:当使用量子计算机时候,步骤如下,
(a)调用执行接口,接口系统把量子指令链表按照顺序填充到FPGA驱动指定的内存空间;
(b)FPGA驱动读取量子指令,并转换为对应的微波波形,用以操控量子计算机执行量子程序,并在运算结束通过测量得到计算结果;
(c)FPGA驱动把计算结果保存到指定内存空间,并发送中断指令通知CPU,计算结果准备就绪;
(d)CPU启动接口系统进程,读取计算结果。
8.根据权利要求7所述的基于用于统一量子计算机和量子虚拟机的接口系统的接口方法,其特征在于:FPGA驱动读取量子指令前,FPGA驱动启动,并处于阻塞等待量子指令的状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810469329.0A CN108647790A (zh) | 2018-05-16 | 2018-05-16 | 用于统一量子计算机和量子虚拟机的接口系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810469329.0A CN108647790A (zh) | 2018-05-16 | 2018-05-16 | 用于统一量子计算机和量子虚拟机的接口系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108647790A true CN108647790A (zh) | 2018-10-12 |
Family
ID=63756393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810469329.0A Pending CN108647790A (zh) | 2018-05-16 | 2018-05-16 | 用于统一量子计算机和量子虚拟机的接口系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108647790A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109754087A (zh) * | 2019-01-11 | 2019-05-14 | 合肥本源量子计算科技有限责任公司 | 量子程序转化方法、装置及电子设备 |
CN109816112A (zh) * | 2019-01-11 | 2019-05-28 | 合肥本源量子计算科技有限责任公司 | 一种解析量子程序存储文件的方法及装置 |
CN109961150A (zh) * | 2019-03-27 | 2019-07-02 | 中国科学技术大学 | 一种应对退相干的量子程序变换方法及系统 |
CN110069348A (zh) * | 2019-05-05 | 2019-07-30 | 济南浪潮高新科技投资发展有限公司 | 一种高效利用云中心量子计算机资源的方法 |
CN110083454A (zh) * | 2019-05-05 | 2019-08-02 | 济南浪潮高新科技投资发展有限公司 | 一种带有量子计算机的混合云服务编排方法 |
CN111783991A (zh) * | 2020-07-01 | 2020-10-16 | 深圳量旋科技有限公司 | 模块化的量子计算机软件架构实现方法及系统 |
CN113128015A (zh) * | 2019-12-31 | 2021-07-16 | 合肥本源量子计算科技有限责任公司 | 预估单振幅模拟量子计算所需资源的方法和系统 |
US11314535B2 (en) | 2019-06-21 | 2022-04-26 | International Business Machines Corporation | Quantum data result streaming |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1870015A (zh) * | 2006-06-28 | 2006-11-29 | 中山大学 | 一种协同量子计算机体系结构方案 |
CN104750945A (zh) * | 2015-04-17 | 2015-07-01 | 南通大学 | 一种量子电路仿真平台 |
US20180091440A1 (en) * | 2016-05-26 | 2018-03-29 | 1Qb Information Technologies Inc. | Methods and systems for quantum computing |
-
2018
- 2018-05-16 CN CN201810469329.0A patent/CN108647790A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1870015A (zh) * | 2006-06-28 | 2006-11-29 | 中山大学 | 一种协同量子计算机体系结构方案 |
CN104750945A (zh) * | 2015-04-17 | 2015-07-01 | 南通大学 | 一种量子电路仿真平台 |
US20180091440A1 (en) * | 2016-05-26 | 2018-03-29 | 1Qb Information Technologies Inc. | Methods and systems for quantum computing |
Non-Patent Citations (1)
Title |
---|
宋辉: "量子计算机体系结构及模拟技术的研究与实现", 《中国优秀博硕士学位论文全文数据库(博士) 信息科技辑》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109816112B (zh) * | 2019-01-11 | 2021-01-05 | 合肥本源量子计算科技有限责任公司 | 一种解析量子程序存储文件的方法及装置 |
CN109816112A (zh) * | 2019-01-11 | 2019-05-28 | 合肥本源量子计算科技有限责任公司 | 一种解析量子程序存储文件的方法及装置 |
CN109754087A (zh) * | 2019-01-11 | 2019-05-14 | 合肥本源量子计算科技有限责任公司 | 量子程序转化方法、装置及电子设备 |
CN109961150A (zh) * | 2019-03-27 | 2019-07-02 | 中国科学技术大学 | 一种应对退相干的量子程序变换方法及系统 |
CN109961150B (zh) * | 2019-03-27 | 2021-05-07 | 中国科学技术大学 | 一种应对退相干的量子程序变换方法及系统 |
CN110069348A (zh) * | 2019-05-05 | 2019-07-30 | 济南浪潮高新科技投资发展有限公司 | 一种高效利用云中心量子计算机资源的方法 |
CN110083454A (zh) * | 2019-05-05 | 2019-08-02 | 济南浪潮高新科技投资发展有限公司 | 一种带有量子计算机的混合云服务编排方法 |
CN110083454B (zh) * | 2019-05-05 | 2023-01-24 | 山东浪潮科学研究院有限公司 | 一种带有量子计算机的混合云服务编排方法 |
CN110069348B (zh) * | 2019-05-05 | 2023-09-19 | 山东浪潮科学研究院有限公司 | 一种高效利用云中心量子计算机资源的方法 |
US11314535B2 (en) | 2019-06-21 | 2022-04-26 | International Business Machines Corporation | Quantum data result streaming |
CN113128015A (zh) * | 2019-12-31 | 2021-07-16 | 合肥本源量子计算科技有限责任公司 | 预估单振幅模拟量子计算所需资源的方法和系统 |
CN113128015B (zh) * | 2019-12-31 | 2023-04-07 | 合肥本源量子计算科技有限责任公司 | 预估单振幅模拟量子计算所需资源的方法和系统 |
CN111783991A (zh) * | 2020-07-01 | 2020-10-16 | 深圳量旋科技有限公司 | 模块化的量子计算机软件架构实现方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108647790A (zh) | 用于统一量子计算机和量子虚拟机的接口系统及方法 | |
CN103955399B (zh) | 一种虚拟机迁移方法和装置及物理主机 | |
Cheung et al. | Automatic partitioning of database applications | |
Guck et al. | Modelling, reduction and analysis of Markov automata | |
CN109063844A (zh) | 一种表示量子程序的数据结构 | |
JP6927375B2 (ja) | ディープラーニングタスクの処理方法、装置及びコンピュータ読み取り可能な記憶媒体 | |
EP2165258A1 (en) | Apparatus and method for handling exception signals in a computing system | |
US10628189B2 (en) | Synchronous operation method performance in context of asynchronous event loop | |
JP6600011B2 (ja) | エミュレーションのための効率的波形生成 | |
US20230351145A1 (en) | Pipelining and parallelizing graph execution method for neural network model computation and apparatus thereof | |
Muller | Simulating computer architectures | |
Holland et al. | RAT: RC amenability test for rapid performance prediction | |
CN108898229B (zh) | 用于构建机器学习建模过程的方法及系统 | |
Chéramy et al. | Simulation of real-time multiprocessor scheduling with overheads | |
Perez et al. | Coyote: an open source simulation tool to enable RISC-V in HPC | |
Wang et al. | A user mode CPU–GPU scheduling framework for hybrid workloads | |
Vázquez et al. | A fuzzy approach to cloud admission control for safe overbooking | |
Nguyen et al. | Balancing performance, flexibility, and scalability in a parallel computing platform for membrane computing applications | |
Zdunek | Tests with falksol a massively parallel multi-level domain decomposing direct solver | |
Deatcu et al. | PDEVS-based hybrid system simulation toolbox for MATLAB. | |
Robert et al. | MoonFit, a minimal interface for fitting ODE dynamical models, bridging simulation by experimentalists and customization by C++ programmers | |
Duan et al. | Research on Techniques and Methods of Developing Cryptography Virtual Laboratory | |
Naderlinger | Execution-time aware Simulink blocks | |
Ramadas et al. | Improving gem5’s GPUFS Support | |
Weber et al. | Multi-level Hardware Simulation in Palladio |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181012 |