一种单振幅量子计算模拟方法技术

技术编号:26343614 阅读:23 留言:0更新日期:2020-11-13 20:47
本发明专利技术公开了一种单振幅量子计算模拟方法,方法包括:针对分布式集群的每个计算节点,获得目标量子程序;构建所述目标量子程序对应的无向图;其中,所述无向图的顶点表征量子逻辑门操作前或操作后的、所操作量子比特的量子态,所述无向图的一条边对应一张量;获得待测量的目标单振幅对应的量子态,基于所述量子态和无向图,并配合所述计算节点对应的GPU,计算所述量子态的子振幅;其中,所述子振幅为所述无向图对应的振幅;将所述子振幅返回至所述分布式集群的主节点,以使所述主节点归约各个子振幅,得到所述量子态的振幅,作为目标单振幅。利用本发明专利技术实施例,能够实现涉及50个甚至更多个量子比特的量子计算模拟。

【技术实现步骤摘要】
一种单振幅量子计算模拟方法
本专利技术属于量子计算
,特别是一种单振幅量子计算模拟方法。
技术介绍
量子计算机是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。当某个装置处理和计算的是量子信息,运行的是量子算法时,它就是量子计算机。量子计算机可执行多种经典计算机不能实现的任务,比如量子模拟和分解大质因数。在量子计算前进的道路上,为了实现“量子霸权”,需要先实现量子比特数在50以上并且有着高保真度的量子计算机。但在真正实现之前,可以先通过量子计算的相关理论,进行量子计算模拟,实现量子计算机的软硬件解耦,为量子程序和量子应用的发展打下基础。量子计算模拟是一个借助数值计算和计算机科学来仿真遵循量子力学规律的模拟计算,作为一个仿真程序,它依据量子力学的量子比特的基本定律,利用计算机的高速计算能力,刻画量子态的时空演化。目前,量子计算模拟,通常采用全振幅模拟,即一次性模拟量子比特末态的所有振幅,但全振幅模拟基于酉变换进行计算,其内存开销随量子比特数呈指数增长。如要对涉及30个量子比特的量子计算进行模拟时,内存开销需16GByte(吉字节);40个量子比特时,内存开销需16TByte(太字节),即210*(16GByte);50个量子比特时,内存开销则需16PByte(拍字节),即210*(16TByte)。这对于提供量子计算模拟服务的普通云平台甚至是超级计算平台来说都是难以承受的,学术界目前全振幅模拟器最大仅可模拟到49个量子比特,是基于世界最大的超级计算机的模拟结果,但它并没有对外提供云服务,这非常不利于量子程序和量子应用的研究与发展。此种情况下,单振幅模拟,即一次性只模拟出一个振幅的方案开始被提出,而这种模式则对内存需求将小很多。因此,可以看出,在当前平台内存资源受限的情况下,单量子态分量振幅的量子计算模拟的相关研究与实现对于量子计算的发展显得尤为重要。
技术实现思路
本专利技术的目的是提供一种单振幅量子计算模拟方法,以解决现有技术中的不足,以实现涉及50个甚至更多个量子比特的计算模拟。本专利技术采用的技术方案如下:一种单振幅量子计算模拟方法,所述方法包括:针对分布式集群的每个计算节点,获得目标量子程序;构建所述目标量子程序对应的无向图;其中,所述无向图的顶点表征量子逻辑门操作前或操作后的、所操作量子比特的量子态,所述无向图的一条边对应一张量;获得待测量的目标单振幅对应的量子态,基于所述量子态和无向图,并配合所述计算节点对应的GPU,计算所述量子态的子振幅;其中,所述子振幅为所述无向图对应的振幅;将所述子振幅返回至所述分布式集群的主节点,以使所述主节点归约各个子振幅,得到所述量子态的振幅,作为目标单振幅。可选的,所述构建所述目标量子程序对应的无向图,包括:解析所述目标量子程序,得到记录量子程序信息的链表;遍历所述链表,当链表中量子逻辑门的类型为第一单量子门时,创建一条张量阶数为1的边;其中,该边与所述第一单量子门所操作的量子比特对应顶点链的最后一个顶点连接,第一单量子门的酉矩阵为对角矩阵;当链表中量子逻辑门的类型为第二单量子门时,创建一条张量阶数为2的边和一个与该边连接的顶点;其中,该边与所述第二单量子门所操作的量子比特对应顶点链的最后一个顶点连接,第二单量子门的酉矩阵为非对角矩阵;当链表中量子逻辑门的类型为第一双量子门时,创建一条张量阶数为2的边;其中,该边与所述第一双量子门所操作的两量子比特分别对应的顶点链中的最后一个顶点连接,所述第一双量子门的酉矩阵为对角矩阵;当链表中量子逻辑门的类型为第二双量子门时,创建一条张量阶数为4的边和两个与该边连接的顶点;其中,该边与所述第二双量子门所操作的两量子比特分别对应的顶点链中的最后一个顶点连接,第二双量子门的酉矩阵为非对角矩阵;得到所述目标量子程序对应的无向图。可选的,所述基于所述量子态和无向图,并配合所述计算节点对应的GPU,计算所述量子态的子振幅,包括:调用所述计算节点对应的GPU,对所述无向图的特定顶点所连接边的张量分别进行确定值降阶;其中,所述特定顶点为每一量子比特对应顶点链的第一及最后一个顶点;删除所述特定顶点;接收所述主节点分配的目标顶点的取值,基于所述目标顶点的取值,拆分当前无向图,针对拆分得到的每一子无向图,调用所述GPU对目标顶点连接边的张量分别进行确定值降阶;针对该子无向图中的每一顶点,配合所述GPU将该顶点的所有连接边融合成一条新边,对所述一条新边的张量进行降阶,并删除该顶点;对所有降阶后的新边的张量值求积,得到所述量子态的、该子无向图对应的第一子振幅;对自身内部所有子无向图的第一子振幅求和,得到所述量子态的子振幅。可选的,所述对所述无向图的特定顶点所连接边的张量分别进行确定值降阶,包括:所述计算节点对应的GPU,针对每一条特定顶点所连接的边,根据降阶后的张量阶数和GPU中每个线程块中的线程个数,设置线程块数;根据线程块序号、每个线程块中的线程个数及线程序号,计算降阶后张量的第一元素编号,并计算所述第一元素编号对应降阶前张量的两个第二元素编号;其中,所述元素编号的位数与当前边连接的顶点位数一一对应,所述元素编号每一位的值为对应顶点位的顶点取值;从所述两个第二元素编号中,确定特定顶点位所对应编号位上的值为预设确定值的第二元素编号;获取确定出的第二元素编号所对应的第二元素值,将第二元素值确定为所述第一元素编号对应的第一元素值。可选的,所述接收主节点分配的目标顶点的取值,基于所述目标顶点的取值,拆分当前无向图,针对拆分得到的每一子无向图,调用所述GPU对目标顶点连接边的张量分别进行确定值降阶,包括:接收主节点均分的目标顶点的一种或多种取值;其中,所述目标顶点为当前无向图中所连接边数最多的前m个顶点,所述m个顶点包含2m种取值,每个顶点的取值为0或1,m为正整数,计算节点的数量为2n,n为正整数,且n大于0、小于等于m;针对均分到的每种顶点取值,将计算节点自身的一个无向图拆分为一个或多个子无向图;针对每一子无向图,遍历目标顶点连接的边,调用所述GPU对所述目标顶点连接边的张量分别进行确定值降阶。可选的,所述配合所述GPU将该顶点的所有连接边融合成一条新边,包括:针对该顶点的所有连接边,确定待融合的第一条边和第二条边;根据所述第二条边中不与第一条边相连的顶点,调用所述GPU对第一条边的第一张量进行升阶,以升阶后的张量更新所述第一张量;删除第二条边,将第二条边中不与第一条边相连的顶点连接至第一条边,得到融合后的中间边;根据记录的第一条边与第二条边的顶点编号之间的对应关系,调用所述GPU计算所述中间边的张量元素;返回所述确定待融合的第一条边和第二条边的执行步骤,直至计算得到的张量元素为最后一条边的张量元素,将该最后一条边确定为融合成的一条新边。可选的,所述对本文档来自技高网
...

