Branch | Status |
---|---|
master |
These plugins for XACC provide an Accelerator implementation that leverages tensor network theory to simulate quantum circuits.
With the XACC framework installed, run the following
$ mkdir build && cd build
$ cmake .. -DXACC_DIR=$HOME/.xacc (or wherever you installed XACC)
$ make install
TNQVM can be built with ExaTN support, providing a tensor network processing backend that scales on Summit-like architectures. To enable this support, first follow the ExaTN README to build and install ExaTN. Now configure TNQVM with CMake and build/install
$ mkdir build && cd build
$ cmake .. -DXACC_DIR=$HOME/.xacc -DEXATN_DIR=$HOME/.exatn
$ make install
To switch tensor processing backends use
auto qpu = xacc::getAccelerator("tnqvm", {std::make_pair("tnqvm-visitor", "exatn")});
or in Python
qpu = xacc.getAccelerator('tnqvm', {'tnqvm-visitor':'exatn'})
Questions, bug reporting and issue tracking are provided by GitHub. Please report all bugs by creating a new issue with the bug tag. You can ask questions by creating a new issue with the question tag.
TNQVM is licensed - BSD 3-Clause.
If you use TNQVM in your research, please use the following citation
@article{tnqvm,
author = {McCaskey, Alexander AND Dumitrescu, Eugene AND Chen, Mengsu AND Lyakh, Dmitry AND Humble, Travis},
journal = {PLOS ONE},
publisher = {Public Library of Science},
title = {Validating quantum-classical programming models with tensor network simulations},
year = {2018},
month = {12},
volume = {13},
url = {https://doi.org/10.1371/journal.pone.0206704},
pages = {1-19},
number = {12},
doi = {10.1371/journal.pone.0206704}
}