量子计算(十八):量子计算机

article/2025/10/26 3:30:36

文章目录

量子计算机

一、量子计算机整体架构

1、量子计算的定位:异构计算

2、量子程序代码构成:宿主代码+设备代码

二、量子程序架构(设备代码的架构)

1、量子高级语言

2、量子汇编语言的编译原则

3、不可直接执行的量子比特逻辑门拆分

4、量子比特连通性与不连通门的转换

5、量子程序的可执行文件

6、传统量子体系结构

7、顺序执行的传统量子体系结构优缺点

8、顺序执行的传统量子体系结构的改进

9、增强扩展性的新量子体系结构

10、增强扩展性的新量子体系结构的优缺点


量子计算机

一、量子计算机整体架构

1、量子计算的定位:异构计算

量子计算领域属于一个新兴高速发展的领域,在近二十年间,不论是量子算法的研究,还是量子芯片的研发均取得了巨大的进展。由于量子计算的理论研究有限,目前所说的量子计算机并非是一个可独立完成计算任务的设备,而是一个可以对特定问题有指数级别加速的协处理器。相应的,目前所说的量子计算,如下图所示,本质上来说是一种异构运算,即在经典计算机执行计算任务的同时,将需要加速的程序在量子芯片上执行。

 

2、量子程序代码构成:宿主代码+设备代码

因此,量子计算的程序代码实际执行中分为两种,一种是运行在CPU上的宿主代码(Host code),主要用于执行不需要加速的任务,并为需要加速的任务提供需要的数据;一种是运行在量子芯片上的设备代码(Device code),主要用于描述量子线路,控制量子程序在量子芯片上的执行顺序,以及数据的传输。不同类型的代码由于其运行的物理位置不同,编译方式和访问的资源均不同,这跟英伟达公司推出的用GPU解决复杂的计算问题的并行计算架构CUDA非常类似。如下表所示,以下所提及的量子程序,指的是Device code。

二、量子程序架构(设备代码的架构)

1、量子高级语言

与经典计算机语言类似,描述量子程序的语言也有高级语言与低级语言之分。量子高级语言,类似于经典计算机语言中C++。在描述量子线路时,不需要考虑量子芯片的底层物理实现,包括可执行量子逻辑门的种类,量子比特的连通性等,这就像一个经典的程序设计师并不需要考虑底层的执行芯片是x86架构,还是RISC架构一样。QPanda.QRunes均属于量子高级语言。量子高级语言主要用于描述量子线路的逻辑门构成,量子程序段之间的执行顺序,如QifQwhile等,以及内存之间的通信。

2、量子汇编语言的编译原则

量子高级语言会根据底层芯片的特点,通过量子程序编译器,编译为量子汇编语言。

量子程序编译器一般会考虑两个方面:量子芯片可执行的量子逻辑门种类和量子比特的连通性。

3、不可直接执行的量子比特逻辑门拆分

根据量子计算的原理,任意的单量子比特逻辑门可以拆分为绕X轴旋转的量子逻辑门和绕Y轴旋转量子逻辑门的序列;任意的两量子比特逻辑门可以拆分为由CNOT/CZ门和单量子比特逻辑门的序列。量子芯片提供的可直接执行的逻辑门是完备的,即可以表征所有的量子比特逻辑门,因此,如果量子高级语言描述的量子程序中包含了量子芯片不可直接执行的量子逻辑门,量子程序编译器会根据量子芯片提供的量子逻辑门将其转化为可执行量子逻辑门构成的序列。

4、量子比特连通性与不连通门的转换

相同数量的量子比特对于不同的量子芯片结构,可执行两量子比特逻辑门的量子比持对可能完全不同。目前常见的量子芯片结构有链式结构,十字结构,以及全连通结构。对于链式结构,量子比特成链状排布,每个量子比特只能与其相邻的两个量子比特执行两量子比特逻辑门;对于十字结构,量子比特成方阵装排布,每个量子比特能与其相邻的四个量子比特执行两量子比特逻辑门;对于全连通结构,每个量子比特可以与其他所有量子比特执行两量子比特逻辑门。如果量子高级语言描述的量子程序中包含量子芯片不可直接执行的两量子比特逻辑门,量子程序编译器会根据量子芯片的连通性,利用交换门和可执行的两比特门的序列,取代量子程序中的两量子比特逻辑门。

例如下图,一个三量子比特的链式结构量子芯片,可执行两量子比特逻辑门的量子比特对有{{1,2},{2,3}},CNOT1,3对于此量子芯片是不可执行的逻辑门,可以用SWAP1,2、CNOT2,3、SWAP1,2构成的量子逻辑门序列取代CNOT1,3。

 

5、量子程序的可执行文件

对于经典程序来说,汇编语言转化为计算机可直接执行二进制文件,即可被经典计算机执行;而量子芯片可直接执行的文件并非一串01组合的二进制文件,而是由测控设备产生的精密的脉冲模拟信号,因此对于量子汇编语言,应该转化成测控设备所能执行文件。此文件中不仅包含着每个量子比特逻辑门的脉冲波形,还需要包含波形的执行顺序,根据波形执行顺序的表征形式不同,量子计算硬件架构可细分为两类。

