高效!启科量子线路模拟器 QuSprout 与 Amazon HPC 集成,赋能量子计算

网络开
• 阅读 2200

KY1, Bertran Shao2, Adam Sun

1.亚马逊云科技 HERO;2.开发者生态负责人;3.Solutions Architect
2022.11.17,启科量子正式开源其内部团队研发的量子线路模拟器:QuSprout 软件。结合早前其开源的启科量子编程框架 QuTrunk,开发者可以基于启科的量子计算平台实现真正的量子编程。因为 QuSprout 的性能水平直接影响量子编程计算的效率,而 QuSprout 本身又严重依赖硬件平台。众所周知亚马逊云科技是全球著名云计算服务提供商,提供了丰富的硬件平台,故如何将 QuSprout 与亚马逊云科技高性能服务实现有机的融合,将变得非常有意义。今天我们会将 QuSprout 部署在亚马逊云科技高性能计算(HPC)平台上,并对比分析 QuSprout 在 CPU 以及 GPU 两种不同硬件平台的计算效率。

1、QuSprout 简介

QuSprout 是启科量子自主研发的一款免费、开源的量子计算模拟后端,用户在 QuTrunk 量子编程框架生成量子线路后,需要连接到 QuSprout 计算后端来进行模拟计算。

高效!启科量子线路模拟器 QuSprout 与 Amazon HPC 集成,赋能量子计算

同时,QuSprout 支持多个量子线路的任务管理、MPI 多进程并行计算。目前支持 Kylin,Ubuntu,CentOS 操作系统,支持在 x86,arm64 体系上编译部署,(建议使用 KylinV10,Ubuntu22.04,CentOS7.9)

量子模拟方面,QuSprout 通过 RPC 与 QuTrunk 量子编程框架连接,主要负责量子线路的任务管理、

QuSprout 使用 C++ 作为宿主语言,目前已经实现40+个量子门,包括 H, CH, P, CP, R, CR, Rx, Ry, Rz等,为量子线路的计算提供了更高的性能和更强大的灵活性。

QuSprout 已经支持 CPU 和 GPU 两种类型的硬件平台,目前开源的版本为 CPU 版本,GPU 版本目前还在内测中,相信不久也会实现开源。

2、关于 Amazon HPC 平台

P3 实例:

Amazon EC2 P3 类型实例基于 NVIDIA Tesla V100 Tensor Core GPU,最多支持8 GPUs,可为用户提供高性能计算平台,支持基于CUDA的加速程序,通常用于 HPC 程序、机器学习等场景。

高效!启科量子线路模拟器 QuSprout 与 Amazon HPC 集成,赋能量子计算

本文采用 p3.2xlarge 实例作为 QuSprout 底层 GPU 的硬件平台,它为单 GPU 显卡实例,显卡型号为 NVIDIA Tesla V100-SXM2,拥有640 Tensor Cores,5120 CUDA Cores,其双精度浮点(FP64)运算性能可达7TFLOPS,单精度(FP32)可达14TFLOPS,具体实例的详细参数如下表所示:

高效!启科量子线路模拟器 QuSprout 与 Amazon HPC 集成,赋能量子计算

M5 实例:

M5 家族的实例属于计算、内存、带宽相对均衡的一种资源类型,可以用来作为 web 服务器,计算集群,游戏服务器等。拥有 Intel Xeon Platinum 8000 以及 AMD EPYC 7000 系列的 CPU 可供选择。

高效!启科量子线路模拟器 QuSprout 与 Amazon HPC 集成,赋能量子计算

本文采用 m5.8xlarge 类型的实例作为 QuSprout 底层 CPU 的硬件平台,它的 CPU 类型为 Intel® Xeon® Platinum 8259CL CPU @ 2.50GHz,具体实例的详细参数如下表所示:

高效!启科量子线路模拟器 QuSprout 与 Amazon HPC 集成,赋能量子计算

3、部署 QuSprout

首先在 Amazon Console 中申请创建 m5.8xlarge和p3.2xlarge 实例,待实例初始化成功后,可通过 SSH 远程连接到对应的 EC2 实例。然后从 Github 拉取最新的 QuSprout 代码, 根据 README 文档,进行编译和安装即可,整个过程通过脚本执行,简单方便。

最后安装 QuTrunk,因为 QuSprout 是后端的量子线路模拟器,需要与前端量子编程框架 QuTrunk 联合使用。同样从 Github 拉取最新的 QuTrunk 代码,根据 README 文档,通过脚本安装即可。

注:本文测试为了避免网络带宽对计算效率的影响,选择将 QuTrunk 与 QuSprout 部署在同一个 EC2 实例上。通过在 QuTrunk 中配置 QuSprout 服务程序的 IP 和端口,即可实现两者的通信。

4、测试 QuSprout 性能

