[PDF][PDF] QXTools: A Julia framework for distributed quantum circuit simulation

J Brennan, L O'Riordan, K Hanley, M Doyle… - Journal of Open …, 2022 - joss.theoj.org
J Brennan, L O'Riordan, K Hanley, M Doyle, M Allalen, D Brayford, L Iapichino, N Moran
Journal of Open Source Software, 2022joss.theoj.org
QXTools is a framework for simulating quantum circuits using tensor network methods. Weak
simulation is the primary use case where given a quantum circuit and input state QXTools
will efficiently calculate the probability amplitude of a given output configuration or set of
configurations. Given this ability one can sample from the output distribution using random
sampling approaches. QXTools is intended to be used by researchers interested in
simulating circuits larger than those possible with full wave-function simulators or those …
Summary
QXTools is a framework for simulating quantum circuits using tensor network methods. Weak simulation is the primary use case where given a quantum circuit and input state QXTools will efficiently calculate the probability amplitude of a given output configuration or set of configurations. Given this ability one can sample from the output distribution using random sampling approaches. QXTools is intended to be used by researchers interested in simulating circuits larger than those possible with full wave-function simulators or those interested in research and development of tensor network circuit simulation methods. See Brennan et al.(2021) for more complete background and scaling results and Brayford et al.(2021) for details about deploying in containerised environments.
QXTools is written in Julia (Bezanson et al., 2017) and is designed to run on large distributed compute clusters and to support GPU accelerators. The simulation workflow is broken down into a number of stages, each of which is managed by a special purpose package which can be used independently or as part of the QXTools framework. To find efficient contraction orders for tensor networks, an algorithm called FlowCutter (Hamann & Strasser, 2018) is used to construct tree decompositions with optimal treewidth of the network’s line graph by iteratively partitioning it using maximal flows on the graph. A domain specific language (DSL) is used to express the simulation as a set of tensor network operations. This separates the high level index accounting and contraction planning from the low level implementation of the tensor network operations and makes it easier to support new hardware and network architectures.
joss.theoj.org
以上显示的是最相近的搜索结果。 查看全部搜索结果