Accelerating a fluvial incision and landscape evolution model with parallelism

Richard Barnes
<span title="">2019</span> <i title="Elsevier BV"> <a target="_blank" rel="noopener" href="" style="color: black;">Geomorphology</a> </i> &nbsp;
Solving inverse problems and achieving statistical rigour in landscape evolution models requires running many model realizations. Parallel computation is necessary to achieve this in a reasonable time. However, no previous algorithm is well-suited to leveraging modern parallelism. Here, I describe an algorithm that can utilize the parallel potential of GPUs, many-core processors, and SIMD instructions, in addition to working well in serial. The new algorithm runs 43x faster (70s vs. 3,000s on a
more &raquo; ... 10,000x10,000 input) than the previous state of the art and exhibits sublinear scaling with input size. I also identify methods for using multidirectional flow routing and quickly eliminating landscape depressions and local minima. Tips for parallelization and a step-by-step guide to achieving it are given to help others achieve good performance with their own code. Complete, well-commented, easily adaptable source code for all versions of the algorithm is available as a supplement and on Github.
<span class="external-identifiers"> <a target="_blank" rel="external noopener noreferrer" href="">doi:10.1016/j.geomorph.2019.01.002</a> <a target="_blank" rel="external noopener" href="">fatcat:kqqrw6b3hvcnvc6ozsxcfiavoa</a> </span>
<a target="_blank" rel="noopener" href="" title="fulltext PDF download [not primary version]" data-goatcounter-click="serp-fulltext" data-goatcounter-title="serp-fulltext"> <button class="ui simple right pointing dropdown compact black labeled icon button serp-button"> <i class="icon ia-icon"></i> Web Archive [PDF] <span style="color: #f43e3e;">&#10033;</span> <div class="menu fulltext-thumbnail"> <img src="" alt="fulltext thumbnail" loading="lazy"> </div> </button> </a> <a target="_blank" rel="external noopener noreferrer" href=""> <button class="ui left aligned compact blue labeled icon button serp-button"> <i class="external alternate icon"></i> </button> </a>