  Small Angle Scattering (SAS) of X-rays or neutrons is an experimental
technique that provides valuable structural information for biological
macromolecules under physiological conditions and with no limitation on the
molecular size. In order to refine molecular structure against experimental SAS
data, ab initio prediction of the scattering profile must be recomputed
hundreds of thousands of times, which involves the computation of the sinc
kernel over all pairs of atoms in a molecule. The quadratic computational
complexity of predicting the SAS profile limits the size of the molecules and
and has been a major impediment for integration of SAS data into structure
refinement protocols. In order to significantly speed up prediction of the SAS
profile we present a general purpose graphical processing unit (GPU) algorithm,
written in OpenCL, for the summation of the sinc kernel (Debye summation) over
all pairs of atoms. This program is an order of magnitude faster than a
parallel CPU algorithm, and faster than an FMM-like approximation method for
certain input domains. We show that our algorithm is currently the fastest
method for performing SAS computation for small and medium size molecules
(around 50000 atoms or less). This algorithm is critical for quick and accurate
SAS profile computation of elongated structures, such as DNA, RNA, and sparsely
spaced pseudo-atom molecules.

Biomolecules;Distributed, Parallel, and Cluster Computing;Computational Physics