{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,6,20]],"date-time":"2023-06-20T14:40:38Z","timestamp":1687272038168},"reference-count":26,"publisher":"Springer Science and Business Media LLC","issue":"12","license":[{"start":{"date-parts":[[2023,3,20]],"date-time":"2023-03-20T00:00:00Z","timestamp":1679270400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2023,3,20]],"date-time":"2023-03-20T00:00:00Z","timestamp":1679270400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["J Supercomput"],"published-print":{"date-parts":[[2023,8]]},"DOI":"10.1007\/s11227-023-05178-3","type":"journal-article","created":{"date-parts":[[2023,3,20]],"date-time":"2023-03-20T18:02:51Z","timestamp":1679335371000},"page":"12853-12868","update-policy":"http:\/\/dx.doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["GPU performance analysis for viscoacoustic wave equations using fast stencil computation from the symbolic specification"],"prefix":"10.1007","volume":"79","author":[{"given":"Lau\u00ea","family":"Jesus","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Peterson","family":"Nogueira","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jo\u00e3o","family":"Speglich","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Murilo","family":"Boratto","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2023,3,20]]},"reference":[{"issue":"18","key":"5178_CR1","doi-asserted-by":"publisher","first-page":"4929","DOI":"10.1002\/cpe.4929","volume":"31","author":"T Carrijo Nasciutti","year":"2019","unstructured":"Carrijo Nasciutti T, Panetta J, Pais Lopes P (2019) Evaluating optimizations that reduce global memory accesses of stencil computations in GPGPUs. Concurr Comput Pract Exp 31(18):4929. https:\/\/doi.org\/10.1002\/cpe.4929","journal-title":"Concurr Comput Pract Exp"},{"issue":"4","key":"5178_CR2","doi-asserted-by":"publisher","first-page":"44","DOI":"10.1145\/2082156.2082168","volume":"39","author":"K Sano","year":"2011","unstructured":"Sano K, Yamamoto S, Hatsuda Y (2011) Domain-specific programmable design of scalable streaming-array for power-efficient stencil computation. ACM SIGARCH Comput Archit News 39(4):44\u201349. https:\/\/doi.org\/10.1145\/2082156.2082168","journal-title":"ACM SIGARCH Comput Archit News"},{"key":"5178_CR3","unstructured":"Said I (2015) Contributions of hybrid architectures to depth imaging: a CPU, APU and GPU comparative study. PhD thesis, Universit\u00e9 Pierre et Marie Curie-Paris VI"},{"key":"5178_CR4","doi-asserted-by":"publisher","unstructured":"Kukreja N, Louboutin M, Vieira F, Luporini F, Lange M, Gorman G (2016) Devito: Automated fast finite difference computation. In: 2016 Sixth International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing (WOLFHPC), pp. 11\u201319. https:\/\/doi.org\/10.1109\/WOLFHPC.2016.06. IEEE","DOI":"10.1109\/WOLFHPC.2016.06"},{"key":"5178_CR5","doi-asserted-by":"publisher","unstructured":"Lange M, Kukreja N, Louboutin M, Luporini F, Vieira F, Pandolfo V, Velesko P, Kazakas P, Gorman G (2016) Devito: towards a generic finite difference dsl using symbolic python. In: 2016 6th Workshop on Python for High-Performance and Scientific Computing (PyHPC), pp. 67\u201375. https:\/\/doi.org\/10.48550\/arXiv.1609.03361. IEEE","DOI":"10.48550\/arXiv.1609.03361"},{"key":"5178_CR6","doi-asserted-by":"publisher","unstructured":"Louboutin M, Luporini F, Witte P, Nelson R, Bisbas G, Thorbecke J, Herrmann FJ, Gorman G (2020) Scaling through abstractions\u2013high-performance vectorial wave simulations for seismic inversion with Devito. arXiv preprint arXiv:2004.10519. https:\/\/doi.org\/10.48550\/arXiv.2004.10519","DOI":"10.48550\/arXiv.2004.10519"},{"key":"5178_CR7","doi-asserted-by":"publisher","unstructured":"Meurer A, Smith CP, Paprocki M, \u010cert\u00edk O, Kirpichev SB, Rocklin M, Kumar A, Ivanov S, Moore JK, Singh S, Rathnayake T, Vig S, Granger BE, Muller RP, Bonazzi F, Gupta H, Vats S, Johansson F, Pedregosa F, Curry MJ, Terrel AR, Rou\u010dka V, Saboo A, Fernando I, Kulal S, Cimrman R, Scopatz A (2017) Sympy: symbolic computing in python. Peer J Comput Sci 3:103. https:\/\/doi.org\/10.7717\/peerj-cs.103","DOI":"10.7717\/peerj-cs.103"},{"issue":"7825","key":"5178_CR8","doi-asserted-by":"publisher","first-page":"357","DOI":"10.1038\/s41586-020-2649-2","volume":"585","author":"CR Harris","year":"2020","unstructured":"Harris CR, Millman KJ, van der Walt SJ, Gommers R, Virtanen P, Cournapeau D, Wieser E, Taylor J, Berg S, Smith NJ, Kern R, Picus M, Hoyer S, van Kerkwijk MH, Brett M, Haldane A, del R\u00edo JF, Wiebe M, Peterson P, G\u00e9rard-Marchant P, Sheppard K, Reddy T, Weckesser W, Abbasi H, Gohlke C, Oliphant TE (2020) Array programming with NumPy. Nature 585(7825):357\u2013362. https:\/\/doi.org\/10.1038\/s41586-020-2649-2","journal-title":"Nature"},{"key":"5178_CR9","doi-asserted-by":"publisher","first-page":"37","DOI":"10.1016\/j.jpdc.2017.04.002","volume":"107","author":"E Konstantinidis","year":"2017","unstructured":"Konstantinidis E, Cotronis Y (2017) A quantitative roofline model for GPU kernel performance estimation using micro-benchmarks and hardware metric profiling. J Parallel Distrib Comput 107:37\u201356. https:\/\/doi.org\/10.1016\/j.jpdc.2017.04.002","journal-title":"J Parallel Distrib Comput"},{"key":"5178_CR10","doi-asserted-by":"publisher","unstructured":"Wang Y, Yang C, Farrell S, Zhang Y, Kurth T, Williams S (2020) Time-based roofline for deep learning performance analysis. In: 2020 IEEE\/ACM Fourth Workshop on Deep Learning on Supercomputers (DLS), pp 10\u201319. https:\/\/doi.org\/10.1109\/DLS51937.2020.00007. IEEE","DOI":"10.1109\/DLS51937.2020.00007"},{"issue":"20","key":"5178_CR11","doi-asserted-by":"publisher","first-page":"5547","DOI":"10.1002\/cpe.5547","volume":"32","author":"C Yang","year":"2020","unstructured":"Yang C, Kurth T, Williams S (2020) Hierarchical roofline analysis for GPUs: accelerating performance optimization for the NERSC-9 Perlmutter system. Concurr Comput Pract Exp 32(20):5547. https:\/\/doi.org\/10.1002\/cpe.5547","journal-title":"Concurr Comput Pract Exp"},{"key":"5178_CR12","volume-title":"Wave fields in real media: wave propagation in anisotropic","author":"JM Carcione","year":"2014","unstructured":"Carcione JM (2014) Wave fields in real media: wave propagation in anisotropic. Anelastic, Porous and Electromagnetic Media"},{"issue":"9","key":"5178_CR13","doi-asserted-by":"publisher","first-page":"1444","DOI":"10.1190\/1.1443701","volume":"59","author":"JO Robertsson","year":"1994","unstructured":"Robertsson JO, Blanch JO, Symes WW (1994) Viscoelastic finite-difference modeling. Geophysics 59(9):1444\u20131456. https:\/\/doi.org\/10.1190\/1.1443701","journal-title":"Geophysics"},{"issue":"3","key":"5178_CR14","doi-asserted-by":"publisher","first-page":"597","DOI":"10.1111\/j.1365-246X.1988.tb06706.x","volume":"95","author":"JM Carcione","year":"1988","unstructured":"Carcione JM, Kosloff D, Kosloff R (1988) Wave propagation simulation in a linear viscoelastic medium. Geophys J Int 95(3):597\u2013611. https:\/\/doi.org\/10.1111\/j.1365-246X.1988.tb06706.x","journal-title":"Geophys J Int"},{"issue":"6","key":"5178_CR15","doi-asserted-by":"publisher","first-page":"251","DOI":"10.1190\/geo2013-0414.1","volume":"79","author":"G Dutta","year":"2014","unstructured":"Dutta G, Schuster GT (2014) Attenuation compensation for least-squares reverse time migration using the viscoacoustic-wave equation. Geophysics 79(6):251\u2013262. https:\/\/doi.org\/10.1190\/geo2013-0414.1","journal-title":"Geophysics"},{"key":"5178_CR16","doi-asserted-by":"publisher","first-page":"R103","DOI":"10.1190\/geo2013-0030.1","volume":"79","author":"J Bai","year":"2014","unstructured":"Bai J, Yingst D, Bloor R, Leveille J (2014) Viscoacoustic waveform inversion of velocity structures in the time domain. Geophysics 79:R103\u2013R119. https:\/\/doi.org\/10.1190\/geo2013-0030.1","journal-title":"Geophysics"},{"key":"5178_CR17","unstructured":"Jia Z, Maggioni M, Staiger B, Scarpazza DP (2018) Dissecting the NVIDIA volta GPU architecture via microbenchmarking. CoRR abs\/1804.06826 https:\/\/arxiv.org\/abs\/1804.06826"},{"key":"5178_CR18","doi-asserted-by":"publisher","DOI":"10.1016\/j.jpdc.2021.02.008","author":"T Bradley","year":"2012","unstructured":"Bradley T (2012) GPU performance analysis and optimization. NVIDIA Corp. https:\/\/doi.org\/10.1016\/j.jpdc.2021.02.008","journal-title":"NVIDIA Corp"},{"key":"5178_CR19","unstructured":"London IC, et al (2022) Full waveform inversion with devito and dask. https:\/\/github.com\/cwpearson\/nvidia-performance-tools. Accessed on 23 Apr 2022"},{"key":"5178_CR20","unstructured":"Yang C (2020) Hierarchical roofline analysis: How to collect data using performance tools on intel CPUs and NVIDIA GPUs. arXiv preprint arXiv:2009.02449"},{"key":"5178_CR21","unstructured":"OpenACC (2021) Directive-based performance-portable parallel programming model for GPU Architectures. Available in: https:\/\/www.openacc.org"},{"key":"5178_CR22","doi-asserted-by":"crossref","unstructured":"Feki S, Smaoui M (2017) Tuning OpenACC loop execution. In: Parallel Programming with OpenACC, pp 111\u2013124","DOI":"10.1016\/B978-0-12-410397-9.00006-8"},{"key":"5178_CR23","doi-asserted-by":"publisher","first-page":"1201","DOI":"10.1016\/j.cpc.2011.01.025","volume":"182","author":"K-H Kim","year":"2011","unstructured":"Kim K-H, Kim K-H, Park Q-H (2011) Performance analysis and optimization of three-dimensional FDTD on GPU using roofline model. Comput Phys Commun 182:1201\u20131207. https:\/\/doi.org\/10.1016\/j.cpc.2011.01.025","journal-title":"Comput Phys Commun"},{"key":"5178_CR24","doi-asserted-by":"publisher","unstructured":"Yang C (2020) 8 steps to 3.7 TFLOP\/s on NVIDIA V100 GPU: Roofline analysis and other tricks. arXiv preprint arXiv:2008.11326. https:\/\/doi.org\/10.48550\/arXiv.2008.11326","DOI":"10.48550\/arXiv.2008.11326"},{"key":"5178_CR25","doi-asserted-by":"publisher","unstructured":"Kupiainen M, Gong J, Axner L, Laure E, Nordstr\u00f6m J (2020) GPU-acceleration of a high order finite difference code using curvilinear coordinates. In: Proceedings of the 2020 International Conference on Computing, Networks and Internet of Things, pp 41\u201347. https:\/\/doi.org\/10.1145\/3398329.3398336","DOI":"10.1145\/3398329.3398336"},{"key":"5178_CR26","doi-asserted-by":"publisher","unstructured":"Xue W, Roy CJ (2020) Multi-GPU performance optimization of a CFD code using OpenACC on different platforms. arXiv preprint arXiv:2006.02602. https:\/\/doi.org\/10.1002\/cpe.6036","DOI":"10.1002\/cpe.6036"}],"container-title":["The Journal of Supercomputing"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s11227-023-05178-3.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s11227-023-05178-3\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s11227-023-05178-3.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,6,20]],"date-time":"2023-06-20T14:05:29Z","timestamp":1687269929000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s11227-023-05178-3"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,3,20]]},"references-count":26,"journal-issue":{"issue":"12","published-print":{"date-parts":[[2023,8]]}},"alternative-id":["5178"],"URL":"https:\/\/doi.org\/10.1007\/s11227-023-05178-3","relation":{},"ISSN":["0920-8542","1573-0484"],"issn-type":[{"value":"0920-8542","type":"print"},{"value":"1573-0484","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,3,20]]},"assertion":[{"value":"7 March 2023","order":1,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"20 March 2023","order":2,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Declarations"}},{"value":"The authors declare no competing interests","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Conflict of interest"}},{"value":"Not applicable.","order":3,"name":"Ethics","group":{"name":"EthicsHeading","label":"Ethical approval"}}]}}