# libCEED: Examples
This page provides a brief description of the examples for the libCEED library.
## Example 1
This example uses the mass matrix to compute the length, area, or volume of a
region, depending upon runtime parameters.
## Bakeoff Problems
This section provides a brief description of the bakeoff problems, used as examples
for the libCEED library. These bakeoff problems are high-order benchmarks designed
to test and compare the performance of high-order finite element codes.
For further documentation, readers may wish to consult the
[CEED documentation](http://ceed.exascaleproject.org/bps/) of the bakeoff problems.
### Bakeoff Problem 1
Bakeoff problem 1 is the *L2* projection problem into the finite element space.
The supplied examples solve *_B_ u = f*, where *_B_* is the mass matrix.
### Bakeoff Problem 2
Bakeoff problem 2 is the *L2* projection problem into the finite element space on a vector system.
The supplied examples solve *_B_ _u_ = f*, where *_B_* is the mass matrix.
### Bakeoff Problem 3
Bakeoff problem 3 is the Poisson problem.
The supplied examples solve *_A_ u = f*, where *_A_* is the Poisson operator.
### Bakeoff Problem 4
Bakeoff problem 4 is the Poisson problem on a vector system.
The supplied examples solve *_A_ _u_ = f*, where *_A_* is the Laplace operator for the Poisson equation.
## Navier-Stokes Solver
The Navier-Stokes problem solves the compressible Navier-Stokes equations using an explicit time integration.
## Running Examples
To build the examples, set the `MFEM_DIR`, `PETSC_DIR` and `NEK5K_DIR` variables
and run:
```console
# libCEED examples on CPU and GPU
cd ceed
make
./ex1 -ceed /cpu/self
./ex1 -ceed /gpu/occa
cd ../..
# MFEM+libCEED examples on CPU and GPU
cd mfem
make
./bp1 -ceed /cpu/self -no-vis
./bp1 -ceed /gpu/occa -no-vis
cd ../..
# PETSc+libCEED examples on CPU and GPU
cd petsc
make
./bps -problem bp1 -ceed /cpu/self
./bps -problem bp1 -ceed /gpu/occa
cd ../..
cd navier-stokes
make
./navierstokes -ceed /cpu/self
./navierstokes -ceed /gpu/occa
cd ../..
# Nek+libCEED examples on CPU and GPU
cd nek5000
./make-nek-examples.sh
./run-nek-example.sh -ceed /cpu/self -b 3
./run-nek-example.sh -ceed /gpu/occa -b 3
cd ../..
```
The above code assumes a GPU-capable machine with the OCCA backend
enabled. Depending on the available backends, other Ceed resource specifiers can
be provided with the `-ceed` option.