Skip to Content
You are currently on the new version of our website. Access the old version .
  • Article
  • Open Access

27 September 2022

17 Pages

High Performance Computing PP-Distance Algorithms to Generate X-ray Spectra from 3D Models

,
,
,
,
,
,
and
1
Institut de Química Avançada de Catalunya (IQAC-CSIC), 08034 Barcelona, Spain
2
Department of Mathematics and Informatics, Universitat de Barcelona, 08007 Barcelona, Spain
3
Barcelona Supercomputing Center (BSC), 08034 Barcelona, Spain
4
INTEL, 20090 Assago, Italy
This article belongs to the Section Molecular Biophysics

Abstract

X-ray crystallography is a powerful method that has significantly contributed to our understanding of the biological function of proteins and other molecules. This method relies on the production of crystals that, however, are usually a bottleneck in the process. For some molecules, no crystallization has been achieved or insufficient crystals were obtained. Some other systems do not crystallize at all, such as nanoparticles which, because of their dimensions, cannot be treated by the usual crystallographic methods. To solve this, whole pair distribution function has been proposed to bridge the gap between Bragg and Debye scattering theories. To execute a fitting, the spectra of several different constructs, composed of millions of particles each, should be computed using a particle–pair or particle–particle (pp) distance algorithm. Using this computation as a test bench for current field-programmable gate array (FPGA) technology, we evaluate how the parallel computation capability of FPGAs can be exploited to reduce the computation time. We present two different solutions to the problem using two state-of-the-art FPGA technologies. In the first one, the main C program uses OmpSs (a high-level programming model developed at the Barcelona Supercomputing Center, that enables task offload to different high-performance computing devices) for task invocation, and kernels are built with OpenCL using reduced data sizes to save transmission time. The second approach uses task and data parallelism to operate on data locally and update data globally in a decoupled task. Benchmarks have been evaluated over an Intel D5005 Programmable Acceleration Card, computing a model of 2 million particles in 81.57 s – 24.5 billion atom pairs per second (bapps)– and over a ZU102 in 115.31 s. In our last test, over an up-to-date Alveo U200 board, the computation lasted for 34.68 s (57.67 bapps). In this study, we analyze the results in relation to the classic terms of speed-up and efficiency and give hints for future improvements focused on reducing the global job time.

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.