近日,随着启科量子软件研发团队在量子计算机后端研发工作的不断推进,启科量子或将于近日宣布将其自主研发的量子计算模拟后端 QuSprout 进行正式开源。
QuSprout 介绍
据悉,QuSprout 是启科量子自主研发的一款免费、开源的量子计算模拟后端,用户在 QuTrunk 量子编程框架生成量子线路后需要连接到 QuSprout 计算后端来进行模拟计算(Qutrunk 的具体使用方法可参考此链接:QuTrunk 快速上手教程)。
同时,QuSprout 支持多个量子线路的任务管理、MPI多进程并行计算。QuSprout 使用 C 作为宿主语言,当前支持Kylin,Ubuntu,CentOS操作系统,支持在x86,arm64体系上编译部署,建议使用KylinV10,Ubuntu22.04,CentOS7.9,后续会增加对MacOS系统支持。
量子模拟方面,QuSprout 提供了 qusprout,quwork 服务模块来支持量子计算的模拟:
- qusprout 服务通过 RPC 与 QuTrunk 量子编程框架连接,主要负责量子线路的任务管理、quwork 服务的启动等。
- quwork 服务主要负责量子线路的计算并返回计算结果。
服务模块
qusprout:
- qusprout 服务启动后,会先收集本机设备信息,包括主机信息(主机名,发布版本等)和资源信息(总内存,未使用内存等),并开启RPC服务,监听来自 QuTrunk 量子编程框架发送的量子线路操作事件。
- 当 qusprout 接收到来自 QuTrunk 量子线路的初始化请求时,会先检查是否有足够的资源来运行该量子线路(通过计算量子线路的qubits 所需的内存)。
- 如果资源要求满足,qusprout 会将量子线路加入到任务列表,qusprout 会维护一个任务列表来管理所有的量子线路请求。然后开启 quwork 服务,并将量子线路的初始化请求发送到 quwork 服务。
- qusprout 会定时清理一些长时间没有更新的任务,具体超时配置在 qusprout 服务配置文件中,可在配置文件中查找。
quwork:
- quwork 服务实现了量子线路中各种门的操作,包括 H, CH, P, CP, R, CR, Rx, Ry, Rz, Rxx, Ryy, Rzz, X, Y, Z, S, T, Sdg, Tdg, SqrtX, CSqrtX, SqrtSwap, Swap, CSwap, CNot, MCX, CY, MCZ, U1, U2, U3, U, CU, ISwap, SqrtXdg, PH
- quwork 服务的各种门操作是基于QuEST量子模拟计算平台的基础上改进和演化的。
更多有关 QuSprout 编译、安装、启动服务等信息,可在正式开源后通过产品页面进行查看。
开源意义
中国信息技术的飞速发展为开源事业奠定了基础。根据 infoQ 的研究报告显示,目前中国开发者人数已超过 1000 万。中国整体参与开源的核心人群也已从认知期进入生产期,未来有望引流全球的开源事业。综合开源事业在国内的发展情况,软件开源已经成为软件行业的一种主流趋势。
量子计算软件的开源有助于推动量子计算软件工具生态系统建设,培养以解决量子计算问题为核心的开发者社区。启科量子计划开源 QuSprout 项目,欢迎各行业的量子、AI 从业者或爱好者加入 QuSprout 开源项目。