  Quantum computing is an emerging technology, promising a paradigm shift in
computing, and allowing for speedups in many different problems. However,
quantum devices are still in their early stages, most with only a small number
qubits. This places a reliance on simulation to develop quantum algorithms and
to verify these devices. While there exists many algorithms for the simulation
of quantum circuits, there is (at the time of writing) no tools which use
OpenCL to parallelize this simulation, thereby taking advantage of devices such
as GPUs while still remaining portable.
  In this paper, such a tool is described, including optimizations in areas
such as gate application. This leads to a new approach that outperforms other
popular state vector based simulators. An implementation of the proposed
simulator is available at https://qcgpu.github.io.