6、传统量子体系结构

顺序执行的传统量子体系结构的可执行文件:量子程序的整段波形文件

在传统的量子体系结构中,波形执行顺序体现在波形文件中,即编译器将量子汇编程序中的量子比特逻辑门的波形,按照执行顺序拼接为一个整体的波形,并将此波形以二进制文件的形式存放至测控设备的内存中。波形文件本身包含看量子逻辑门的执行顺序,测控设备通过执行波形文件,输出测控波形。此量子体系结构对应的硬件架构为上位机-测控设备-量子芯片架构。

7、顺序执行的传统量子体系结构优缺点

这种架构的优势在于,测控设备可以从内存中直接读取波形,并施加到量子芯片上延时极短,执行效率很高,但由于上位机与测控设备之间的通信时间很长,远大于量子比特的退相干时间,即在量子比特完成测量发送至上位机,以及上位机根据测量结果将后续要执行的波形文件发送至测控设备内存的期间,量子比特已经退相干,无法继续执行量子比特逻辑门。因此,这种架构只能运行顺序执行的上位机发送的波形文件,在执行期间不可改变波形的执行顺序,进而无法执行包含基于测量结果的跳转量子程序。

8、顺序执行的传统量子体系结构的改进

改进方案是将量子程序中可能执行的量子程序段的波形,全部上传至测控设备的内存中,当测量设备得到量子比特的测量结果时,根据测量结果决定接下来输出的波形在内存中的地址,且整个反馈过程的延时远小于量子比特的退相干时间。因此,此方案可以实现基于量子比特测量结果的反馈控制,但此方法需要将可能执行的量子程序段的波形全部存储在测控设备的内存中,随着量子比特数量和量子程序波形长度的增长该架构对内存的开销极大,可扩展性较低。

9、增强扩展性的新量子体系结构

增强扩展性的新量子体系结构的可执行文件构成:所有逻辑门的波形文件+微处理器程序

为了降低任意波形发生器的内存开销,增加系统的可扩展性,目前已有科研团队提出另一种量子计算机架构:上位机-微处理器-测控设备-量子芯片架构:该架构下,波形执行顺序通过微处理器发送的指令控制,虽然上位机与测控设备之间的通信速度很慢但FPGA可以与测控设备高速通信,因此采用FPGA搭建的微处理器控制测控设备按顺序执行波形。编译器将量子汇编程序中的每个量子比特逻辑门的波形以二进制文件的形式存放至测控设备的内存中,并生成微处理器可执行的微处理器程序,微处理器通过执行该程序,在特定的时间向测控设备发送控制指令触发对应的测控波形,同时,该微处理器可以接收测控设备发送的量子比特的测量结果,并通过执行微处理器程序,决定测
控设备执行的波形。

10、增强扩展性的新量子体系结构的优缺点

优点是:测控设备无需存放量子程序对应的所有波形,大大减少了内存开销;但缺点在于,通过执行微处理器程序控制测控设备,对微处理器的执行速度要求较高。如果微处理器将微处理器程序转化为测控设备的控制指令的时间大于量子芯片执行波形的时间,则会导致量子芯片在退相干时间内执行的有效的量子比特逻辑门数量降低;另一方面,微处理器向测控设备发送控制指令存在延时,如果顺序执行量子程序,则该延退无任何影响,但如果要执行基于测量结果跳转的量子程序,则每次反馈控制都会产生两倍延时时间的空泡,影响量子芯片的执行效率。


  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

http://chatgpt.dhexx.cn/article/7y1yOYOW.shtml

相关文章

一、量子信息基本概念

本文介绍量子信息理论与量子计算理论中的基本术语、符号及相关概念。 1.量子信息 量子最早出现在光量子理论中,是微观系统中能量的一个力学单位。现代物理将微观世界中所有的微观粒子统称为量子,在绪论中有解释,离散变化的最小单位称为量子&a…

VMTools安装

什么是VMtools: VM tools顾名思义就是Vmware的一组工具。主要用于虚拟主机显示优化与调整,另外还可以方便虚拟主机与本机的交互,如允许共享文件夹,甚至可以直接从本机向虚拟主机拖放文件、鼠标无缝切换、显示分辨率调整等&#xf…

关于学Linux的时候安装vmtools时遇到的坑

关于学Linux的时候安装vmtools时遇到的坑

Winserver2003Vmtools安装

1、由于目前Winserver2003版本很老,支持的tools版本比较特殊。 2.tools下载地址 https://packages.vmware.com/tools/releases/10.0.12/windows/ 3.下载完成后,点击对应的安装包即可。

Linux(vmtools)

Day2 安装vmtools的详细操作 前言 安装vmtools的时候需要有gcc 一、解压tar 先打开虚拟机 centos中会出现vm的安装包.tar.gz 将安装包拷贝到/opt中 双击光盘打开文件夹 使用解压命令 tar,得到一个安装文件 进入指令操作:cd /opt【进入到opt目录下】…

VMware安装vmtools教程

