Teacher with Tablet

Software Projects

The software projects described below were developed as part of the accelerated finite element methods project.


libParanumal: library of parallel numerical algorithms for high-order finite element methods


The libParanumal library is an experimental test bed used to develop scalable multi-GPU finite element simulation tools. It was released on GitHub as an openly available research software project under the MIT license in 2018: https://github.com/paranumal/libparanuma

Resources: arXiv papers on GPU optimization of spectral element operations and a high-order discontinuous Galerkin based incompressible flow solver.   

Nodal DG


A collection of MATLAB scripts that accompany "Nodal Discontinuous Galerkin Methods: Algorithms, Analysis, and Applications". Reference implementations include solvers for Maxwell's equations, elliptic equations, compressible Euler, compressible Navier-Stokes, and incompressible Navier-Stokes.

Resources: book, Chinese versiongithub

Open Concurrent Compute Abstraction (OCCA)


A library and thread programming language to portably program CPUs and GPUs. Cross compilation to CUDA, OpenCL, and OpenMP automagically happens at runtime with caching.

Resources: website., David Medina theses on OCCA and OKL, github.



Is a set of standalone mini-apps for testing, profiling, optimizing accelerated finite element operations created as part of the Center for Efficient Exascale Discretizations.

The CEED benchmarks are described here.

Resources: github, arXiv preprint.

Previous software projects

PASIDG: GPU accelerated tsunami modeling


Goal: predict tsunami wave propagation using discontinuous Galerkin methods on triangular meshes using the two dimensional Shallow water equations. The method uses multirate Adams-Bashforth method for time integration, a positivity preserving method, and a slope limiter for stability of the numerical scheme. The implementations use OCCA for portability across several hardware architectures and multi-threading approaches. 

Capabilities: reads GEBCO bathymetry data (link), GSHHS coastline data (link), gmsh meshing (link), interactive global region selection, multirate time-stepping, positivity preserving limiter, TVB limiting.

Resources: github paper poster, Rajesh Gandham thesis.

Hybridg:  seismic inversion with discontinuous Galerkin methods


Description: a time-dependent linear acoustic-elastic water equation solver with RTM and FWI based imaging.

Capabilities: hybrid element meshes, multirate linear multistep local time-stepping, MPI+OCCA hybrid parallelism, acoustic/vti/tti/elastic modules, disk-free reverse time migration, consistent temporal correlation, time-reversed multirate time-stepping.

Resources: paper, Zheng Wang PhD thesis.