掌桥专利:专业的专利平台
掌桥专利
首页

用于运行及使用量子模拟器的方法、系统、电子设备

文献发布时间:2024-04-18 19:58:30


用于运行及使用量子模拟器的方法、系统、电子设备

技术领域

本发明涉及量子计算技术领域,具体涉及一种用于运行及使用量子模拟器的方法、系统、电子设备及计算机可读存储介质。

背景技术

量子计算理论上已显示出其在解决某些超越系统计算能力的重要问题方面的强大潜力,例如在密码学、金融建模和机器学习场景中都有巨大的应用前景。目前,越来越多的量子计算机被提出,但可扩展的通用量子计算机还未问世,所以在通用量子计算机研制出来之前,量子计算机所展现出的巨大优越性缺乏真机的验证,所以,如何对量子计算机所展现出的巨大优越性进行验证显得尤其重要。量子模拟器作为量子计算的重要研究方向之一,被用来模拟量子系统(量子计算机),以支持量子算法及应用的研究。

目前的量子模拟器采用的模型包括量子电路模型、绝热量子计算模型、One-way量子计算模型和拓扑量子计算模型等。采用量子电路模型的量子模拟器有IBM公司开发的量子模拟器Qiskit、苏黎世联邦理工学院开发的量子模拟器ProjectQ,这些量子模拟器均存在以下缺陷:

(1)由于各个商家(NVIDIA、AMD等)生产的GPU的接口并未统一,同时该类量子模拟器无法自动识别图形处理器(Graphics Processing Unit,GPU)类型,在运行该类量子模拟器之前,需要用户明确GPU的类型,所以导致用户在使用GPU模拟量子计算时,需要为不同类型的GPU编写不同的适配程序,同时用户在使用量子编程软件时也需要明确当前设备所使用的GPU的类型,不然无法正常使用GPU进行运算,对用户的专业要求较强,导致不易用;

(2)处理矩阵运算的能力较低,导致运行量子模拟器的效率较低。

发明内容

针对上述缺陷,本发明实施例提供了一种用于运行及使用量子模拟器的方法、系统、电子设备及计算机可读存储介质。

第一方面,本发明实施例提供的用于运行量子模拟器的方法包括:

识别当前设备所使用的图形处理器GPU的类型。

根据所述图形处理器GPU的类型,获取适配的驱动程序并将所述驱动程序加载至所述图形处理器GPU。

所述驱动程序加载完成后,将量子模拟器部署至所述图形处理器GPU。

利用所述图形处理器GPU,运行所述量子模拟器。

在一些示例中,利用所述图形处理器GPU,运行所述量子模拟器包括:

采用多步骤计算方式,所述图形处理器GPU分别计算所述量子模拟器各个量子门作用于量子比特后得到的结果状态向量。

在一些示例中,采用多步骤计算方式,所述图形处理器GPU分别计算所述量子模拟器各个量子门作用于量子比特后得到的结果状态向量包括:

采用矩阵分块方式,所述图形处理器GPU分别依次执行多个步骤中的各个步骤,得到所述量子模拟器各个量子门作用于量子比特后得到的结果状态向量。

在一些示例中,识别当前设备所使用的图形处理器GPU的类型包括:

利用Taichi图形库,识别当前设备所使用的图形处理器GPU的类型。

第二方面,本发明实施例提供的用于运行量子模拟器的系统包括:

识别模块,被配置为识别当前设备所使用的图形处理器GPU的类型。

加载模块,被配置为根据所述图形处理器GPU的类型,获取对应的驱动程序并将所述驱动程序加载至所述图形处理器GPU。

部署模块,被配置为将量子模拟器部署至所述图形处理器GPU。

运行模块,被配置为利用所述图形处理器GPU,运行所述量子模拟器。

第三方面,本发明实施例提供的用于使用量子模拟器的方法包括以下步骤:

根据待使用的量子模拟器预设的类型标识,判断所述量子模拟器是否为本地量子模拟器。

若确定所述量子模拟器为本地量子模拟器,则根据所述量子模拟器预设的运行模式标识,判断所述子模拟器是否使用GPU运行模式。

