|Jan 23, 2024
|Dec 19, 2023
|Dec 12, 2023
|Nov 29, 2023
|Nov 24, 2021
#33 in Simulation
232 downloads per month
This repository contains three components:
- The qoqo_quest backend to simulate quantum programms from the qoqo python interface to roqoqo,
- The roqoqo-quest backend backend to simulate quantum programms from roqoqo directly,
- The quest-sys crate providing rust bindings for the QuEST C library.
qoqo-quest allows to simulate the execution of qoqo quantum circuits with the help of the QuEST quantum simulator. Based on QuEST qoqo supports the simulation of error-free and noisy quantum computers. qoqo-quest is designed to be able to simulate all operations that are part of qoqo. For usage examples see the examples section of qoqo
For linux and macos and windows on x86_64 hardware and macos on arm64 pre-built Python packages are available on PyPi and can be installed with
pip install qoqo-quest
For other platforms please use the source distribution that requires a Rust install with a rust version > 1.47 and a maturin version in order to be built.
After installing Rust (for example via rustup)
run the following
pip install maturin
pip install qoqo-quest
roqoqo-quest allows to simulate the execution of roqoqo quantum circuits directly from rust code with the help of the QuEST quantum simulator. roqoqo-quest is designed to be able to simulate all operations that are part of roqoqo. For usage examples see the examples section of roqoqo.
QuEST build options
QuEST supports distributed computing and the use of GPU computing.
roqoqo-quest are not tested against distributed builds, but have preliminary support for
GPU computation. The
PyPi distributed versions do not support GPU computation. For the moment GPU support can be enabled for NVIDIA GPUs using either the
cuda feature or the
cuquantum feature when compiling
roqoqo-quest as a rust library. The
cuda feature uses QuEST's CUDA-based simulator implementation and needs the cuda-compiler (nvcc) available during build. The
cuquantum feature uses the cuda quantum simulator and requires the cuda-compiler (nvcc) during build as well as the cuquantum libraries.
This software is still in the beta stage. Functions and documentation are not yet complete and breaking changes can occur.
We welcome contributions to the project. If you want to contribute code, please have a look at CONTRIBUTE.md for our code contribution guidelines.