Edge coloring in unstructured CFD codes
Andrew Giuliani, Lilia Krivodonova

TL;DR
This paper introduces an edge coloring method for unstructured CFD meshes to prevent race conditions, optimize memory access, and accelerate computations on GPUs, especially for adaptive and nonconforming meshes.
Contribution
It presents a novel edge coloring algorithm that adapts to complex mesh structures, reducing memory usage and improving GPU computational efficiency in CFD solvers.
Findings
Reduces memory access latencies in CFD computations.
Speeds up surface integral evaluations on GPUs.
Effective for adaptive and nonconforming meshes.
Abstract
We propose a way of preventing race conditions in the evaluation of the surface integral contribution in discontinuous Galerkin and finite volume flow solvers by coloring the edges (or faces) of the computational mesh. In this work we use a partitioning algorithm that separates the edges of triangular elements into three groups and the faces of quadrangular and tetrahedral elements into four groups; we then extend this partitioning to adaptively refined, nonconforming meshes. We use the ascribed coloring to reduce code memory requirements and optimize accessing the elemental data in memory. This process reduces memory access latencies and speeds up computations on graphics processing units.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Numerical Methods in Computational Mathematics · Computational Geometry and Mesh Generation · Computer Graphics and Visualization Techniques