若确定所述量子模拟器使用GPU运行模式,则判断当前设备是否存在可使用的GPU。

若确定当前设备存在可使用的GPU,则使用所述GPU并基于第一方面公开的用于运行量子模拟器的方法运行所述量子模拟器。

第四方面,本发明实施例公开的用于使用量子模拟器的系统包括:

判断模块,被配置为根据待使用的量子模拟器的类型标识,判断所述量子模拟器是否为本地量子模拟器。

所述判断模块,还被配置为根据所述量子模拟器的运行模式,判断所述量子模拟器是否使用GPU运行模式。

所述判断模块,还被配置为判断当前设备是否存在可使用的GPU。

运行模块,被配置为使用所述GPU并基于第一方面公开的用于运行量子模拟器的方法,运行所述量子模拟器。

第五方面,本发明实施例公开的电子设备包括处理器以及存储于存储器并可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行第一方面或第三方面公开的方法。

第六方面,本发明实施例公开的计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行第一方面或第三方面公开的方法。

与现有技术相比,本发明实施例公开的用于运行及使用量子模拟器的方法、系统、电子设备及计算机可读存储介质具有以下有益效果:

(1)通过自动识别图形处理器GPU的类型,根据该类型获取与图形处理器GPU适配的驱动程序,实现了图形处理器GPU的自适应性,提高了量子模拟器的易用性;

(2)在运行量子模拟器的过程中,采用多步骤运算方式,简化了计算的复杂度,提高了运行量子模拟器的效率;

(3)在运行量子模拟器的过程中,采用矩阵分块运算方式,实现了多线程并行计算,优化了计算过程,进一步提高了计算效率,即进一步提高了运行量子模拟器的效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下表面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见地,下表面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的用于运行量子模拟器的方法流程示意图。

图2为本发明实施例提供的用于运行量子模拟器的系统结构示意图。

图3为本发明实施例提供的用于使用量子模拟器的方法流程示意图。

图4为本发明实施例提供的用于使用量子模拟器的系统结构示意图。

图5是根据本发明一个实施例的作为经典计算设备的电子设备的原理框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下表面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

术语解释

量子模拟器是一种能够模拟量子系统行为的计算工具,其基本的工作原理是通过量子比特之间的相互作用来模拟量子系统,对量子系统的状态演化进行计算,并对计算结果进行验证。相较于传统的模拟器,量子模拟器能够模拟更复杂的问题,并在一定程度上展示出量子计算的优势。

图形处理器GPU是一种并行计算设备,可以加速计算和模拟的速度。在量子计算和模拟中,GPU可以加速计算和模拟的速度,提高计算和模拟的效率和精度。在使用GPU加速量子计算和模拟时,需要使用GPU加速库和量子计算与模拟框架。GPU加速库是一种软件库,可以实现GPU加速计算及模拟。量子计算与模拟框架是一种软件框架,可以实现量子计算与模拟的相关功能。常见的GPU加速库包括CUDA、OpenCL等,常见的量子计算与模拟框架包括Qiskit、Cirq、ProjectQ等。

下面对本发明实施例提供的用于运行及使用量子模拟器的方法、系统、电子设备及计算机可读存储介质进行详细说明。

作为本发明一个具体的实施例,如图1所示,本发明实施例提供的用于运行及使用量子模拟器的方法包括以下步骤:

S101,识别当前设备所使用的图形处理器GPU的类型。

具体地,根据图形处理器GPU的厂商及型号即可确定图形处理器GPU的类型。当前设备可以为经典计算设备,比如经典计算机及平板电脑等。

在一些示例中,利用Taichi图形库,识别当前设备所使用的图形处理器GPU的类型。

S102,根据图形处理器GPU的类型,获取适配的驱动程序并将该驱动程序加载至图形处理器GPU,实现了图形处理器GPU的自适应性,提高了量子模拟器的易用性。

具体地,图形处理器GPU需要加载与其适配的驱动程序,才能正常运行。

