{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,6]],"date-time":"2026-06-06T16:20:27Z","timestamp":1780762827231,"version":"3.54.1"},"reference-count":27,"publisher":"MDPI AG","issue":"3","license":[{"start":{"date-parts":[[2016,8,12]],"date-time":"2016-08-12T00:00:00Z","timestamp":1470960000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/501100002261","name":"Russian Foundation for Basic Research","doi-asserted-by":"publisher","award":["14-01-31483"],"award-info":[{"award-number":["14-01-31483"]}],"id":[{"id":"10.13039\/501100002261","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Computation"],"abstract":"<jats:p>Effective algorithms of physical media numerical modeling problems\u2019 solution are discussed. The computation rate of such problems is limited by memory bandwidth if implemented with traditional algorithms. The numerical solution of the wave equation is considered. A finite difference scheme with a cross stencil and a high order of approximation is used. The DiamondTorre algorithm is constructed, with regard to the specifics of the GPGPU\u2019s (general purpose graphical processing unit) memory hierarchy and parallelism. The advantages of these algorithms are a high level of data localization, as well as the property of asynchrony, which allows one to effectively utilize all levels of GPGPU parallelism. The computational intensity of the algorithm is greater than the one for the best traditional algorithms with stepwise synchronization. As a consequence, it becomes possible to overcome the above-mentioned limitation. The algorithm is implemented with CUDA. For the scheme with the second order of approximation, the calculation performance of 50 billion cells per second is achieved. This exceeds the result of the best traditional algorithm by a factor of five.<\/jats:p>","DOI":"10.3390\/computation4030029","type":"journal-article","created":{"date-parts":[[2016,8,12]],"date-time":"2016-08-12T10:05:06Z","timestamp":1470996306000},"page":"29","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":21,"title":["DiamondTorre Algorithm for High-Performance Wave Modeling"],"prefix":"10.3390","volume":"4","author":[{"given":"Vadim","family":"Levchenko","sequence":"first","affiliation":[{"name":"Keldysh Institute of Applied Mathematics, Moscow 125047, Russia"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2517-6064","authenticated-orcid":false,"given":"Anastasia","family":"Perepelkina","sequence":"additional","affiliation":[{"name":"Keldysh Institute of Applied Mathematics, Moscow 125047, Russia"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-7346-6635","authenticated-orcid":false,"given":"Andrey","family":"Zakirov","sequence":"additional","affiliation":[{"name":"Kintech Lab, Moscow 123298, Russia"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"1968","published-online":{"date-parts":[[2016,8,12]]},"reference":[{"key":"ref_1","unstructured":"LAPACK. Available online: http:\/\/www.netlib.org\/lapack\/."},{"key":"ref_2","unstructured":"TOP500 List. Available online: http:\/\/www.top500.org\/lists\/2014\/11\/."},{"key":"ref_3","doi-asserted-by":"crossref","first-page":"421","DOI":"10.1016\/0899-8248(89)90003-7","article-title":"Domain decomposition on parallel computers","volume":"1","author":"Gropp","year":"1989","journal-title":"IMPACT Comput. Sci. Eng."},{"key":"ref_4","unstructured":"MPI: A Message-Passing Interface Standard Version 3.0, Message Passing Interface Forum. Available online: http:\/\/www.mpi-forum.org."},{"key":"ref_5","doi-asserted-by":"crossref","unstructured":"Wolfe, M. (1989, January 12\u201317). More Iteration Space Tiling. Supercomputing \u201989, Proceedings of the 1989 ACM\/IEEE Conference on Supercomputing, Reno, NV, USA.","DOI":"10.1145\/76263.76337"},{"key":"ref_6","unstructured":"OpenCL. Available online: https:\/\/www.khronos.org\/opencl\/."},{"key":"ref_7","unstructured":"CUDA Toolkit 6.5. Available online: https:\/\/developer.nvidia.com\/cuda-downloads."},{"key":"ref_8","doi-asserted-by":"crossref","first-page":"83","DOI":"10.1145\/360827.360844","article-title":"The Parallel Execution of DO Loops","volume":"17","author":"Lamport","year":"1974","journal-title":"Commun. ACM"},{"key":"ref_9","unstructured":"Bertsekas, D.P., and Tsitsiklis, J.N. (1989). Parallel and Distributed Computation: Numerical Methods, Prentice-Hall, Inc."},{"key":"ref_10","unstructured":"OpenMP Application Program Interface Version 4.0\u2014July 2013. Available online: http:\/\/openmp.org\/wp\/openmp-specifications\/."},{"key":"ref_11","unstructured":"Intel 64 and IA-32 Architectures Optimization Reference Manual. Available online: http:\/\/www.intel.com\/content\/www\/us\/en\/architecture-and-technology\/."},{"key":"ref_12","doi-asserted-by":"crossref","unstructured":"Lameter, C. (2013). NUMA (Non-Uniform Memory Access): An Overview. ACM Queue, 11.","DOI":"10.1145\/2508834.2513149"},{"key":"ref_13","unstructured":"Prokop, H. (1999). Cache-Oblivious Algorithms. [Master\u2019s Thesis, MIT]."},{"key":"ref_14","doi-asserted-by":"crossref","unstructured":"Frigo, M., and Strumpen, V. (2005, January 18\u201321). Cache Oblivious Stencil Computations. ICS \u201905, Proceedings of the 19th Annual International Conference on Supercomputing, Cambridge, MA, USA.","DOI":"10.1145\/1088149.1088197"},{"key":"ref_15","doi-asserted-by":"crossref","unstructured":"Orozco, D., and Gao, G. (2009, January 22\u201325). Mapping the FDTD application to many-core chip architectures. Proceedings of the 2009 International Conference on Parallel Processing, Vienna, Austria.","DOI":"10.1109\/ICPP.2009.44"},{"key":"ref_16","doi-asserted-by":"crossref","unstructured":"Strzodka, R., Shaheen, M., Pajak, D., and Seidel, H.P. (2011, January 13\u201316). Cache accurate time skewing in iterative stencil computations. Proceedings of the 2011 International Conference on Parallel Processing (ICPP), Taipei City, Taiwan.","DOI":"10.1109\/ICPP.2011.47"},{"key":"ref_17","doi-asserted-by":"crossref","first-page":"C439","DOI":"10.1137\/140991133","article-title":"Multicore-optimized wavefront diamond blocking for optimizing stencil Updates","volume":"37","author":"Malas","year":"2014","journal-title":"SIAM J. Sci. Comput."},{"key":"ref_18","doi-asserted-by":"crossref","unstructured":"Micikevicius, P. (2009, January 8). 3D Finite Difference Computation on GPUs Using CUDA. GPGPU-2, Proceedings of 2nd Workshop on General Purpose Processing on Graphics Processing Units, Washington, DC, USA.","DOI":"10.1145\/1513895.1513905"},{"key":"ref_19","doi-asserted-by":"crossref","unstructured":"Volkov, V., and Demmel, J.W. (2008, January 15\u201321). Benchmarking GPUs to tune dense linear algebra. Proceedings of the 2008 SC\u2014International Conference for High Performance Computing, Networking, Storage and Analysis, Austin, TX, USA.","DOI":"10.1109\/SC.2008.5214359"},{"key":"ref_20","first-page":"68","article-title":"Asynchronous parallel algorithms as a way to archive effectiveness of computations","volume":"1","author":"Levchenko","year":"2005","journal-title":"J. Inf. Tech. Comp. Syst."},{"key":"ref_21","doi-asserted-by":"crossref","first-page":"012042","DOI":"10.1088\/1742-6596\/510\/1\/012042","article-title":"Implementation of the kinetic plasma code with locally recursive non-locally asynchronous algorithms","volume":"510","author":"Perepelkina","year":"2014","journal-title":"J. Phys. Conf. Ser."},{"key":"ref_22","first-page":"1","article-title":"Effective numerical simulation of the gas bubble-shock interaction problem using the RKDG numerical method and the DiamondTorre algorithm of the implementation","volume":"97","author":"Korneev","year":"2014","journal-title":"Keldysh Inst. Prepr."},{"key":"ref_23","unstructured":"Perepelkina, A.Y., Levchenko, V.D., and Goryachev, I.A. (2014, January 23\u201327). 3D3V plasma kinetics code DiamondPIC for modeling of substantially multiscale processes on heterogenous computers. Proceedings of the 41st EPS Conference on Plasma Physics, Berlin, Germany."},{"key":"ref_24","first-page":"1","article-title":"High performance FDTD code implementation for GPGPU supercomputers","volume":"44","author":"Zakirov","year":"2016","journal-title":"Keldysh Inst. Prepr."},{"key":"ref_25","doi-asserted-by":"crossref","first-page":"65","DOI":"10.1145\/1498765.1498785","article-title":"Roofline: An insightful visual performance model for multicore architectures","volume":"52","author":"Williams","year":"2009","journal-title":"Commun. ACM"},{"key":"ref_26","unstructured":"Levchenko, V.D., Goryachev, I.A., and Perepelkina, A.Y. (2013). Progress in Electromagnetics Research Symposium Abstracts, The Electromagnetics Academy."},{"key":"ref_27","doi-asserted-by":"crossref","first-page":"012046","DOI":"10.1088\/1742-6596\/681\/1\/012046","article-title":"Detailed numerical simulation of shock-body interaction in 3D multicomponent flow using the RKDG numerical method and \u201dDiamondTorre\u201d GPU algorithm of implementation","volume":"681","author":"Korneev","year":"2016","journal-title":"J. Phys. Conf. Ser."}],"container-title":["Computation"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2079-3197\/4\/3\/29\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T19:28:18Z","timestamp":1760210898000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2079-3197\/4\/3\/29"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,8,12]]},"references-count":27,"journal-issue":{"issue":"3","published-online":{"date-parts":[[2016,9]]}},"alternative-id":["computation4030029"],"URL":"https:\/\/doi.org\/10.3390\/computation4030029","relation":{},"ISSN":["2079-3197"],"issn-type":[{"value":"2079-3197","type":"electronic"}],"subject":[],"published":{"date-parts":[[2016,8,12]]}}}