2 releases (1 stable)

1.0.0 Apr 24, 2023
0.2.0 Apr 13, 2023

#179 in Simulation

MIT license

60KB
1K SLoC

Quaru

quaru_opacity

example workflow

Repository for group 22 quantum computer simulator bachelor's thesis.

Examples

The simulator features a number of examples located under the /examples directory. These are binary crates you can run with cargo.
To run an example, run the following command:
cargo run --example <filename>

Some examples accept parameters. To provide these, use:
cargo run --example <filename> -- --flag <value>

For example:
cargo run --example grovers -- --target 64

BLAS feature

We provide suport for enabling the feature "blas" in the ndarray crate. When enabling this feature you need to add the blas-src crate to your dependencies. You also need to choose one of the five supported blas implementations:

  • accelerate, which is the one in the Accelerate framework (macOS only),
  • blis, which is the one in BLIS,
  • intel-mkl, which is the one in Intel MKL,
  • netlib, which is the reference one by Netlib, and
  • openblas, which is the one in OpenBLAS.
[dependencies]
blas-src = { version = "0.8", features = ["accelerate"] }
blas-src = { version = "0.8", features = ["blis"] }
blas-src = { version = "0.8", features = ["intel-mkl"] }
blas-src = { version = "0.8", features = ["netlib"] }
blas-src = { version = "0.8", features = ["openblas"] }
OpenBLAS

If you want to use the OpenBLAS implementation your toml should look like this:

blas-src = { version = "0.8", features = ["openblas"], optional = true}
openblas-src = { version = "0.10", features = ["cblas", "system"], optional = true}

And your main rust file needs this line at the top:

extern crate blas_src;

For all implementations you need to install software on your local machine.

Dependencies

~9–22MB
~247K SLoC