S103,驱动程序加载完成后,将量子模拟器部署至图形处理器GPU。

S104,利用图形处理器GPU,运行量子模拟器。

具体地,GPU可以用于加速量子计算中的经典计算任务,例如在量子算法的经典部分进行优化和加速,提高整体计算效率。

在一些示例中,利用图形处理器GPU,运行量子模拟器包括:

采用多步骤计算方式,图形处理器GPU分别计算量子模拟器各个量子门作用于量子比特后得到的结果状态向量。

具体地,对酉矩阵

假设量子比特的数量n=3,在希尔伯特空间,量子比特的初始量子态

当酉矩阵

其中,在该步骤中,

其中,矩阵H和I的定义如下:

,/>

在一些示例中,采用多步骤运算方式,图形处理器GPU分别计算量子模拟器各个量子门作用于量子比特后得到的结果状态向量包括:

采用矩阵分块方式,图形处理器GPU分别依次执行多个步骤中的各个步骤,得到量子模拟器各个量子门作用于量子比特后得到的结果状态向量。

具体地,基于量子电路模型的量子模拟器使用复向量表示量子态、使用复矩阵表示量子门,通过矩阵的运算模拟量子系统的行为。量子态的演化过程可以使用量子电路来描述,量子电路中的一个量子门对应一个酉矩阵U,一个量子比特的量子态对应希尔伯特空间中的一个单位向量

具体地,量子系统可以使用少量的量子门模拟其他各个量子门,如量子T门、量子H门和量子CNOT门,表明量子电路中各个量子门的操作对象最多涉及两个量子比特,从而导致酉矩阵U中存在大量的零元素。基于酉矩阵U为稀疏矩阵的特点,可以通过矩阵分块方式计算酉矩阵U作用下的结果状态向量

具体地,酉矩阵U乘以单位向量

其中,

在本发明实施例中,直接采用Taichi图形库实现多线程并行计算以优化矩阵计算。Taichi图形库是一种嵌入在Python环境中并用于特殊应用领域的编程语言,它能够将自定义函数编译成机器指令码在CPU或GPU上并行执行,从而既保证了性能,又保证了效率。在CPU:13th Gen Intel(R) Core(TM) i9-13900HX 2.20 GHz、RAM: 16GB、操作系统:Windows 11 家庭中文版的运行环境下,以统计1到10000000之间质数的个数时,采用Taichi图形库的计算时间是0.187秒,而单独使用Python库的计算时间是93.635秒,Taichi的计算速度是Python的500倍,极大地提高了计算效率。

如图2所示,本发明实施例提供的用于运行量子模拟器的系统包括:

识别模块,被配置为识别当前设备所使用的图形处理器GPU的类型。

加载模块,被配置为根据图形处理器GPU的类型,获取对应的驱动程序并将该驱动程序加载至图形处理器GPU。

部署模块,被配置为将量子模拟器部署至图形处理器GPU。

运行模块,被配置为利用图形处理器GPU,运行量子模拟器。

如图3所示,本发明实施例提供的用于使用量子模拟器的方法,包括以下步骤:

S201,根据待使用的量子模拟器预设的类型标识,判断该量子模拟器是否为本地量子模拟器。

具体地,当待使用的量子模拟器预设的类型标识为“local”时,则确定该量子模拟器是本地量子模拟器。否则,确定该量子模拟器不是本地量子模拟器,此时,将用户选择的量子模拟器作为待使用的量子模拟器。

S202,若确定该量子模拟器为本地量子模拟器,则根据该量子模拟器预设的运行模式标识,判断该量子模拟器是否使用GPU运行模式。

具体地,当该量子模拟器预设的运行模式标识为“GPU”时,则确定该量子模拟器使用GPU运行模式。

S203,若确定该量子模拟器使用GPU运行模式,则判断当前设备是否存在可使用的GPU。

具体地,利用Taichi图形库判断当前设备是否存在可使用的GPU。

S204,若确定当前设备存在可使用的GPU,则使用该GPU并基于实施例1中公开的用于运行量子模拟器的方法运行该量子模拟器。

