CEED Bakeoff Problems
The Center for Efficient Exascale Discretizations (CEED) uses Bakeoff Problems (BPs) to test and compare the performance of highorder finite element implementations.
The definitions of the problems are given on the ceed website.
Each of the following bakeoff problems that use external discretization libraries (such as MFEM, PETSc, and Nek5000) are located in the subdirectories mfem/
, petsc/
, and nek5000/
, respectively.
Here we provide a short summary:
User code 
Supported BPs 







These are all TvectortoTvector and include parallel scatter, element scatter, element evaluation kernel, element gather, and parallel gather (with the parallel gathers/scatters done externally to libCEED).
BP1 and BP2 are \(L^2\) projections, and thus have no boundary condition. The rest of the BPs have homogeneous Dirichlet boundary conditions.
The BPs are parametrized by the number \(P\) of GaussLegendreLobatto nodal points (with \(P=p+1\), and \(p\) the degree of the basis polynomial) for the Lagrange polynomials, as well as the number of quadrature points, \(Q\). A \(Q\)point GaussLegendre quadrature is used for all BPs except BP5 and BP6, which choose \(Q = P\) and GaussLegendreLobatto quadrature to collocate with the interpolation nodes. This latter choice is popular in applications that use spectral element methods because it produces a diagonal mass matrix (enabling easy explicit time integration) and significantly reduces the number of floating point operations to apply the operator.
Mass Operator
The Mass Operator used in BP1 and BP2 is defined via the \(L^2\) projection problem, posed as a weak form on a Hilbert space \(V^p \subset H^1\), i.e., find \(u \in V^p\) such that for all \(v \in V^p\)
where \(\langle v,u\rangle\) and \(\langle v,f\rangle\) express the continuous bilinear and linear forms, respectively, defined on \(V^p\), and, for sufficiently regular \(u\), \(v\), and \(f\), we have:
Following the standard finite/spectral element approach, we formally expand all functions in terms of basis functions, such as
The coefficients \(\{u_j\}\) and \(\{v_i\}\) are the nodal values of \(u\) and \(v\), respectively. Inserting the expressions (6) into (5), we obtain the innerproducts
Here, we have introduced the mass matrix, \(M\), and the righthand side, \(\bm b\),
each defined for index sets \(i,j \; \in \; \{1,\dots,n\}\).
Laplace’s Operator
The Laplace’s operator used in BP3BP6 is defined via the following variational formulation, i.e., find \(u \in V^p\) such that for all \(v \in V^p\)
where now \(a (v,u)\) expresses the continuous bilinear form defined on \(V^p\) for sufficiently regular \(u\), \(v\), and \(f\), that is:
After substituting the same formulations provided in (6), we obtain
in which we have introduced the stiffness (diffusion) matrix, \(K\), defined as
for index sets \(i,j \; \in \; \{1,\dots,n\}\).