<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "https://jats.nlm.nih.gov/nlm-dtd/publishing/3.0/journalpublishing3.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article" specific-use="SMUR" dtd-version="3.0" xml:lang="en">
<front>
<journal-meta>
<journal-id journal-id-type="publisher">EGUsphere</journal-id>
<journal-title-group>
<journal-title>EGUsphere</journal-title>
<abbrev-journal-title abbrev-type="publisher">EGUsphere</abbrev-journal-title>
<abbrev-journal-title abbrev-type="nlm-ta">EGUsphere</abbrev-journal-title>
</journal-title-group>
<issn pub-type="epub"></issn>
<publisher><publisher-name>Copernicus Publications</publisher-name>
<publisher-loc>Göttingen, Germany</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.5194/egusphere-2026-2528</article-id>
<title-group>
<article-title>High-Performance Geodynamics on GPUs Using the PETSc CUDA Backend (GAUZZ v1.0.0)</article-title>
</title-group>
<contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Lee</surname>
<given-names>Kyeong-Min</given-names>
<ext-link>https://orcid.org/0009-0003-2583-0772</ext-link>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
</contrib>
<contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Jang</surname>
<given-names>Deok-Kyu</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
</contrib>
<contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Thieulot</surname>
<given-names>Cedric</given-names>
<ext-link>https://orcid.org/0000-0001-6636-2862</ext-link>
</name>
<xref ref-type="aff" rid="aff4">
<sup>4</sup>
</xref>
</contrib>
<contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>So</surname>
<given-names>Byung-Dal</given-names>
<ext-link>https://orcid.org/0000-0002-9294-7896</ext-link>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
</contrib>
</contrib-group><aff id="aff1">
<label>1</label>
<addr-line>Interdisciplinary Program in Earth Environmental System Science &amp; Engineering, Kangwon National University, Chuncheon, Republic of Korea</addr-line>
</aff>
<aff id="aff2">
<label>2</label>
<addr-line>Department of Geophysics, Kangwon National University, Chuncheon, Republic of Korea</addr-line>
</aff>
<aff id="aff3">
<label>3</label>
<addr-line>Research Institute for Mathematical Sciences, Kangwon National University, Chuncheon, Republic of Korea</addr-line>
</aff>
<aff id="aff4">
<label>4</label>
<addr-line>Department of Earth Sciences, Utrecht University, Princetonlaan 8A, The Netherlands</addr-line>
</aff>
<pub-date pub-type="epub">
<day>20</day>
<month>05</month>
<year>2026</year>
</pub-date>
<volume>2026</volume>
<fpage>1</fpage>
<lpage>39</lpage>
<permissions>
<copyright-statement>Copyright: &#x000a9; 2026 Kyeong-Min Lee et al.</copyright-statement>
<copyright-year>2026</copyright-year>
<license license-type="open-access">
<license-p>This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this licence, visit <ext-link ext-link-type="uri"  xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link></license-p>
</license>
</permissions>
<self-uri xlink:href="https://egusphere.copernicus.org/preprints/2026/egusphere-2026-2528/">This article is available from https://egusphere.copernicus.org/preprints/2026/egusphere-2026-2528/</self-uri>
<self-uri xlink:href="https://egusphere.copernicus.org/preprints/2026/egusphere-2026-2528/egusphere-2026-2528.pdf">The full text article is available as a PDF file from https://egusphere.copernicus.org/preprints/2026/egusphere-2026-2528/egusphere-2026-2528.pdf</self-uri>
<abstract>
<p>The GPU is a computing architecture designed for parallelism in vector and matrix operations. To solve the Stokes equations in geodynamics, we apply a preconditioned conjugate-gradient (PCG) method to the pressure Schur complement system. The algorithm is dominated by sparse matrix-vector products, vector inner products, vector updates, and repeated velocity subproblem solves, all of which map onto GPU architectures. We implement this solver on GPUs by coupling CUDA-enabled PETSc with FEniCS. PETSc AIJCUSPARSE matrices with CUDA vectors keep operators and field vectors resident in VRAM, which limits CPU-GPU transfers during iterations. The &lt;em&gt;P&lt;/em&gt;&lt;sub&gt;1&lt;/sub&gt; mass matrix, the gradient operator, and the divergence operator are reused in the pressure-correction &lt;em&gt;L&lt;/em&gt;&lt;sub&gt;2&lt;/sub&gt;-projection step. HYPRE BoomerAMG was adopted for preconditioning the velocity-only subproblem. Accuracy and performance are evaluated on manufactured solutions, the SolCx benchmark, the sticky-air benchmark, 2D and 3D Rayleigh-Taylor instabilities, 3D thermal convection, and a 2D subduction model with nonlinear viscosity. We confirm that the GPU-based implementation reproduces CPU solutions. We distinguish between the execution time, which includes only the pressure correction step, and the wall time, which includes the workflow from mesh generation to Stokes solves. A single-GPU environment achieves a 5&amp;ndash;11&amp;times; reduction in execution time relative to a 32-core CPU. For nonlinear viscosity cases with per-step matrix updates, the wall time is reduced by 1.14&amp;ndash;3.46&amp;times; on a single GPU relative to a 32-core CPU. Using Multi-Process Service to coordinate two-GPU with a 16-core CPU reduces the wall time by 15 5.83&amp;times; compared to a 32-core CPU.</p>
</abstract>
<counts><page-count count="39"/></counts>
<funding-group>
<award-group id="gs1">
<funding-source>National Research Foundation of Korea</funding-source>
<award-id>RS-2025-02293161</award-id>
<award-id>NRF-2022R1A2C1009742</award-id>
<award-id>RS-2025-25428518</award-id>
</award-group>
</funding-group>
</article-meta>
</front>
<body/>
<back>
</back>
</article>