Skip to main navigation Skip to search Skip to main content

Modernizing Titan2D, a Parallel AMR Geophysical Flow Code to Support Multiple Rheologies and Extendability

  • SUNY Buffalo

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

6 Scopus citations

Abstract

In this work, we report on strategies and results of our initial approach for modernization of Titan2D code. Titan2D is a geophysical mass flow simulation code designed for modeling of volcanic flows, debris avalanches and landslides over a realistic terrain model. It solves an underlying hyperbolic system of partial differential equations using parallel adaptive mesh Godunov scheme. The following work was done during code refactoring and modernization. To facilitate user input two level python interface was developed. Such design permits large changes in C++ and Python low-level while maintaining stable high-level interface exposed to the end user. Multiple diverged forks implementing different material models were merged back together. Data storage layout was changed from a linked list of structures to a structure of arrays representation for better memory access and in preparation for further work on better utilization of vectorized instruction. Existing MPI parallelization was augmented with OpenMP parallelization. The performance of a hash table used to store mesh elements and nodes references was improved by switching from a linked list for overflow entries to dynamic arrays allowing the implementation of the binary search algorithm. The introduction of the new data layout made possible to reduce the number of hash table look-ups by replacing them with direct use of indexes from the storage class. The modifications lead to 8–9 times performance improvement for serial execution.

Original languageEnglish
Title of host publicationHigh Performance Computing - ISC High Performance 2019 International Workshops, Revised Selected Papers
EditorsMichèle Weiland, Guido Juckeland, Sadaf Alam, Heike Jagode
PublisherSpringer
Pages101-112
Number of pages12
ISBN (Print)9783030343552
DOIs
StatePublished - 2019
Event34th International Conference on High Performance Computing, ISC High Performance 2019 - Frankfurt, Germany
Duration: Jun 16 2019Jun 20 2019

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume11887 LNCS

Conference

Conference34th International Conference on High Performance Computing, ISC High Performance 2019
Country/TerritoryGermany
CityFrankfurt
Period06/16/1906/20/19

Keywords

  • Code refactoring
  • Geophysical mass flows
  • Python API

Fingerprint

Dive into the research topics of 'Modernizing Titan2D, a Parallel AMR Geophysical Flow Code to Support Multiple Rheologies and Extendability'. Together they form a unique fingerprint.

Cite this