  This work studies the porting and optimization of the tensor network
simulator QTensor on GPUs, with the ultimate goal of simulating quantum
circuits efficiently at scale on large GPU supercomputers. We implement NumPy,
PyTorch, and CuPy backends and benchmark the codes to find the optimal
allocation of tensor simulations to either a CPU or a GPU. We also present a
dynamic mixed backend to achieve optimal performance. To demonstrate the
performance, we simulate QAOA circuits for computing the MaxCut energy
expectation. Our method achieves $176\times$ speedup on a GPU over the NumPy
baseline on a CPU for the benchmarked QAOA circuits to solve MaxCut problem on
a 3-regular graph of size 30 with depth $p=4$.