1、进入你的虚拟系统,这里我安装的是centos 右键centos,选择重新安装VMware Tools 2、centos会出现一个vm的安装包 3、拷贝到/opt目录下 注:如果此处paste为灰色,不能复制,需要将用户切换成root用户 4、解压tar&am…

vmtools的使用

1、介绍 1)可以直接在windows和centos系统之间黏贴命令 2)可以在windows和centos之间设置共享文件夹 2、vmtools的安装 1)进入centos 2)点击vm惨淡的 -> install vmware tools 3)centos会出现一个vm的安装包 4)将其copy到 /opt文件夹下 5)解压缩 6)进入解压的目录 7)安装 .…

Linux第一章:3.VMTools设置共享文件夹

*请确保在进行如下操作前你已经配置好了 VMTools 步骤一: 在windows系统下创建一个没有中文和特殊符号命名的文件夹。 步骤二: 1.右键虚拟机 -> 设置 2.选项 -> 共享文件夹 -> 勾选“总是启用” 3.添加 -> 设置我们想要共享的文件夹和它…

Linux第一章:2.VMTools安装教程

一、安装VMTools教程 1.VMTools的功能: 可以让我们更好地在windows操作系统下管理虚拟机 可以设置 本地系统 和 虚拟机系统 的 共享文件夹 *请注意,如果按照如下步骤无法进行安装,可能是没有安装gcc(默认是安装了的&#xff0…

VMtools的安装

基本概述 1.可以实现命令在Windows与centos上复制粘贴 2.可以实现Windows与centos上文件夹共享 VMtools的安装步骤: 1).进入Centos系统 2).点击VM菜单的安装VMware Tools (因为我已经安装了,所以这块显示重新安装&#xff09…

VMware Tools (ubuntu系统)安装详细过程与使用

前一段时间博主在VMware虚拟机上安装了Ubuntu系统,如果还没有安装的同学可以参考博主上一篇文章:VMware Ubuntu安装详细过程。 猿友们都知道linux不太好用,如果你想将你主机Windows上的文件或安装包放到虚拟机上,VMware Tools是必不可少的工具。 欢迎关注,相互学习讨论,后…

Linux基础篇_vmtools的安装和使用

一、介绍 vmtools 安装后,可以让我们在windows下更好的管理vm虚拟机。 可以在windows 和 centos系统之间直接粘贴命令可以设置windows和centos的共享文件夹 二、vmtool的安装说明 进入centos点击vm菜单的–>install vmware toolscentos会出现一个vm的安装包点…

Linux虚拟机中安装VM Tools步骤及使用详情

文章目录 一、进入CentOS二、点击vm菜单的->install vmware tools三、拷贝到/opt1.解压4、使用 一、进入CentOS 右击弹出出现的tools 二、点击vm菜单的->install vmware tools 如果安装vmware tools按钮是灰色的,请见解决方案 会出现一个vm的安装包,xx.ta…

VM Tools安装过程

系列文章目录 VM Tools安装过程 VM Tools安装过程 系列文章目录一、VM Tools安装步骤二、安装后无法使用问题解决办法之一 一、VM Tools安装步骤 此时系统会弹出装载虚拟CD驱动器 点击打开文件 打开文件后可将 文件夹里的文件全部复制到自己的某个文件夹中,比如桌面…

Kotlin 特色之 Sealed Class 和 Interface

/ 今日科技快讯 / 近日,我国在太原卫星发射中心使用长征六号改运载火箭,成功将云海三号卫星发射升空,卫星顺利进入预定轨道,发射任务获得圆满成功。该卫星主要用于开展大气海洋环境要素探测、空间环境探测、防灾减灾和科学试验…

c#中sealed关键字的使用

c#中sealed关键字 前几天给大家总结了virtual(虚拟的)、abstract(抽象的)、override(重写)关键字,今天就抽空把sealed(密封的)给大家总结出来,因为这四个是一…

快速了解sealed关键字

sealed关键字 sealed的英文意思就是密封,禁止的意思。在c#中sealed关键字可以用来修饰类和方法。作用于类时不能和abstract对象一起使用,因为使用了sealed修饰类表示此类不能被继承,而抽象类不能被继承将毫无意义。代码如下: publ…

PS 解决不能完成命令,暂存盘空间不足的问题

PS 解决不能完成命令,暂存盘空间不足的问题 解决方法: 在PS启动之时,按住 ctrl alt 键 选择暂存盘设置(旁边的上下箭头设置优先级) 方法如果没有弹出这个暂存盘首选项 可以用下列办法了实现修改 这个暂存盘设置 按…

GeoServer发布数据库中的空间数据表

如何利用GeoServer发布PostgreSQL/PostGIS中的空间数据 1.矢量数据发布2.栅格数据发布2.1 安装Image Mosaic JDBC扩展2.2 准备金字塔和瓦片2.3 创建配置文件2.4 创建数据库2.5 发布数据2.6 可能遇到的坑 实际工作中,数据存储在本地的情况应该不多,大多数…

【数据结构】顺序表的实现

文章目录 一、顺序表概念及结构二、动态顺序表和静态顺序表的选择三、动态顺序表的实现逻辑(1)创建结构体(2)具体函数实现(*)顺序表初始化(*)释放顺序表(*)打…