QCGPU

Open Source, High Performance & Hardware Accelerated - Quantum Computer Simulation Library
Getting Started | User Guide | Documentation | Algorithms
Travis-CI Crates.io
The goal of QCGPU is to provide a library for the simulation of quantum computers that is fast, efficient and portable. QCGPU is written in Rust and uses OpenCL to run code on the CPU, GPU or any other OpenCL supported devices. This library is meant to be used both independently and alongside established tools for example compilers or more general and high level frameworks. If you are interested in using QCGPU with IBM's [QISKit](http://qiskit.org/) framework or [QISKit ACQUA](https://qiskit.org/acqua/), please see the repository [qiskit-addon-qcgpu](https://github.com/qcgpu/qiskit-addon-qcgpu). ## Prerequisites To use this library, you will need two things: * OpenCL (Ensure that an OpenCL library is installed for your platform and that `clinfo` or some other diagnostic command will run). * Rust (install [here](https://www.rustup.rs)). Please use a nightly build. ## Usage First, add the crate to `cargo.toml` ```toml [dependencies] qcgpu = { git = "https://github.com/QCGPU/QCGPU-rust" } ``` Then use the crate! ```rust extern crate qcgpu; use qcgpu::State; fn main() { let mut state = State::new(2, 0).unwrap(); state.x(0); println!("Measured: {}", state.measure().unwrap()); // 1 } ``` ## License This software is licensed under the MIT licence (see `LICENSE.md`) Copyright (c) 2018 Adam Kelly