【技术保护点】
1.一种单振幅量子计算模拟方法,其特征在于,所述方法包括:/n针对分布式集群的每个计算节点,获得目标量子程序;/n构建所述目标量子程序对应的无向图;其中,所述无向图的顶点表征量子逻辑门操作前或操作后的、所操作量子比特的量子态,所述无向图的一条边对应一张量;/n获得待测量的目标单振幅对应的量子态,基于所述量子态和无向图,并配合所述计算节点对应的GPU,计算所述量子态的子振幅;其中,所述子振幅为所述无向图对应的振幅;/n将所述子振幅返回至所述分布式集群的主节点,以使所述主节点归约各个子振幅,得到所述量子态的振幅,作为目标单振幅。/n

【技术特征摘要】
1.一种单振幅量子计算模拟方法,其特征在于,所述方法包括:
针对分布式集群的每个计算节点,获得目标量子程序;
构建所述目标量子程序对应的无向图;其中,所述无向图的顶点表征量子逻辑门操作前或操作后的、所操作量子比特的量子态,所述无向图的一条边对应一张量;
获得待测量的目标单振幅对应的量子态,基于所述量子态和无向图,并配合所述计算节点对应的GPU,计算所述量子态的子振幅;其中,所述子振幅为所述无向图对应的振幅;
将所述子振幅返回至所述分布式集群的主节点,以使所述主节点归约各个子振幅,得到所述量子态的振幅,作为目标单振幅。


