CEED Miniapps

CEED is developing a variety of miniapps encapsulating key physics and numerical kernels of high-order applications. The miniapps are designed to be used in a variety of co-design activities with ECP vendors, software technologies projects as well as external partners.

CEED's current miniapps are documented below and can be found on GitHub. Please contact the CEED team if you have any questions.


Nekbone

Nekbone solves a standard Poisson equation using a conjugate gradient iteration with a simple or spectral element multigrid preconditioner on a block or linear geometry.

It exposes the principal computational kernel to reveal the essential elements of the algorithmic-architectural coupling that is pertinent to Nek5000, relevant to large eddy simulation (LES) and direct numerical simulation (DNS) of turbulence in complex domains.

Nekbone-3.1 was released in Oct 2013 as part of the CESAR co-design center.

 


Laghos New

Laghos solves the time-dependent Euler equation of compressible gas dynamics in a moving Lagrangian frame using high-order finite element spatial discretization and explicit high-order time-stepping.

It captures the basic structure of many other compressible shock hydrocodes, including the BLAST code at Lawrence Livermore National Laboratory. The miniapp is build on top of a general discretization library, MFEM, thus separating the pointwise physics from finite element and meshing concerns.

Laghos results

Computational motives in Laghos include the following:

 


NekCEM CEEDling New

NekCEM CEEDling is a NekCEM miniapp, solving the time-domain Maxwell equations for electromagnetic systems. It allows software and hardware developers to understand the basic structure and computational costs of NekCEM over a broad spectrum of architectures ranging from software-based simulators running at one ten-thousandth the speed of current processors to exascale platforms running millions of times faster than single-core platforms.

NekCEM provides flexibility to adapt new programming approaches for scalability and performance studies on a variety of platforms without having to understand all the features of NekCEM, currently supporting CPU/GPU runs.


Holmes New

Holmes is an experimental testbed for multi-level parallel implementations of high-order finite element computations.

Its features include:

Holmes is being developed in Tim Warburton's group at Virginia Tech.

The project GitHub repository will be made public in 2017. Stay tuned for more details...


HPGMG-FE

The High-Performance Geometric Multigrid Finite Element benchmark is a Full Multigrid solver for a third order accurate finite element discretization of an elliptic operator on mapped grids. The benchmark is designed to give a picture of the "performance spectrum" across a range of problem sizes and thus solution time, thereby giving a clear picture of both weak and strong scaling concerns.

For details, see the HPGMG website.


MFEM Example Codes

The MFEM distribution includes a large number of simple example codes that can be viewed as simple miniapps for model high-order physics:

Most of the examples have a serial and a parallel version, illustrating the ease of transition and the minimal code changes between the two.

Of particular relevance to CEED is the HPC versions of the example codes that use a set of templated classes to efficiently implement high-order operator evaluation.