QuTrunk 和 QuSprout 部署完成后,就可以进行量子编程的开发了。此处我们以 grover 搜索算法为例,记录 QuSprout 分别在 m5.8xlarge(CPU)以及p3.2xlarge(GPU)两个平台上的运行效率,通过模拟不同数量的量子比特,统计相应平台的计算时间和资源消耗信息。具体内容如下所示:

4.1 grover 搜索算法源码:

    """Grover's search algorithm."""  
      
    import math  
    import random  
      
    from numpy import pi  
      
    from qutrunk.circuit import QCircuit  
    from qutrunk.circuit.gates import Measure, All  
    from qutrunk.circuit.ops import PLUS, QAA  
      
      
    def run_grover(qubits=10, backend=None):  
        # Quantum qubits  
        num_qubits = qubits  
      
        # Number of amplitudes  
     num_elems = 2**num_qubits  
      
        # Count of iteration  
        num_reps = math.ceil(pi / 4 * math.sqrt(num_elems))  
        print("num_qubits:", num_qubits, "num_elems:", num_elems, "num_reps:", num_reps)  
      
        # Choose target state randomly  
        sol_elem = random.randint(0, num_elems - 1)  
        print(f"target state: |{str(sol_elem)}>")  
      
        # Create quantum circuit with local python simulator  
        circuit = QCircuit(backend=backend, resource=True)  
      
        # Allocate quantum qubits  
        qureg = circuit.allocate(num_qubits)  
      
        # Set inital amplitudes to plus state  
        PLUS * qureg  
      
        # Apply quantum operator(gates)  
        QAA(num_reps, sol_elem) * qureg  
      
        # Measure for all qubits  
        All(Measure) * qureg  
      
        # Run circuit in local simulator  
        res = circuit.run()  
      
        # Get measure result and print as int  
     out = res.get_outcome()  
        print("measure result: " + str(int(out, base=2)))  
      
        # Print quantum circuit resource information  
        circuit.show_resource()  
      
        # Print quantum circuit execution information  
        print(res.excute_info())  
      
        return circuit  
      
      
    if __name__ == "__main__":  
        # Run locally  
        circuit = run_grover()  

4.2 计算结果:

