  Quantum computer simulators are crucial for the development of quantum
computing. In this work, we investigate the suitability and performance impact
of GPU and multi-GPU systems on a widely used simulation tool - the state
vector simulator Qiskit Aer. In particular, we evaluate the performance of both
Qiskit's default Nvidia Thrust backend and the recent Nvidia cuQuantum backend
on Nvidia A100 GPUs. We provide a benchmark suite of representative quantum
applications for characterization. For simulations with a large number of
qubits, the two GPU backends can provide up to 14x speedup over the CPU
backend, with Nvidia cuQuantum providing further 1.5-3x speedup over the
default Thrust backend. Our evaluation on a single GPU identifies the most
important functions in Nvidia Thrust and cuQuantum for different quantum
applications and their compute and memory bottlenecks. We also evaluate the
gate fusion and cache-blocking optimizations on different quantum applications.
Finally, we evaluate large-number qubit quantum applications on multi-GPU and
identify data movement between host and GPU as the limiting factor for the
performance.
