  In this work, we benchmark and discuss the performance of the scalable
methods for the Poisson problem which are used widely in practice: the fast
Fourier transform (FFT), the fast multipole method (FMM), the geometric
multigrid (GMG), and algebraic multigrid (AMG). In total we compare five
different codes, three of which are developed in our group. Our FFT, GMG, and
FMM are parallel solvers that use high-order approximation schemes for Poisson
problems with continuous forcing functions (the source or right-hand side). We
examine and report results for weak scaling, strong scaling, and time to
solution for uniform and highly refined grids. We present results on the
Stampede system at the Texas Advanced Computing Center and on the Titan system
at the Oak Ridge National Laboratory. In our largest test case, we solved a
problem with 600 billion unknowns on 229,379 cores of Titan. Overall, all
methods scale quite well to these problem sizes. We have tested all of the
methods with different source functions (the right-hand side in the Poisson
problem). Our results indicate that FFT is the method of choice for smooth
source functions that require uniform resolution. However, FFT loses its
performance advantage when the source function has highly localized features
like internal sharp layers. FMM and GMG considerably outperform FFT for those
cases. The distinction between FMM and GMG is less pronounced and is sensitive
to the quality (from a performance point of view) of the underlying
implementations. The high-order accurate versions of GMG and FMM significantly
outperform their low-order accurate counterparts.
