6 Star 21 Fork 3

百度开源 / QCompute

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

简体中文 | English

量易伏 - QComputeSDK

Quantum Leaf (量易伏)百度量子计算研究所旗下全球首个云原生量子计算平台。用户可以使用量易伏进行量子编程,量子模拟和运行真实量子计算机。量易伏旨在为量子基础设施即服务 (Quantum infrastructure as a Service, QaaS) 提供量子基础开发环境。

本安装包是 QComputeSDK 的 Python 语言实现的全量量子开源计算框架。它采用经典量子混合的编程模式并预制多种先进模块,用户不仅可以在量子环境对象 (QEnv) 下快速搭建电路,也可以将它用于各类复杂量子算法的研发。QComputeSDK 内置多类本地高性能模拟器和云端模拟器/真机调用接口,用户可以将电路在本地模拟器快速模拟验证也可以将电路任务进一步提交至云端真实量子硬件(超导、离子阱)以及高性能模拟器执行。

特色

  • 轻松上手
    • 近 50 篇教程案例,还在不断地增加
    • 量子电路本地可视化
    • 全自动调用相关计算模块,完成预订流程
  • 功能丰富
    • 支持电路嵌套的量子子程序功能
    • 本地高性能模拟器支持 32 量子比特的模拟运算
    • 云端高性能异构模拟器支持更大规模量子模拟
    • 支持多种噪声模型的模拟
    • 基于英伟达 cuQuantum 的本地 GPU 模拟器
    • 基于 Gaussian/Fork 态的本地光量子模拟器
  • 真实量子算力
    • 接入百度自研超导量子计算机 QPUQian
    • 接入中科院精密测量院离子阱量子计算机 IonAPM
    • 接入中科院物理所超导量子计算机 IoPCAS

安装步骤

环境设置

推荐使用 Anaconda 创建虚拟环境,

conda create -n qcompute_env python=3.10
conda activate qcompute_env

Anaconda 请从官网下载

注意: 无论使用 Anaconda 还是原生 Python ,Python 版本都应 >= 3.9

安装 QComputeSDK

通过 pip 完成安装,

pip install qcompute

用户也可以选择下载全部文件后进行本地安装。我们推荐此种方式安装以及二次 SDK 开发,可以方便的形成本地开发闭环,更方便调试等动作。

git clone https://github.com/baidu/QCompute.git
cd QCompute
pip install -e .

运行

如果用户选择下载全部文件,现在可以试着运行一段程序来验证是否安装成功。这里我们运行 QComputeSDK 提供的测试脚本,

python -m Test.PostInstall.PostInstall_test

该脚本中包括执行本地与云端任务测试,云端测试前需要在命令行输入用户 Token ,Token 可登陆量易伏官网查看。如不需要做云端测试可运行 Ctrl+c 结束。

注意:通过 pip 安装请跳过此步。

重大更新

从 QComputeSDK 3.0.0 版本开始,开发者可以通过 QComputeSDK 运行百度自研超导量子计算机乾始。设备定期对外提供服务,可以从量易伏真机详情页查看真机开放时间。该设备在 QComputeSDK 中的后端名为CloudBaiduQPUQian.

入门与开发

案例入门

QComputeSDK 是一个实现后台接入真实量子硬件的量子计算开发框架。建立起了量子计算与量子硬件的桥梁,为量子算法和应用的研发落地提供强有力的支撑,也提供了丰富的案例供开发者学习。

在这里,我们提供了初级、中级、高级案例供大家学习。初级案例中展示了使用 QComputeSDK 可以快速上手的简单示例,包括量子态制备、经典量子混合编程、以及将电路任务提交到量子计算机上执行等。中级案例中是 QComputeSDK 的进阶用法,包括模块的使用、内置转换器的使用等。高级案例中则是进阶量子算法在 QComputeSDK 上的实现示例,我们为这些算法都配套了详细的教程文档。建议用户下载 QComputeSDK 全部文件安装,本地运行进行实践。

