{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,2]],"date-time":"2026-06-02T03:47:48Z","timestamp":1780372068112,"version":"3.54.1"},"reference-count":30,"publisher":"MDPI AG","issue":"19","license":[{"start":{"date-parts":[[2022,9,27]],"date-time":"2022-09-27T00:00:00Z","timestamp":1664236800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"name":"Spanish Government","award":["CTQ2017-88948-P"],"award-info":[{"award-number":["CTQ2017-88948-P"]}]},{"name":"Spanish Government","award":["PID2021-124848OB-I00"],"award-info":[{"award-number":["PID2021-124848OB-I00"]}]},{"name":"Spanish Government","award":["RTI2018-095232-B-C21"],"award-info":[{"award-number":["RTI2018-095232-B-C21"]}]},{"name":"Spanish Government","award":["SEV-2015-0493"],"award-info":[{"award-number":["SEV-2015-0493"]}]},{"name":"Spanish Government","award":["TIN2015-65316-P"],"award-info":[{"award-number":["TIN2015-65316-P"]}]},{"name":"Spanish Government","award":["BES-2016-078046"],"award-info":[{"award-number":["BES-2016-078046"]}]},{"name":"Spanish Government","award":["2017-SGR-1742"],"award-info":[{"award-number":["2017-SGR-1742"]}]},{"name":"Spanish Government","award":["2017-SGR-1414"],"award-info":[{"award-number":["2017-SGR-1414"]}]},{"name":"Spanish Government","award":["2017-SGR-670"],"award-info":[{"award-number":["2017-SGR-670"]}]},{"name":"Spanish Government","award":["2017-SGR-1328"],"award-info":[{"award-number":["2017-SGR-1328"]}]},{"name":"Generalitat de Catalunya","award":["CTQ2017-88948-P"],"award-info":[{"award-number":["CTQ2017-88948-P"]}]},{"name":"Generalitat de Catalunya","award":["PID2021-124848OB-I00"],"award-info":[{"award-number":["PID2021-124848OB-I00"]}]},{"name":"Generalitat de Catalunya","award":["RTI2018-095232-B-C21"],"award-info":[{"award-number":["RTI2018-095232-B-C21"]}]},{"name":"Generalitat de Catalunya","award":["SEV-2015-0493"],"award-info":[{"award-number":["SEV-2015-0493"]}]},{"name":"Generalitat de Catalunya","award":["TIN2015-65316-P"],"award-info":[{"award-number":["TIN2015-65316-P"]}]},{"name":"Generalitat de Catalunya","award":["BES-2016-078046"],"award-info":[{"award-number":["BES-2016-078046"]}]},{"name":"Generalitat de Catalunya","award":["2017-SGR-1742"],"award-info":[{"award-number":["2017-SGR-1742"]}]},{"name":"Generalitat de Catalunya","award":["2017-SGR-1414"],"award-info":[{"award-number":["2017-SGR-1414"]}]},{"name":"Generalitat de Catalunya","award":["2017-SGR-670"],"award-info":[{"award-number":["2017-SGR-670"]}]},{"name":"Generalitat de Catalunya","award":["2017-SGR-1328"],"award-info":[{"award-number":["2017-SGR-1328"]}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["IJMS"],"abstract":"<jats:p>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\u2013pair or particle\u2013particle (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 \u2013 24.5 billion atom pairs per second (bapps)\u2013 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.<\/jats:p>","DOI":"10.3390\/ijms231911408","type":"journal-article","created":{"date-parts":[[2022,9,27]],"date-time":"2022-09-27T23:12:12Z","timestamp":1664320332000},"page":"11408","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["High Performance Computing PP-Distance Algorithms to Generate X-ray Spectra from 3D Models"],"prefix":"10.3390","volume":"23","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-6977-4413","authenticated-orcid":false,"given":"C\u00e9sar","family":"Gonz\u00e1lez","sequence":"first","affiliation":[{"name":"Institut de Qu\u00edmica Avan\u00e7ada de Catalunya (IQAC-CSIC), 08034 Barcelona, Spain"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7149-7806","authenticated-orcid":false,"given":"Simone","family":"Balocco","sequence":"additional","affiliation":[{"name":"Department of Mathematics and Informatics, Universitat de Barcelona, 08007 Barcelona, Spain"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jaume","family":"Bosch","sequence":"additional","affiliation":[{"name":"Barcelona Supercomputing Center (BSC), 08034 Barcelona, Spain"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7427-9118","authenticated-orcid":false,"given":"Juan Miguel","family":"de Haro","sequence":"additional","affiliation":[{"name":"Barcelona Supercomputing Center (BSC), 08034 Barcelona, Spain"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Maurizio","family":"Paolini","sequence":"additional","affiliation":[{"name":"INTEL, 20090 Assago, Italy"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6071-3254","authenticated-orcid":false,"given":"Antonio","family":"Filgueras","sequence":"additional","affiliation":[{"name":"Barcelona Supercomputing Center (BSC), 08034 Barcelona, Spain"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0536-5183","authenticated-orcid":false,"given":"Carlos","family":"\u00c1lvarez","sequence":"additional","affiliation":[{"name":"Barcelona Supercomputing Center (BSC), 08034 Barcelona, Spain"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4273-9084","authenticated-orcid":false,"given":"Ramon","family":"Pons","sequence":"additional","affiliation":[{"name":"Institut de Qu\u00edmica Avan\u00e7ada de Catalunya (IQAC-CSIC), 08034 Barcelona, Spain"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"1968","published-online":{"date-parts":[[2022,9,27]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","first-page":"651","DOI":"10.1038\/nmeth.1365","article-title":"Crystallographic ab initio protein structure solution below atomic resolution","volume":"6","author":"Grosse","year":"2009","journal-title":"Nat. Methods"},{"key":"ref_2","doi-asserted-by":"crossref","first-page":"257","DOI":"10.1107\/S2052252521000324","article-title":"Whole pair distribution function modeling: The bridging of Bragg and Debye scattering theories","volume":"8","author":"Leonardi","year":"2021","journal-title":"IUCrJ"},{"key":"ref_3","first-page":"11","article-title":"OpenCL-based implementation of an FPGA accelerator for molecular dynamics simulation","volume":"3","author":"Waidyasooriya","year":"2017","journal-title":"Inf. Eng. Express"},{"key":"ref_4","doi-asserted-by":"crossref","first-page":"461","DOI":"10.1088\/0959-5309\/43\/5\/301","article-title":"Cohesion","volume":"43","year":"1931","journal-title":"Proc. Phys. Soc."},{"key":"ref_5","doi-asserted-by":"crossref","first-page":"148","DOI":"10.1016\/j.future.2018.11.028","article-title":"Considerations in using OpenCL on GPUs and FPGAs for throughput-oriented genomics workloads","volume":"94","author":"Cadenelli","year":"2019","journal-title":"Future Gen. Comput. Syst."},{"key":"ref_6","doi-asserted-by":"crossref","first-page":"4592780","DOI":"10.1155\/2016\/4592780","article-title":"An accelerating solution for N-Body MOND simulation with FPGA-SoC","volume":"2016","author":"Peng","year":"2016","journal-title":"Int. J. Reconfigurable Comput."},{"key":"ref_7","doi-asserted-by":"crossref","first-page":"274","DOI":"10.1016\/j.cpc.2018.10.018","article-title":"CADISHI: Fast parallel calculation of particle-pair distance histograms on CPUs and GPUs","volume":"236","author":"Reuter","year":"2019","journal-title":"Comput. Phys. Commun."},{"key":"ref_8","doi-asserted-by":"crossref","unstructured":"Del Sozzo, E., Rabozzi, M., di Tucci, L., Sciuto, D., and Santambrogio, M.D. (2018, January 10\u201312). A scalable FPGA design for cloud n-body simulation. Proceedings of the IEEE 29th International Conference on Application-specific Systems, Architectures and Processors (ASAP) Application-specific Systems, Architectures and Processors (ASAP), Milano, Italy.","DOI":"10.1109\/ASAP.2018.8445106"},{"key":"ref_9","doi-asserted-by":"crossref","unstructured":"Sano, K., Abiko, S., and Ueno, T. (2017, January 7\u20139). FPGA-based stream computing for high-performance N-Body simulation using FloatingPoint dsp blocks. Proceedings of the 8th International Symposium on HEART, Bochum, Germany.","DOI":"10.1145\/3120895.3120909"},{"key":"ref_10","doi-asserted-by":"crossref","unstructured":"Gu, Y., and Herbordt, M.C. (2007, January 23\u201325). FPGA-based multigrid computation for molecular dynamics simulations. Proceedings of the 15th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, Napa, CA, USA.","DOI":"10.1109\/FCCM.2007.42"},{"key":"ref_11","unstructured":"(2022, August 01). Intel\u00ae, Programmable Acceleration Card with Intel Arria\u00ae 10 GX FPGA. Available online: https:\/\/www.intel.com\/content\/www\/us\/en\/support\/programmable\/support-resources\/design-guidance\/arria-10.html?wapkw=arria%2010."},{"key":"ref_12","unstructured":"(2019, October 01). Intel\u00ae, Programmable Devices, INTEL\u00ae STRATIX\u00ae 10 FPGAS. Available online: https:\/\/www.intel.com\/content\/www\/us\/en\/products\/programmable\/fpga\/stratix-10.html."},{"key":"ref_13","unstructured":"Xilinx, Inc (2020, April 01). ZYNQ UltraScale+ MPSoC Overview. Available online: https:\/\/www.xilinx.com\/products\/boards-and-kits\/ek-u1-zcu102-g.html."},{"key":"ref_14","unstructured":"Xilinx, Inc (2022, August 01). Alveo U200 and U250 Data Center Accelerator Cards Data Sheet. Available online: https:\/\/docs.xilinx.com\/r\/en-US\/ds962-u200-u250."},{"key":"ref_15","doi-asserted-by":"crossref","first-page":"3556","DOI":"10.1016\/j.jcp.2011.01.048","article-title":"Fast analysis of molecular dynamics trajectories with graphics processing units\u2013Radial distribution function histogramming","volume":"230","author":"Levine","year":"2011","journal-title":"J. Comput. Phys."},{"key":"ref_16","unstructured":"Verma, B., Blumenstein, M.M., and Kulkarni, S. (1997, January 24\u201327). A neural network based technique for data compression. Proceedings of the IASTED, Singapore."},{"key":"ref_17","doi-asserted-by":"crossref","first-page":"66","DOI":"10.1109\/MCSE.2010.69","article-title":"OpenCL: A parallel programming standard for heterogeneous computing systems","volume":"12","author":"Stone","year":"2010","journal-title":"Comput. Sci. Eng."},{"key":"ref_18","doi-asserted-by":"crossref","first-page":"173","DOI":"10.1142\/S0129626411000151","article-title":"Ompss: A proposal for programming heterogeneous multi-core architectures","volume":"21","author":"Duran","year":"2011","journal-title":"Parallel Process. Lett."},{"key":"ref_19","doi-asserted-by":"crossref","first-page":"171","DOI":"10.1016\/S0001-8686(97)00312-6","article-title":"Analysis of small-angle scattering data from colloids and polymer solutions: Modeling and least-squares fitting","volume":"70","author":"Pedersen","year":"1997","journal-title":"Adv. Colloid Interface Sci."},{"key":"ref_20","unstructured":"Gonz\u00e1lez, C., Balocco, S., and Pons, R. (2021, January 11\u201313). Determining the structure of small molecules via their pseudo-electrons and atoms 3D models using FPGA. Proceedings of the 8th BSC Doctoral Symposium, Online. Available online: https:\/\/www.bsc.es\/sites\/default\/files\/public\/8th_bsc_so_doctoral_symposium_book_of_abstracts.pdf."},{"key":"ref_21","unstructured":"(2022, August 01). Intel\u00aeQuartus\u00ae, Prime Design Software. Available online: https:\/\/www.intel.com\/content\/www\/us\/en\/docs\/programmable\/683634\/21-2\/install-quartus-prime-software.html?wapkw=quartus."},{"key":"ref_22","doi-asserted-by":"crossref","first-page":"1593","DOI":"10.1107\/S1600576716011729","article-title":"High-performance powder diffraction pattern simulation for large-scale atomistic models via full-precision pair distribution function computation","volume":"49","author":"Leonardi","year":"2016","journal-title":"J. Appl. Crystallogr."},{"key":"ref_23","unstructured":"Balart, J., Duran, A., Gonz\u00e0lez, M., Martorell, X., Ayguad\u00e9, E., and Labarta, J. (2004, January 18\u201319). Nanos mercurium: A research compiler for OpenMP. Proceedings of the 6th European Workshop on OpenMP, Stockholm, Sweden."},{"key":"ref_24","doi-asserted-by":"crossref","unstructured":"Ayguade, E., Badia, R.M., Cabrera, D., Duran, A., Gonzalez, M., Igual, F., Jimenez, D., Labarta, J., Martorell, X., and Mayo, R. (2009, January 3\u20135). A proposal to extend the OpenMP tasking model for heterogeneous architectures. Proceedings of the 5th International Workshop on OpenMP: Evolving OpenMP in an Age of Extreme Parallelism (IWOMP\u201909), Dresden, Germany.","DOI":"10.1007\/978-3-642-02303-3_13"},{"key":"ref_25","doi-asserted-by":"crossref","unstructured":"Bosch, J., Tan, X., Filgueras, A., Vidal, M., Mateu, M., Jim\u00e9nez-Gonz\u00e1lez, D., \u00c1lvarez, C., Martorell, X., Ayguad\u00e9, E., and Labarta, J. (2018, January 10\u201314). Application acceleration on FPGAs with OmpSs@FPGA. Proceedings of the 2018 International Conference on Field Programmable Technology (FPT), Naha, Japan.","DOI":"10.1109\/FPT.2018.00021"},{"key":"ref_26","doi-asserted-by":"crossref","unstructured":"Bosch, J., Vidal, M., Filgueras, A., \u00c1lvarez, C., Jim\u00e9nez-Gonz\u00e1lez, D., Martorell, X., and Ayguad\u00e9, E. (2020, January 22\u201326). Breaking master-slave model between host and FPGAs. Proceedings of the 25th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP\u201920, San Diego, CA, USA.","DOI":"10.1145\/3332466.3374545"},{"key":"ref_27","doi-asserted-by":"crossref","first-page":"1932","DOI":"10.1109\/TPDS.2019.2907493","article-title":"A hardware runtime for task-based programming models","volume":"30","author":"Tan","year":"2019","journal-title":"IEEE Trans. Parallel Distrib. Syst."},{"key":"ref_28","doi-asserted-by":"crossref","first-page":"130","DOI":"10.1016\/j.future.2014.12.010","article-title":"Picos: A hardware runtime architecture support for Ompss","volume":"53","author":"Yazdanpanah","year":"2015","journal-title":"Future Gener. Comput. Syst."},{"key":"ref_29","first-page":"217","article-title":"The secrets of the accelerators unveiled: Tracing heterogeneous executions through OMPT","volume":"Volume 9903","author":"Maruyama","year":"2016","journal-title":"OpenMP: Memory, Devices, and Tasks. IWOMP 2016"},{"key":"ref_30","doi-asserted-by":"crossref","first-page":"383","DOI":"10.1080\/08927029108022423","article-title":"Integer interparticle distances in molecular dynamics simulation","volume":"5","author":"Dzwinel","year":"1991","journal-title":"Mol. Simul."}],"container-title":["International Journal of Molecular Sciences"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1422-0067\/23\/19\/11408\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T00:40:35Z","timestamp":1760143235000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1422-0067\/23\/19\/11408"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,9,27]]},"references-count":30,"journal-issue":{"issue":"19","published-online":{"date-parts":[[2022,10]]}},"alternative-id":["ijms231911408"],"URL":"https:\/\/doi.org\/10.3390\/ijms231911408","relation":{},"ISSN":["1422-0067"],"issn-type":[{"value":"1422-0067","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,9,27]]}}}