47个版本

0.14.4-alpha.3 2024年8月15日
0.14.4-alpha.12024年7月31日
0.12.4 2024年3月18日
0.12.0-alpha.02023年12月19日
0.2.0 2021年11月24日

#696 in 科学

Download history 193/week @ 2024-04-27 13/week @ 2024-05-04 57/week @ 2024-05-11 38/week @ 2024-05-18 63/week @ 2024-05-25 198/week @ 2024-06-01 40/week @ 2024-06-08 89/week @ 2024-06-15 100/week @ 2024-06-22 14/week @ 2024-06-29 133/week @ 2024-07-06 89/week @ 2024-07-13 389/week @ 2024-07-20 487/week @ 2024-07-27 217/week @ 2024-08-03 213/week @ 2024-08-10

1,314 每月下载量
用于 3 个crates (2 直接)

Apache-2.0

1MB
16K SLoC

C 8K SLoC // 0.2% comments Rust 4K SLoC // 0.1% comments CUDA 4K SLoC // 0.1% comments
qoqo logo

qoqo-quest

QuEST 模拟器后端,为qoqo/roqoqo量子工具包提供支持,由 HQS Quantum Simulations 提供。

此仓库包含三个组件

  • qoqo_quest后端,从qoqo Python接口到roqoqo模拟量子程序
  • roqoqo-quest后端,直接从roqoqo模拟量子程序
  • quest-sys crate,为QuEST C库提供Rust绑定

qoqo-quest

GitHub Workflow Status PyPI PyPI - Format

QuEST 基于的模拟器后端,为qoqo量子工具包提供支持,由 HQS Quantum Simulations 提供。

qoqo-quest允许使用QuEST量子模拟器来模拟qoqo量子电路的执行。基于QuEST,qoqo支持模拟无误差和有噪声的量子计算机。qoqo-quest旨在能够模拟所有属于qoqo的操作。有关使用示例,请参阅qoqo的示例部分

安装

对于x86_64硬件的Linux和macos以及Windows,在PyPi上提供了预构建的Python包,可以使用以下命令安装:

pip install qoqo-quest

对于其他平台,请使用源分布,需要安装Rust(例如通过rustup)以及maturin版本才能构建。

在安装Rust(例如通过rustup)之后

运行以下命令:

pip install maturin
pip install qoqo-quest

roqoqo-quest

Crates.io GitHub Workflow Status docs.rs Crates.io

QuEST 基于的模拟器后端,由 HQS Quantum Simulations 为 roqoqo 量子工具包提供。

roqoqo-quest 允许使用 QuEST 量子模拟器直接从 Rust 代码模拟 roqoqo 量子电路的执行。roqoqo-quest 被设计成能够模拟 roqoqo 中的所有操作。有关使用示例,请参阅 roqoqo 的示例部分。

QuEST 编译选项

QuEST 支持分布式计算和 GPU 计算的使用。qoqo-quest 和 roqoqo-quest 在分布式构建上尚未经过测试,但初步支持 GPU 计算。PyPi 分布式版本不支持 GPU 计算。目前,可以使用 cuda 功能或 cuquantum 功能在编译 qoqo-quest 或 roqoqo-quest 作为 Rust 库时启用 NVIDIA GPU 的支持。使用 cuda 功能需要 QuEST 的基于 CUDA 的模拟器实现,并在构建期间需要 cuda-compiler(nvcc)。使用 cuquantum 功能需要 cuda 量子模拟器,并在构建期间需要 cuda-compiler(nvcc)以及 cuquantum 库。

一般说明

此软件仍处于测试阶段。功能和文档尚不完整,可能会发生破坏性更改。

本项目的部分资金来自 PlanQK,并由 QSolid 部分支持。

贡献

我们欢迎对项目的贡献。如果您想贡献代码,请查看 CONTRIBUTE.md 了解我们的代码贡献指南。

依赖关系

~8.5MB
~169K SLoC