在最近的更新中,QComputeSDK 加入了本地光量子计算模拟器 (LocalBaiduSimPhotonic) 。与传统的量子电路模型不同,光量子计算具有其独特的运行方式。QComputeSDK 在架构上支撑起光学体系,也成为了首个集成通用量子计算与光量子计算双体系的量子开发套件。感兴趣的读者请参见光量子计算模拟器教程

API 文档

了解更多 QComputeSDK 使用方法,请参考 API 文档,包含了供用户使用的所有函数和类的详细说明与用法。

开发

QComputeSDK 中包括量子计算架构、量子模拟器、量子案例以及扩展功能等。对于需要涉及架构或模拟器源码的开发者,建议下载全部文件并本地安装调试。对于使用 QComputeSDK 研发算法应用的开发者或科研工作者,建议以 GHZ_Cloud.py 作为代码框架,修改和使用这个文件可以有效帮助熟悉本量子开发套件的语法。建议开发者熟悉 QComputeSDK 的电路模型构造,注意量子位输出顺序为高位。

交流与反馈

使用 QComputeSDK 的工作

我们非常欢迎开发者使用 QComputeSDK 进行量子应用研发,如果您的工作有使用 QComputeSDK,也非常欢迎联系我们。以下为基于 QComputeSDK 开发的量子应用:

FAQ

  1. 问:使用 QComputeSDK 可以做什么?它有哪些应用场景?

    答:QComputeSDK 是一个基于 Python 的量子计算开发框架,可以用于构建、运行和优化量子算法。我们在 QComputeSDK 建设了全面且完善的基础设施用于支持各类量子算法的实现,因此在量子应用的研发上它具有广泛的应用场景。具体工作可以参考但不限于 QComputeSDK 中的扩展功能

  2. 问:想用 QComputeSDK 做量子编程,但对量子计算不是很了解,该如何入门?

    答:Nielsen 和 Chuang 所著的《量子计算与量子信息》是量子计算领域公认的经典入门教材。建议读者首先学习这本书的第一、二、四章,介绍了量子计算中的基本概念、数学和物理基础、以及量子电路模型。读者也可以在量易简上学习,这是一个在线量子学习知识库,不仅包含量子计算教程,还有丰富的视频课程。读者还可以下载量易伏APP,APP上的量子小调包含丰富有趣的量子样例,帮助读者随时随地的学习。

  3. 问:QComputeSDK 是否免费?

    答:QComputeSDK 是免费的。QComputeSDK 是开源 SDK 并携带多类本地模拟器,用户执行本地模拟任务是免费的。当用户通过 QComputeSDK 将任务提交给云端模拟器或真机运行时,会扣除一定点数。详细的扣点规则可以参考用户指南。用户在创建账户时我们会赠送点数,点数余额可以在个人中心查看。

  4. 问:点数不足怎么办?

    答:点数目前仅用于资源控制。点数不足时可以从量易伏官网的意见反馈量易伏APP的用户反馈提交点数申请。我们会在三个工作日内处理您的请求。

Copyright and License

QComputeSDK 使用 Apache-2.0 license 许可证。

作者

  • 刘树森
  • 贺旸
  • 江云帆
  • 张文学
  • 孙文赟
  • 付永凡
  • 陈建萧
  • 沈豪杰
  • 吕申进
  • 王友琪
Copyright (c) 2022 Baidu, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

简介

QCompute is a Python-based quantum software development kit (SDK). It provides a full-stack programming experience for advanced users via hybrid quantum programming language features and a high-performance simulator. 展开 收起
Apache-2.0
取消

贡献者

全部

近期动态

加载更多
不能加载更多了
Python
1
https://gitee.com/baidu/qcompute.git
git@gitee.com:baidu/qcompute.git
baidu
qcompute
QCompute
master

搜索帮助