2.根据权利要求1所述的单振幅量子计算模拟方法,其特征在于:所述构建所述目标量子程序对应的无向图,包括:
解析所述目标量子程序,得到记录量子程序信息的链表;
遍历所述链表,当链表中量子逻辑门的类型为第一单量子门时,创建一条张量阶数为1的边;其中,该边与所述第一单量子门所操作的量子比特对应顶点链的最后一个顶点连接,第一单量子门的酉矩阵为对角矩阵;
当链表中量子逻辑门的类型为第二单量子门时,创建一条张量阶数为2的边和一个与该边连接的顶点;其中,该边与所述第二单量子门所操作的量子比特对应顶点链的最后一个顶点连接,第二单量子门的酉矩阵为非对角矩阵;
当链表中量子逻辑门的类型为第一双量子门时,创建一条张量阶数为2的边;其中,该边与所述第一双量子门所操作的两量子比特分别对应的顶点链中的最后一个顶点连接,第一双量子门的酉矩阵为对角矩阵;
当链表中量子逻辑门的类型为第二双量子门时,创建一条张量阶数为4的边和两个与该边连接的顶点;其中,该边与所述第二双量子门所操作的两量子比特分别对应的顶点链中的最后一个顶点连接,第二双量子门的酉矩阵为非对角矩阵;
得到所述目标量子程序对应的无向图。


3.根据权利要求2所述的单振幅量子计算模拟方法,其特征在于:所述基于所述量子态和无向图,并配合所述计算节点对应的GPU,计算所述量子态的子振幅,包括:
调用所述计算节点对应的GPU,对所述无向图的特定顶点所连接边的张量分别进行确定值降阶;其中,所述特定顶点为每一量子比特对应顶点链的第一及最后一个顶点;
删除所述特定顶点;
接收所述主节点分配的目标顶点的取值,基于所述目标顶点的取值,拆分当前无向图,针对拆分得到的每一子无向图,调用所述GPU对目标顶点连接边的张量分别进行确定值降阶;
针对该子无向图中的每一顶点,配合所述GPU将该顶点的所有连接边融合成一条新边,对所述一条新边的张量进行降阶,并删除该顶点;
对所有降阶后的新边的张量值求积,得到所述量子态的、该子无向图对应的第一子振幅;
对自身内部所有子无向图的第一子振幅求和,得到所述量子态的子振幅。


4.根据权利要求3所述的单振幅量子计算模拟方法,其特征在于:所述对所述无向图的特定顶点所连接边的张量分别进行确定值降阶,包括:
所述计算节点对应的GPU,针对每一条特定顶点所连接的边,根据降阶后的张量阶数和GPU中每个线程块中的线程个数,设置线程块数;
根据线程块序号、每个线程块中的线程个数及线程序号,计算降阶后张量的第一元素编号,并计算所述第一元素编号对应降阶前张量的两个第二元素编号;其中,所述元素编号的位数与当前边连接的顶点位数一一对应,所述元素编号每一位的值为对应顶点位的顶点取值;
从所述两个第二元素编号中,确定特定顶点位所对应编号位上的值为预设确定值的第二元素编号;
获取确定出的第二元素编号所对应的第二元素值,将第二元素值确定为所述第一元素编号对应的第一元素值。

【专利技术属性】
技术研发人员:王晶窦猛汉
申请(专利权)人:合肥本源量子计算科技有限责任公司
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1