表1(CPU(Intel® Xeon® Platinum 8259CL CPU @ 2.50GHz)

高效!启科量子线路模拟器 QuSprout 与 Amazon HPC 集成,赋能量子计算

表2(GPU(NVIDIA Tesla V100-SXM2):

高效!启科量子线路模拟器 QuSprout 与 Amazon HPC 集成,赋能量子计算

根据表1和表2中的时间与量子比特数,绘制如下图:

高效!启科量子线路模拟器 QuSprout 与 Amazon HPC 集成,赋能量子计算

从图表中可以看出,在量子比特模拟数量相同的情况下 GPU 相对于 CPU 的计算速度有6~8倍的提升。当然不同实例的价格也不尽相同,在实际开发过程中,开发者可以根据自身的计算任务特点选择合适的实例类型,从而实现最大化的资源利用。

5、一键式部署

AMI 是亚马逊云科技提供和维护的镜像,它包含 EC2 实例创建时需要的所有信息。在启动实例时,需指定 (AMI)。也可以用同一个 AMI 配置启动多个实例。

用户通常可以将生产或者开发环境在 Amazon EC2 实例中进行部署,然后可以创建 EBS-backed AMI,这样就将完整的环境制作成了镜像,后续再次需要相关环境的 EC2 实例时,就可以直接选择相应的 AMI 即可。

AMI 的管理也非常方便,可以将其用于启动新实例,也可以在同一 Amazon Region 中复制 AMI,也可以跨 Region 复制,不再需要某个 AMI 时,还可以将其注销。

高效!启科量子线路模拟器 QuSprout 与 Amazon HPC 集成,赋能量子计算

后续可以将 QuSprout 以及其它相关工具制作成 AMI,并投入 Marketplace,这样量子开发者就可以基于亚马逊云科技更加方便快捷的部署启科量子的软件开发环境,最大程度简化量子编程环境的搭建流程,为开发者提供更友好开发体验,让量子编程变得不再遥不可及。

点击查看原文

高效!启科量子线路模拟器 QuSprout 与 Amazon HPC 集成,赋能量子计算

作者介绍:

高效!启科量子线路模拟器 QuSprout 与 Amazon HPC 集成,赋能量子计算

Keith Yan(丘秉宜)中国首位亚马逊云科技 Community Hero。

高效!启科量子线路模拟器 QuSprout 与 Amazon HPC 集成,赋能量子计算

Bertran Shao(邵伟),启科量子开发者关系负责人,国内首个开源量子计算社区发起者

高效!启科量子线路模拟器 QuSprout 与 Amazon HPC 集成,赋能量子计算

Adam Sun(孙海洋),启科量子解决方案架构师,GPU量子线路模拟项目负责人编辑文章

点赞
收藏
评论区
推荐文章
亚马逊Braket带你探索量子计算,领略量子计算的强大
AmazonBraket是一项完全,旨在帮助加快量子计算的科学研究和软件开发。量子计算机离普通人很远。有多少头牛,牛在哪里?还不清楚。既然是世界领先,也是我们中国人的荣幸,我们想多了解一下“为什么”。在众多报道中,我发现新华每日电讯5月4日发表的一篇文章做了最通俗易懂的解读,正好满足了我们的需求。我特此转发如下:要判断量子计算好不好,学术界达成共识的指标
Wesley13 Wesley13
4年前
74KB图片也高清,谷歌用神经网络打造图像压缩新算法
萧箫发自凹非寺量子位报道|公众号QbitAI还在为图像加载犯愁吗?最新的好消息是,谷歌团队采用了一种GANs与基于神经网络的压缩算法相结合的图像压缩方式HiFiC,在码率高度压缩的情况下,仍能对图像高保真还原。GAN(GenerativeAdversarialNetworks,生成式对抗网络)顾名思义
Wesley13 Wesley13
4年前
VR+AI+量子计算=自寻死路?
VRVR技术已经发展了好几年,各家公司都有不同的进展。但总体来说,提供能够替代现实的视觉和听觉感受、甚至触觉感受(嗅觉和味觉暂时还谈不上),在真实世界中创造出一个虚拟的世界来,方便人们的信息传递和娱乐休闲,是VR的主要功能。科技行业就不说了,就从大家都喜欢的电脑游戏发展来说,最早的游戏只是屏幕上几个像素点的移动,很长一段时间内游戏方式也是单机游
Wesley13 Wesley13
4年前
Uber准备放弃自动驾驶,转手卖给前谷歌无人车CTO,估值曾被孙正义炒到72.5亿美元
!(https://oscimg.oschina.net/oscnet/0fe7cb00a0cf4872b022342d1e21d47e.png)杨净发自凹非寺量子位报道|公众号QbitAI最新消息,Uber要出售无人驾驶部门(ATG)了。据TechCrunch报道,Uber有意向出售,而也有人愿意买。
Stella981 Stella981
4年前
GitHub上最励志的计算机自学教程
!(https://oscimg.oschina.net/oscnet/c09f467dcf3e4a33b9794cd605f27ec4.jpg)十三贾浩楠发自凹非寺量子位报道|公众号QbitAI
Wesley13 Wesley13
4年前
2019年数学与机器学习研究精粹
TheYearinMathandComputerScience\_\_ 01 \_\_概述数学家和计算机科学家在重新审视我们对数学和神经网络的基本理解的同时,在数论、图论、机器学习和量子计算方面也取得了实质性进展。这一年里,数学家
Stella981 Stella981
4年前
Nature 重磅:潘建伟团队实现数十公里远程量子储存器纠缠
北京时间2月13日凌晨,最新一期_Nature_ 发表了中国科学技术大学潘建伟团队的最新重磅成果:两个量子存储器通过光纤跨越数十公里实现远程纠缠。在这项最新研究中,潘建伟、包小辉及其同事利用一种名为腔增强的量子效应,来制备纠缠原子和光子,再将这些纠缠原子和光子转换为适合于电信传输的频率,最后在两个由50公
量子保密通信应用与技术探讨
源自:信息通信技术与政策作者:程明张成良唐建军量子密钥在线与离线结合分发模式的应用范围不再局限于QKD网络的覆盖和能力,使得量子保密通信的应用场景得到较大拓展。摘要近年来,基于量子密钥分发的量子保密通信在应用方面进行了新的尝试和拓展。基于量子密钥分发在传输距离和密钥成码率方面的研究进展和局限,提出了基于量子密钥分发的量子保密通信可分为量子密钥在线
流浪剑客 流浪剑客
2年前
Macos多视图文件管理工具:QSpace Pro for Mac中文版
是一款高度专业化的软件,它主要用于进行量子化学和材料科学计算。以下是它的主要特点:高效能计算:QSpacePro使用了最先进的算法和计算技术,可以快速准确地执行大规模的量子化学和材料科学计算。广泛的用途:QSpacePro可以用于多种类型的计算,包括从头算
带你走进量子云平台(二)
量子叠加和量子纠缠这两个基本特性,使得量子计算机在解决某些类型的问题时比经典计算机快得多。这两个属性从本质上决定了一个基本事实——量子计算天然地由概率主导。换句话说,这意味着量子程序本质上是概率性的、随机的。因此,要在量子计算机上实现业务逻辑或算法需要独特的编程模型。
重塑生产力:天翼云全球首发RaaS,开启“机器人即服务”商业时代!
近日,GITEXGlobal2025科技盛会在迪拜圆满落幕。中国电信以“连接智能未来,赋能数字生态”为主题,在这场全球科技盛宴中精彩亮相,全方位展示了其在云计算、物联网、视联网与数字安全等领域的尖端解决方案。会上,由天翼云全球首发的中国电信RaaS(机器人
网络开
网络开
Lv1
傍邻闻者多叹息,远客思乡皆泪垂。
文章
5
粉丝
0
获赞
0