Fenics and GPU assembly

Hi all,

I would like to do FEM assembly on GPU.
I am wondering, does Fenics (configured with Trilinos (Tpetra and Kokkos)) allow for such computations on GPU?

If so, is there any documentation about this?

As I understand it, it “might” work via the backend library, but specific effort to use the GPU isn’t yet done.

The PETSc library (>=3.11.4+dfsg1-2) in the latest development versions of Debian/Ubuntu has been configured with OpenCL enabled. I haven’t had a chance to test it yet to see if it aids FEniCS computations, however.

After *.ufl file is compiled, you can find a function called tabulate_tensor in header file. This function can assemble local matrix and be easy to be implemented on GPU. You can read assemble.cpp for the use of this function.