  Quantum computers can speed up computationally hard problems. However, to
realize their full potential, we must mitigate qubit errors (from noise) by
developing noise-aware algorithms, compilers, and architectures. Thus,
simulating quantum programs on classical computers with different noise models
is a de-facto tool that is used by researchers and practitioners.
Unfortunately, noisy quantum simulators iteratively execute the same circuit
across multiple trials (shots), thereby incurring high-performance overheads.
To address this, we propose a noisy simulation technique called Tree-Based
Quantum Circuit Simulation (TQSim). TQSim exploits the reusability of the
intermediate results during the noisy simulation and reduces computation. TQSim
dynamically partitions a circuit into several subcircuits. It then reuses the
intermediate results from these subcircuits during computation. As compared to
a noisy Qulacs-based baseline simulator, TQSim achieves an average speedup of
2.51x across 48 different benchmark circuits. Additionally, across benchmarks,
TQSim produces results with a normalized fidelity that is within the 0.016
range of the baseline normalized fidelity.
