Nathan W. Schoedl, Emma J. MacKie, Michael J. Field, Eric A. Stubbs, Allan Zhang, Matthew Hibbs, Mathieu Gravey
{"title":"A Python multiprocessing approach for fast geostatistical simulations of subglacial topography","authors":"Nathan W. Schoedl, Emma J. MacKie, Michael J. Field, Eric A. Stubbs, Allan Zhang, Matthew Hibbs, Mathieu Gravey","doi":"10.1109/mcse.2023.3317773","DOIUrl":null,"url":null,"abstract":"Realistically rough stochastic realizations of subglacial bed topography are crucial for improving our understanding of basal processes and quantifying uncertainty in sea-level rise projections with respect to topographic uncertainty. This can be achieved with Sequential Gaussian Simulation (SGS), which is used to generate multiple non-unique realizations of geological phenomena that sample the uncertainty space. However, SGS is very CPU intensive with a computational complexity of O( <italic xmlns:mml=\"http://www.w3.org/1998/Math/MathML\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">Nk</i> <sup xmlns:mml=\"http://www.w3.org/1998/Math/MathML\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">3</sup> ), where <italic xmlns:mml=\"http://www.w3.org/1998/Math/MathML\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">N</i> is the number of grid cells to simulate, and <italic xmlns:mml=\"http://www.w3.org/1998/Math/MathML\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">k</i> is the number of neighboring points used for conditioning. This complexity makes SGS prohibitively time-consuming to implement at ice-sheet scales or fine resolutions. To reduce the time-cost, we implement and test a multiprocess version of SGS using Python’s multiprocessing module. By parallelizing the calculation of the weight parameters used in SGS, we achieve a speedup of 9.5 running on 16 processors for an <italic xmlns:mml=\"http://www.w3.org/1998/Math/MathML\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">N</i> of 128,097. This speedup, as well as the speedup from using multiple processors, increases with <italic xmlns:mml=\"http://www.w3.org/1998/Math/MathML\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">N</i> . This speed improvement makes SGS viable for large-scale topography mapping and ensemble ice-sheet modeling. Additionally, we have made our code repository and user tutorials publicly available (GitHub, Zenodo that others can use our multiprocess implementation of SGS on different datasets.","PeriodicalId":10553,"journal":{"name":"Computing in Science & Engineering","volume":"19 1","pages":"0"},"PeriodicalIF":1.8000,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computing in Science & Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/mcse.2023.3317773","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 0
Abstract
Realistically rough stochastic realizations of subglacial bed topography are crucial for improving our understanding of basal processes and quantifying uncertainty in sea-level rise projections with respect to topographic uncertainty. This can be achieved with Sequential Gaussian Simulation (SGS), which is used to generate multiple non-unique realizations of geological phenomena that sample the uncertainty space. However, SGS is very CPU intensive with a computational complexity of O( Nk 3 ), where N is the number of grid cells to simulate, and k is the number of neighboring points used for conditioning. This complexity makes SGS prohibitively time-consuming to implement at ice-sheet scales or fine resolutions. To reduce the time-cost, we implement and test a multiprocess version of SGS using Python’s multiprocessing module. By parallelizing the calculation of the weight parameters used in SGS, we achieve a speedup of 9.5 running on 16 processors for an N of 128,097. This speedup, as well as the speedup from using multiple processors, increases with N . This speed improvement makes SGS viable for large-scale topography mapping and ensemble ice-sheet modeling. Additionally, we have made our code repository and user tutorials publicly available (GitHub, Zenodo that others can use our multiprocess implementation of SGS on different datasets.
期刊介绍:
Physics, medicine, astronomy -- these and other hard sciences share a common need for efficient algorithms, system software, and computer architecture to address large computational problems. And yet, useful advances in computational techniques that could benefit many researchers are rarely shared. To meet that need, Computing in Science & Engineering presents scientific and computational contributions in a clear and accessible format.
The computational and data-centric problems faced by scientists and engineers transcend disciplines. There is a need to share knowledge of algorithms, software, and architectures, and to transmit lessons-learned to a broad scientific audience. CiSE is a cross-disciplinary, international publication that meets this need by presenting contributions of high interest and educational value from a variety of fields, including—but not limited to—physics, biology, chemistry, and astronomy. CiSE emphasizes innovative applications in advanced computing, simulation, and analytics, among other cutting-edge techniques. CiSE publishes peer-reviewed research articles, and also runs departments spanning news and analyses, topical reviews, tutorials, case studies, and more.