  The resampling process employed in widely used methods such as Importance
Sampling (IS), with its adaptive extension (AIS), are used to solve challenging
problems requiring approximate inference; for example, non-linear, non-Gaussian
state estimation problems. However, the re-sampling process can be
computationally prohibitive for practical problems with real-time requirements.
We consider the problem of developing highly parallelisable resampling
algorithms for massively parallel hardware architectures of modern graphics
processing units (GPUs) to accomplish real-time performance. We develop a new
variant of the Metropolis algorithm -- Megopolis -- that improves performance
without requiring a tuning parameter or reducing resampling quality. The
Megopolis algorithm is built upon exploiting the memory access patterns of
modern GPU units to reduce the number of memory transactions without the need
for tuning parameters. Extensive numerical experiments on GPU hardware
demonstrate that the proposed Megopolis algorithm is numerically stable and
outperforms the original Metropolis algorithm and its variants -- Metropolis-C1
and Metropolis-C2 -- in speed and quality metrics. Further, given the absence
of open tools in this domain and facilitating fair comparisons in the future
and supporting the signal processing community, we also open source the
complete project, including a repository of source code with Megopolis and all
other comparison methods.
