写点什么

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

  • 2022-12-08
    广东
  • 本文字数:2131 字

    阅读完需:约 7 分钟

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

KY1, Bertran Shao2 , Adam Sun


1. Amazon HERO;2.开发者生态负责人;3.Solutions Architect


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


1、QuSprout 简介


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



同时,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、关于 AWS  HPC 平台


P3 实例


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



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


M5 实例:

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



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



3、部署 QuSprout


首先在 AWS Console 中申请创建 m5.8xlarge 和 p3.2xlarge 实例,待实例初始化成功后,可通过 SSH 远程连接到对应的 EC2 实例。


然后从 Github 拉取最新的QuSprouthttps://github.com/qudoor/qusprout)代码, 根据 README 文档,进行编译和安装即可,整个过程通过脚本执行,简单方便。


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


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


4、测试 QuSprout 性能


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


4. 1 grover 搜索算法源码:



4.2 计算结果:


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



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



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



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


5、一键式部署


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


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


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



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


作者介绍:


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

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

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

用户头像

量子计算技术交流 2022-06-10 加入

关注量子计算软件技术最新动态 启科量子开发者官方网站:http://developer.queco.cn GitHub开源地址:https://github.com/qudoor

评论

发布
暂无评论
高效!启科量子线路模拟器QuSprout与AWS HPC集成,赋能量子计算_量子计算_启科量子开发者官方号_InfoQ写作社区