具体地,当确定当前设备不存在可使用的GPU时,使用主处理器CPU运行该量子模拟器。通过采用本发明实施例提供的用于使用量子模拟器的方法,提高了量子模拟器的易用性及运行效率。

如图4所示,本发明实施例提供的用于使用量子模拟器的系统包括:

判断模块,被配置为根据待使用的量子模拟器预设的类型标识,判断所述量子模拟器是否为本地量子模拟器;

判断模块,还被配置为根据所述量子模拟器预设的运行模式标识,判断所述子模拟器是否使用GPU运行模式;

判断模块,还被配置为判断当前设备是否存在可使用的GPU;

运行模块,被配置为使用该GPU并基于实施例1中公开的用于运行量子模拟器的方法,运行该量子模拟器。

如图5所示,图5是根据本发明一个实施例的作为经典计算设备的电子设备的原理框图,所述电子设备包括处理器601以及存储有计算机程序指令的存储器602。

具体地,上述处理器601可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit ,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。

存储器602可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器602可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器602可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器602可在综合网关容灾设备的内部或外部。在特定实施例中,存储器602是非易失性固态存储器。

存储器可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据上述实施例1中公开的用于运行量子模拟器的方法及上述实施例3中公开的用于使用量子模拟器的方法所描述的操作。

处理器601通过读取并执行存储器602中存储的计算机程序指令,以实现上述实施例中的上述实施例1中公开的用于运行量子模拟器的方法及上述实施例3中公开的用于使用量子模拟器的方法。

在一个示例中,电子设备还可包括通信接口603和总线610。其中,如图5所示,处理器601、存储器602、通信接口603通过总线610连接并完成相互间的通信。本申请实施例中的电子设备可以是服务器或其他计算设备,也可以是云端服务器。

通信接口603,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。

总线610包括硬件、软件或两者,将在线数据流量计费设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线610可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。

根据本发明的另一个方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令被处理器执行时实现前述的用于计算傅里叶核函数的方法。其中,所述的计算机可读存储介质例如为经典计算机可读存储介质,如只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备,也可以是用于存储量子信息、由量子计算机可读取的存储介质,如量子随机存取存储器(QRAM),QRAM中以看作经典计算机中RAM的量子版本,通过QRAM能够制造包含信息的量子叠加态,相比于RAM需要逐个读取,可以以叠加的地址读取叠加的数据。QRAM能够以光学、半导体量子点、超导线路、离子阱等等物理方式实现。

以上示例性地描述了本发明实施例的方法、装置、系统和计算机程序产品的流程图和/或框图,并描述了相关的各个方面。应当理解,流程图和/或框图中的每个方框或其组合,可以由计算机程序指令实现,也可以由执行指定功能或动作的专用硬件来实现,还可由专用硬件和计算机指令的组合来实现。例如,这些计算机程序指令可被提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,以形成一种机器可使得经由这种处理器执行的这些指令使能对流程图和/或框图中的每个方框或其组合中指定的功能/动作的实现。这种处理器可以是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。

本发明实施例的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等;当以软件方式实现时,是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在存储器中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

需说明,本发明并不局限于上文所描述或在图中示出的特定配置和处理。以上所述仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,所描述的系统、设备、模块或单元的具体工作过程,可以参考方法实施例中的对应过程,不需再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

相关技术
  • 用于使用多个控制器控制电子设备的显示器的方法和设备
  • 用于求得将要驶过的轨迹和/或实施行驶干预的车辆系统的运行方法、控制系统的运行方法和机动车
  • 一种用于对接量子计算机与用户的云平台及平台运行方法
  • 一种用于化妆间盒子的交易方法、系统、电子设备及存储介质
  • 用于机器类通信系统的服务提供方法、装置及电子设备
  • 用于对设备的自动化系统进行分析的方法、用于至少部分虚拟地运行设备的自动化系统的模拟器和用于对设备的自动化系统进行分析的系统
  • 用于对设备的自动化系统进行分析的方法及系统、用于至少部分虚拟地运行设备的自动化系统的模拟器
技术分类

06120116505110