{
  "abstract": "GPUs provide much higher memory bandwidth than CPUs. Data-parallel computations with regular memory access patterns exploit the GPU architecture efficiently. To solve the Stokes equations, we apply a preconditioned conjugate-gradient (PCG) method to the 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 the solver in GAUZZ v1.0.0 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. The P ₁ mass matrix, the gradient operator, and the divergence operator are reused in the pressure-correction L ₂ -projection step. HYPRE BoomerAMG was adopted for preconditioning the velocity-only subproblem. Accuracy and performance are evaluated on a manufactured solution, the SolCx benchmark, the sticky-air benchmark, 2D Rayleigh–Taylor instabilities, 3D thermo-mechanical convection, and a 2D subduction model with nonlinear viscosity. We confirm that the GPU-based implementation reproduces CPU solutions. Performance is quantified by the execution time of the pressure-correction step and by throughput, defined as the number of Stokes degrees of freedom divided by the execution time of one Stokes solve. A single GPU delivers 6–11× the throughput of a 32-core CPU across the Stokes benchmarks. Two GPUs increase the throughput at sufficiently large problem sizes, reaching up to 2.1× the single-GPU throughput. The two-GPU configuration also extends the maximum problem size to 2.5×10 ⁷ DOFs, beyond the 48 GB VRAM limit of a single GPU.",
  "abstract_shown": true,
  "affiliations": [
    "Kangwon National University (Chuncheon, Korea, Republic of)"
  ],
  "article_type": null,
  "arxiv": null,
  "author_total": 4,
  "authors": [
    {
      "name": "Kyeong-Min Lee",
      "orcid": "0009-0003-2583-0772"
    },
    {
      "name": "Deok-Kyu Jang"
    },
    {
      "name": "Cedric Thieulot",
      "orcid": "0000-0001-6636-2862"
    },
    {
      "affs": [
        0
      ],
      "name": "Byung-Dal So",
      "orcid": "0000-0002-9294-7896"
    }
  ],
  "bibtex": "https://research.draconitic.com/paper/endys19yjntgh.bib",
  "cited_by": 0,
  "doi": "10.5194/gmd-19-9781-2026",
  "fulltext_url": null,
  "id": "endys19yjntgh",
  "issns": [
    "1991-9603"
  ],
  "landing_url": "https://gmd.copernicus.org/articles/19/9781/2026/",
  "language": null,
  "licence": "CC-BY-4.0",
  "licence_label": "CC BY 4.0",
  "licence_source": "article",
  "licence_url": "https://creativecommons.org/licenses/by/4.0/",
  "metadata_licence": null,
  "native_subjects": [
    [
      "openalex",
      "1708|Parallel Computing and Optimization Techniques"
    ]
  ],
  "openalex": "W7162014762",
  "pdf_url": "https://gmd.copernicus.org/articles/19/9781/2026/gmd-19-9781-2026.pdf",
  "pmcid": null,
  "pmid": null,
  "published": "2026-10-13",
  "publisher": "Copernicus GmbH",
  "ris": "https://research.draconitic.com/paper/endys19yjntgh.ris",
  "sources": [
    {
      "first_seen": "2026-10-30T12:20:49Z",
      "native_id": "10.5194/gmd-19-9781-2026",
      "source": "crossref",
      "url": "https://gmd.copernicus.org/articles/19/9781/2026/"
    }
  ],
  "subjects": [
    {
      "field": "earth",
      "origin": "issn:1991-9603",
      "subfield": "general"
    }
  ],
  "title": "High-performance geodynamics on GPUs using the PETSc CUDA backend (GAUZZ v1.0.0)",
  "title_text": "High-performance geodynamics on GPUs using the PETSc CUDA backend (GAUZZ v1.0.0)",
  "type": "peer-reviewed",
  "updated_at": "2026-10-30T12:20:49Z",
  "url": "https://research.draconitic.com/paper/endys19yjntgh",
  "venue": "Geoscientific Model Development",
  "versions": [
    {
      "doi": "10.5194/egusphere-2026-2528",
      "pid": null,
      "relation": "preprint",
      "title": null,
      "venue": null
    }
  ]
}